Make the striconveh API easier to use.
[gnulib.git] / ChangeLog
1 2009-08-30  Bruno Haible  <bruno@clisp.org>
2
3         Make it easier to use mem_cd_iconveh.
4         * lib/striconveh.h (iconveh_t): New type.
5         (iconveh_open, iconveh_close): New declarations.
6         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
7         with a single 'const iconveh_t *' argument.
8         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
9         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
10         with a single 'const iconveh_t *' argument.
11         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
12         * tests/test-striconveh.c (main): Update.
13         * NEWS: Mention the change.
14
15 2009-08-30  Bruno Haible  <bruno@clisp.org>
16
17         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
18         problem.
19
20 2009-08-30  Bruno Haible  <bruno@clisp.org>
21
22         Work around iconv_open problem on Solaris.
23         * lib/iconv_open-solaris.gperf: New file.
24         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
25         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
26         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
27         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
28         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
29
30 2009-08-29  Jim Meyering  <meyering@redhat.com>
31
32         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
33         * top/maint.mk (cvs-check): Remove target; it was just an alias
34         to the better-named vc-diff-check.
35         (maintainer-distcheck): Remove rule.  It was used only from
36         the (alpha/beta/major) target, and all of its commands but one
37         were coreutils-specific.
38         (vc-dist): Remove rule.
39         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40         Run vc-diff-check, not vc-dist.
41         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
42
43 2009-08-27  Bruno Haible  <bruno@clisp.org>
44
45         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46         of 0.
47
48 2009-08-27  Bruno Haible  <bruno@clisp.org>
49
50         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
51         compilers.
52         * doc/func.texi: Document the SunPRO C bug.
53
54 2009-08-27  Bruno Haible  <bruno@clisp.org>
55
56         Fix link error on Solaris.
57         * tests/test-parse-duration.c (xstrdup): Remove function.
58
59 2009-08-26  Pádraig Brady  <P@draigbrady.com>
60
61         ignore-value: handle pointer types, too
62         * lib/ignore-value.h (__attribute__): Remove definition.
63         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
64         of a more concise and more-often effective "(void) i" statement.
65         (ignore_ptr): New function to suppress warnings from functions that
66         return pointers, and to make it explicit that one function doesn't
67         handle all cases.
68
69 2009-08-25  Bruno Haible  <bruno@clisp.org>
70
71         dup2: work around a Linux bug.
72         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
73         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
74         * doc/posix-functions/dup2.texi: Mention the Linux bug.
75         Reported by Simon Josefsson.
76
77 2009-08-25  Jim Meyering  <meyering@redhat.com>
78
79         libguestfs uses gnulib
80         * users.txt: Add libguestfs.
81
82 2009-08-24  Eric Blake  <ebb9@byu.net>
83
84         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
85         * lib/pipe2.c (includes): Add binary-io.h.
86         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
87
88 2009-08-24  Bruno Haible  <bruno@clisp.org>
89
90         Tolerate declared but missing accept4 syscall.
91         * lib/accept4.c (accept4): Invoke original accept4 function first, if
92         available.
93         * lib/sys_socket.in.h (accept4): If the function is already present,
94         override it.
95         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
96         * modules/accept4 (Makefile.am): Compile accept4.c always.
97         Reported by Paolo Bonzini and Eric Blake.
98
99 2009-08-23  Bruno Haible  <bruno@clisp.org>
100
101         New module 'accept4'.
102         * lib/sys_socket.in.h (accept4): New declaration.
103         * lib/accept4.c: New file.
104         * m4/accept4.m4: New file.
105         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
106         GNULIB_ACCEPT4, HAVE_ACCEPT4.
107         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
108         HAVE_ACCEPT4.
109         * modules/accept4: New file.
110         * doc/glibc-functions/accept4.texi: Mention the new module.
111
112 2009-08-24  Jim Meyering  <meyering@redhat.com>
113
114         progname: also set global program_invocation_name, when possible
115         Before this change, a libtool-enabled program that calls glibc's
116         error function would report the program name as
117         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
118         * modules/progname (configure.ac): Check for a declaration of
119         program_invocation_name.
120         * lib/progname.c:  Include <errno.h>.
121         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
122         Set program_invocation_name.
123
124 2009-08-23  Bruno Haible  <bruno@clisp.org>
125
126         * lib/dup3.c: Include <string.h>.
127
128 2009-08-23  Bruno Haible  <bruno@clisp.org>
129
130         * lib/dup3.c (dup3): Test only once whether the system actually exists.
131         * lib/pipe2.c (pipe2): Likewise.
132         Suggested by Eric Blake.
133
134 2009-08-23  Bruno Haible  <bruno@clisp.org>
135
136         Tolerate declared but missing dup3 syscall.
137         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
138         * lib/unistd.in.h (dup3): If the function is already present,
139         override it.
140         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
141         * modules/dup3 (Makefile.am): Compile dup3.c always.
142         Reported by Paolo Bonzini.
143
144 2009-08-23  Bruno Haible  <bruno@clisp.org>
145
146         Tolerate declared but missing pipe2 syscall.
147         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
148         available.
149         * lib/unistd.in.h (pipe2): If the function is already present,
150         override it.
151         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
152         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
153         Reported by Paolo Bonzini.
154
155 2009-08-23  Bruno Haible  <bruno@clisp.org>
156
157         * lib/pipe2.c (pipe2): Move #ifs inside function.
158
159 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
160
161         quotearg: document limitations of quote_these_too
162         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
163         those limitations are created.
164         * lib/quotearg.h (set_char_quoting): Document that digits and
165         letters that are special after backslash are not permitted.
166         (quotearg_char): Cross-reference set_char_quoting documentation.
167
168 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
169
170         quotearg: implement custom_quoting_style
171         * lib/quotearg.c: (struct quoting_options): Add left_quote and
172         right_quote fields.
173         (set_custom_quoting): New public function.
174         (quotearg_buffer_restyled): Add left_quote and right_quote
175         arguments, handle them very much like locale quoting, and update
176         all uses.
177         (quotearg_n_custom): New public function.
178         (quotearg_n_custom_mem): New public function.
179         (quotearg_custom): New public function.
180         (quotearg_custom_mem): New public function.
181         * lib/quotearg.h: Prototype and document new public functions.
182         (enum quoting_style): For escape_quoting_style and
183         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
184         ignored even though they're otherwise like c_quoting_style.
185         Add custom_quoting_style member and document with comparison to
186         clocale_quoting_style.
187         * tests/test-quotearg.c (custom_quotes): New array.
188         (custom_results): New array.
189         (main): Extend to test custom quoting.
190
191 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
192
193         quotearg: fix right quote escaping when it's in quote_these_too
194         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
195         quote, be sure to prepend only one backslash.
196         * tests/test-quotearg.c (use_quote_double_quotes): New function.
197         (main): Test it.
198
199 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
200
201         quotearg-tests: test escaping of embedded locale quotes
202         * tests/test-quotearg.c (struct result_strings): Add member for
203         new input.
204         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
205         (inputs): Add new input.
206         (results_g): Add expected results.
207         (flag_results): Likewise.
208         (locale_results): Likewise.
209         (compare_strings): Check those.
210
211 2009-08-23  Bruno Haible  <bruno@clisp.org>
212
213         Tests for module 'dup3'.
214         * modules/dup3-tests: New file.
215         * tests/test-dup3.c: New file.
216
217         New module 'dup3'.
218         * lib/unistd.in.h (dup3): New declaration.
219         * lib/dup3.c: New file.
220         * m4/dup3.m4: New file.
221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
222         HAVE_DUP3.
223         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
224         * modules/dup3: New file.
225         * doc/glibc-functions/dup3.texi: Mention the new module.
226
227 2009-08-23  Bruno Haible  <bruno@clisp.org>
228
229         Tweak the dup2 test.
230         * tests/test-dup2.c (main): Create the test file empty. Verify that an
231         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
232         the test file is still empty. Fix argument order of lseek.
233
234 2009-08-23  Bruno Haible  <bruno@clisp.org>
235
236         Avoid test link errors when the modules getopt-gnu, gettext are used.
237         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
238         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
239
240 2009-08-23  Bruno Haible  <bruno@clisp.org>
241
242         Fix getdtablesize() on mingw.
243         * lib/getdtablesize.c (getdtablesize): Implement differently.
244         * lib/unistd.in.h (getdtablesize): Improve comment.
245
246 2009-08-23  Bruno Haible  <bruno@clisp.org>
247
248         New module 'mkostemp'.
249         Based on Ulrich Drepper's 2007-08-10 change in glibc.
250         * lib/stdlib.in.h (mksotemp): New declaration.
251         * lib/mkostemp.c: New file, from glibc with modifications.
252         * lib/tempname.h (GT_FILE): Remove outdated comment.
253         (gen_tempname): Add flags argument.
254         * lib/tempname.c (__GT_BIGFILE): Remove macro.
255         (__GT_FILE): Map to 1.
256         (small_open, large_open): Remove macros.
257         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
258         * lib/mkstemp.c (mkstemp): Update.
259         * lib/mkdtemp.c (mkdtemp): Likewise.
260         * m4/mkostemp.m4: New file.
261         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
262         HAVE_MKOSTEMP.
263         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
264         HAVE_MKOSTEMP.
265         * modules/mkostemp: New file, based on modules/mkstemp.
266         * doc/glibc-functions/mkostemp.texi: Mention the new module.
267         * NEWS: Mention the change.
268
269 2009-08-23  Bruno Haible  <bruno@clisp.org>
270
271         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
272         Reported by Eric Blake.
273
274 2009-08-23  Bruno Haible  <bruno@clisp.org>
275
276         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
277         Reported by Eric Blake.
278
279 2009-08-23  Bruno Haible  <bruno@clisp.org>
280
281         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
282         * modules/pipe2 (Depends-on): Likewise.
283
284 2009-08-23  Eric Blake  <ebb9@byu.net>
285
286         fcntl-h: add O_TTY_INIT support
287         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
288         * tests/test-fcntl-h.c (o): Test it.
289         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
290
291         fcntl-h: rename from fcntl, in preparation for fcntl(2)
292         * modules/fcntl: Move <fcntl.h> header replacement...
293         * modules/fcntl-h: ...to new name, so as not to collide with
294         like-named function.
295         * tests/test-fcntl.c: Rename...
296         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
297         * modules/fcntl-tests: Rename...
298         * modules/fcntl-h-tests: ...to this.  Update test file name.
299         * modules/chdir-long (Depends-on): Update clients.
300         * modules/chdir-safer (Depends-on): Likewise.
301         * modules/fcntl-safer (Depends-on): Likewise.
302         * modules/fts (Depends-on): Likewise.
303         * modules/mkancesdirs (Depends-on): Likewise.
304         * modules/mkdir-p (Depends-on): Likewise.
305         * modules/open (Depends-on): Likewise.
306         * modules/savewd (Depends-on): Likewise.
307         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
308         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
309
310 2009-08-22  Bruno Haible  <bruno@clisp.org>
311
312         * modules/binary-io (License): Relicense under LGPL.
313         * modules/pipe2 (License): Likewise.
314
315 2009-08-22  Bruno Haible  <bruno@clisp.org>
316
317         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
318         return value.
319         * lib/pipe-filter-gi.c (filter_init): Likewise.
320         Reported by Eric Blake.
321
322 2009-08-22  Bruno Haible  <bruno@clisp.org>
323
324         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
325         * modules/pipe (Depends-on): Add pipe2.
326
327 2009-08-22  Bruno Haible  <bruno@clisp.org>
328
329         Tests for module 'pipe2'.
330         * modules/pipe2-tests: New file.
331         * tests/test-pipe2.c: New file.
332
333         New module 'pipe2'.
334         * lib/unistd.in.h (pipe2): New declaration.
335         * lib/pipe2.c: New file.
336         * m4/pipe2.m4: New file.
337         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
338         HAVE_PIPE2.
339         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
340         * modules/pipe2: New file.
341         * doc/glibc-functions/pipe2.texi: Mention the new module.
342
343 2009-08-22  Bruno Haible  <bruno@clisp.org>
344
345         Reference some new glibc functions.
346         * doc/glibc-functions/accept4.texi: New file.
347         * doc/glibc-functions/dup3.texi: New file.
348         * doc/glibc-functions/mkostemp.texi: New file.
349         * doc/glibc-functions/pipe2.texi: New file.
350         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
351         (Glibc sys/socket.h): Refer to accept4.
352         (Glibc unistd.h): Refer to dup3, pipe2.
353         Reported by Eric Blake.
354
355 2009-08-22  Jim Meyering  <meyering@redhat.com>
356             Bruno Haible  <bruno@clisp.org>
357
358         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
359         This makes it so packages using automake-1.11's silent-rules option
360         can print e.g., a single "GEN    configmake.h" line, rather than
361         the 30+ statements that perform the job.  If you want to see the
362         actual commands, you can still run "make V=1".
363         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
364         so that make output is abbreviated when those variables are defined
365         appropriately.
366         * modules/argz: Likewise.
367         * modules/arpa_inet: Likewise.
368         * modules/byteswap: Likewise.
369         * modules/configmake: Likewise.
370         * modules/dirent: Likewise.
371         * modules/errno: Likewise.
372         * modules/fcntl: Likewise.
373         * modules/float: Likewise.
374         * modules/fnmatch: Likewise.
375         * modules/getopt-posix: Likewise.
376         * modules/glob: Likewise.
377         * modules/iconv_open: Likewise.
378         * modules/inttypes: Likewise.
379         * modules/localcharset: Likewise.
380         * modules/locale: Likewise.
381         * modules/math: Likewise.
382         * modules/netdb: Likewise.
383         * modules/netinet_in: Likewise.
384         * modules/poll: Likewise.
385         * modules/posix_spawnp-tests: Likewise.
386         * modules/sched: Likewise.
387         * modules/search: Likewise.
388         * modules/selinux-h: Likewise.
389         * modules/signal: Likewise.
390         * modules/spawn: Likewise.
391         * modules/stdarg: Likewise.
392         * modules/stdbool: Likewise.
393         * modules/stddef: Likewise.
394         * modules/stdint: Likewise.
395         * modules/stdio: Likewise.
396         * modules/stdlib: Likewise.
397         * modules/string: Likewise.
398         * modules/strings: Likewise.
399         * modules/sys_file: Likewise.
400         * modules/sys_ioctl: Likewise.
401         * modules/sys_select: Likewise.
402         * modules/sys_socket: Likewise.
403         * modules/sys_stat: Likewise.
404         * modules/sys_time: Likewise.
405         * modules/sys_times: Likewise.
406         * modules/sys_utsname: Likewise.
407         * modules/sys_wait: Likewise.
408         * modules/sysexits: Likewise.
409         * modules/time: Likewise.
410         * modules/unistd: Likewise.
411         * modules/wchar: Likewise.
412         * modules/wctype: Likewise.
413
414 2009-08-22  Jim Meyering  <meyering@redhat.com>
415
416         announce-gen: detect write failure
417         * build-aux/announce-gen: Add Coda at end.
418         Remove equivalent-but-more-verbose block at top.
419
420 2009-08-19  Akim Demaille  <demaille@gostai.com>
421
422         bootstrap: --help to stdout.
423         * bootstrap (usage): Don't send --help to stderr.
424         Use a here doc instead of a long string.
425
426 2009-08-21  Eric Blake  <ebb9@byu.net>
427
428         test-popen-safer: split from test-popen
429         * tests/test-popen.c (main): Move...
430         * tests/test-popen.h: ...into new file.
431         * tests/test-popen-safer2.c: New file.
432         * modules/popen-tests (Files): Add test-popen.h.
433         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
434         Suggested by Bruno Haible.
435
436         test-fcntl-safer: split from test-open
437         * tests/test-open.c (main): Move...
438         * tests/test-open.h: ...into new file.
439         * tests/test-fcntl-safer.c: New file.
440         * modules/open-tests (Files): Add test-open.h.
441         * modules/fcntl-safer-tests: New file.
442         Suggested by Bruno Haible.
443
444         test-fopen-safer: split from test-fopen
445         * tests/test-fopen.c (main): Move...
446         * tests/test-fopen.h: ...into new file.
447         * tests/test-fopen-safer.c: New file.
448         * modules/fopen-tests (Files): Add test-fopen.h.
449         * modules/fopen-safer-tests: New file.
450         Suggested by Bruno Haible.
451
452 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
453
454         popen-safer: test O_CLOEXEC at run-time.
455         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
456
457 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
458
459         fcntl: move more flags to the header
460         * lib/cloexec.c: Do not define FD_CLOEXEC here.
461         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
462         * lib/fcntl.in.h: Do both things here.
463
464 2009-08-21  Jim Meyering  <meyering@redhat.com>
465
466         consistently remove $@-t before redirecting to it
467         * modules/argz: Remove $@-t and $@ before redirecting to the former.
468         * modules/alloca-opt: Likewise.
469         * modules/byteswap: Likewise.
470         * modules/fnmatch: Likewise.
471         * modules/getopt-posix: Likewise.
472         * modules/glob: Likewise.
473         * modules/poll: Likewise.
474         * modules/posix_spawnp-tests: Likewise.
475         * modules/sys_socket: Likewise.
476         * modules/sysexits: Likewise.
477
478 2009-08-21  Eric Blake  <ebb9@byu.net>
479
480         popen: simplify access to original popen
481         * lib/popen.c (rpl_popen): No need to worry about popen being a
482         macro.
483         Reported by Bruno Haible.
484
485 2009-08-20  Eric Blake  <ebb9@byu.net>
486
487         build: avoid some compiler warnings
488         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
489         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
490         type.
491         (new_exclude_segment, excluded_file_pattern_p)
492         (excluded_file_name_p): Reduce scope.
493         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
494         old-style declaration.
495
496 2009-08-20  Simon Josefsson  <simon@josefsson.org>
497
498         * tests/test-exclude1.sh: Handle Windows EOL.
499         * tests/test-exclude2.sh: Likewise.
500         * tests/test-exclude3.sh: Likewise.
501         * tests/test-exclude4.sh: Likewise.
502         * tests/test-exclude5.sh: Likewise.
503         * tests/test-exclude6.sh: Likewise.
504         * tests/test-exclude7.sh: Likewise.
505
506 2009-08-19  Akim Demaille  <demaille@gostai.com>
507
508         bootstrap: find sha1sum when named gsha1sum.
509         * bootstrap (find_tool): New.
510         ($SHA1SUM): New.
511         Use it.
512
513 2009-08-20  Jim Meyering  <meyering@redhat.com>
514
515         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
516         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
517         expression that converts "." in a file name to "\." in the resulting
518         regexp.  Start with a dummy statement, so that prior shell variable
519         definitions are expanded portably.  Reported by Simon Josefsson.
520
521 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
522
523         Fix polling for writeability of a screen buffer.
524         * lib/poll.c: Distinguish input and screen buffers for the
525         Win32 implementation.
526         * lib/select.c: Likewise.
527
528 2009-08-19  Eric Blake  <ebb9@byu.net>
529
530         popen-safer: prevent popen from clobbering std descriptors
531         * modules/popen-safer: New file.
532         * lib/popen-safer.c: Likewise.
533         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
534         * lib/stdio--.h (popen): Provide override.
535         * lib/stdio-safer.h (popen_safer): Provide declaration.
536         * tests/test-popen.c (includes): Partially test this.
537         * modules/popen-safer-tests: New file, for more tests.
538         * tests/test-popen-safer.c: Likewise.
539         * MODULES.html.sh (file stream based Input/Output): Mention it.
540
541         tests: test some of the *-safer modules
542         * modules/fopen-safer (Depends-on): Add fopen.
543         * modules/fcntl-safer (Depends-on): Add fcntl.
544         * modules/stdlib-safer (Depends-on): Add stdlib.
545         (configure.ac): Set indicator.
546         * modules/unistd-safer (configure.ac): Likewise.
547         * modules/tmpfile-safer (configure.ac): Likewise.
548         (Depends-on): Add tmpfile.
549         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
550         active.
551         * tests/test-fopen.c (includes): Test safer versions when they are
552         in use.
553         * tests/test-open.c (includes): Likewise.
554
555         popen: fix cygwin 1.5 bug when stdin closed
556         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
557         * modules/popen: New file.
558         * modules/popen-tests: Likewise.
559         * tests/test-popen.c: Likewise.
560         * m4/popen.m4: Likewise.
561         * lib/popen.c: Likewise.
562         * lib/stdio.in.h (popen): New declaration.
563         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
564         * modules/stdio (Makefile.am): Likewise.
565         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
566
567 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
568
569         maint.mk: give full control over update-copyright exclusions
570         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
571         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
572         (update-copyright): Don't force inclusion of top-level
573         ChangeLog.  Don't force exclusion of all COPYING files, but make
574         them the default exclusion instead.
575
576 2009-08-16  Bruno Haible  <bruno@clisp.org>
577
578         Fix test failures on Solaris 10.
579         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
580         tests when Solaris iconv() is used.
581         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
582         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
583         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
584         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
585         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
586
587 2009-08-16  Bruno Haible  <bruno@clisp.org>
588
589         Fix test failures on Solaris 10.
590         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
591         'tr' program and pass it as first argument.
592         * tests/test-pipe-filter-gi1.sh: Likewise.
593         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
594         program as first argument.
595         * tests/test-pipe-filter-gi1.c (main): Likewise.
596
597 2009-08-16  Eric Blake  <ebb9@byu.net>
598
599         fpurge: fix previous commits
600         * modules/fpurge (Makefile.am): Make replacement conditional,
601         partially reverting 2007-04-29 change; missed in previous
602         attempt.
603         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
604         is missing.
605
606 2009-08-16  Bruno Haible  <bruno@clisp.org>
607
608         Clarify fpurge's effect on the file position.
609         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
610         * tests/test-fpurge.c (main): Make a second pass for checking the file
611         position.
612
613 2009-08-16  Bruno Haible  <bruno@clisp.org>
614
615         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
616         declaration of fpurge is missing.
617         * tests/test-fpurge.c (main): Check that the file has not more contents
618         than expected. Close the file before removing it.
619
620 2009-08-15  Eric Blake  <ebb9@byu.net>
621
622         fpurge: don't wrap working cygwin implementation
623         * lib/fpurge.c (fpurge): Fix comment typo.
624         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
625         1.7 to avoid replacement.
626         * tests/test-fpurge.c (main): Enhance test.
627
628 2009-08-15  Eric Blake  <ebb9@byu.net>
629         and Jim Meyering  <meyering@redhat.com>
630
631         test-update-copyright: skip if perl is insufficient
632         * tests/test-update-copyright.sh: Failure to run maintainer tool
633         should not cause testsuite failure on cygwin 1.5.
634
635 2009-08-14  Eric Blake  <ebb9@byu.net>
636
637         doc: mention more functions added in cygwin 1.7.0
638         * doc/posix-headers/limits.texi (limits.h): Update for recent
639         cygwin additions.
640         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
641         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
642         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
643         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
644         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
645
646 2009-08-14  Eric Blake  <ebb9@byu.net>
647
648         maint.mk: simplify update-copyright rule
649         * top/maint.mk (update-copyright-local): Delete, and document how
650         to do it in cfg.mk instead.
651         (update-copyright-exclude-regexp): Delete, and document how to do
652         it in .x-update-copyright instead.
653         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
654         exclude ChangeLog.
655
656 2009-08-14  Bruno Haible  <bruno@clisp.org>
657
658         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
659
660 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
661
662         maint.mk: support update-copyright-env
663         * top/maint.mk (update-copyright-env): Define place-holder.
664         (update-copyright): Expand $(update-copyright-env) before
665         invoking update-copyright.
666
667 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
668
669         update-copyright: implement forced reformatting
670         * build-aux/update-copyright: Implement and document
671         UPDATE_COPYRIGHT_FORCE.
672         * tests/test-update-copyright.sh: Test it.
673
674 2009-08-14  Eric Blake  <ebb9@byu.net>
675         and Bruno Haible  <bruno@clisp.org>
676
677         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
678         * tests/test-locale.c: Revert previous patch related to NULL.
679         * tests/test-stdio.c: Likewise.
680         * tests/test-stdlib.c: Likewise.
681         * tests/test-string.c: Likewise.
682         * tests/test-unistd.c: Likewise.
683         * modules/time-tests (Depends-on): Add verify.
684         * modules/wchar-tests (Depends-on): Likewise.
685         * tests/test-time.c: Test for NULL compliance.
686         * tests/test-wchar.c: Likewise.
687         * modules/locale (Depends-on): Add stddef.
688         * modules/stdio (Depends-on): Likewise.
689         * modules/stdlib (Depends-on): Likewise.
690         * modules/string (Depends-on): Likewise.
691         * modules/time (Depends-on): Likewise.
692         * modules/unistd (Depends-on): Likewise.
693         * modules/wchar (Depends-on): Likewise.
694         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
695         * lib/stdlib.in.h (includes): Likewise.
696         * lib/string.in.h (includes): Likewise.
697         * lib/time.in.h (includes): Likewise.
698         * lib/unistd.in.h (includes): Likewise.
699         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
700         replaced.
701         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
702         * m4/stddef_h.m4: New file.
703         * modules/stddef: Likewise.
704         * lib/stddef.in.h: Likewise.
705         * modules/stddef-tests: Likewise.
706         * tests/test-stddef.c: Likewise.
707         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
708         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
709         * doc/posix-headers/locale.texi (locale.h): Likewise.
710         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
711         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
712         * doc/posix-headers/string.texi (string.h): Likewise.
713         * doc/posix-headers/time.texi (time.h): Likewise.
714         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
715         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
716
717 2009-08-14  Eric Blake  <ebb9@byu.net>
718
719         doc: improve git diff of texinfo files
720         * .gitattributes: Add rule for *.texi files, with hint on how to
721         use it.
722         Copied from m4, and based on a report by Bruno Haible.
723
724 2009-08-14  Bruno Haible  <bruno@clisp.org>
725
726         Disable multithread support by default on Cygwin 1.5.x for real.
727         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
728
729 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
730
731         update-copyright: much ado about intervals
732         * build-aux/update-copyright: Implement and document
733         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
734         of copyright year intervals.
735         Also, document UPDATE_COPYRIGHT_YEAR.
736         * tests/test-update-copyright.sh: Test it.
737
738         update-copyright: convert 2-digit to 4-digit years
739         * build-aux/update-copyright: Implement and document.
740         * tests/test-update-copyright.sh: Update.
741
742 2009-08-14  Jim Meyering  <meyering@redhat.com>
743
744         test-exclude: avoid coreutils "make check" failure
745         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
746         just as in test-argmatch.c.
747
748 2009-08-13  Eric Blake  <ebb9@byu.net>
749
750         test-dup2: fix bad assumption
751         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
752         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
753
754         test-version-etc: fix CRLF portability issue
755         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
756         recognize \r.
757         * tests/test-argp-version-etc-1.sh: Likewise.
758
759         getopt: update client modules
760         * modules/argp (Depends-on): Use getopt-gnu.
761         * modules/git-merge-changelog (Depends-on): Likewise.
762         * modules/long-options (Depends-on): Likewise.
763         * modules/xstrtol (Depends-on): Likewise.
764
765 2009-08-13  Simon Josefsson  <simon@josefsson.org>
766
767         * tests/test-version-etc.sh: Don't fail on different
768         project/version.  Don't fail on CRLF differences.  Rewrite to use
769         multiple -e instead of multiple sed forks, suggested by Eric Blake
770         <ebb9@byu.net>.
771         * tests/test-argp-version-etc-1.sh: Likewise.
772
773 2009-08-13  Simon Josefsson  <simon@josefsson.org>
774
775         * tests/test-version-etc.sh: Don't fail on different
776         project/version.
777
778 2009-08-12  Bruno Haible  <bruno@clisp.org>
779
780         Tests for modules 'getopt-posix', 'getopt-gnu'.
781         * modules/getopt-posix-tests: New file.
782         * tests/test-getopt.c: New file.
783         * tests/test-getopt.h: New file.
784         * tests/test-getopt_long.h: New file.
785
786         New modules 'getopt-posix', 'getopt-gnu'.
787         * modules/getopt-gnu: New file, renamed from modules/getopt.
788         * modules/getopt-posix: New file.
789         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
790         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
791         (gl_GETOPT): Remove macro.
792         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
793         Disable the test against BSD systems that declare optreset. Test
794         against mingw bug. Test against lack of support of optional arguments
795         on many platforms.
796         * doc/glibc-headers/getopt.texi: Update module name and list of
797         relevant platforms.
798         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
799         'getopt-gnu' and more portability problems.
800         * NEWS: Mention the changes.
801
802 2009-08-12  Bruno Haible  <bruno@clisp.org>
803
804         Ensure that optarg etc. get declared by <unistd.h>.
805         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
806         AC_USE_SYSTEM_EXTENSIONS.
807         * modules/getopt (Depends-on): Add 'extensions'.
808
809 2009-08-12  Bruno Haible  <bruno@clisp.org>
810
811         Avoid test link errors.
812         * modules/pipe-filter-ii-tests (Makefile.am): Define
813         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
814         * modules/pipe-filter-gi-tests (Makefile.am): Define
815         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
816         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
817
818 2009-08-12  Bruno Haible  <bruno@clisp.org>
819
820         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
821         gl_GETOPT_SUBSTITUTE before.
822         (gl_GETOPT): Use it.
823         * m4/argp.m4 (gl_ARGP): Update.
824         Reported by Sergey Poznyakoff.
825
826         * m4/getopt.m4: Reorder macros.
827         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
828         (gl_GETOPT_SUBSTITUTE): Remove macro.
829
830 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
831
832         Minor improvement in gitlog-to-changelog
833
834         * build-aux/gitlog-to-changelog: New option `--format' makes
835         output format string configurable.
836
837 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
838
839         Optimize exclude: use hash tables for non-wildcard patterns.
840
841         * lib/exclude.c: Include hash.h and mbuiter.h
842         (struct exclude_pattern, exclude_segment): New data types.
843         (struct exclude): Rewrite.
844         (fnmatch_pattern_has_wildcards): New function.
845         (new_exclude_segment, free_exclude_segment): New functions.
846         (excluded_file_pattern_p, excluded_file_name_p): New functions.
847         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
848         * lib/exclude.h (is_fnmatch_pattern): New prototype.
849         * modules/exclude: Depend on hash and mbuiter.
850
851         * modules/exclude-tests: New file.
852         * tests/test-exclude.c: New file.
853         * tests/test-exclude1.sh: New file.
854         * tests/test-exclude2.sh: New file.
855         * tests/test-exclude3.sh: New file.
856         * tests/test-exclude4.sh: New file.
857         * tests/test-exclude5.sh: New file.
858         * tests/test-exclude6.sh: New file.
859         * tests/test-exclude7.sh: New file.
860
861 2009-08-12  Bruno Haible  <bruno@clisp.org>
862
863         Ensure that getopt() gets declared by <unistd.h>.
864         * lib/unistd.in.h: Conditionally include getopt.h.
865         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
866         Set GNULIB_UNISTD_H_GETOPT.
867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
868         GNULIB_UNISTD_H_GETOPT.
869         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
870
871 2009-08-12  Bruno Haible  <bruno@clisp.org>
872
873         Clarify logic.
874         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
875         gl_replace_getopt instead of GETOPT_H.
876
877 2009-08-12  Bruno Haible  <bruno@clisp.org>
878
879         * m4/getopt.m4: Add comments.
880
881 2009-08-12  Bruno Haible  <bruno@clisp.org>
882
883         Disable multithread support by default on Cygwin 1.5.x.
884         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
885         set gl_use_threads=no if not specified otherwise.
886
887 2009-08-11  Bruno Haible  <bruno@clisp.org>
888
889         Avoid compilation error on NetBSD 5.0.
890         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
891         * tests/test-stdio.c: Likewise.
892         * tests/test-stdlib.c: Likewise.
893         * tests/test-string.c: Likewise.
894         * tests/test-unistd.c: Likewise.
895         Reported by Greg Troxel <gdt@ir.bbn.com>
896         at <https://savannah.gnu.org/support/?106973>.
897
898 2009-08-11  Bruno Haible  <bruno@clisp.org>
899
900         * modules/dup2-tests (Depends-on): Remove close.
901
902         Undo 2009-07-19 commit.
903         * modules/acl-tests (Depends-on): Remove close.
904         * modules/binary-io-tests (Depends-on): Likewise.
905         * modules/closein-tests (Depends-on): Likewise.
906         * modules/flock-tests (Depends-on): Likewise.
907         * modules/fsync-tests (Depends-on): Likewise.
908         * modules/lseek-tests (Depends-on): Likewise.
909         * modules/pipe-tests (Depends-on): Likewise.
910         * modules/posix_spawn-tests (Depends-on): Likewise.
911         * modules/posix_spawnp-tests (Depends-on): Likewise.
912         * modules/stat-time-tests (Depends-on): Likewise.
913         * modules/yesno-tests (Depends-on): Likewise.
914
915 2009-08-10  Bruno Haible  <bruno@clisp.org>
916
917         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
918
919 2009-08-10  Bruno Haible  <bruno@clisp.org>
920
921         Fix a gcc warning.
922         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
923
924 2009-08-10  Bruno Haible  <bruno@clisp.org>
925
926         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
927         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
928         not only the first time.
929         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
930         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
931         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
932         is 1, not only the the first time.
933
934 2009-08-10  Bruno Haible  <bruno@clisp.org>
935
936         Make it possible to use module 'gethostname' without module 'close'.
937         * lib/unistd.in.h (close): Evoke a link error only if
938         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
940         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
941         * modules/unistd (Makefile.am): Substitute
942         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
943         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
944         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
945         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
946         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
947         * modules/sys_ioctl (Makefile.am): Substitute
948         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
949         * modules/socket (configure.ac): On native Windows, set
950         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
951         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
952         Reported by Sam Steingold <sds@gnu.org>.
953
954 2009-08-10  Bruno Haible  <bruno@clisp.org>
955
956         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
957         * modules/ioctl (configure.ac): Likewise.
958
959 2009-08-10  Bruno Haible  <bruno@clisp.org>
960
961         Avoid collision between gnulib wrapper and libintl wrapper.
962         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
963         already defined in intl/printf.c.
964         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
965         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
966
967 2009-08-09  Bruno Haible  <bruno@clisp.org>
968
969         Make <sys/select.h> really self-contained, also on Solaris 10.
970         * lib/sys_select.in.h: Include <string.h>.
971         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
972         Solaris 10 problem.
973         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
974         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
975         Reported by Jim Meyering.
976
977 2009-08-09  Bruno Haible  <bruno@clisp.org>
978
979         Avoid warnings from 'aclocal' that are due to a use of macro name
980         AM_XGETTEXT_OPTION that is not defined in automake.
981         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
982         automake.
983         * modules/error (configure.ac): Likewise.
984         * modules/propername (configure.ac): Likewise.
985         * modules/vasprintf (configure.ac): Likewise.
986         * modules/verror (configure.ac): Likewise.
987         * modules/xprintf (configure.ac): Likewise.
988         * modules/xvasprintf (configure.ac): Likewise.
989
990 2009-08-08  Bruno Haible  <bruno@clisp.org>
991
992         Avoid compilation error in C++ mode.
993         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
994         Reported by Sam Steingold <sds@gnu.org>.
995
996 2009-08-08  Bruno Haible  <bruno@clisp.org>
997
998         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
999         for the various Unix platforms.
1000         * doc/posix-headers/limits.texi: Update platforms list regarding
1001         HOST_NAME_MAX.
1002         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1003
1004 2009-08-07  Jim Meyering  <meyering@redhat.com>
1005
1006         selinux-at: fix typo in a comment
1007         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
1008         Spotted by Paolo Bonzini.
1009
1010         selinux-at: remove redundant m4 code, add documentation
1011         * modules/selinux-at (configure.ac): Remove redundant code.
1012         LIB_SELINUX is already set via the dependent module, selinux-h.
1013         (Include): Add quotes around selinux-at.h.
1014         * lib/selinux-at.h: Add documentation.
1015         Reported by Bruno Haible in
1016         http://marc.info/?l=gnulib-bug&m=124958988300749
1017
1018 2009-08-07  Bruno Haible  <bruno@clisp.org>
1019
1020         Avoid link error on MacOS X 10.3 and 10.4.
1021         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
1022         on non-ELF systems.
1023         * lib/argp-pv.c (argp_program_version): Likewise.
1024         Reported by Simon Josefsson.
1025
1026 2009-08-07  Simon Josefsson  <simon@josefsson.org>
1027
1028         * tests/test-version-etc.sh: Use $EXEEXT.
1029
1030 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
1031
1032         update-copyright: update documentation to point to maint.mk
1033         * build-aux/update-copyright: Here.
1034
1035 2009-08-06  Jim Meyering  <meyering@redhat.com>
1036
1037         maint.mk: support update-copyright-local
1038         * top/maint.mk (update-copyright-local): Define place-holder.
1039         (update-copyright): Depend on $(update-copyright-local).
1040
1041 2009-08-06  Jim Meyering  <meyering@redhat.com>
1042
1043         selinux-at: new module
1044         Initially written for coreutils, this module will soon be
1045         used by findutils, too.
1046         * MODULES.html.sh [Misc]: Add selinux-at.
1047         * lib/selinux-at.h: New file, from coreutils.
1048         * lib/selinux-at.c: Likewise.
1049         * modules/selinux-at: Likewise.
1050         (License): Change from LGPL to GPL, since it depends
1051         on the GPL'd openat module.
1052
1053         doc: update README
1054         * README: Remove references to cogito.
1055         Remove cvs-repo-updating instructions from 2007.
1056         Don't imply that CVS is better if you have limited disk space.
1057
1058 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
1059
1060         update-copyright: support C-style comments
1061         * build-aux/update-copyright: Implement and document.
1062         * tests/test-update-copyright.sh: Test.
1063
1064 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
1065
1066         update-copyright: support omitted "(C)"
1067         * build-aux/update-copyright: Implement and document.  Also,
1068         allow variable whitespace before "(C)".
1069         * tests/test-update-copyright.sh: Test.
1070
1071 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
1072
1073         update-copyright: don't trip on non-FSF copyright statements
1074         * build-aux/update-copyright: Fix so that the first correctly
1075         formatted FSF copyright statement is recognized no matter what
1076         appears before it.  Update documentation.
1077         * tests/test-update-copyright.sh: Test that.
1078
1079 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
1080
1081         update-copyright: clean up code a little
1082         * build-aux/update-copyright: Append "_re" to the name of any
1083         variable holding a regular expression.
1084         Replace "old" and "new" with "stmt" in variable names.
1085         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
1086         handled correctly.
1087         Format code more consistently.
1088
1089 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
1090
1091         update-copyright-tests: improve portability
1092         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
1093         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
1094
1095 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
1096
1097         update-copyright: support @copyright{} and &copy;
1098         * build-aux/update-copyright: Implement and document.
1099         * tests/test-update-copyright.sh: Test.
1100
1101 2009-08-04  Jim Meyering  <meyering@redhat.com>
1102
1103         update-copyright-tests: correctly test EOL=\r\n handling
1104         * tests/test-update-copyright.sh: Put \r at the end of some lines
1105         for the dos-eol tests.  Based on a patch by Joel E. Denny.
1106
1107         maint.mk: make update-copyright exclusion list more configurable
1108         * top/maint.mk (update-copyright): Default to excluding COPYING,
1109         but allow an override, in case someone does want to update that file.
1110
1111         maint.mk: don't update copyright date in COPYING
1112         * top/maint.mk (update-copyright): Exclude COPYING.
1113
1114         maint.mk: add a copyright-updating rule
1115         * top/maint.mk (update-copyright): New rule.
1116         Derived from coreutils/Makefile.am.
1117
1118         update-copyright: rename some variables
1119         * build-aux/update-copyright: Rename a few variables for clarity.
1120         Tweak syntax.  List Joel E. Denny as coauthor.
1121
1122 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
1123
1124         update-copyright: fix bug for 2-digit last year and add tests
1125         * build-aux/update-copyright: Fix bug.
1126         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
1127         specified.
1128         * modules/update-copyright-tests: New
1129         * tests/test-update-copyright.sh: New.
1130
1131 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
1132
1133         update-copyright: handle leading tabs in line prefix
1134         * build-aux/update-copyright: Count leading tabs as 8 spaces
1135         when computing margin.  This helps with the formatting of
1136         ChangeLogs, for example.
1137         Fix documentation a little.
1138
1139 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
1140
1141         update-copyright: support EOL=\r\n
1142         * build-aux/update-copyright: Implement that.
1143
1144 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
1145
1146         update-copyright: automatically format copyright statements
1147         * build-aux/update-copyright: Implement that.
1148         Also, be a little more predictable and safer by always failing
1149         when the full copyright format is not perfectly recognized as an
1150         unbroken whole.  Discussed at
1151         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
1152         Rewrite documentation.
1153
1154 2009-08-03  Bruno Haible  <bruno@clisp.org>
1155
1156         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
1157
1158 2009-08-02  Bruno Haible  <bruno@clisp.org>
1159
1160         Tests for module 'uname'.
1161         * modules/uname-tests: New file.
1162         * tests/test-uname.c: New file.
1163
1164         New module 'uname'.
1165         * lib/uname.c: New file.
1166         * m4/uname.m4: New file.
1167         * modules/uname: New file.
1168         * doc/posix-functions/uname.texi: Mention the new module.
1169
1170 2009-08-02  Bruno Haible  <bruno@clisp.org>
1171
1172         Tests for module 'sys_utsname'.
1173         * modules/sys_utsname-tests: New file.
1174         * tests/test-sys_utsname.c: New file.
1175
1176         New module 'sys_utsname'.
1177         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
1178         * m4/sys_utsname_h.m4: New file.
1179         * modules/sys_utsname: New file.
1180         * doc/posix-headers/sys_utsname.texi: Mention the new module.
1181
1182 2009-08-02  Bruno Haible  <bruno@clisp.org>
1183
1184         Implicitly initialize the sockets library.
1185         * lib/gethostname.c: Include sockets.h.
1186         (rpl_gethostname): Invoke gl_sockets_startup.
1187         * lib/socket.c: Include sockets.h.
1188         (rpl_socket): Invoke gl_sockets_startup.
1189         * modules/gethostname (Depends-on): Add sockets.
1190         * modules/socket (Depends-on): Likewise.
1191         * tests/test-poll.c: Don't include sockets.h.
1192         (main): Don't invoke gl_sockets_startup.
1193         * tests/test-select.c: Don't include sockets.h.
1194         (main): Don't invoke gl_sockets_startup.
1195
1196 2009-08-02  Bruno Haible  <bruno@clisp.org>
1197
1198         Allow multiple calls to gl_sockets_startup.
1199         * lib/sockets.c (initialized_sockets_version): New variable.
1200         (gl_sockets_startup): Do nothing if already called for this or a higher
1201         version.
1202         (gl_sockets_cleanup): Reset initialized_sockets_version.
1203
1204 2009-08-03  Simon Josefsson  <simon@josefsson.org>
1205
1206         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
1207         different project/version.
1208
1209 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
1210             Bruno Haible  <bruno@clisp.org>
1211
1212         Tests for module 'pipe-filter-gi'.
1213         * modules/pipe-filter-gi-tests: New file.
1214         * tests/test-pipe-filter-gi1.sh: New file.
1215         * tests/test-pipe-filter-gi1.c: New file.
1216         * tests/test-pipe-filter-gi2.sh: New file.
1217         * tests/test-pipe-filter-gi2-main.c: New file.
1218         * tests/test-pipe-filter-gi2-child.c: New file.
1219
1220         New module 'pipe-filter-gi'.
1221         * lib/pipe-filter-gi.c: New file.
1222         * modules/pipe-filter-gi: New file.
1223
1224 2009-08-02  Bruno Haible  <bruno@clisp.org>
1225             Paolo Bonzini  <bonzini@gnu.org>
1226
1227         Tests for module 'pipe-filter-ii'.
1228         * modules/pipe-filter-ii-tests: New file.
1229         * tests/test-pipe-filter-ii1.sh: New file.
1230         * tests/test-pipe-filter-ii1.c: New file.
1231         * tests/test-pipe-filter-ii2.sh: New file.
1232         * tests/test-pipe-filter-ii2-main.c: New file.
1233         * tests/test-pipe-filter-ii2-child.c: New file.
1234
1235         New module 'pipe-filter-ii'.
1236         * lib/pipe-filter.h: New file.
1237         * lib/pipe-filter-ii.c: New file.
1238         * lib/pipe-filter-aux.h: New file.
1239         * modules/pipe-filter-ii: New file.
1240
1241 2009-08-02  Simon Josefsson  <simon@josefsson.org>
1242
1243         * lib/gc-libgcrypt.c: Change copyright to FSF.
1244         * lib/gc-gnulib.c: Likewise.
1245
1246 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
1247
1248         * lib/gethostname.c: Include limits.h.
1249
1250 2009-08-02  Simon Josefsson  <simon@josefsson.org>
1251             Bruno Haible  <bruno@clisp.org>
1252
1253         Ensure HOST_NAME_MAX as part of the gethostname module.
1254         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
1255         define also HOST_NAME_MAX.
1256         * tests/test-gethostname.c: Include <limits.h>.
1257         (main): Check also HOST_NAME_MAX.
1258         * doc/posix-headers/limits.texi: Document the mingw problem.
1259
1260 2009-08-02  Bruno Haible  <bruno@clisp.org>
1261
1262         * lib/gethostname.c (gethostname): Fix handling of large len argument.
1263         Add comments.
1264
1265 2009-03-31  Simon Josefsson  <simon@josefsson.org>
1266
1267         * lib/gethostname.c: Add Windows wrapper.
1268         * m4/gethostname.m4: Look for gethostname in -lws2_32.
1269         * modules/gethostname: Depend on sys_socket & errno, for also
1270         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
1271         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
1272
1273 2009-07-31  Jim Meyering  <meyering@redhat.com>
1274
1275         getloadavg: fix symbol name in comment
1276         * lib/getloadavg.c: Correct a typo I introduced when adding
1277         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
1278         Matt Kraai spotted the problem.
1279
1280 2009-07-29  Matt Kraai  <mkraai@beckman.com>
1281
1282         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
1283         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
1284         code also if ! defined N_NAME_POINTER.
1285         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
1286         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
1287         but the n_name member is a 12-byte array.
1288
1289 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
1290
1291         update-copyright: generalize comment handling
1292         * build-aux/update-copyright: Handle copyright statements
1293         within more comment styles.
1294         Document usage.
1295         Report any file with an external copyright holder or parse failure.
1296
1297 2009-07-29  Jim Meyering  <meyering@redhat.com>
1298
1299         mktime: correct setting of REPLACE_MKTIME
1300         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
1301
1302         update-copyright: new module
1303         * modules/update-copyright: New file.
1304         * build-aux/update-copyright: New file.
1305         * MODULES.html.sh (maint+release support): Add update-copyright.
1306
1307 2009-07-27  Bruno Haible  <bruno@clisp.org>
1308
1309         Fix compilation error when <ctime> is used and mktime is replaced.
1310         * lib/time.in.h (mktime): New declaration.
1311         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
1312         REPLACE_MKTIME instead of defining mktime in config.h.
1313         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
1314         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
1315         Reported by Ross McFarland <rwmcfa1@neces.com>.
1316
1317 2009-07-27  Bruno Haible  <bruno@clisp.org>
1318
1319         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
1320         Reported by Matt Kraai <mkraai@beckman.com>.
1321
1322 2009-07-25  Jim Meyering  <meyering@redhat.com>
1323
1324         maint.mk: avoid warnings about missing files
1325         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
1326         diagnostic when .prev-version does not exist.
1327         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
1328         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
1329         nonexistent cfg.mk.
1330         Suggestions from Simon Josefsson.
1331
1332 2009-07-25  Bruno Haible  <bruno@clisp.org>
1333
1334         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
1335         defined as macros. Needed on QNX 6.4.1.
1336         Reported by Matt Kraai <mkraai@beckman.com>.
1337
1338 2009-07-23  Jim Meyering  <meyering@redhat.com>
1339
1340         maint.mk: invoke "make dist" with a working value of XZ_OPT
1341         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
1342
1343 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
1344
1345         Make fseeko.c compile on QNX.
1346         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
1347
1348 2009-07-22  Peter Simons  <simons@cryp.to>
1349
1350         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
1351         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
1352         * lib/md4.h: Likewise.
1353         * lib/md5.h: Likewise.
1354         * lib/sha1.h: Likewise.
1355         * lib/sha256.h: Likewise.
1356         * lib/sha512.h: Likewise.
1357
1358         tests-sha1: don't assign literal string to 'char *' variable
1359         * tests/test-sha1.c (main): Declare locals with "const" to match
1360         attributes of the right hand side.
1361
1362 2009-07-21  Eric Blake  <ebb9@byu.net>
1363
1364         dup2: fix more mingw problems
1365         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
1366         fd to itself.
1367         * doc/posix-functions/dup2.texi (dup2): Document the bug.
1368         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
1369         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
1370         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
1371         care of mingw bugs.
1372
1373 2009-07-21  Jim Meyering  <meyering@redhat.com>
1374
1375         vc-list-files: avoid failure when /bin/sh is dash
1376         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
1377         On some Debian based systems, /bin/sh is a symlink to dash, and running
1378         this command would omit the "/" following each 'tests' prefix:
1379           dash -x build-aux/vc-list-files -C . tests
1380         That is because bash and dash work differently:
1381           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
1382           bash ok
1383           dash odd
1384
1385 2009-07-21  Eric Blake  <ebb9@byu.net>
1386
1387         dup2-tests: test previous patch
1388         * modules/dup2-tests: New file.
1389         * tests/test-dup2.c: Likewise.
1390         * tests/test-open.c (main): Avoid unspecified behavior.
1391         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
1392         test.
1393
1394         dup2: work around mingw and cygwin 1.5 bug
1395         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
1396         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
1397         * modules/unistd (Makefile.am): Substitute it.
1398         * lib/unistd.in.h (dup2): Declare the replacement.
1399         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
1400         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
1401         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
1402         * modules/execute (Depends-on): Add dup2.
1403         * modules/fseterr (Depends-on): Likewise.
1404         * modules/pipe (Depends-on): Likewise.
1405         * modules/posix_spawn-internal (Depends-on): Likewise.
1406
1407 2009-07-21  Bruno Haible  <bruno@clisp.org>
1408
1409         * modules/.gitattributes: New file.
1410
1411 2009-07-20  Bruno Haible  <bruno@clisp.org>
1412
1413         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
1414         (main): Use it.
1415
1416 2009-07-20  Eric Blake  <ebb9@byu.net>
1417
1418         test-pipe: make a bit more robust.
1419         * tests/test-pipe.c (myerr): Allow error messages regardless of
1420         what we do to stderr.
1421         (test_pipe): Rearrange to avoid deadlock.
1422         (child_main): Try a larger read, to ensure we avoided deadlock.
1423         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
1424         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
1425         if misused.
1426
1427 2009-07-19  Jim Meyering  <meyering@redhat.com>
1428
1429         fts: avoid false-positive cycle-detection
1430         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
1431         for each new command line argument.
1432
1433 2009-07-19  Bruno Haible  <bruno@clisp.org>
1434
1435         Fix build error on mingw with the modules sys_select and unistd.
1436         * modules/acl-tests (Depends-on): Add close.
1437         * modules/binary-io-tests (Depends-on): Likewise.
1438         * modules/closein-tests (Depends-on): Likewise.
1439         * modules/flock-tests (Depends-on): Likewise.
1440         * modules/fsync-tests (Depends-on): Likewise.
1441         * modules/lseek-tests (Depends-on): Likewise.
1442         * modules/pipe-tests (Depends-on): Likewise.
1443         * modules/posix_spawn-tests (Depends-on): Likewise.
1444         * modules/posix_spawnp-tests (Depends-on): Likewise.
1445         * modules/stat-time-tests (Depends-on): Likewise.
1446         * modules/yesno-tests (Depends-on): Likewise.
1447
1448 2009-07-19  Bruno Haible  <bruno@clisp.org>
1449
1450         Unify conditionals.
1451         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
1452         macros, not at the compiler macros.
1453         * lib/pipe.c: Likewise.
1454         * lib/execute.c: Likewise.
1455         * lib/spawni.c: Likewise.
1456
1457 2009-07-19  Bruno Haible  <bruno@clisp.org>
1458
1459         Fix handling of closed stdin/stdout/stderr on mingw.
1460         * lib/w32spawn.h: Include unistd.h.
1461         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
1462         file descriptor with O_NOINHERIT flag.
1463         (fd_safer_noinherit): New function, based on fd-safer.c.
1464         (dup_safer_noinherit): New function, based on dup-safer.c.
1465         (undup_safer_noinherit): New function.
1466         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
1467         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
1468         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
1469         instead of fd_safer.
1470         * tests/test-pipe.c: Include <windows.h>.
1471         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
1472
1473         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
1474         from main.
1475         (test_pipe): Pass an extra argument for disambiguation.
1476         (main): Invoke parent_main or child_main.
1477
1478         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
1479         consistently.
1480
1481 2009-07-18  Eric Blake  <ebb9@byu.net>
1482
1483         test-pipe: fix mingw build
1484         * tests/test-pipe.c (main): Avoid fcntl on mingw.
1485
1486 2009-07-18  Bruno Haible  <bruno@clisp.org>
1487
1488         * modules/pipe-tests (Makefile.am): Fix typo.
1489
1490 2009-07-18  Eric Blake  <ebb9@byu.net>
1491
1492         error: fix mingw build
1493         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
1494         Reported by Bruno Haible.
1495
1496         error: avoid undefined use of stdout
1497         * lib/error.c (error, error_at_line): Check that fd 1 is open
1498         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
1499         is handling faults and the close_stdout module wants to report the
1500         detection of closed stdout as an error.
1501
1502 2009-07-17  Eric Blake  <ebb9@byu.net>
1503
1504         pipe: be robust in face of closed fds
1505         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
1506         should cause child to misbehave.
1507         * modules/pipe-tests: New module.
1508         * tests/test-pipe.c: New file.
1509         * tests/test-pipe.sh: New file.
1510         Reported by Akim Demaille.
1511
1512 2009-07-14  Bruno Haible  <bruno@clisp.org>
1513
1514         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
1515         Reported by anonymous kc.
1516
1517 2009-07-07  Jim Meyering  <meyering@redhat.com>
1518
1519         maint.mk: don't look for translatable strings in *.m4 or *.mk
1520         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
1521         when searching for translatable strings.
1522
1523 2009-07-05  Jim Meyering  <meyering@redhat.com>
1524
1525         remove superfluous parentheses in STREQ definition
1526         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
1527         * lib/getugroups.c (STREQ): Likewise.
1528         * lib/fnmatch.c (STREQ): Likewise.
1529         Spotted by Bruno Haible.
1530
1531 2009-07-04  Jim Meyering  <meyering@redhat.com>
1532
1533         argv-iter: new module
1534         * MODULES.html.sh: Add argv-iter.
1535         * lib/argv-iter.c, lib/argv-iter.h: New files.
1536         * modules/argv-iter: New file.
1537         * modules/argv-iter-tests: New file.
1538         * tests/test-argv-iter.c: Test it.
1539
1540 2009-07-04  Bruno Haible  <bruno@clisp.org>
1541
1542         Fix assertion.
1543         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
1544         contains more exact copies of a given entry than file2, leave the extra
1545         copies unpaired rather than aborting.
1546         Reported by Eric Blake.
1547
1548 2009-07-02  Bruno Haible  <bruno@clisp.org>
1549
1550         Speedup git-merge-changelog for git cherry-pick.
1551         * lib/git-merge-changelog.c (struct entries_mapping): New type.
1552         (entries_mapping_get): New function, extracted from compute_mapping.
1553         (entries_mapping_reverse_get): New function.
1554         (compute_mapping): Add a 'full' argument. Return the result in a
1555         'struct entries_mapping'.
1556         (main): Update. Access the mappings through entries_mapping_get.
1557         Reported by Eric Blake.
1558
1559 2009-07-02  Bruno Haible  <bruno@clisp.org>
1560
1561         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
1562         best_i.
1563
1564 2009-07-02  Bruno Haible  <bruno@clisp.org>
1565
1566         Speed up approximate search for matching ChangeLog entries.
1567         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
1568         argument. Call fstrcmp_bounded instead of fstrcmp.
1569         (compute_mapping, try_split_merged_entry, main): Update callers.
1570
1571 2009-07-02  Bruno Haible  <bruno@clisp.org>
1572
1573         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
1574
1575 2009-06-30  Bruno Haible  <bruno@clisp.org>
1576
1577         Reduce the number of uc_is_cased calls.
1578         * lib/unicase.h (casing_suffix_context_t): Add
1579         'first_char_except_ignorable' field.
1580         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
1581         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
1582         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
1583         Update initializer.
1584         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
1585         case-ignorable characters.
1586         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
1587         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
1588         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
1589         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
1590         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
1591
1592 2009-06-30  Bruno Haible  <bruno@clisp.org>
1593
1594         Tests for module 'unicase/ignorable'.
1595         * modules/unicase/ignorable-tests: New file.
1596         * tests/unicase/test-ignorable.c: New file, generated by
1597         gen-uni-tables.
1598
1599         Tests for module 'unicase/cased'.
1600         * modules/unicase/cased-tests: New file.
1601         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
1602         * tests/unicase/test-predicate-part1.h: New file, derived from
1603         tests/unictype/test-predicate-part1.h.
1604         * tests/unicase/test-predicate-part2.h: New file, same as
1605         tests/unictype/test-predicate-part2.h.
1606
1607         Fix evaluation of "Before C" condition of FINAL_SIGMA.
1608         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
1609         (output_casing_properties): New function.
1610         (main): Call it.
1611         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
1612         * lib/unicase/cased.c: Include unictype/bitmap.h.
1613         (uc_is_cased): Define through a bitmap lookup.
1614         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
1615         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
1616         (uc_is_case_ignorable): Define through a bitmap lookup.
1617         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
1618         lib/unictype/bitmap.h.
1619         (Depends-on): Add inline. Clean up.
1620         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
1621         lib/unictype/bitmap.h.
1622         (Depends-on): Add inline. Clean up.
1623         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
1624         recognition.
1625         * tests/unicase/test-u16-tolower.c (main): Likewise.
1626         * tests/unicase/test-u32-tolower.c (main): Likewise.
1627
1628 2009-06-30  Bruno Haible  <bruno@clisp.org>
1629
1630         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
1631         * lib/unicase/u16-casemap.c: Likewise.
1632         * lib/unicase/u32-casemap.c: Likewise.
1633
1634 2009-06-29  Bruno Haible  <bruno@clisp.org>
1635
1636         Define u32_casefold as a wrapper around u32_ct_casefold.
1637         * lib/unicase/u32-casefold.c: Update.
1638         * modules/unicase/u32-casefold (Depends-on): Add
1639         unicase/u32-ct-casefold, unicase/empty-prefix-context,
1640         unicase/empty-suffix-context. Clean up.
1641
1642         Define u16_casefold as a wrapper around u16_ct_casefold.
1643         * lib/unicase/u16-casefold.c: Update.
1644         * modules/unicase/u16-casefold (Depends-on): Add
1645         unicase/u16-ct-casefold, unicase/empty-prefix-context,
1646         unicase/empty-suffix-context. Clean up.
1647
1648         Define u8_casefold as a wrapper around u8_ct_casefold.
1649         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
1650         * lib/unicase/u8-casefold.c: Update.
1651         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
1652         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
1653
1654         Define u32_totitle as a wrapper around u32_ct_totitle.
1655         * lib/unicase/u32-totitle.c: Update.
1656         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
1657         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
1658
1659         Define u16_totitle as a wrapper around u16_ct_totitle.
1660         * lib/unicase/u16-totitle.c: Update.
1661         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
1662         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
1663
1664         Define u8_totitle as a wrapper around u8_ct_totitle.
1665         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
1666         functions.
1667         (FUNC): Delegate to U_CT_TOTITLE.
1668         * lib/unicase/u8-totitle.c: Update.
1669         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
1670         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
1671
1672         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
1673         invocation.
1674         * modules/unicase/u32-tolower (Depends-on): Add
1675         unicase/empty-prefix-context, unicase/empty-suffix-context.
1676
1677         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
1678         invocation.
1679         * modules/unicase/u16-tolower (Depends-on): Add
1680         unicase/empty-prefix-context, unicase/empty-suffix-context.
1681
1682         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
1683         * modules/unicase/u8-tolower (Depends-on): Add
1684         unicase/empty-prefix-context, unicase/empty-suffix-context.
1685
1686         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
1687         invocation.
1688         * modules/unicase/u32-toupper (Depends-on): Add
1689         unicase/empty-prefix-context, unicase/empty-suffix-context.
1690
1691         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
1692         invocation.
1693         * modules/unicase/u16-toupper (Depends-on): Add
1694         unicase/empty-prefix-context, unicase/empty-suffix-context.
1695
1696         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
1697         * modules/unicase/u8-toupper (Depends-on): Add
1698         unicase/empty-prefix-context, unicase/empty-suffix-context.
1699
1700         New module 'unicase/u32-ct-casefold'.
1701         * lib/unicase/u32-ct-casefold.c: New file.
1702         * modules/unicase/u32-ct-casefold: New file.
1703
1704         New module 'unicase/u16-ct-casefold'.
1705         * lib/unicase/u16-ct-casefold.c: New file.
1706         * modules/unicase/u16-ct-casefold: New file.
1707
1708         New module 'unicase/u8-ct-casefold'.
1709         * lib/unicase/u8-ct-casefold.c: New file.
1710         * lib/unicase/u-ct-casefold.h: New file, derived from
1711         lib/unicase/u-casefold.h.
1712         * modules/unicase/u8-ct-casefold: New file.
1713
1714         New module 'unicase/u32-ct-totitle'.
1715         * lib/unicase/u32-ct-totitle.c: New file.
1716         * modules/unicase/u32-ct-totitle: New file.
1717
1718         New module 'unicase/u16-ct-totitle'.
1719         * lib/unicase/u16-ct-totitle.c: New file.
1720         * modules/unicase/u16-ct-totitle: New file.
1721
1722         New module 'unicase/u8-ct-totitle'.
1723         * lib/unicase/u8-ct-totitle.c: New file.
1724         * lib/unicase/u-ct-totitle.h: New file, derived from
1725         lib/unicase/u-totitle.h.
1726         * modules/unicase/u8-ct-totitle: New file.
1727
1728         New module 'unicase/u32-ct-tolower'.
1729         * lib/unicase/u32-ct-tolower.c: New file.
1730         * modules/unicase/u32-ct-tolower: New file.
1731
1732         New module 'unicase/u16-ct-tolower'.
1733         * lib/unicase/u16-ct-tolower.c: New file.
1734         * modules/unicase/u16-ct-tolower: New file.
1735
1736         New module 'unicase/u8-ct-tolower'.
1737         * lib/unicase/u8-ct-tolower.c: New file.
1738         * modules/unicase/u8-ct-tolower: New file.
1739
1740         New module 'unicase/u32-ct-toupper'.
1741         * lib/unicase/u32-ct-toupper.c: New file.
1742         * modules/unicase/u32-ct-toupper: New file.
1743
1744         New module 'unicase/u16-ct-toupper'.
1745         * lib/unicase/u16-ct-toupper.c: New file.
1746         * modules/unicase/u16-ct-toupper: New file.
1747
1748         New module 'unicase/u8-ct-toupper'.
1749         * lib/unicase/u8-ct-toupper.c: New file.
1750         * modules/unicase/u8-ct-toupper: New file.
1751
1752         Add context arguments to u*_casemap functions.
1753         * lib/unicase/unicasemap.h: Include unicase.h.
1754         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
1755         suffix_context arguments.
1756         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
1757         functions.
1758         (FUNC): Add prefix_context and suffix_context arguments. Use
1759         uc_is_cased and uc_is_case_ignorable.
1760         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
1761         * lib/unicase/u16-casemap.c: Likewise.
1762         * lib/unicase/u32-casemap.c: Likewise.
1763         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
1764         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
1765         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
1766         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
1767         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
1768         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
1769
1770         New module 'unicase/u32-suffix-context'.
1771         * lib/unicase/u32-suffix-context.c: New file.
1772         * modules/unicase/u32-suffix-context: New file.
1773
1774         New module 'unicase/u16-suffix-context'.
1775         * lib/unicase/u16-suffix-context.c: New file.
1776         * modules/unicase/u16-suffix-context: New file.
1777
1778         New module 'unicase/u8-suffix-context'.
1779         * lib/unicase/u8-suffix-context.c: New file.
1780         * lib/unicase/u-suffix-context.h: New file.
1781         * modules/unicase/u8-suffix-context: New file.
1782
1783         New module 'unicase/empty-suffix-context'.
1784         * lib/unicase/empty-suffix-context.c: New file.
1785         * modules/unicase/empty-suffix-context: New file.
1786
1787         New module 'unicase/u32-prefix-context'.
1788         * lib/unicase/u32-prefix-context.c: New file.
1789         * modules/unicase/u32-prefix-context: New file.
1790
1791         New module 'unicase/u16-prefix-context'.
1792         * lib/unicase/u16-prefix-context.c: New file.
1793         * modules/unicase/u16-prefix-context: New file.
1794
1795         New module 'unicase/u8-prefix-context'.
1796         * lib/unicase/u8-prefix-context.c: New file.
1797         * lib/unicase/u-prefix-context.h: New file.
1798         * lib/unicase/context.h: New file.
1799         * modules/unicase/u8-prefix-context: New file.
1800
1801         New module 'unicase/empty-prefix-context'.
1802         * lib/unicase/empty-prefix-context.c: New file.
1803         * modules/unicase/empty-prefix-context: New file.
1804
1805         New module 'unicase/ignorable'.
1806         * lib/unicase/ignorable.c: New file.
1807         * modules/unicase/ignorable: New file.
1808
1809         New module 'unicase/cased'.
1810         * lib/unicase/caseprop.h: New file.
1811         * lib/unicase/cased.c: New file.
1812         * modules/unicase/cased: New file.
1813
1814         New functions for case mapping of substrings.
1815         * lib/unicase.h (casing_prefix_context_t): New type.
1816         (unicase_empty_prefix_context): New variable.
1817         (u8_casing_prefix_context, u16_casing_prefix_context,
1818         u32_casing_prefix_context, u8_casing_prefixes_context,
1819         u16_casing_prefixes_context, u32_casing_prefixes_context): New
1820         declarations.
1821         (casing_suffix_context_t): New type.
1822         (unicase_empty_suffix_context): New variable.
1823         (u8_casing_suffix_context, u16_casing_suffix_context,
1824         u32_casing_suffix_context, u8_casing_suffixes_context,
1825         u16_casing_suffixes_context, u32_casing_suffixes_context,
1826         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
1827         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
1828         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
1829         declarations.
1830
1831 2009-06-28  Jim Meyering  <meyering@redhat.com>
1832
1833         boostrap: indent only with spaces
1834         * build-aux/bootstrap: Indent only with spaces, never TABs.
1835
1836         bootstrap: split long lines
1837         * build-aux/bootstrap: Keep line length < 80.
1838
1839         bootstrap: sync from coreutils
1840         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
1841         just as autoreconf does.  Verify a list of prerequisite
1842         package-name,version-number pairs if defined in bootstrap.conf.
1843         Refer to README-prereq, if prerequisites are not satisfied.
1844
1845 2009-06-27  Eric Blake  <ebb9@byu.net>
1846
1847         tests: add test for bogus NULL definition
1848         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
1849         * tests/test-stdlib.c: Likewise.
1850         * tests/test-string.c: Likewise.
1851         * tests/test-locale.c: Likewise.
1852         * tests/test-unistd.c: Likewise.
1853         * modules/stdio-tests (Depends-on): Add verify.
1854         * modules/stdlib-tests (Depends-on): Likewise.
1855         * modules/string-tests (Depends-on): Likewise.
1856         * modules/locale-tests (Depends-on): Likewise.
1857         * modules/unistd-tests (Depends-on): Likewise.
1858
1859 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
1860
1861         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
1862         self-explaining comment.
1863         * m4/selinux-selinux-h: Update serial.
1864         (gl_LIBSELINUX): New macro, adding a warning for missing development
1865         packages to code extracted from...
1866         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
1867         Add warning for missing development packages here, too.
1868
1869 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
1870
1871         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
1872
1873 2009-06-25  Eric Blake  <ebb9@byu.net>
1874
1875         version-etc: fix regression
1876         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
1877         gcc.
1878         (version_etc): Use it, to catch bugs with trailing NULL.
1879         * lib/version-etc.c (version_etc_arn): Delete unused argument.
1880         (version_etc_va): Fix logic bug.
1881         * modules/version-etc-tests: Add test.
1882         * tests/test-version-etc.c: New file.
1883         * tests/test-version-etc.sh: Likewise.
1884
1885 2009-06-25  Sam Steingold  <sds@gnu.org>
1886
1887         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
1888         mbtowc declaration.
1889
1890 2009-06-25  Eric Blake  <ebb9@byu.net>
1891
1892         fpurge: migrate into <stdio.h>
1893         * lib/fpurge.h: Delete...
1894         * lib/stdio.in.h (fpurge): ...and declare here, instead.
1895         * lib/fpurge.c (fpurge): Change declaring header.
1896         * modules/fpurge (Files): Drop deleted file.
1897         (Depends-on): Add stdio.
1898         (configure.ac): Set witness.
1899         * modules/stdio (Makefile.am): Support fpurge macros.
1900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
1901         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
1902         * lib/fflush.c: Update client.
1903         * tests/test-fpurge.c: Likewise.
1904         * NEWS: Mention the change.
1905
1906 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
1907
1908        * lib/argp-version-etc.c (program_authors): Add const
1909        qualifier.
1910        * lib/version-etc.c: Fix typos in the comments.
1911        * modules/argp-version-etc: Depends on version-etc.
1912
1913 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
1914
1915         argp-version-etc: new module.
1916
1917         * lib/argp-version-etc.c: New file.
1918         * lib/argp-version-etc.h: New file.
1919         * modules/argp-version-etc: New file.
1920         * modules/argp-version-etc-tests: New file.
1921         * tests/test-argp-version-etc.c: New test.
1922         * tests/test-argp-version-etc-1.sh: New test.
1923
1924 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
1925
1926         Provide additional interfaces and documentation for version-etc
1927         module.
1928
1929         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
1930         interfaces.
1931         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
1932         prototypes.
1933
1934 2009-06-24  Bruno Haible  <bruno@clisp.org>
1935
1936         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
1937         HAVE_LIB${NAME} macro.
1938         Reported by Sam Steingold <sds@gnu.org>.
1939
1940 2009-06-23  Simon Josefsson  <simon@josefsson.org>
1941
1942         * modules/hash-tests (test_hash_LDADD): Link to libintl when
1943         needed.
1944
1945 2009-06-21  Bruno Haible  <bruno@clisp.org>
1946
1947         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
1948         work.
1949         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
1950         together with LIB${NAME}, LTLIB${NAME}.
1951         Reported by Sam Steingold <sds@gnu.org>.
1952
1953 2009-06-20  Jim Meyering  <meyering@redhat.com>
1954
1955         tests: make sc_require_test_exit_idiom more generic
1956         * top/maint.mk (Exit_witness_file): New overridable variable.
1957         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
1958         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
1959
1960 2009-06-19  Jim Meyering  <meyering@redhat.com>
1961
1962         hash: reverse order of src/dst parameters in an internal interface
1963         * lib/hash.c (transfer_entries): Reverse order of parameters to
1964         put DST before SRC.  Adjust callers.
1965
1966         tests: test-hash: avoid wholesale duplication
1967         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
1968         Instead, use a loop and add a single conditional.
1969
1970         tests: test-hash: allow seed selection via a command line argument
1971         * tests/test-hash.c (get_seed): New function.
1972         (main): Use it.
1973
1974 2009-06-19  Eric Blake  <ebb9@byu.net>
1975
1976         hash: avoid memory leak on allocation failure
1977         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
1978         failure.  Factor repeated algorithm...
1979         (transfer_entries): ...into new helper routine.
1980         (hash_delete): React to hash_rehash return value.
1981
1982         hash: reduce memory pressure in hash_rehash no-op case
1983         * lib/hash.c (next_prime): Avoid overflow.
1984         (hash_initialize): Factor bucket size computation...
1985         (compute_bucket_size): ...into new helper function.
1986         (hash_rehash): Use new function and open coding to reduce memory
1987         pressure, and avoid a memory leak in USE_OBSTACK code.
1988         Reported by Jim Meyering.
1989
1990 2009-06-18  Eric Blake  <ebb9@byu.net>
1991
1992         hash: make rotation more obvious
1993         * modules/hash (Depends-on): Add bitrotate and stdint.
1994         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
1995         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
1996         (SIZE_MAX): Rely on headers for definition.
1997         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
1998         (raw_hasher): Use rotr_sz.
1999         Suggested by Jim Meyering.
2000
2001         hash: fix memory leak in last patch
2002         * lib/hash.c (hash_rehash): Avoid memory leak.
2003
2004         hash: avoid no-op rehashing
2005         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
2006
2007         hash: provide default callback functions
2008         * lib/hash.c (raw_hasher, raw_comparator): New functions.
2009         (hash_initialize): Use them as defaults.
2010         * tests/test-hash.c (main): Test this.
2011
2012         hash: minor optimization
2013         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
2014         when possible.
2015         (hash_initialize): Document this promise.
2016         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
2017         * tests/test-hash.c (hash_compare_strings): Test this.
2018
2019 2009-06-18  Bruno Haible  <bruno@clisp.org>
2020
2021         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
2022         going to be replaced anyway.
2023
2024 2009-06-18  Bruno Haible  <bruno@clisp.org>
2025
2026         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
2027         in one place.
2028         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
2029         be replaced anyway.
2030
2031 2009-06-18  Eric Blake  <ebb9@byu.net>
2032
2033         hash: check for resize before insertion
2034         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
2035         threshold before insertion, so that a pathological hash_rehash
2036         that fills every bucket can still trigger another rehash.
2037
2038 2009-06-18  Jim Meyering  <meyering@redhat.com>
2039
2040         hash-tests: add a loop around the small tests
2041         * tests/test-hash.c (main): Repeat small tests with selected
2042         small initial table sizes.
2043
2044 2009-06-17  Eric Blake  <ebb9@byu.net>
2045
2046         hash: minor cleanups
2047         * lib/hash.h (hash_entry): Make opaque, by moving...
2048         * lib/hash.c (hash_entry): ...here.
2049         (hash_insert): Clarify restrictions on what can be inserted.
2050         (hash_get_next): Clarify when it is safe to remove an element
2051         during traversal.
2052         (check_tuning): Skip verification when tuning is known safe.
2053         (hash_initialize): Clarify restrictions on tuning.
2054
2055 2009-06-17  Jim Meyering  <jim@meyering.net>
2056         and Eric Blake  <ebb9@byu.net>
2057
2058         hash-tests: new module
2059         * modules/hash-tests: New file.
2060         * tests/test-hash.c: New file.
2061
2062 2009-06-17  Eric Blake  <ebb9@byu.net>
2063
2064         strstr-simple: document new module
2065         * MODULES.html.sh: Document new module.
2066
2067         strstr, strcasestr: replace on platforms with broken memchr
2068         * modules/strstr: Split into...
2069         * modules/strstr-simple: ...new module that does not care about
2070         performance, but does care about glibc bug.
2071         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
2072         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
2073         if platform memchr is broken, per Debian bug 521737.
2074         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
2075         memchr.
2076         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
2077         * doc/posix-functions/strstr.texi (strstr): Document the fix.
2078         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
2079         * modules/mountlist (Depends-on): Add strstr-simple.
2080         * modules/gen-uni-tables (Depends-on): Likewise.
2081         * modules/argz (Depends-on): Add strstr.
2082
2083 2009-06-17  Bruno Haible  <bruno@clisp.org>
2084
2085         * modules/posix_spawn-internal (Depends-on): Add errno.
2086
2087 2009-06-17  Bruno Haible  <bruno@clisp.org>
2088
2089         Define missing ESTALE on Interix 3.5.
2090         * lib/errno.in.h (ESTALE): Assign a value if missing.
2091         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
2092         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
2093         missing.
2094         * doc/posix-headers/errno.texi: Mention the Interix bug.
2095         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
2096
2097 2009-06-15  Eric Blake  <ebb9@byu.net>
2098
2099         memchr, memchr2: add valgrind exception
2100         * lib/memchr.valgrind: New file.
2101         * lib/memchr2.valgrind: New file.
2102         * modules/memchr (Files): Distribute valgrind file.
2103         * modules/memchr2 (Files): Likewise.
2104
2105         docs: memchr is no longer obsolete
2106         * MODULES.html.sh: Move memchr from obsolete to string.h section.
2107         * lib/string.in.h (memchr): Simplify logic.
2108
2109 2009-06-14  Jim Meyering  <meyering@redhat.com>
2110
2111         link-follow: fix the "checking..." message to not mention trailing slash
2112         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
2113         never considered trailing slashes.
2114
2115 2009-06-14  Bruno Haible  <bruno@clisp.org>
2116
2117         * m4/memchr.m4: Mention also the bug on IA-64.
2118         * doc/posix-functions/memchr.texi: Likewise.
2119
2120 2009-06-12  Eric Blake  <ebb9@byu.net>
2121
2122         memchr: detect broken x86_64 and alpha implementations
2123         * modules/memchr-tests (Depends-on): Move mmap detection...
2124         * modules/memchr (Depends-on): ...here.
2125         (configure.ac): Set indicator.
2126         * lib/string.in.h (memchr): Declare replacement.
2127         * modules/string (Makefile.am): Trigger replacement.
2128         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
2129         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
2130         bugs.
2131         * doc/posix-functions/memchr.texi (memchr): Document the bug.
2132         * modules/getpagesize (License): Relax license.
2133
2134 2009-06-11  Bruno Haible  <bruno@clisp.org>
2135
2136         * lib/idpriv.h: Add more references.
2137
2138 2009-06-08  Bruno Haible  <bruno@clisp.org>
2139
2140         Tests for module 'idpriv-droptemp'.
2141         * modules/idpriv-droptemp-tests: New file.
2142         * tests/test-idpriv-droptemp.sh: New file.
2143         * tests/test-idpriv-droptemp.su.sh: New file.
2144         * tests/test-idpriv-droptemp.c: New file.
2145
2146         New module 'idpriv-droptemp'.
2147         * lib/idpriv-droptemp.c: New file.
2148         * modules/idpriv-droptemp: New file.
2149
2150 2009-06-08  Bruno Haible  <bruno@clisp.org>
2151
2152         Tests for module 'idpriv-drop'.
2153         * modules/idpriv-drop-tests: New file.
2154         * tests/test-idpriv-drop.sh: New file.
2155         * tests/test-idpriv-drop.su.sh: New file.
2156         * tests/test-idpriv-drop.c: New file.
2157
2158         New module 'idpriv-drop'.
2159         * lib/idpriv.h: New file.
2160         * lib-idpriv-drop.c: New file.
2161         * m4/idpriv.m4: New file.
2162         * modules/idpriv-drop: New file.
2163
2164 2009-06-08  Bruno Haible  <bruno@clisp.org>
2165
2166         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
2167         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
2168         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
2169         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
2170         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
2171         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
2172         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
2173
2174 2009-06-08  Eric Blake  <ebb9@byu.net>
2175
2176         test-strstr: use memory fence, when possible
2177         * tests/test-strstr.c (main): Use memory fence, in order to be
2178         more likely to trigger Debian bug 521737.
2179         * modules/strstr-tests (Files): Pull in additional files.
2180
2181         memchr: no longer obsolete, for wider field testing
2182         * modules/memchr (Status, Notice): Delete, this module is no
2183         longer obsolete.
2184         * modules/vasnprintf (Depends-on): Add memchr.
2185
2186 2009-06-07  Jim Meyering  <meyering@redhat.com>
2187
2188         hash: declare some functions with the warn_unused_result attribute
2189         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
2190
2191 2009-06-07  Bruno Haible  <bruno@clisp.org>
2192
2193         * tests/test-alignof.c: Don't test int64_t if it does not exist.
2194         Reported by Eric Blake.
2195
2196 2009-06-06  Eric Blake  <ebb9@byu.net>
2197
2198         test-alignof: fix typo with long double
2199         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
2200         compiler error.
2201
2202 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
2203
2204         Escape non-texinfo { and }s.
2205         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
2206         markup error.
2207
2208 2009-06-04  Jim Meyering  <meyering@redhat.com>
2209
2210         gitlog-to-changelog: don't infloop on an empty commit log
2211         * build-aux/gitlog-to-changelog: Warn about an empty log message.
2212         Reported by Boris Petersen <transacid@centerim.org>.
2213
2214 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
2215
2216         version-etc: extend for packagers
2217         Add three new configure options, intended for packagers:
2218           --with-packager="packager name"
2219           --with-packager-version="packager-specific version"
2220           --with-packager-bug-reports="packager bug reporting"
2221         An example with coreutils:
2222           $ ./configure \
2223             --with-packager=Gentoo \
2224             --with-packager-bug-report=http://bugs.gentoo.org/ \
2225             --with-packager-version="patchset 1.6"
2226           $ ./src/ls --version | head -n3
2227           ls (GNU coreutils) 7.1-dirty
2228           Packaged by Gentoo (patchset 1.6)
2229           Copyright (C) 2009 Free Software Foundation, Inc.
2230         Note that the bug reporting info via --help doesn't show up because
2231         coreutils uses its own custom emit_bug_reporting_address() implementation
2232         in src/system.h.  If it didn't, it'd look like:
2233           $ ./src/ls --help | tail -n4
2234           Report bugs to <bug-coreutils@gnu.org>.
2235           Report Gentoo bugs to <http://bugs.gentoo.org/>.
2236           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
2237           General help using GNU software: <http://www.gnu.org/gethelp/>.
2238         * lib/version-etc.c: Print new information, if provided.
2239         * m4/version-etc.m4: New file.
2240         * modules/version-etc (Files): Add m4/version-etc.m4.
2241         (configure.ac): Add gl_VERSION_ETC.
2242
2243 2009-05-31  Bruno Haible  <bruno@clisp.org>
2244
2245         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
2246         and 'int64_t'.
2247         * modules/alignof-tests (Dependencies): Add stdint.
2248         Reported by Eric Blake.
2249
2250 2009-05-31  Bruno Haible  <bruno@clisp.org>
2251
2252         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
2253         restriction due to compiler bugs.
2254         Reported by Eric Blake.
2255
2256 2009-05-31  Simon Josefsson  <simon@josefsson.org>
2257             Bruno Haible  <bruno@clisp.org>
2258
2259         Fix test-alignof failure.
2260         * lib/alignof.h (alignof_slot): New macro.
2261         (alignof_type): New macro, with the same semantics as the previous
2262         'alignof'.
2263         (alignof): Alias to alignof_slot.
2264         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
2265         check that the results are usable as constant expressions.
2266
2267 2009-05-31  Bruno Haible  <bruno@clisp.org>
2268
2269         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
2270         * tests/test-memchr.c (main): Check that memchr does not read past the
2271         first occurrence of the byte.
2272         * tests/test-strstr.c (main): Update comment.
2273         Suggested by Eric Blake.
2274
2275 2009-05-30  Bruno Haible  <bruno@clisp.org>
2276
2277         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
2278         detail how to use dumpbin.
2279         Reported by David Byron <dbyron@dbyron.com>.
2280
2281 2009-06-02  Simon Josefsson  <simon@josefsson.org>
2282
2283         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
2284
2285 2009-06-02  Simon Josefsson  <simon@josefsson.org>
2286
2287         * m4/manywarnings.m4: Add GCC 4.4 warnings.
2288
2289 2009-05-28  Bruno Haible  <bruno@clisp.org>
2290
2291         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
2292         build-aux/ files.
2293
2294 2009-05-28  Simon Josefsson  <simon@josefsson.org>
2295
2296         * gnulib-tool (func_import): Transform license on build-aux/ files too.
2297
2298 2009-05-27  Simon Josefsson  <simon@josefsson.org>
2299
2300         * gnulib-tool (sed_transform_main_lib_file)
2301         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
2302         regexps.
2303
2304 2009-05-26  Simon Josefsson  <simon@josefsson.org>
2305
2306         * tests/test-strstr.c: Add another self-test.
2307         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
2308         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
2309
2310 2009-05-23  Bruno Haible  <bruno@clisp.org>
2311
2312         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
2313         change.
2314
2315 2009-05-21  Bruno Haible  <bruno@clisp.org>
2316
2317         Simplify use of mode_t varargs.
2318         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
2319         uses 'mode_t' or 'int'.
2320         * lib/openat.c (openat): Likewise.
2321         * lib/open-safer.c (open_safer): Likewise.
2322         * m4/mode_t.m4: New file.
2323         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
2324         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
2325         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
2326         * modules/open (Files): Add m4/mode_t.m4.
2327         * modules/openat (Files): Likewise.
2328         * modules/fcntl-safer (Files): Likewise.
2329         Suggested by Eric Blake.
2330
2331 2009-05-21  Pádraig Brady  <P@draigbrady.com>
2332
2333         * doc/glibc-functions/fallocate.texi: New file.
2334         * doc/gnulib.texi: Include it.
2335
2336 2009-05-21  Eric Blake  <ebb9@byu.net>
2337             Bruno Haible  <bruno@clisp.org>
2338
2339         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
2340         invocations.
2341         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
2342
2343 2009-05-21  Eric Blake  <ebb9@byu.net>
2344             Bruno Haible  <bruno@clisp.org>
2345
2346         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
2347         include_next. Fix of 2008-11-20 commit.
2348         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
2349         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
2350         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
2351         NEXT_MATH_H.
2352         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
2353         instead of NEXT_MATH_H.
2354
2355 2009-05-21  Bruno Haible  <bruno@clisp.org>
2356
2357         Avoid redefinition warnings for SIZE_MAX.
2358         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
2359         Reported by Simon Josefsson.
2360
2361 2009-05-21  Bruno Haible  <bruno@clisp.org>
2362
2363         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
2364         AC_CACHE_VAL.
2365
2366 2009-05-20  Bruno Haible  <bruno@clisp.org>
2367
2368         Make zeroptr.h work on mingw.
2369         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
2370         mprotect.
2371         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
2372         * modules/memchr2-tests (configure.ac): Likewise.
2373         * modules/memcmp-tests (configure.ac): Likewise.
2374         * modules/memmem-tests (configure.ac): Likewise.
2375         * modules/memrchr-tests (configure.ac): Likewise.
2376         Reported by Simon Josefsson.
2377
2378 2009-05-20  Simon Josefsson  <simon@josefsson.org>
2379
2380         * tests/test-glob.c: Include string.h for strcmp prototype.
2381
2382 2009-05-20  Simon Josefsson  <simon@josefsson.org>
2383
2384         * modules/getdelim (Depends-on): Add explicit stdint, although it
2385         was implicitly already pulled in via realloc-posix.
2386         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
2387
2388 2009-05-20  Simon Josefsson  <simon@josefsson.org>
2389
2390         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
2391         G. Christensen" <tgc@jupiterrise.com>.
2392         * m4/sys_socket_h.m4: Check for sa_family_t.
2393         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
2394         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
2395         * tests/test-sys_socket.c: Check that sa_family_t works.
2396
2397 2009-05-18  Eric Blake  <ebb9@byu.net>
2398
2399         maint.mk: allow gnulib_dir in VPATH build
2400         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
2401
2402 2009-05-15  Jim Meyering  <meyering@redhat.com>
2403
2404         maint.mk: Give gnulib_dir a default definition.
2405         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
2406         Thus, most packages no longer need to specify this variable in cfg.mk
2407
2408 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
2409
2410         rename.m4: fix typos that would make non-mingw cross-configure fail
2411         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
2412
2413 2009-05-13  Eric Blake  <ebb9@byu.net>
2414
2415         mmap-anon: avoid out-of-order autoconf expansion
2416         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
2417         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
2418         * modules/memchr-tests (Depends-on): Add extensions.
2419         * modules/memchr2-tests (Depends-on): Add extensions.
2420         * modules/memcmp-tests (Depends-on): Add extensions.
2421         * modules/memmem-tests (Depends-on): Add extensions.
2422         * modules/memrchr-tests (Depends-on): Add extensions.
2423
2424 2009-05-13  Bruno Haible  <bruno@clisp.org>
2425
2426         Make some tests ISO C 99 compliant.
2427         * tests/zerosize-ptr.h: New file.
2428         * tests/test-memchr.c: Include zerosize-ptr.h.
2429         (main): Use a zero-size object pointer instead of NULL.
2430         * tests/test-memchr2.c: Include zerosize-ptr.h.
2431         (main): Use a zero-size object pointer instead of NULL.
2432         * tests/test-memcmp.c: Include zerosize-ptr.h.
2433         (main): Use a zero-size object pointer instead of NULL.
2434         * tests/test-memmem.c: Include zerosize-ptr.h.
2435         (main): Use a zero-size object pointer instead of NULL.
2436         * tests/test-memrchr.c: Include zerosize-ptr.h.
2437         (main): Use a zero-size object pointer instead of NULL.
2438         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
2439         m4/mmap-anon.m4.
2440         (Depends-on): Add getpagesize.
2441         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
2442         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
2443         m4/mmap-anon.m4.
2444         (Depends-on): Add getpagesize.
2445         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
2446         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
2447         m4/mmap-anon.m4.
2448         (Depends-on): Add getpagesize.
2449         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
2450         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
2451         m4/mmap-anon.m4.
2452         (Depends-on): Add getpagesize.
2453         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
2454         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
2455         m4/mmap-anon.m4.
2456         (Depends-on): Add getpagesize.
2457         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
2458
2459 2009-05-12  Bruno Haible  <bruno@clisp.org>
2460
2461         Tests for module 'alignof'.
2462         * modules/alignof-tests: New file.
2463         * tests/test-alignof.c: New file.
2464
2465 2009-05-12  Bruno Haible  <bruno@clisp.org>
2466
2467         Fix alignof macro.
2468         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
2469         vendor compilers that are always correct.
2470
2471 2009-05-12  Bruno Haible  <bruno@clisp.org>
2472
2473         Make the MAP_ANONYMOUS detection work on HP-UX 11.
2474         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
2475         not whether its fully works.
2476
2477 2009-05-12  Bruno Haible  <bruno@clisp.org>
2478
2479         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
2480
2481 2009-05-12  Jim Meyering  <meyering@redhat.com>
2482
2483         * top/maint.mk: Adjust backslash alignment.
2484
2485 2009-05-11  Simon Josefsson  <simon@josefsson.org>
2486
2487         * top/maint.mk: Make $(srcdir)/build-aux configurable.
2488
2489 2009-05-11  Eric Blake  <ebb9@byu.net>
2490
2491         argp: avoid undefined behavior
2492         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
2493         macros.
2494
2495 2009-05-08  Simon Josefsson  <simon@josefsson.org>
2496
2497         * tests/test-vc-list-files-git.sh: Do git config of user.email and
2498         user.name to prevent git commit from complaining.
2499
2500 2009-05-10  Bruno Haible  <bruno@clisp.org>
2501
2502         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
2503         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
2504         it rewrites every file name only once.
2505         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
2506
2507 2009-05-08  Bruno Haible  <bruno@clisp.org>
2508
2509         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
2510         instead of 'max'.
2511
2512 2009-05-08  Simon Josefsson  <simon@josefsson.org>
2513
2514         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
2515         sockaddr_storage test.
2516
2517 2009-05-07  Simon Josefsson  <simon@josefsson.org>
2518
2519         * modules/sys_socket (Makefile.am): Substitute
2520         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
2521         * m4/sys_socket_h.m4: Check for sockaddr_storage.
2522         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
2523         * tests/test-sys_socket.c: Check sockaddr_storage.
2524
2525 2009-05-08  Bruno Haible  <bruno@clisp.org>
2526
2527         New module 'alignof'.
2528         * lib/alignof.h: New file.
2529         * modules/alignof: New file.
2530
2531 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
2532             Bruno Haible  <bruno@clisp.org>
2533
2534         Fix test-file-has-acl on FreeBSD.
2535         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
2536         mask is implicitly added.
2537         * tests/test-file-has-acl.c: Include <signal.h>.
2538         (main): Terminate the test after 5 seconds.
2539         * modules/acl-tests (configure.ac): Check for alarm function.
2540
2541 2009-05-04  Bruno Haible  <bruno@clisp.org>
2542
2543         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
2544         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
2545         * modules/errno (configure.ac): Drop AC_REQUIRE.
2546         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
2547         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
2548
2549 2009-05-04  Simon Josefsson  <simon@josefsson.org>
2550
2551         * modules/glob-tests: New module.
2552         * tests/test-glob.c: Add.
2553
2554 2009-05-04  Simon Josefsson  <simon@josefsson.org>
2555
2556         * modules/fnmatch-tests: New module.
2557         * tests/test-fnmatch.c: Add.
2558
2559 2009-05-04  Eric Blake  <ebb9@byu.net>
2560
2561         maint: make the new no-submodule-changes rule VPATH-safe
2562         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
2563
2564 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
2565             Bruno Haible  <bruno@clisp.org>
2566
2567         acl: Fix infinite loop on FreeBSD.
2568         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
2569         of return value from acl_get_entry.
2570         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
2571         Likewise.
2572
2573 2009-05-03  Bruno Haible  <bruno@clisp.org>
2574
2575         * lib/acl-internal.h (acl_entries): Clarify return value.
2576         * lib/acl_entries.c (acl_entries): Likewise.
2577
2578 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
2579
2580         Bug fix in acl module.
2581         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
2582
2583 2009-05-03  Bruno Haible  <bruno@clisp.org>
2584
2585         Create gperf-generated file in the source dir, not in the build dir.
2586         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
2587         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
2588         * modules/unicase/locale-language (unicase/locale-languages.h):
2589         Likewise.
2590         * modules/unicase/special-casing (unicase/special-casing-table.h):
2591         Likewise.
2592         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
2593         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
2594         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
2595         Reported by Ralf Wildenhues.
2596
2597 2009-05-03  Bruno Haible  <bruno@clisp.org>
2598
2599         * modules/fnmatch (Description, configure.ac): Taken from
2600         fnmatch-posix.
2601         * modules/fnmatch-posix: Turn into a symbolic reference to the
2602         'fnmatch' module, and deprecate.
2603         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
2604
2605 2009-05-03  Bruno Haible  <bruno@clisp.org>
2606
2607         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
2608         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
2609         Reported by Ralf Wildenhues.
2610
2611 2009-05-04  Simon Josefsson  <simon@josefsson.org>
2612
2613         * m4/fnmatch.m4: Fix fnmatch re-define.
2614
2615 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
2616
2617         priv-set: new module and tests; adapt write-any-file
2618         * lib/priv-set.c: New file.
2619         * lib/priv-set.h: New file.
2620         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
2621         * lib/write-any-file.c: Simplify by using priv-set module.
2622         * m4/priv-set.m4: New file.
2623         * modules/priv-set: New file.
2624         * modules/unlinkdir: Add dependency on priv-set module.
2625         * modules/write-any-file: Likewise.
2626
2627         Tests for module 'priv-set'.
2628         * modules/priv-set-tests: New file.
2629         * tests/test-priv-set.c: New file.
2630
2631 2009-05-03  Jim Meyering  <meyering@redhat.com>
2632             Bruno Haible  <bruno@clisp.org>
2633
2634         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
2635         use the converted UTF-8 variant of the name instead.
2636
2637 2009-05-03  Jim Meyering  <meyering@redhat.com>
2638
2639         tests: tighten some getdate tests
2640         * tests/test-getdate.c (main): Tighten tests: require equality,
2641         not just greater than.  Set TZ envvar to UTC0.
2642
2643 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
2644
2645         getdate: correctly interpret "next monday" when run on a Monday
2646         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
2647         that e.g., "next tues" (when run on a tuesday) results in a date
2648         that is one week in the future, and not today's date.
2649         I.e., add a week when the wday is the same as the current one.
2650         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
2651         and earlier by Martin Bernreuther and Jan Minář.
2652         * tests/test-getdate.c (main): Check that "next DAY" is always in
2653         the future and that "last DAY" is always in the past.
2654
2655 2009-05-02  Jim Meyering  <meyering@redhat.com>
2656
2657         build: ensure that a release build fails when a submodule is unclean
2658         * top/maint.mk (no-submodule-changes): New rule.
2659         (alpha beta major): Depend on it.
2660
2661 2009-05-02  Bruno Haible  <bruno@clisp.org>
2662
2663         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
2664         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
2665         shell variable gl_fnmatch_required to detect which variant is
2666         requested.
2667         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
2668         gl_FUNC_FNMATCH_POSIX.
2669         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
2670         exclude fnmatch-posix.
2671
2672 2009-05-02  Bruno Haible  <bruno@clisp.org>
2673
2674         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
2675         * modules/mbsrtowcs (License): Change to LGPLv2+.
2676         * modules/strnlen1 (License): Likewise.
2677         Reported by Simon Josefsson.
2678
2679 2009-05-02  Bruno Haible  <bruno@clisp.org>
2680
2681         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
2682         "cross".
2683         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
2684         gnulib-tool was called with option --source-base=lib.
2685
2686 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2687
2688         Use automake *-local hooks without commands, for extensibility.
2689         * modules/localcharset (Makefile.am): Rename install-exec-local
2690         rule to install-exec-localcharset, and make it a prerequisite of
2691         install-exec-local.  Likewise, rename the uninstall-local rule to
2692         uninstall-localcharset, and make it a prerequisite of the former.
2693
2694 2009-05-01  Bruno Haible  <bruno@clisp.org>
2695
2696         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
2697         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
2698         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
2699         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
2700         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
2701         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
2702         m4/locale-zh.m4, m4/codeset.m4.
2703
2704         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
2705         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
2706         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
2707         m4/locale-zh.m4.
2708
2709         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
2710         REPLACE_WCRTOMB if mbstate_t must be replaced.
2711         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
2712         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
2713
2714 2009-05-01  Bruno Haible  <bruno@clisp.org>
2715
2716         Avoid compiler warnings when redefining macros defined by <libintl.h>.
2717         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
2718         dngettext, dcngettext, textdomain, bindtextdomain,
2719         bind_textdomain_codeset): Undefine before redefining.
2720
2721 2009-04-30  Bruno Haible  <bruno@clisp.org>
2722
2723         Fix bug introduced on 2009-04-25.
2724         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
2725         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
2726         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
2727         is defined.
2728         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
2729         is defined.
2730         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
2731         is defined.
2732         Reported by Elbert_Pol <elbert.pol@gmail.com>.
2733
2734 2009-04-28  Bruno Haible  <bruno@clisp.org>
2735
2736         Comment tweaks.
2737         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
2738         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
2739         * lib/unicase.h (u*_casexfrm): Likewise.
2740         Reported by Paolo Bonzini.
2741
2742 2009-04-28  Bruno Haible  <bruno@clisp.org>
2743
2744         Fix a compilation error.
2745         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
2746         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
2747         Reported by Jim Meyering.
2748
2749 2009-04-27  Bruno Haible  <bruno@clisp.org>
2750
2751         New module 'libunistring'.
2752         * modules/libunistring: New file.
2753         * m4/libunistring.m4: New file.
2754         * MODULES.html.sh (Unicode string functions): Add it.
2755
2756 2009-04-27  Eric Blake  <ebb9@byu.net>
2757
2758         maint.mk: allow package-specific header to provide <config.h>
2759         * top/maint.mk (sc_require_config_h): New variable.
2760         (sc_require_config_h, sc_require_config_h_first): Use it.
2761
2762 2009-04-27  Simon Josefsson  <simon@josefsson.org>
2763
2764         * top/maint.mk (sc_avoid_if_before_free): Except
2765         useless-if-before-free script.
2766
2767 2009-04-27  Eric Blake  <ebb9@byu.net>
2768
2769         maintainer-makefile: depend on all required helper scripts
2770         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
2771         useless-if-before-free.
2772         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
2773         version, rather than assuming gnulib checkout is available.
2774         Reported by Simen Josefsson.
2775
2776 2009-04-26  Bruno Haible  <bruno@clisp.org>
2777
2778         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
2779         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
2780         "../" or "..".
2781
2782 2009-04-26  Bruno Haible  <bruno@clisp.org>
2783
2784         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
2785         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
2786         AC_LIB_HAVE_LINKFLAGS.
2787
2788 2009-04-26  Bruno Haible  <bruno@clisp.org>
2789
2790         Simplify calling convention of u*_conv_from_encoding.
2791         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
2792         u32_conv_from_encoding): Expect a resultbuf argument and return the
2793         result directly as a pointer.
2794         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
2795         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
2796         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
2797         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
2798         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
2799         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
2800         Update.
2801         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
2802         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
2803         * lib/vasnprintf.c (VASNPRINTF): Update.
2804         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
2805         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
2806         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
2807         * NEWS: Mention the change.
2808
2809 2009-04-26  Bruno Haible  <bruno@clisp.org>
2810
2811         Simplify calling convention of u*_conv_to_encoding.
2812         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
2813         u32_conv_to_encoding): Expect a resultbuf argument and return the
2814         result directly as a pointer.
2815         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
2816         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
2817         freeing scaled_offsets if mem_iconveha failed.
2818         * lib/unicase/u-casexfrm.h (FUNC): Update.
2819         * lib/uninorm/u-normxfrm.h (FUNC): Update.
2820         * lib/vasnprintf.c (VASNPRINTF): Update.
2821         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
2822         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
2823         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
2824         * NEWS: Mention the change.
2825
2826 2009-04-26  Bruno Haible  <bruno@clisp.org>
2827
2828         Avoid test failures on AIX and OSF/1.
2829         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
2830         malloc(0).
2831         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
2832         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
2833         Likewise.
2834         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
2835         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
2836         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
2837         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
2838         * doc/posix-functions/malloc.texi: Document the portability problem
2839         related to malloc(0).
2840
2841 2009-04-26  Bruno Haible  <bruno@clisp.org>
2842
2843         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
2844         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
2845         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
2846
2847 2009-04-25  Bruno Haible  <bruno@clisp.org>
2848
2849         Avoid link error when creating a namespace clean library.
2850         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
2851         as macro with arguments if already defined as an alias.
2852         * lib/signbitf.c (gl_signbitf): Don't undefine.
2853         * lib/signbitd.c (gl_signbitd): Don't undefine.
2854         * lib/signbitl.c (gl_signbitl): Don't undefine.
2855
2856 2009-04-25  Jim Meyering  <meyering@redhat.com>
2857
2858         vc-list-files: fix another quoting bug
2859         * build-aux/vc-list-files: Avoid sed backslash expansion
2860         of pathological directory names.
2861
2862 2009-04-25  Eric Blake  <ebb9@byu.net>
2863
2864         vc-list-files: fix shell quoting error
2865         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
2866         timestamp.
2867
2868 2009-04-25  Jim Meyering  <meyering@redhat.com>
2869
2870         vc-list-files: restore lost functionality with subdir argument
2871         * build-aux/vc-list-files: When given a non-"." sub-directory
2872         argument, substitute the $dir/ prefix back onto each resulting name.
2873         Otherwise, coreutils' root_tests check would fail.
2874
2875 2009-04-24  Eric Blake  <ebb9@byu.net>
2876
2877         vc-list-files: ignore git symlinks
2878         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
2879         than ls-files, to ignore git symlinks.
2880
2881         maint.mk: import improvements from m4
2882         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
2883         (move_if_change): Delete unused macro.
2884         (news-date-check, vc-diff-check): Support VPATH builds.
2885         (announcement): Likewise.  Split --bootstrap-tools list...
2886         (boostrap-tools): ...into separate list, which can be overridden
2887         in cfg.mk.
2888         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
2889         requiring dependency on useless-if-before-free module.
2890         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
2891         Support VPATH builds.
2892
2893 2009-04-24  Jim Meyering  <meyering@redhat.com>
2894
2895         maint.mk: remove coreutils-specific rules and variables
2896         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
2897         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
2898         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
2899
2900         maint.mk: remove obsolete rule
2901         * top/maint.mk (rel-check): Remove rule.
2902         (WGET, WGETFLAGS): Remove now-unused variables.
2903
2904 2009-04-24  Simon Josefsson  <simon@josefsson.org>
2905
2906         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
2907         consistency.
2908
2909         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
2910         '$(PATH_SEPARATOR)' instead of ':'.
2911
2912 2009-04-24  Simon Josefsson  <simon@josefsson.org>
2913
2914         * lib/getopt1.c (main): Use 'const' for static array.
2915
2916 2009-04-24  Simon Josefsson  <simon@josefsson.org>
2917
2918         * top/maint.mk: Sync with coreutils.
2919         * NEWS: Explain incompatibilities.
2920
2921 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2922             Bruno Haible  <bruno@clisp.org>
2923
2924         Fix cross-compilation results.
2925         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
2926         statement, as third argument of AC_TRY_RUN.
2927         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
2928         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
2929         Likewise.
2930         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
2931         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
2932         Likewise.
2933         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
2934         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
2935         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
2936
2937 2009-04-20  Bruno Haible  <bruno@clisp.org>
2938
2939         Avoid test failure on mingw.
2940         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
2941
2942 2009-04-20  Bruno Haible  <bruno@clisp.org>
2943
2944         Avoid compilation error on mingw.
2945         * modules/localename-tests (Depends-on): Add locale.
2946
2947 2009-04-19  Bruno Haible  <bruno@clisp.org>
2948
2949         Support for building a shared library on Windows platforms.
2950         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
2951         (main): Test the presence of UNINORM_NFC here.
2952         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
2953         (main): Test the presence of UNINORM_NFD here.
2954         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
2955         (main): Test the presence of UNINORM_NFKC here.
2956         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
2957         (main): Test the presence of UNINORM_NFKD here.
2958
2959 2009-04-19  Bruno Haible  <bruno@clisp.org>
2960
2961         Avoid a compiler warning.
2962         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
2963         Change type of variable 'sequence'.
2964
2965 2009-04-19  Bruno Haible  <bruno@clisp.org>
2966
2967         * modules/configmake (Makefile.am): When the contents of configmake.h
2968         does not change, arrange to preserve its modification time.
2969
2970 2009-04-17  Simon Josefsson  <simon@josefsson.org>
2971
2972         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
2973         gettext domain.
2974
2975 2009-04-16  Jim Meyering  <meyering@redhat.com>
2976
2977         useless-if-before-free: improve conversion code
2978         * build-aux/useless-if-before-free: Adjust code-in-comment to match
2979         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
2980
2981 2009-04-14  Bruno Haible  <bruno@clisp.org>
2982
2983         * modules/fcntl (Depends-on): Add extensions.
2984         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
2985
2986 2009-04-12  Ben Pfaff  <blp@gnu.org>
2987
2988         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
2989         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
2990
2991 2009-03-20  Ben Pfaff  <blp@gnu.org>
2992
2993         Make rename replace existing destinations on Windows.
2994         * m4/rename.m4: Add test for Mingw.
2995         * lib/rename.c: Add rename replacement that uses MoveFileEx with
2996         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
2997         * doc/posix-functions/rename.texi: Document.
2998
2999 2009-04-10  Bruno Haible  <bruno@clisp.org>
3000
3001         New include file "iconveh.h".
3002         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
3003         * lib/striconveh.h: Include it.
3004         (enum iconv_ilseq_handler): Remove definition.
3005         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
3006         striconveh.h.
3007         * lib/striconveha.c: Include striconveh.h.
3008         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
3009         * modules/striconveh (Files): Add lib/iconveh.h.
3010         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
3011         lib/striconveh.h.
3012
3013 2009-04-10  Bruno Haible  <bruno@clisp.org>
3014
3015         * lib/uniconv.h: Update comment.
3016
3017 2009-04-10  Bruno Haible  <bruno@clisp.org>
3018
3019         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
3020         always.
3021         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
3022         * lib/unistr/u16-mbtouc-aux.c: Likewise.
3023         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
3024         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
3025         "unistring-notinline.h", so that the function gets defined always.
3026         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
3027         * lib/unistr/u8-uctomb.c: Likewise.
3028         * lib/unistr/u16-mbtouc.c: Likewise.
3029         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
3030         * lib/unistr/u16-uctomb.c: Likewise.
3031         * lib/unistr/u32-mbtouc.c: Likewise.
3032         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
3033         * lib/unistr/u32-uctomb.c: Likewise.
3034
3035 2009-04-10  Bruno Haible  <bruno@clisp.org>
3036
3037         Mark 'utime' obsolete.
3038         * modules/utime (Status, Notice): New sections.
3039         Suggested by Jim Meyering.
3040
3041         Fix cross-compile guess for utime test.
3042         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
3043         autoconf.
3044         * doc/posix-functions/utime.texi: Give more precisions.
3045         Reported by Jan <ipif@ymail.com>.
3046
3047 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
3048
3049         filevercmp: correct today's change
3050         * lib/filevercmp.c: Also handle coreutils' test inputs.
3051         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
3052
3053         Fix regression in 'filevercmp' module. Thanks Sven Joachim
3054         for reporting it.
3055         * lib/filevercmp.c: Special handle for "", "." and "..".
3056         * tests/test-filevercmp.c: Enlarge the set suite.
3057
3058 2009-04-07  Jim Meyering  <meyering@redhat.com>
3059
3060         useless-if-before-free: show how to remove braced useless free, too
3061         * build-aux/useless-if-before-free: still only in a comment, though.
3062
3063 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
3064
3065         maint.mk: import changes to syntax-check macros from coreutils
3066         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
3067         Use them in the relevant macros.
3068
3069 2009-04-06  Bruno Haible  <bruno@clisp.org>
3070
3071         Fix unportable use of bit-fields.
3072         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
3073         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
3074         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
3075
3076 2009-04-06  Bruno Haible  <bruno@clisp.org>
3077
3078         Avoid test failures on AIX and OSF/1.
3079         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
3080         that malloc(0) = NULL.
3081         * tests/unicase/test-u8-tolower.c (check): Likewise.
3082         * tests/unicase/test-u8-totitle.c (check): Likewise.
3083         * tests/unicase/test-u8-toupper.c (check): Likewise.
3084         * tests/unicase/test-u16-casefold.c (check): Likewise.
3085         * tests/unicase/test-u16-tolower.c (check): Likewise.
3086         * tests/unicase/test-u16-totitle.c (check): Likewise.
3087         * tests/unicase/test-u16-toupper.c (check): Likewise.
3088         * tests/unicase/test-u32-casefold.c (check): Likewise.
3089         * tests/unicase/test-u32-tolower.c (check): Likewise.
3090         * tests/unicase/test-u32-totitle.c (check): Likewise.
3091         * tests/unicase/test-u32-toupper.c (check): Likewise.
3092         * tests/uninorm/test-u8-nfc.c (check): Likewise.
3093         * tests/uninorm/test-u8-nfd.c (check): Likewise.
3094         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
3095         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
3096         * tests/uninorm/test-u16-nfc.c (check): Likewise.
3097         * tests/uninorm/test-u16-nfd.c (check): Likewise.
3098         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
3099         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
3100         * tests/uninorm/test-u32-nfc.c (check): Likewise.
3101         * tests/uninorm/test-u32-nfd.c (check): Likewise.
3102         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
3103         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
3104
3105 2009-04-05  Bruno Haible  <bruno@clisp.org>
3106
3107         Work around an autoconf limitation.
3108         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
3109         comment line if it would be longer than 3 KB.
3110
3111 2009-04-05  Bruno Haible  <bruno@clisp.org>
3112
3113         Avoid test failure with libiconv-1.13.
3114         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
3115         of the expected test results.
3116
3117 2009-04-05  Bruno Haible  <bruno@clisp.org>
3118
3119         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
3120         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
3121         that it should be installed.
3122
3123 2009-04-05  Bruno Haible  <bruno@clisp.org>
3124
3125         * gnulib-tool: New option --copy-file.
3126         (func_usage): Document it.
3127         (func_dest_tmpfilename): Moved out of func_import.
3128         (func_add_file, func_update_file): New functions, extracted from
3129         func_import.
3130         (func_import): Update.
3131
3132 2009-04-05  Karl Berry  <karl@gnu.org>
3133
3134         * README: prominently mention gnulib-tool.
3135         Rearrange sections so getting the code is near the top.
3136
3137 2009-04-05  Bruno Haible  <bruno@clisp.org>
3138
3139         * lib/unicase.h: Mention u*_cmp2.
3140         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
3141         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
3142         * lib/unicase/ulc-casecmp.c: Likewise.
3143         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
3144         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
3145         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
3146         unistr/u8-cmp.
3147         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
3148         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
3149         unistr/u16-cmp.
3150         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
3151         unistr/u32-cmp.
3152
3153         * lib/uninorm.h: Mention u*_cmp2.
3154         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
3155         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
3156         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
3157         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
3158         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
3159         unistr/u8-cmp.
3160         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
3161         unistr/u16-cmp.
3162         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
3163         unistr/u32-cmp.
3164
3165         New module 'unistr/u32-cmp2'.
3166         * lib/unistr/u32-cmp2.c: New file.
3167         * modules/unistr/u32-cmp2: New file.
3168
3169         New module 'unistr/u16-cmp2'.
3170         * lib/unistr/u16-cmp2.c: New file.
3171         * modules/unistr/u16-cmp2: New file.
3172
3173         New module 'unistr/u8-cmp2'.
3174         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
3175         * lib/unistr/u8-cmp2.c: New file.
3176         * lib/unistr/u-cmp2.h: New file.
3177         * modules/unistr/u8-cmp2: New file.
3178
3179 2009-04-05  Bruno Haible  <bruno@clisp.org>
3180
3181         * lib/unictype.h (uc_property_is_valid): New macro.
3182         * tests/unictype/test-pr_byname.c (main): Use it.
3183
3184         * lib/unistr.h: Doc fixes.
3185         * lib/uniconv.h: Doc fixes.
3186         * lib/unictype.h: Doc fixes.
3187
3188 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
3189
3190         Port coreutils 7.2 to Solaris 8.
3191
3192         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
3193         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
3194         for Solaris 8.  This is a bit of a hack, as it means it's the
3195         caller's responsibility to add -lnsl if needed, but most likely it
3196         won't be needed since only getaddrinfo uses this and getaddrinfo
3197         isn't needed on Solaris 8.
3198
3199         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
3200         problem to Solaris 8 encountered with coreutils 7.2, which
3201         resulted in a message "fnmatch.c:292: warning: passing argument 4
3202         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
3203         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
3204
3205 2009-04-03  Simon Josefsson  <simon@josefsson.org>
3206
3207         * m4/ld-version-script.m4: Add FIXME comment.
3208
3209 2009-04-02  Simon Josefsson  <simon@josefsson.org>
3210
3211         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
3212         SOVERSION variable.
3213
3214 2009-04-02  Bruno Haible  <bruno@clisp.org>
3215
3216         * Makefile (info, html, dvi, pdf): Combine the rules.
3217         Suggested by Jim Meyering.
3218
3219 2009-04-01  Bruno Haible  <bruno@clisp.org>
3220
3221         * Makefile (info, html, dvi, pdf): New targets.
3222         Reported by Reuben Thomas <rrt@sc3d.org>.
3223
3224 2009-04-01  Bruno Haible  <bruno@clisp.org>
3225
3226         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
3227         can be put into PATH.
3228         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
3229
3230 2009-04-01  Bruno Haible  <bruno@clisp.org>
3231
3232         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
3233
3234 2009-04-01  Bruno Haible  <bruno@clisp.org>
3235
3236         Rename module 'visibility'.
3237         * modules/lib-symbol-visibility: Renamed from modules/visibility.
3238         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
3239         * doc/gnulib.texi: Update.
3240         * MODULES.html.sh (Misc): Update.
3241         * NEWS: Mention the change.
3242
3243 2009-04-01  Simon Josefsson  <simon@josefsson.org>
3244
3245         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
3246         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
3247         Eric Blake <ebb9@byu.net> for review.
3248         * MODULES.html.sh: Add lib-msvc-compat.
3249         * doc/gnulib.texi: Link to new section.
3250         * m4/ld-output-def.m4: New file.
3251         * doc/ld-output-def.texi: New file.
3252
3253 2009-04-01  Simon Josefsson  <simon@josefsson.org>
3254
3255         Rename ld-version-script to lib-symbol-versions.  Suggested by
3256         Bruno Haible <bruno@clisp.org>.
3257         * modules/ld-version-script: Renamed to lib-symbol-versions.
3258         * doc/ld-version-script.texi: Fix module name.
3259         * MODULES.html.sh: Add lib-symbol-versions.
3260
3261 2009-03-31  Simon Josefsson  <simon@josefsson.org>
3262
3263         * modules/u64-tests: New file.
3264         * tests/test-u64.c: New file.
3265
3266 2009-03-04  Simon Josefsson  <simon@josefsson.org>
3267
3268         * MODULES.html.sh: Mention u64.
3269         * modules/u64: New module.
3270         * modules/crypto/sha512: Depend on u64 module instead of providing
3271         u64.h.
3272
3273 2009-03-27  Eric Blake  <ebb9@byu.net>
3274
3275         test-strerror: make debugging EAI_SYSTEM easier
3276         * modules/getaddrinfo-tests (Depends-on): Add strerror.
3277         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
3278         failure was EAI_SYSTEM.
3279
3280 2009-03-25  Bruno Haible  <bruno@clisp.org>
3281
3282         Fix a problem with --enable-relocatable on Solaris 7.
3283         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
3284         since 2008-02-24.
3285
3286 2009-03-25  Eric Blake  <ebb9@byu.net>
3287
3288         test-sockets: avoid gcc warning
3289         * tests/test-sockets.c (main): Silence compiler warning.
3290
3291 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
3292
3293         New modules nproc, pthread, contributed by Glen Lenker.
3294
3295         * MODULES.html.sh: Add pthread, nproc.
3296         * lib/nproc.c: New file.
3297         * lib/nproc.h: New file.
3298         * lib/pthread.in.h: New file.
3299         * m4/pthread.m4: New file.
3300         * modules/nproc: New file.
3301         * modules/pthread: New file.
3302
3303 2009-03-24  Simon Josefsson  <simon@josefsson.org>
3304
3305         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
3306         New variable.
3307
3308 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
3309
3310         filevercmp: handle simple~ and numbered.~3~ backup suffixes
3311         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
3312         * tests/test-filevercmp.c: Add tests for backup suffixes.
3313
3314 2009-03-24  Simon Josefsson  <simon@josefsson.org>
3315
3316         * modules/stdlib (Depends-on): Add stdint, needed when defining
3317         struct random_data on, for example, HP-UX 10.20.  Reported by
3318         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3319
3320 2009-03-24  Simon Josefsson  <simon@josefsson.org>
3321
3322         * lib/readline.c (readline): Call fflush on stdout after printing
3323         prompt.
3324
3325 2009-03-20  Bruno Haible  <bruno@clisp.org>
3326
3327         Remove dependency from 'close' module to -lws2_32 on native Windows.
3328         * lib/close-hook.h: New file.
3329         * lib/close-hook.c: New file.
3330         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
3331         w32sock.h.
3332         (_gl_close_fd_maybe_socket): Remove function.
3333         (rpl_close): Invoke execute_all_close_hooks instead of
3334         _gl_close_fd_maybe_socket.
3335         * lib/sockets.c: Include close-hook.h, w32sock.h.
3336         (close_fd_maybe_socket): New function, essentially from lib/close.c.
3337         (close_sockets_hook): New variable.
3338         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
3339         (gl_sockets_cleanup): Unregister it.
3340         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
3341         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
3342         * modules/close-hook: New file.
3343         * modules/close (Files): Remove lib/w32sock.h.
3344         (Depends-on): Add close-hook.
3345         (Link): Remove section.
3346         * modules/sockets (Files): Add lib/w32sock.h.
3347         (Depends-on): Add close-hook.
3348         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
3349         invocation.
3350         * NEWS: Mention that LIB_CLOSE is gone.
3351
3352 2009-03-23  Eric Blake  <ebb9@byu.net>
3353
3354         signal-tests: test previous patch
3355         * tests/test-signal.c: New file.
3356         * modules/signal-tests: Likewise.
3357
3358         signal.h: always support 'volatile sig_atomic_t'
3359         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
3360         (gl_SIGNAL_H_DEFAULTS): Add a default.
3361         * modules/signal (Makefile.am): Substitute if needed.
3362         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
3363         users can blindly add volatile.
3364         * doc/posix-headers/signal.texi (signal.h): Document it.
3365         Reported by Matthew Woehlke.
3366
3367 2009-03-23  Jim Meyering  <meyering@redhat.com>
3368
3369         pathmax: PATH_MAX: use pathconf only when available
3370         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
3371         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
3372         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
3373         This avoids a link failure in a PSP cross-compilation environment
3374         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
3375
3376         * lib/vasnprintf.c (divide): Fix typo in comment.
3377
3378 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3379
3380         * gnulib-tool (func_filter_filelist): Fix comment.
3381
3382 2009-03-20  Bruno Haible  <bruno@clisp.org>
3383
3384         Make sockets.h self-contained.
3385         * lib/sockets.c: Include sockets.h first.
3386         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
3387
3388 2009-03-19  Eric Blake  <ebb9@byu.net>
3389
3390         doc: mention more functions added in cygwin 1.7.0
3391         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
3392         addition.
3393         * doc/posix-functions/log2f.texi: Likewise.
3394
3395 2009-03-19  Jim Meyering  <meyering@redhat.com>
3396
3397         fsusage: avoid syntax error due to statement-before-declaration
3398         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
3399         after all declarations.  Reported by Matthew Woehlke in
3400         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
3401
3402 2009-03-18  Eric Blake  <ebb9@byu.net>
3403
3404         build-aux/compile: sync from automake
3405         * build-aux/compile: New file, from automake.
3406         * config/srclist.txt: Mention build-aux/compile.
3407
3408 2009-03-17  Bruno Haible  <bruno@clisp.org>
3409
3410         * lib/git-merge-changelog.c: Fix typo in comment.
3411         Reported by Reuben Thomas <rrt@sc3d.org>.
3412
3413 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
3414
3415         * m4/regex.m4: update and improve help for
3416         --without-included-regex.
3417
3418 2009-03-17  Simon Josefsson  <simon@josefsson.org>
3419
3420         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
3421         failure on missing include files.
3422
3423 2009-03-17  Eric Blake  <ebb9@byu.net>
3424
3425         doc: mention more functions added in cygwin 1.7.0
3426         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
3427         addition.
3428         * doc/posix-functions/fwscanf.texi: Likewise.
3429         * doc/posix-functions/swprintf.texi: Likewise.
3430         * doc/posix-functions/swscanf.texi: Likewise.
3431         * doc/posix-functions/vfwprintf.texi: Likewise.
3432         * doc/posix-functions/vfwscanf.texi: Likewise.
3433         * doc/posix-functions/vswprintf.texi: Likewise.
3434         * doc/posix-functions/vswscanf.texi: Likewise.
3435         * doc/posix-functions/vwprintf.texi: Likewise.
3436         * doc/posix-functions/vwscanf.texi: Likewise.
3437         * doc/posix-functions/wcscasecmp.texi: Likewise.
3438         * doc/posix-functions/wcsdup.texi: Likewise.
3439         * doc/posix-functions/wcsftime.texi: Likewise.
3440         * doc/posix-functions/wcsncasecmp.texi: Likewise.
3441         * doc/posix-functions/wprintf.texi: Likewise.
3442         * doc/posix-functions/wscanf.texi: Likewise.
3443         * doc/glibc-functions/gethostbyname2.texi: Likewise.
3444
3445 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3446
3447         maint.mk: really add $(AM_MAKEFLAGS)
3448         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
3449         was inadvertently omitted in the last commit.
3450         Spotted by Bruno Haible.
3451
3452         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
3453         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
3454         $(AM_MAKEFLAGS)' rather than plain `make'.
3455
3456         gnulib-tool: execute $MAKE not make
3457         * gnulib-tool: Default $MAKE to 'make'.
3458         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
3459         than make.  Initialize $MAKE in the do-autobuild script.
3460
3461         gnulib-tool: use $MAKE not make in generated files
3462         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
3463         make, in generated files.  Initialize $MAKE in the do-autobuild
3464         script.
3465
3466         * top/GNUmakefile (_have-git-version-gen): Fix typo.
3467
3468         GNUmakefile: disable parallelism only for multiple, recursive targets
3469         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
3470         additions in the Makefile.
3471         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
3472         by Automake.
3473         (.NOTPARALLEL): Only disable parallel builds if multiple targets
3474         are listed on the command line and at least one of them is
3475         listed in $(ALL_RECURSIVE_TARGETS).
3476
3477 2009-03-14  Bruno Haible  <bruno@clisp.org>
3478
3479         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
3480         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
3481         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
3482         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
3483         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
3484         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
3485         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
3486         unistr/u8-uctomb.
3487         * modules/unistr/u8-strchr (Depends-on): Likewise.
3488         * modules/unistr/u8-strrchr (Depends-on): Likewise.
3489         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
3490         unistr/u16-uctomb.
3491         * modules/unistr/u16-strchr (Depends-on): Likewise.
3492         * modules/unistr/u16-strrchr (Depends-on): Likewise.
3493
3494 2009-03-12  Bruno Haible  <bruno@clisp.org>
3495
3496         Work around select() bug on Interix 3.5.
3497         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
3498         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
3499         * m4/select.m4: New file.
3500         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
3501         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
3502         * modules/select (Files): Add m4/select.m4.
3503         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
3504         * modules/nanosleep (Depends-on): Add select.
3505         * modules/poll (Depends-on): Likewise.
3506         * doc/posix-functions/select.texi: Mention the Interix bug.
3507         Reported by Markus Duft <mduft@gentoo.org>.
3508
3509         * lib/select.c: Renamed from lib/winsock-select.c.
3510         * modules/select (Files): Add lib/select.c, remove
3511         lib/winsock-select.c.
3512         (configure.ac): Update.
3513
3514 2009-03-12  Jim Meyering  <meyering@redhat.com>
3515
3516         avoid gcc warnings about unused macro definitions
3517         * lib/readtokens.c (STREQ): Remove unused definition.
3518         * lib/xmalloc.c (SIZE_MAX): Likewise.
3519         * lib/openat-die.c (N_): Likewise.
3520         * lib/mountlist.c (SIZE_MAX): Remove definition.
3521         Instead, include <stdint.h>.
3522         * lib/readutmp.c: Likewise.
3523         * modules/readutmp (Depends-on): Add stdint.
3524         * modules/mountlist (Depends-on): Add stdint.
3525         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
3526
3527 2009-03-10  Bruno Haible  <bruno@clisp.org>
3528
3529         Tests for module 'mbmemcasecoll'.
3530         * modules/mbmemcasecoll-tests: New file.
3531         * tests/test-mbmemcasecoll1.sh: New file.
3532         * tests/test-mbmemcasecoll2.sh: New file.
3533         * tests/test-mbmemcasecoll3.sh: New file.
3534         * tests/test-mbmemcasecoll.c: New file.
3535
3536         New module 'mbmemcasecoll'.
3537         * lib/mbmemcasecoll.h: New file.
3538         * lib/mbmemcasecoll.c: New file.
3539         * modules/mbmemcasecoll: New file.
3540
3541         * tests/test-mbmemcasecmp.h: New file, extracted from
3542         tests/test-mbmemcasecmp.c.
3543         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
3544         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
3545         (main): Update.
3546         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
3547
3548 2009-03-09  Bruno Haible  <bruno@clisp.org>
3549
3550         Tests for module 'mbmemcasecmp'.
3551         * modules/mbmemcasecmp-tests: New file.
3552         * tests/test-mbmemcasecmp1.sh: New file.
3553         * tests/test-mbmemcasecmp2.sh: New file.
3554         * tests/test-mbmemcasecmp3.sh: New file.
3555         * tests/test-mbmemcasecmp.c: New file.
3556
3557         New module 'mbmemcasecmp'.
3558         * lib/mbmemcasecmp.h: New file.
3559         * lib/mbmemcasecmp.c: New file.
3560         * modules/mbmemcasecmp: New file.
3561
3562 2009-03-09  Bruno Haible  <bruno@clisp.org>
3563
3564         Tests for module 'unicase/ulc-casecoll'.
3565         * modules/unicase/ulc-casecoll-tests: New file.
3566         * tests/unicase/test-ulc-casecoll1.sh: New file.
3567         * tests/unicase/test-ulc-casecoll2.sh: New file.
3568         * tests/unicase/test-ulc-casecoll.c: New file.
3569
3570         New module 'unicase/ulc-casecoll'.
3571         * lib/unicase.h (ulc_casecoll): New declaration.
3572         * lib/unicase/ulc-casecoll.c: New file.
3573         * modules/unicase/ulc-casecoll: New file.
3574
3575         New module 'unicase/ulc-casexfrm'.
3576         * lib/unicase.h (ulc_casexfrm): New declaration.
3577         * lib/unicase/ulc-casexfrm.c: New file.
3578         * modules/unicase/ulc-casexfrm: New file.
3579
3580 2009-03-09  Bruno Haible  <bruno@clisp.org>
3581
3582         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
3583         invocations.
3584
3585         * m4/mbscasecmp.m4: Remove file.
3586         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
3587         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
3588
3589         * m4/mbscasestr.m4: Remove file.
3590         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
3591         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
3592
3593         * m4/mbschr.m4: Remove file.
3594         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
3595         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
3596
3597         * m4/mbscspn.m4: Remove file.
3598         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
3599         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
3600
3601         * m4/mbslen.m4: Remove file.
3602         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
3603         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
3604
3605         * m4/mbsncasecmp.m4: Remove file.
3606         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
3607         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
3608
3609         * m4/mbsnlen.m4: Remove file.
3610         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
3611         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
3612
3613         * m4/mbspbrk.m4: Remove file.
3614         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
3615         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
3616
3617         * m4/mbspcasecmp.m4: Remove file.
3618         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
3619         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
3620
3621         * m4/mbsrchr.m4: Remove file.
3622         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
3623         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
3624
3625         * m4/mbssep.m4: Remove file.
3626         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
3627         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
3628
3629         * m4/mbsspn.m4: Remove file.
3630         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
3631         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
3632
3633         * m4/mbsstr.m4: Remove file.
3634         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
3635         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
3636
3637         * m4/mbstok_r.m4: Remove file.
3638         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
3639         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
3640
3641         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
3642
3643         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
3644         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
3645
3646         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
3647
3648 2009-03-08  Bruno Haible  <bruno@clisp.org>
3649
3650         Tests for module 'unicase/ulc-casecmp'.
3651         * modules/unicase/ulc-casecmp-tests: New file.
3652         * tests/unicase/test-ulc-casecmp1.sh: New file.
3653         * tests/unicase/test-ulc-casecmp2.sh: New file.
3654         * tests/unicase/test-ulc-casecmp.c: New file.
3655
3656         New module 'unicase/ulc-casecmp'.
3657         * lib/unicase.h (ulc_casecmp): New declaration.
3658         * lib/unicase/ulc-casecmp.c: New file.
3659         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
3660         'const SRC_UNIT *'.
3661         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
3662         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
3663         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
3664         * modules/unicase/ulc-casecmp: New file.
3665
3666         Tests for module 'unicase/u32-is-cased'.
3667         * modules/unicase/u32-is-cased-tests: New file.
3668         * tests/unicase/test-u32-is-cased.c: New file.
3669
3670         Tests for module 'unicase/u16-is-cased'.
3671         * modules/unicase/u16-is-cased-tests: New file.
3672         * tests/unicase/test-u16-is-cased.c: New file.
3673
3674         Tests for module 'unicase/u8-is-cased'.
3675         * modules/unicase/u8-is-cased-tests: New file.
3676         * tests/unicase/test-u8-is-cased.c: New file.
3677         * tests/unicase/test-is-cased.h: New file.
3678
3679         New module 'unicase/u32-is-cased'.
3680         * lib/unicase/u32-is-cased.c: New file.
3681         * modules/unicase/u32-is-cased: New file.
3682
3683         New module 'unicase/u16-is-cased'.
3684         * lib/unicase/u16-is-cased.c: New file.
3685         * modules/unicase/u16-is-cased: New file.
3686
3687         New module 'unicase/u8-is-cased'.
3688         * lib/unicase/u8-is-cased.c: New file.
3689         * lib/unicase/u-is-cased.h: New file.
3690         * modules/unicase/u8-is-cased: New file.
3691
3692         Tests for module 'unicase/u32-is-casefolded'.
3693         * modules/unicase/u32-is-casefolded-tests: New file.
3694         * tests/unicase/test-u32-is-casefolded.c: New file.
3695
3696         Tests for module 'unicase/u16-is-casefolded'.
3697         * modules/unicase/u16-is-casefolded-tests: New file.
3698         * tests/unicase/test-u16-is-casefolded.c: New file.
3699
3700         Tests for module 'unicase/u8-is-casefolded'.
3701         * modules/unicase/u8-is-casefolded-tests: New file.
3702         * tests/unicase/test-u8-is-casefolded.c: New file.
3703         * tests/unicase/test-is-casefolded.h: New file.
3704
3705         New module 'unicase/u32-is-casefolded'.
3706         * lib/unicase/u32-is-casefolded.c: New file.
3707         * modules/unicase/u32-is-casefolded: New file.
3708
3709         New module 'unicase/u16-is-casefolded'.
3710         * lib/unicase/u16-is-casefolded.c: New file.
3711         * modules/unicase/u16-is-casefolded: New file.
3712
3713         New module 'unicase/u8-is-casefolded'.
3714         * lib/unicase/u8-is-casefolded.c: New file.
3715         * modules/unicase/u8-is-casefolded: New file.
3716
3717         Tests for module 'unicase/u32-is-titlecase'.
3718         * modules/unicase/u32-is-titlecase-tests: New file.
3719         * tests/unicase/test-u32-is-titlecase.c: New file.
3720
3721         Tests for module 'unicase/u16-is-titlecase'.
3722         * modules/unicase/u16-is-titlecase-tests: New file.
3723         * tests/unicase/test-u16-is-titlecase.c: New file.
3724
3725         Tests for module 'unicase/u8-is-titlecase'.
3726         * modules/unicase/u8-is-titlecase-tests: New file.
3727         * tests/unicase/test-u8-is-titlecase.c: New file.
3728         * tests/unicase/test-is-titlecase.h: New file.
3729
3730         New module 'unicase/u32-is-titlecase'.
3731         * lib/unicase/u32-is-titlecase.c: New file.
3732         * modules/unicase/u32-is-titlecase: New file.
3733
3734         New module 'unicase/u16-is-titlecase'.
3735         * lib/unicase/u16-is-titlecase.c: New file.
3736         * modules/unicase/u16-is-titlecase: New file.
3737
3738         New module 'unicase/u8-is-titlecase'.
3739         * lib/unicase/u8-is-titlecase.c: New file.
3740         * modules/unicase/u8-is-titlecase: New file.
3741
3742         Tests for module 'unicase/u32-is-lowercase'.
3743         * modules/unicase/u32-is-lowercase-tests: New file.
3744         * tests/unicase/test-u32-is-lowercase.c: New file.
3745
3746         Tests for module 'unicase/u16-is-lowercase'.
3747         * modules/unicase/u16-is-lowercase-tests: New file.
3748         * tests/unicase/test-u16-is-lowercase.c: New file.
3749
3750         Tests for module 'unicase/u8-is-lowercase'.
3751         * modules/unicase/u8-is-lowercase-tests: New file.
3752         * tests/unicase/test-u8-is-lowercase.c: New file.
3753         * tests/unicase/test-is-lowercase.h: New file.
3754
3755         New module 'unicase/u32-is-lowercase'.
3756         * lib/unicase/u32-is-lowercase.c: New file.
3757         * modules/unicase/u32-is-lowercase: New file.
3758
3759         New module 'unicase/u16-is-lowercase'.
3760         * lib/unicase/u16-is-lowercase.c: New file.
3761         * modules/unicase/u16-is-lowercase: New file.
3762
3763         New module 'unicase/u8-is-lowercase'.
3764         * lib/unicase/u8-is-lowercase.c: New file.
3765         * modules/unicase/u8-is-lowercase: New file.
3766
3767         Tests for module 'unicase/u32-is-uppercase'.
3768         * modules/unicase/u32-is-uppercase-tests: New file.
3769         * tests/unicase/test-u32-is-uppercase.c: New file.
3770
3771         Tests for module 'unicase/u16-is-uppercase'.
3772         * modules/unicase/u16-is-uppercase-tests: New file.
3773         * tests/unicase/test-u16-is-uppercase.c: New file.
3774
3775         Tests for module 'unicase/u8-is-uppercase'.
3776         * modules/unicase/u8-is-uppercase-tests: New file.
3777         * tests/unicase/test-u8-is-uppercase.c: New file.
3778         * tests/unicase/test-is-uppercase.h: New file.
3779
3780         New module 'unicase/u32-is-uppercase'.
3781         * lib/unicase/u32-is-uppercase.c: New file.
3782         * modules/unicase/u32-is-uppercase: New file.
3783
3784         New module 'unicase/u16-is-uppercase'.
3785         * lib/unicase/u16-is-uppercase.c: New file.
3786         * modules/unicase/u16-is-uppercase: New file.
3787
3788         New module 'unicase/u8-is-uppercase'.
3789         * lib/unicase/u8-is-uppercase.c: New file.
3790         * modules/unicase/u8-is-uppercase: New file.
3791
3792         New module 'unicase/u32-is-invariant'.
3793         * lib/unicase/u32-is-invariant.c: New file.
3794         * modules/unicase/u32-is-invariant: New file.
3795
3796         New module 'unicase/u16-is-invariant'.
3797         * lib/unicase/u16-is-invariant.c: New file.
3798         * modules/unicase/u16-is-invariant: New file.
3799
3800         New module 'unicase/u8-is-invariant'.
3801         * lib/unicase/u8-is-invariant.c: New file.
3802         * lib/unicase/invariant.h: New file.
3803         * lib/unicase/u-is-invariant.h: New file.
3804         * modules/unicase/u8-is-invariant: New file.
3805
3806         Tests for module 'unicase/u32-casecoll'.
3807         * modules/unicase/u32-casecoll-tests: New file.
3808         * tests/unicase/test-u32-casecoll.c: New file.
3809
3810         Tests for module 'unicase/u16-casecoll'.
3811         * modules/unicase/u16-casecoll-tests: New file.
3812         * tests/unicase/test-u16-casecoll.c: New file.
3813
3814         Tests for module 'unicase/u8-casecoll'.
3815         * modules/unicase/u8-casecoll-tests: New file.
3816         * tests/unicase/test-u8-casecoll.c: New file.
3817
3818         New module 'unicase/u32-casecoll'.
3819         * lib/unicase/u32-casecoll.c: New file.
3820         * modules/unicase/u32-casecoll: New file.
3821
3822         New module 'unicase/u16-casecoll'.
3823         * lib/unicase/u16-casecoll.c: New file.
3824         * modules/unicase/u16-casecoll: New file.
3825
3826         New module 'unicase/u8-casecoll'.
3827         * lib/unicase/u8-casecoll.c: New file.
3828         * lib/unicase/u-casecoll.h: New file.
3829         * modules/unicase/u8-casecoll: New file.
3830
3831         New module 'unicase/u32-casexfrm'.
3832         * lib/unicase/u32-casexfrm.c: New file.
3833         * modules/unicase/u32-casexfrm: New file.
3834
3835         New module 'unicase/u16-casexfrm'.
3836         * lib/unicase/u16-casexfrm.c: New file.
3837         * modules/unicase/u16-casexfrm: New file.
3838
3839         New module 'unicase/u8-casexfrm'.
3840         * lib/unicase/u8-casexfrm.c: New file.
3841         * lib/unicase/u-casexfrm.h: New file.
3842         * modules/unicase/u8-casexfrm: New file.
3843
3844         Tests for module 'unicase/u32-casecmp'.
3845         * modules/unicase/u32-casecmp-tests: New file.
3846         * tests/unicase/test-u32-casecmp.c: New file.
3847
3848         Tests for module 'unicase/u16-casecmp'.
3849         * modules/unicase/u16-casecmp-tests: New file.
3850         * tests/unicase/test-u16-casecmp.c: New file.
3851
3852         Tests for module 'unicase/u8-casecmp'.
3853         * modules/unicase/u8-casecmp-tests: New file.
3854         * tests/unicase/test-u8-casecmp.c: New file.
3855         * tests/unicase/test-casecmp.h: New file.
3856
3857         New module 'unicase/u32-casecmp'.
3858         * lib/unicase/u32-casecmp.c: New file.
3859         * modules/unicase/u32-casecmp: New file.
3860
3861         New module 'unicase/u16-casecmp'.
3862         * lib/unicase/u16-casecmp.c: New file.
3863         * modules/unicase/u16-casecmp: New file.
3864
3865         New module 'unicase/u8-casecmp'.
3866         * lib/unicase/u8-casecmp.c: New file.
3867         * lib/unicase/u-casecmp.h: New file.
3868         * modules/unicase/u8-casecmp: New file.
3869
3870         Tests for module 'unicase/u32-casefold'.
3871         * modules/unicase/u32-casefold-tests: New file.
3872         * tests/unicase/test-u32-casefold.c: New file.
3873
3874         Tests for module 'unicase/u16-casefold'.
3875         * modules/unicase/u16-casefold-tests: New file.
3876         * tests/unicase/test-u16-casefold.c: New file.
3877
3878         Tests for module 'unicase/u8-casefold'.
3879         * modules/unicase/u8-casefold-tests: New file.
3880         * tests/unicase/test-u8-casefold.c: New file.
3881
3882         New module 'unicase/u32-casefold'.
3883         * lib/unicase/u32-casefold.c: New file.
3884         * modules/unicase/u32-casefold: New file.
3885
3886         New module 'unicase/u16-casefold'.
3887         * lib/unicase/u16-casefold.c: New file.
3888         * modules/unicase/u16-casefold: New file.
3889
3890         New module 'unicase/u8-casefold'.
3891         * lib/unicase/u8-casefold.c: New file.
3892         * lib/unicase/u-casefold.h: New file.
3893         * modules/unicase/u8-casefold: New file.
3894
3895         New module 'unicase/tocasefold'.
3896         * lib/unicase/casefold.h: New file.
3897         * lib/unicase/tocasefold.c: New file.
3898         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
3899         * modules/unicase/tocasefold: New file.
3900
3901         Tests for module 'unicase/u32-totitle'.
3902         * modules/unicase/u32-totitle-tests: New file.
3903         * tests/unicase/test-u32-totitle.c: New file.
3904
3905         Tests for module 'unicase/u16-totitle'.
3906         * modules/unicase/u16-totitle-tests: New file.
3907         * tests/unicase/test-u16-totitle.c: New file.
3908
3909         Tests for module 'unicase/u8-totitle'.
3910         * modules/unicase/u8-totitle-tests: New file.
3911         * tests/unicase/test-u8-totitle.c: New file.
3912
3913         New module 'unicase/u32-totitle'.
3914         * lib/unicase/u32-totitle.c: New file.
3915         * modules/unicase/u32-totitle: New file.
3916
3917         New module 'unicase/u16-totitle'.
3918         * lib/unicase/u16-totitle.c: New file.
3919         * modules/unicase/u16-totitle: New file.
3920
3921         New module 'unicase/u8-totitle'.
3922         * lib/unicase/u8-totitle.c: New file.
3923         * lib/unicase/u-totitle.h: New file.
3924         * modules/unicase/u8-totitle: New file.
3925
3926         Tests for module 'unicase/u32-tolower'.
3927         * modules/unicase/u32-tolower-tests: New file.
3928         * tests/unicase/test-u32-tolower.c: New file.
3929
3930         Tests for module 'unicase/u16-tolower'.
3931         * modules/unicase/u16-tolower-tests: New file.
3932         * tests/unicase/test-u16-tolower.c: New file.
3933
3934         Tests for module 'unicase/u8-tolower'.
3935         * modules/unicase/u8-tolower-tests: New file.
3936         * tests/unicase/test-u8-tolower.c: New file.
3937
3938         New module 'unicase/u32-tolower'.
3939         * lib/unicase/u32-tolower.c: New file.
3940         * modules/unicase/u32-tolower: New file.
3941
3942         New module 'unicase/u16-tolower'.
3943         * lib/unicase/u16-tolower.c: New file.
3944         * modules/unicase/u16-tolower: New file.
3945
3946         New module 'unicase/u8-tolower'.
3947         * lib/unicase/u8-tolower.c: New file.
3948         * modules/unicase/u8-tolower: New file.
3949
3950         Tests for module 'unicase/u32-toupper'.
3951         * modules/unicase/u32-toupper-tests: New file.
3952         * tests/unicase/test-u32-toupper.c: New file.
3953
3954         Tests for module 'unicase/u16-toupper'.
3955         * modules/unicase/u16-toupper-tests: New file.
3956         * tests/unicase/test-u16-toupper.c: New file.
3957
3958         Tests for module 'unicase/u8-toupper'.
3959         * modules/unicase/u8-toupper-tests: New file.
3960         * tests/unicase/test-u8-toupper.c: New file.
3961
3962         New module 'unicase/u32-toupper'.
3963         * lib/unicase/u32-toupper.c: New file.
3964         * modules/unicase/u32-toupper: New file.
3965
3966         New module 'unicase/u16-toupper'.
3967         * lib/unicase/u16-toupper.c: New file.
3968         * modules/unicase/u16-toupper: New file.
3969
3970         New module 'unicase/u8-toupper'.
3971         * lib/unicase/u8-toupper.c: New file.
3972         * modules/unicase/u8-toupper: New file.
3973
3974         New module 'unicase/u32-casemap'.
3975         * lib/unicase/u32-casemap.c: New file.
3976         * modules/unicase/u32-casemap: New file.
3977
3978         New module 'unicase/u16-casemap'.
3979         * lib/unicase/u16-casemap.c: New file.
3980         * modules/unicase/u16-casemap: New file.
3981
3982         New module 'unicase/u8-casemap'.
3983         * lib/unicase/unicasemap.h: New file.
3984         * lib/unicase/u8-casemap.c: New file.
3985         * lib/unicase/u-casemap.h: New file.
3986         * modules/unicase/u8-casemap: New file.
3987
3988         New module 'unicase/special-casing'.
3989         * lib/unicase/special-casing.h: New file.
3990         * lib/unicase/special-casing.c: New file.
3991         * lib/unicase/special-casing-table.gperf: New file, generated by
3992         gen-uni-tables.c.
3993         * modules/unicase/special-casing: New file.
3994
3995         Tests for module 'unicase/locale-language'.
3996         * modules/unicase/locale-language-tests: New file.
3997         * tests/unicase/test-locale-language.sh: New file.
3998         * tests/unicase/test-locale-language.c: New file.
3999
4000         New module 'unicase/locale-language'.
4001         * lib/unicase/locale-language.c: New file.
4002         * lib/unicase/locale-languages.gperf: New file.
4003         * modules/unicase/locale-language: New file.
4004
4005         Generate more tables for case conversion and case folding.
4006         * lib/gen-uni-tables.c (SCC_*): New enum items.
4007         (struct special_casing_rule): New type.
4008         (casing_rules, num_casing_rules, allocated_casing_rules): New
4009         variables.
4010         (add_casing_rule, fill_casing_rules): New functions.
4011         (struct casefold_rule): New type.
4012         (casefolding_rules, num_casefolding_rules,
4013         allocated_casefolding_rules): New variables.
4014         (fill_casefolding_rules): New function.
4015         (unicode_casefold): New variable.
4016         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
4017         sort_casing_rules, output_casing_rules): New functions.
4018         (main): Accept to more arguments: SpecialCasing.txt and
4019         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
4020         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
4021         Output mapping for casefolding.
4022
4023         * lib/unicase.h: Include stdbool.h, uninorm.h.
4024         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
4025         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
4026         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
4027         arguments.
4028         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
4029         resultp arguments.
4030         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
4031         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
4032         resultp arguments.
4033         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
4034         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
4035         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
4036         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
4037         declarations.
4038         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
4039
4040 2009-03-08  Bruno Haible  <bruno@clisp.org>
4041
4042         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
4043         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
4044         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
4045         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
4046
4047 2009-03-07  Bruno Haible  <bruno@clisp.org>
4048
4049         Adjust u*_normcmp, u*_normcoll API.
4050         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
4051         u16_normcoll, u32_normcoll): Change failure conventions.
4052         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
4053         errno and return -1.
4054         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
4055
4056 2009-03-07  Bruno Haible  <bruno@clisp.org>
4057
4058         Tests for module 'uninorm/u32-normcoll'.
4059         * modules/uninorm/u32-normcoll-tests: New file.
4060         * tests/uninorm/test-u32-normcoll.c: New file.
4061
4062         Tests for module 'uninorm/u16-normcoll'.
4063         * modules/uninorm/u16-normcoll-tests: New file.
4064         * tests/uninorm/test-u16-normcoll.c: New file.
4065
4066         Tests for module 'uninorm/u8-normcoll'.
4067         * modules/uninorm/u8-normcoll-tests: New file.
4068         * tests/uninorm/test-u8-normcoll.c: New file.
4069
4070 2009-03-07  Bruno Haible  <bruno@clisp.org>
4071
4072         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
4073         tests/uninorm/test-u32-normcmp.c.
4074         * tests/uninorm/test-u32-normcmp.c: Include it.
4075         (test_nonascii): New function, extracted from main. Add some more
4076         tests.
4077         (main): Invoke test_ascii and test_nonascii.
4078         * modules/uninorm/u32-normcmp-tests (Files): Add
4079         tests/uninorm/test-u32-normcmp.h.
4080         (Depends-on): Remove uninorm/u32-normcmp.
4081
4082         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
4083         tests/uninorm/test-u16-normcmp.c.
4084         * tests/uninorm/test-u16-normcmp.c: Include it.
4085         (test_nonascii): New function, extracted from main. Add some more
4086         tests.
4087         (main): Invoke test_ascii and test_nonascii.
4088         * modules/uninorm/u16-normcmp-tests (Files): Add
4089         tests/uninorm/test-u16-normcmp.h.
4090         (Depends-on): Remove uninorm/u16-normcmp.
4091
4092         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
4093         tests/uninorm/test-u8-normcmp.c.
4094         * tests/uninorm/test-u8-normcmp.c: Include it.
4095         (test_nonascii): New function, extracted from main. Add some more
4096         tests.
4097         (main): Invoke test_ascii and test_nonascii.
4098         * modules/uninorm/u8-normcmp-tests (Files): Add
4099         tests/uninorm/test-u8-normcmp.h.
4100         (Depends-on): Remove uninorm/u8-normcmp.
4101
4102 2009-03-07  Bruno Haible  <bruno@clisp.org>
4103
4104         New module 'uninorm/u32-normcoll'.
4105         * lib/uninorm/u32-normcoll.c: New file.
4106         * modules/uninorm/u32-normcoll: New file.
4107
4108         New module 'uninorm/u16-normcoll'.
4109         * lib/uninorm/u16-normcoll.c: New file.
4110         * modules/uninorm/u16-normcoll: New file.
4111
4112         New module 'uninorm/u8-normcoll'.
4113         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
4114         declarations.
4115         * lib/uninorm/u8-normcoll.c: New file.
4116         * lib/uninorm/u-normcoll.h: New file.
4117         * modules/uninorm/u8-normcoll: New file.
4118
4119         New module 'uninorm/u32-normxfrm'.
4120         * lib/uninorm/u32-normxfrm.c: New file.
4121         * modules/uninorm/u32-normxfrm: New file.
4122
4123         New module 'uninorm/u16-normxfrm'.
4124         * lib/uninorm/u16-normxfrm.c: New file.
4125         * modules/uninorm/u16-normxfrm: New file.
4126
4127         New module 'uninorm/u8-normxfrm'.
4128         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
4129         declarations.
4130         * lib/uninorm/u8-normxfrm.c: New file.
4131         * lib/uninorm/u-normxfrm.h: New file.
4132         * modules/uninorm/u8-normxfrm: New file.
4133
4134 2009-03-07  Bruno Haible  <bruno@clisp.org>
4135
4136         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
4137         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
4138         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
4139
4140 2009-03-07  Bruno Haible  <bruno@clisp.org>
4141
4142         New module 'memxfrm'.
4143         * lib/memxfrm.h: New file.
4144         * lib/memxfrm.c: New file.
4145         * modules/memxfrm: New file.
4146
4147 2009-03-07  Bruno Haible  <bruno@clisp.org>
4148
4149         New module 'memcmp2'.
4150         * lib/memcmp2.h: New file.
4151         * lib/memcmp2.c: New file.
4152         * modules/memcmp2: New file.
4153
4154 2009-03-07  Bruno Haible  <bruno@clisp.org>
4155
4156         Tests for module 'uninorm/decomposing-form'.
4157         * modules/uninorm/decomposing-form-tests: New file.
4158         * tests/uninorm/test-decomposing-form.c: New file.
4159
4160         New module 'uninorm/decomposing-form'.
4161         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
4162         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
4163         Add 'decomposing_variant' field.
4164         * lib/uninorm/decomposing-form.c: New file.
4165         * lib/uninorm/nfc.c (uninorm_nfc): Update.
4166         * lib/uninorm/nfd.c (uninorm_nfd): Update.
4167         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
4168         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
4169         * modules/uninorm/decomposing-form: New file.
4170         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
4171         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
4172
4173 2009-03-07  Bruno Haible  <bruno@clisp.org>
4174
4175         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
4176         strings.
4177
4178 2009-03-06  Bruno Haible  <bruno@clisp.org>
4179
4180         Tests for module 'uninorm/u32-normcmp'.
4181         * tests/uninorm/test-u32-normcmp.c: New file.
4182         * modules/uninorm/u32-normcmp-tests: New file.
4183
4184         Tests for module 'uninorm/u16-normcmp'.
4185         * tests/uninorm/test-u16-normcmp.c: New file.
4186         * modules/uninorm/u16-normcmp-tests: New file.
4187
4188         Tests for module 'uninorm/u8-normcmp'.
4189         * tests/uninorm/test-u8-normcmp.c: New file.
4190         * modules/uninorm/u8-normcmp-tests: New file.
4191
4192         New module 'uninorm/u32-normcmp'.
4193         * lib/uninorm/u32-normcmp.c: New file.
4194         * modules/uninorm/u32-normcmp: New file.
4195
4196         New module 'uninorm/u16-normcmp'.
4197         * lib/uninorm/u16-normcmp.c: New file.
4198         * modules/uninorm/u16-normcmp: New file.
4199
4200         New module 'uninorm/u8-normcmp'.
4201         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
4202         declarations.
4203         * lib/uninorm/u8-normcmp.c: New file.
4204         * lib/uninorm/u-normcmp.h: New file.
4205         * modules/uninorm/u8-normcmp: New file.
4206
4207 2009-03-06  Bruno Haible  <bruno@clisp.org>
4208
4209         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
4210         Reported by Eric Blake.
4211
4212 2009-03-06  Eric Blake  <ebb9@byu.net>
4213             Bruno Haible  <bruno@clisp.org>
4214
4215         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
4216         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
4217         condition.
4218         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
4219         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
4220         condition.
4221         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
4222
4223 2009-03-06  Eric Blake  <ebb9@byu.net>
4224
4225         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
4226         to avoid compiler warnings.
4227         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
4228
4229 2009-03-05  Bruno Haible  <bruno@clisp.org>
4230
4231         * tests/test-ftell.c (main): Disable test beyond end of file on
4232         FreeMiNT.
4233         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
4234
4235 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
4236
4237         * lib/filevercmp.c: Move hidden files up in ordering.
4238         * tests/test-filevercmp.c: Add tests for hidden files.
4239
4240 2009-03-04  Bruno Haible  <bruno@clisp.org>
4241
4242         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
4243         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
4244         AM_CFLAGS.
4245         Reported by Simon Josefsson.
4246
4247 2009-03-03  Bruno Haible  <bruno@clisp.org>
4248
4249         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
4250         Reported by Simon Josefsson.
4251
4252         * doc/ld-version-script.texi: Update node reference.
4253
4254 2009-03-03  Bruno Haible  <bruno@clisp.org>
4255
4256         * modules/visibility (License): Change to 'unlimited'.
4257         Suggested by Simon Josefsson.
4258
4259 2009-03-03  Jim Meyering  <meyering@redhat.com>
4260
4261         unlinkdir: cannot_unlink_dir may modify process state
4262         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
4263         it's neither thread-safe nor appropriate for use in a library.
4264
4265 2009-03-03  Eric Blake  <ebb9@byu.net>
4266
4267         test-closein: silence test under Darwin
4268         * tests/test-closein.sh: Ignore stderr from cat, since we don't
4269         care if it dies from EPIPE or EBADF.
4270
4271 2009-03-03  Bruno Haible  <bruno@clisp.org>
4272
4273         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
4274         earlier.
4275         * doc/visibility.texi: Fix @node and @section.
4276
4277 2009-03-03  Simon Josefsson  <simon@josefsson.org>
4278
4279         * doc/gnulib.texi: Link to sections for ld version script and
4280         visibility.
4281         * doc/visibility.texi: Add @node and @section.
4282         * modules/ld-version-script: New module.
4283         * m4/ld-version-script.m4: New file.
4284         * doc/ld-version-script.texi: New file.
4285
4286 2009-03-02  David Lutterkort  <lutter@redhat.com>
4287
4288         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
4289         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4290
4291 2009-03-02  Bruno Haible  <bruno@clisp.org>
4292
4293         * doc/visibility.texi: Mention libtool's -export-symbols option.
4294
4295 2009-03-02  Jim Meyering  <meyering@redhat.com>
4296
4297         announce-gen: new option: --no-print-checksums
4298         * build-aux/announce-gen (usage): Describe it.
4299         (print_checksums): Print a newline here, not in the [*] footnote.
4300         (main): Honor it.
4301
4302 2009-03-01  Bruno Haible  <bruno@clisp.org>
4303
4304         Use socklen_t in the native Windows replacements prototypes.
4305         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
4306         instead of 'int'.
4307         * lib/getsockopt.c (rpl_getsockopt): Likewise.
4308         * lib/setsockopt.c (rpl_setsockopt): Likewise.
4309         * modules/getsockopt (Depends-on): Add socklen.
4310         * modules/setsockopt (Depends-on): Add socklen.
4311
4312 2009-03-01  Bruno Haible  <bruno@clisp.org>
4313
4314         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
4315         least 4.2.
4316
4317 2009-03-01  Eric Blake  <ebb9@byu.net>
4318             Bruno Haible  <bruno@clisp.org>
4319
4320         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
4321         error messages.
4322         * lib/wait-process.c (wait_subprocess): Omit error message about
4323         deadly signal sent to the child of termsigp != NULL.
4324
4325 2009-03-01  Eric Blake  <ebb9@byu.net>
4326
4327         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
4328
4329 2009-03-01  Bruno Haible  <bruno@clisp.org>
4330
4331         Avoid a gcc warning.
4332         * tests/test-sched.c (b): Make global.
4333         Reported by Eric Blake.
4334
4335 2009-01-19  Martin Lambers  <marlam@marlam.de>
4336
4337         Provide POSIX semantics for socket timeout options on W32.
4338         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
4339         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
4340         * modules/setsockopt: Depend on sys_time module for struct timeval.
4341         * modules/getsockopt: Depend on sys_time module for struct timeval.
4342
4343 2009-03-01  Simon Josefsson  <simon@josefsson.org>
4344
4345         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
4346         __USE_GNU, for consistency with netdb.in.h.
4347         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
4348
4349 2009-03-01  Bruno Haible  <bruno@clisp.org>
4350
4351         More support for FreeMiNT.
4352         * lib/fseeko.c (rpl_fseeko): Complete last commit.
4353         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
4354
4355 2009-03-01  Bruno Haible  <bruno@clisp.org>
4356
4357         More support for FreeMiNT.
4358         * lib/fpurge.c (fpurge): Correct last commit.
4359         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
4360
4361 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4362
4363         Fix unportable awk script in vc-list-files.
4364         * build-aux/vc-list-files: In the replacement awk script, use
4365         substr with a second argument of 1, not zero.
4366         Report by Simon Josefsson.
4367
4368 2009-02-28  Bruno Haible  <bruno@clisp.org>
4369
4370         More support for FreeMiNT.
4371         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
4372         to FreeMiNT today.
4373         * lib/fwriting.c (fwriting): Likewise.
4374         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
4375
4376 2009-02-28  Bruno Haible  <bruno@clisp.org>
4377
4378         * tests/test-freadseek.c (main): Disable test beyond end of file on
4379         FreeMiNT.
4380         * tests/test-ftello.c (main): Likewise.
4381         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
4382
4383 2009-02-28  Bruno Haible  <bruno@clisp.org>
4384
4385         Add tentative support for FreeMiNT.
4386         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
4387         * lib/fpurge.c (fpurge): Likewise.
4388         * lib/freadable.c (freadable): Likewise.
4389         * lib/freading.c (freading): Likewise.
4390         * lib/freadptr.c (freadptr): Likewise.
4391         * lib/freadseek.c (freadptrinc): Likewise.
4392         * lib/fseeko.c (rpl_fseeko): Likewise.
4393         * lib/fseterr.c (fseterr): Likewise.
4394         * lib/fwritable.c (fwritable): Likewise.
4395         * lib/fwriting.c (fwriting): Likewise.
4396         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
4397         Hourihane.
4398         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
4399
4400 2009-02-28  Bruno Haible  <bruno@clisp.org>
4401
4402         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
4403         SIGCHLD.
4404         Reported by Jim Meyering.
4405
4406 2009-02-28  Bruno Haible  <bruno@clisp.org>
4407
4408         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
4409         Mention the results of these tests on various platforms.
4410         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
4411         order.
4412         * doc/posix-functions/printf.texi: Likewise.
4413         * doc/posix-functions/snprintf.texi: Likewise.
4414         * doc/posix-functions/sprintf.texi: Likewise.
4415         * doc/posix-functions/vfprintf.texi: Likewise.
4416         * doc/posix-functions/vprintf.texi: Likewise.
4417         * doc/posix-functions/vsnprintf.texi: Likewise.
4418         * doc/posix-functions/vsprintf.texi: Likewise.
4419         * doc/glibc-functions/obstack_printf.texi: Likewise.
4420         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
4421
4422 2009-02-28  Bruno Haible  <bruno@clisp.org>
4423
4424         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
4425         Reported by Loïc Minier <lool@dooz.org>.
4426
4427 2009-02-27  Bruno Haible  <bruno@clisp.org>
4428
4429         * gnulib-tool (func_import): Make the sed expression used to create the
4430         sed script for updating the .gitignore file POSIX compliant.
4431         Reported by Eric Blake.
4432
4433 2009-02-27  Bruno Haible  <bruno@clisp.org>
4434
4435         * gnulib-tool (sed): Don't alias as "sed --posix".
4436         Reported by Eric Blake.
4437
4438 2009-02-27  Bruno Haible  <bruno@clisp.org>
4439
4440         Avoid test link errors.
4441         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
4442         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
4443         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
4444         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
4445         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4446
4447 2009-02-27  Bruno Haible  <bruno@clisp.org>
4448
4449         Avoid spurious "(cached)" in configure output.
4450         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
4451         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
4452         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
4453         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
4454         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
4455         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
4456         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
4457         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
4458         Reported by Eric Blake.
4459
4460 2009-02-27  Eric Blake  <ebb9@byu.net>
4461
4462         printf: fix regression in previous patch
4463         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
4464
4465 2009-02-27  Bruno Haible  <bruno@clisp.org>
4466
4467         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
4468         value.
4469         * lib/stdint.in.h: Likewise.
4470         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
4471
4472 2009-02-27  Eric Blake  <ebb9@byu.net>
4473
4474         doc: mention more functions added in cygwin 1.7.0
4475         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
4476         addition.
4477         * doc/posix-functions/open_wmemstream.texi: Likewise.
4478         * doc/posix-functions/wcsnlen.texi: Likewise.
4479         * doc/posix-functions/wcsnrtombs.texi: Likewise.
4480         * doc/posix-functions/wcstod.texi: Likewise.
4481         * doc/posix-functions/wcstof.texi: Likewise.
4482         * doc/posix-functions/wcstoimax.texi: Likewise.
4483         * doc/posix-functions/wcstok.texi: Likewise.
4484         * doc/posix-functions/wcstoumax.texi: Likewise.
4485
4486         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
4487         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
4488         * doc/posix-functions/fprintf.texi: Update.
4489         * doc/posix-functions/printf.texi: Update.
4490         * doc/posix-functions/snprintf.texi: Update.
4491         * doc/posix-functions/sprintf.texi: Update.
4492         * doc/posix-functions/vfprintf.texi: Update.
4493         * doc/posix-functions/vprintf.texi: Update.
4494         * doc/posix-functions/vsnprintf.texi: Update.
4495         * doc/posix-functions/vsprintf.texi: Update.
4496         * doc/glibc-functions/obstack_printf.texi: Update.
4497         * doc/glibc-functions/obstack_vprintf.texi: Update.
4498
4499 2009-02-26  Eric Blake  <ebb9@byu.net>
4500
4501         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
4502         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
4503         compilation bug by using runtime conversion.
4504         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
4505         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
4506         * modules/ceill-tests (Files): Use nan.h.
4507         * modules/floorl-tests (Files): Likewise.
4508         * modules/frexpl-tests (Files): Likewise.
4509         * modules/isnanl-tests (Files): Likewise.
4510         * modules/ldexpl-tests (Files): Likewise.
4511         * modules/roundl-tests (Files): Likewise.
4512         * modules/truncl-tests (Files): Likewise.
4513         * tests/test-ceill.c (main): Use a working NaN.
4514         * tests/test-floorl.c (main): Likewise.
4515         * tests/test-frexpl.c (main): Likewise.
4516         * tests/test-isnan.c (test_long_double): Likewise.
4517         * tests/test-isnanl.h (main): Likewise.
4518         * tests/test-ldexpl.h (main): Likewise.
4519         * tests/test-roundl.h (main): Likewise.
4520         * tests/test-truncl.h (main): Likewise.
4521         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
4522
4523 2009-02-26  Eric Blake  <ebb9@byu.net>
4524             Bruno Haible  <bruno@clisp.org>
4525
4526         Work around a *printf bug with %ls on Solaris.
4527         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
4528         precision is specified, sprintf stops converting the wide string
4529         argument when the number of bytes that have been produced by this
4530         conversion equals or exceeds the precision.
4531         * doc/posix-functions/fprintf.texi: Update.
4532         * doc/posix-functions/printf.texi: Update.
4533         * doc/posix-functions/snprintf.texi: Update.
4534         * doc/posix-functions/sprintf.texi: Update.
4535         * doc/posix-functions/vfprintf.texi: Update.
4536         * doc/posix-functions/vprintf.texi: Update.
4537         * doc/posix-functions/vsnprintf.texi: Update.
4538         * doc/posix-functions/vsprintf.texi: Update.
4539         * doc/glibc-functions/obstack_printf.texi: Update.
4540         * doc/glibc-functions/obstack_vprintf.texi: Update.
4541
4542 2009-02-26  Eric Blake  <ebb9@byu.net>
4543
4544         stdlib: favor compiler check of random.h
4545         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
4546         to avoid an ObjC random.h installed by Swarm.
4547
4548 2009-02-26  Bruno Haible  <bruno@clisp.org>
4549
4550         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
4551         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
4552         Reported by Gary V. Vaughan <gary@gnu.org>.
4553
4554 2009-02-26  Bruno Haible  <bruno@clisp.org>
4555
4556         Fix *printf behaviour regarding the %ls directive.
4557         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
4558         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
4559         NEED_PRINTF_DIRECTIVE_LS.
4560         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
4561         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
4562         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4563         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
4564         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
4565         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
4566         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
4567         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4568         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4569         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4570         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4571         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
4572         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4573         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4574         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4575         * doc/posix-functions/fprintf.texi: Update.
4576         * doc/posix-functions/printf.texi: Update.
4577         * doc/posix-functions/snprintf.texi: Update.
4578         * doc/posix-functions/sprintf.texi: Update.
4579         * doc/posix-functions/vfprintf.texi: Update.
4580         * doc/posix-functions/vprintf.texi: Update.
4581         * doc/posix-functions/vsnprintf.texi: Update.
4582         * doc/posix-functions/vsprintf.texi: Update.
4583         * doc/glibc-functions/obstack_printf.texi: Update.
4584         * doc/glibc-functions/obstack_vprintf.texi: Update.
4585         Reported by Eric Blake.
4586
4587 2009-02-25  Bruno Haible  <bruno@clisp.org>
4588
4589         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
4590         with known value.
4591         Reported by Gary V. Vaughan <gary@gnu.org>.
4592
4593 2009-02-25  Bruno Haible  <bruno@clisp.org>
4594
4595         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
4596         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
4597         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
4598         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
4599         Reported by Gary V. Vaughan <gary@gnu.org>.
4600
4601 2009-02-25  Bruno Haible  <bruno@clisp.org>
4602
4603         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
4604         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
4605         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
4606         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
4607         Reported by Gary V. Vaughan <gary@gnu.org>.
4608
4609 2009-02-25  Eric Blake  <ebb9@byu.net>
4610
4611         tests: skip fseek/ftell tests if ungetc is broken
4612         * m4/ungetc.m4: New file.
4613         * modules/fseek-tests: Split test, so ungetc dependency is
4614         separate from rest of test.
4615         * modules/fseeko-tests: Likewise.
4616         * modules/ftell-tests: Likewise.
4617         * modules/ftello-tests: Likewise.
4618         * tests/test-fseek.c (main): Isolate ungetc dependency.
4619         * tests/test-fseeko.c (main): Likewise.
4620         * tests/test-ftell.c (main): Likewise.
4621         * tests/test-ftello.c (main): Likewise.
4622         * tests/test-fseek2.sh: New file.
4623         * tests/test-fseeko2.sh: Likewise.
4624         * tests/test-ftell2.sh: Likewise.
4625         * tests/test-ftello2.sh: Likewise.
4626
4627 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
4628
4629         test-getaddrinfo: fix usage of skip return code 77
4630         * tests/test-gettaddrinfo.c: Return skip code 77 only
4631         for first occurance of skip (4x77 is not 77)
4632
4633 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
4634
4635         strtod: avoid C99 decl-after-statement
4636         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
4637
4638 2009-02-24  Eric Blake  <ebb9@byu.net>
4639
4640         strtod: detect HP-UX 11.31 bug
4641         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
4642         Reported by Gary V. Vaughan.
4643
4644 2009-02-23  Bruno Haible  <bruno@clisp.org>
4645
4646         Fix invalid read past end of memory block.
4647         * lib/vasnprintf.c (DCHAR_SET): Define.
4648         (local_wcslen): Define only when needed.
4649         (local_strnlen, local_wcsnlen): New functions.
4650         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
4651         directives that involve a conversion ourselves.
4652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
4653         wcsnlen, mbrtowc, wcrtomb.
4654         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
4655         * tests/test-vasprintf-posix.c (test_function): Likewise.
4656         * tests/test-snprintf-posix.h (test_function): Likewise.
4657         * tests/test-sprintf-posix.h (test_function): Likewise.
4658         Reported by Ben Pfaff <blp@cs.stanford.edu>.
4659
4660 2009-02-22  Bruno Haible  <bruno@clisp.org>
4661
4662         Implement new clarified decomposition of Hangul syllables.
4663         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
4664         of type LTV, return only a pairwise decomposition.
4665         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
4666         Likewise.
4667         * tests/uninorm/test-decomposition.c (main): Updated expected result.
4668         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
4669         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
4670
4671 2009-02-22  Bruno Haible  <bruno@clisp.org>
4672
4673         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
4674         zero-length results and shrink excess allocated memory.
4675         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
4676         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
4677         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
4678         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
4679         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
4680         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
4681         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
4682         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
4683         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
4684         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
4685         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
4686         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
4687
4688 2009-02-21  Bruno Haible  <bruno@clisp.org>
4689
4690         * doc/gnulib.texi: Include safe-alloc.texi earlier.
4691         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
4692         spaces after a period. Put a space between a macro name and its
4693         argument list. Trivial rewordings.
4694         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
4695         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
4696         (main): Return 0 explicitly.
4697
4698 2009-02-21  Bruno Haible  <bruno@clisp.org>
4699
4700         Tests for module 'uninorm/filter'.
4701         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
4702         * modules/uninorm/filter-tests: New file.
4703
4704         New module 'uninorm/filter'.
4705         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
4706         uninorm_filter_flush, uninorm_filter_free): New declarations.
4707         * lib/uninorm/uninorm-filter.c: New file.
4708         * modules/uninorm/filter: New file.
4709
4710 2009-02-21  Bruno Haible  <bruno@clisp.org>
4711
4712         Tests for module 'uninorm/nfkc'.
4713         * tests/uninorm/test-nfkc.c: New file.
4714         * tests/uninorm/test-u8-nfkc.c: New file.
4715         * tests/uninorm/test-u16-nfkc.c: New file.
4716         * tests/uninorm/test-u32-nfkc.c: New file.
4717         * tests/uninorm/test-u32-nfkc-big.sh: New file.
4718         * tests/uninorm/test-u32-nfkc-big.c: New file.
4719         * modules/uninorm/nfkc-tests: New file.
4720
4721         New module 'uninorm/nfkc'.
4722         * lib/uninorm/nfkc.c: New file.
4723         * modules/uninorm/nfkc: New file.
4724
4725         Tests for module 'uninorm/nfkd'.
4726         * tests/uninorm/test-nfkd.c: New file.
4727         * tests/uninorm/test-u8-nfkd.c: New file.
4728         * tests/uninorm/test-u16-nfkd.c: New file.
4729         * tests/uninorm/test-u32-nfkd.c: New file.
4730         * tests/uninorm/test-u32-nfkd-big.sh: New file.
4731         * tests/uninorm/test-u32-nfkd-big.c: New file.
4732         * modules/uninorm/nfkd-tests: New file.
4733
4734         New module 'uninorm/nfkd'.
4735         * lib/uninorm/nfkd.c: New file.
4736         * modules/uninorm/nfkd: New file.
4737
4738         Tests for module 'uninorm/nfc'.
4739         * tests/uninorm/test-nfc.c: New file.
4740         * tests/uninorm/test-u8-nfc.c: New file.
4741         * tests/uninorm/test-u16-nfc.c: New file.
4742         * tests/uninorm/test-u32-nfc.c: New file.
4743         * tests/uninorm/test-u32-nfc-big.sh: New file.
4744         * tests/uninorm/test-u32-nfc-big.c: New file.
4745         * modules/uninorm/nfc-tests: New file.
4746
4747         New module 'uninorm/nfc'.
4748         * lib/uninorm/nfc.c: New file.
4749         * modules/uninorm/nfc: New file.
4750
4751         Tests for module 'uninorm/nfd'.
4752         * tests/uninorm/test-nfd.c: New file.
4753         * tests/uninorm/test-u8-nfd.c: New file.
4754         * tests/uninorm/test-u16-nfd.c: New file.
4755         * tests/uninorm/test-u32-nfd.c: New file.
4756         * tests/uninorm/test-u32-nfd-big.sh: New file.
4757         * tests/uninorm/test-u32-nfd-big.c: New file.
4758         * tests/uninorm/test-u32-normalize-big.h: New file.
4759         * tests/uninorm/test-u32-normalize-big.c: New file.
4760         * tests/uninorm/NormalizationTest.txt: New file, created from
4761         Unicode 5.1.0 NormalizationTest.txt.
4762         * modules/uninorm/nfd-tests: New file.
4763
4764         New module 'uninorm/nfd'.
4765         * lib/uninorm/nfd.c: New file.
4766         * modules/uninorm/nfd: New file.
4767
4768         New module 'uninorm/u32-normalize'.
4769         * lib/uninorm/u32-normalize.c: New file.
4770         * modules/uninorm/u32-normalize: New file.
4771
4772         New module 'uninorm/u16-normalize'.
4773         * lib/uninorm/u16-normalize.c: New file.
4774         * modules/uninorm/u16-normalize: New file.
4775
4776         New module 'uninorm/u8-normalize'.
4777         * lib/uninorm/u8-normalize.c: New file.
4778         * lib/uninorm/normalize-internal.h: New file.
4779         * lib/uninorm/u-normalize-internal.h: New file.
4780         * modules/uninorm/u8-normalize: New file.
4781
4782         New module 'uninorm/decompose-internal'.
4783         * lib/uninorm/decompose-internal.c: New file.
4784         * modules/uninorm/decompose-internal: New file.
4785
4786         Tests for module 'uninorm/composition'.
4787         * tests/uninorm/test-composition.c: New file.
4788         * modules/uninorm/composition-tests: New file.
4789
4790         New module 'uninorm/composition'.
4791         * lib/uninorm/composition.c: New file.
4792         * lib/uninorm/composition-table.gperf: New file, generated by
4793         gen-uni-tables.
4794         * modules/uninorm/composition: New file.
4795
4796         Tests for module 'uninorm/compat-decomposition'.
4797         * tests/uninorm/test-compat-decomposition.c: New file.
4798         * modules/uninorm/compat-decomposition-tests: New file.
4799
4800         New module 'uninorm/compat-decomposition'.
4801         * lib/uninorm/decompose-internal.h: New file.
4802         * lib/uninorm/compat-decomposition.c: New file.
4803         * modules/uninorm/compat-decomposition: New file.
4804
4805         Tests for module 'uninorm/canonical-decomposition'.
4806         * tests/uninorm/test-canonical-decomposition.c: New file.
4807         * modules/uninorm/canonical-decomposition-tests: New file.
4808
4809         New module 'uninorm/canonical-decomposition'.
4810         * lib/uninorm/canonical-decomposition.c: New file.
4811         * modules/uninorm/canonical-decomposition: New file.
4812
4813         Tests for module 'uninorm/decomposition'.
4814         * tests/uninorm/test-decomposition.c: New file.
4815         * modules/uninorm/decomposition-tests: New file.
4816
4817         New module 'uninorm/decomposition'.
4818         * lib/uninorm/decomposition.c: New file.
4819         * modules/uninorm/decomposition: New file.
4820
4821         New module 'uninorm/decomposition-table'.
4822         * lib/uninorm/decomposition-table.h: New file.
4823         * lib/uninorm/decomposition-table.c: New file.
4824         * lib/uninorm/decomposition-table1.h: New file, generated by
4825         gen-uni-tables.
4826         * lib/uninorm/decomposition-table2.h: New file, generated by
4827         gen-uni-tables.
4828         * modules/uninorm/decomposition-table: New file.
4829
4830         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
4831         (UC_DECOMP_*): New enumeration items.
4832         (get_decomposition): New function.
4833         (struct decomp_table): New type.
4834         (output_decomposition, output_decomposition_tables): New functions.
4835         (unicode_composition_exclusions): New variable.
4836         (fill_composition_exclusions, debug_output_composition_tables): New
4837         functions.
4838         (main): Accept one more argument. Invoke fill_composition_exclusions.
4839         Output decomposition and composition tables.
4840
4841         New module 'uninorm/base'.
4842         * lib/uninorm.h: New file.
4843         * lib/unictype.h: Update comment.
4844         * modules/uninorm/base: New file.
4845
4846 2009-02-21  David Lutterkort  <lutter@redhat.com>
4847
4848         Tests for module 'safe-alloc'.
4849         * tests/test-safe-alloc.c: New file.
4850         * modules/safe-alloc-tests: New file.
4851
4852         New module 'safe-alloc'.
4853         * lib/safe-alloc.h: New file.
4854         * lib/safe-alloc.c: New file.
4855         * m4/safe-alloc.m4: New file.
4856         * modules/safe-alloc: New file.
4857         * doc/safe-alloc.texi: New file.
4858         * doc/gnulib.texi: Include it.
4859         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
4860         safe-alloc.
4861
4862 2009-02-18  Bruno Haible  <bruno@clisp.org>
4863
4864         Fix link error on non-glibc systems.
4865         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
4866         variable.
4867         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4868
4869 2009-02-18  Jim Meyering  <meyering@redhat.com>
4870
4871         fts: avoid used-uninitialized error due to recent change
4872         * lib/fts.c (fts_read): Guard uses of the new member,
4873         parent->fts_n_dirs_remaining, since it's not relevant for
4874         the parent of a directory specified on the command-line.
4875
4876 2009-02-17  James Youngman  <jay@gnu.org>
4877             Bruno Haible  <bruno@clisp.org>
4878
4879         * m4/include_next.m4: Reformulate comment.
4880
4881 2009-02-16  Jim Meyering  <meyering@redhat.com>
4882
4883         fts: add #if guards so that the fts_lgpl module still builds
4884         * lib/fts.c: Guard just-added hash-table-using parts with
4885         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
4886         Reported by Simon Josefsson.
4887
4888 2009-02-15  Bruno Haible  <bruno@clisp.org>
4889
4890         * modules/array-mergesort-tests: New file.
4891         * tests/test-array-mergesort.c: New file.
4892
4893         New module 'array-mergesort'.
4894         * modules/array-mergesort: New file.
4895         * lib/array-mergesort.h: New file.
4896
4897 2009-02-15  Bruno Haible  <bruno@clisp.org>
4898
4899         Fix 2009-02-07 commit.
4900         * lib/gen-uni-tables.c (output_predicate, output_category,
4901         output_combclass, output_bidi_category, output_decimal_digit,
4902         output_digit, output_numeric, output_mirror, output_scripts,
4903         output_ident_category, output_simple_mapping): Fix format directives.
4904         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
4905
4906 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
4907
4908         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
4909         fixes are available from IBM.
4910
4911 2009-02-13  Jim Meyering  <meyering@redhat.com>
4912
4913         fts: arrange not to stat non-directories in more cases
4914         This makes GNU find (when it doesn't need to stat each file)
4915         *much* more efficient at traversing reiserfs file systems.
4916         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
4917         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
4918         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
4919         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
4920         (leaf_optimization_applies): New function.
4921         (LCO_hash, LCO_compare): New helper functions.
4922         (link_count_optimize_ok): New function.
4923         (fts_stat): Initialize new member (if dir).
4924         (fts_read): Decrement parent's fts_n_dirs_remaining count if
4925         we've just stat'ed a directory.  Skip the stat call when possible.
4926         ---
4927         Note this AFS-related exchange:
4928         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
4929         and note find's pioctl call in find/fstype.c.
4930         But that is necessary only if you want to enable the
4931         optimization for AFS, and for now, I don't.
4932
4933         fts: move a function definition "up" (no semantic change)
4934         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
4935         "up" to precede upcoming use of a related function.
4936
4937 2009-02-11  Jim Meyering  <meyering@redhat.com>
4938
4939         fts: correct internal computation of nlinks (optimization-related)
4940         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
4941         whether the current entry is a directory, so don't test it.
4942
4943 2009-02-10  Bruno Haible  <bruno@clisp.org>
4944
4945         Tests for module 'uniwbrk/ulc-wordbreaks'.
4946         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
4947         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
4948         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
4949
4950         Tests for module 'uniwbrk/u32-wordbreaks'.
4951         * modules/uniwbrk/u32-wordbreaks-tests: New file.
4952         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
4953
4954         Tests for module 'uniwbrk/u16-wordbreaks'.
4955         * modules/uniwbrk/u16-wordbreaks-tests: New file.
4956         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
4957
4958         Tests for module 'uniwbrk/u8-wordbreaks'.
4959         * modules/uniwbrk/u8-wordbreaks-tests: New file.
4960         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
4961
4962 2009-02-10  Bruno Haible  <bruno@clisp.org>
4963
4964         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
4965         property.
4966         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
4967         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
4968         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
4969
4970 2009-02-10  Simon Josefsson  <simon@josefsson.org>
4971
4972         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
4973         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
4974
4975 2009-02-10  Bruno Haible  <bruno@clisp.org>
4976
4977         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
4978         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
4979         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
4980         * lib/unilbrk/u8-possible-linebreaks.c: Update.
4981         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
4982         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
4983
4984 2009-02-09  Simon Josefsson  <simon@josefsson.org>
4985
4986         * lib/sockets.h (gl_fd_to_handle): New function.
4987
4988         * tests/test-sockets.c: Call gl_fd_to_handle.
4989
4990 2009-02-09  Bruno Haible  <bruno@clisp.org>
4991
4992         * doc/havelib.texi: Document the conventions on bi-arch systems.
4993
4994 2009-02-08  Bruno Haible  <bruno@clisp.org>
4995
4996         Document the AC_LIB_LINKFLAGS macro.
4997         * doc/havelib.texi: New file, mostly written on 2005-05-24.
4998         * doc/gnulib.texi: Include it.
4999
5000 2009-02-08  Bruno Haible  <bruno@clisp.org>
5001
5002         Fix wrong order of sections, compared to TOC.
5003         * doc/gnulib.texi: Include relocatable-maint.texi after the
5004         "Regular expressions" node, not before.
5005
5006 2009-02-08  Bruno Haible  <bruno@clisp.org>
5007
5008         Tests for module 'unicase/totitle'.
5009         * modules/unicase/totitle-tests: New file.
5010
5011         Tests for module 'unicase/tolower'.
5012         * modules/unicase/tolower-tests: New file.
5013
5014         Tests for module 'unicase/toupper'.
5015         * modules/unicase/toupper-tests: New file.
5016         * tests/unicase/test-mapping-part1.h: New file.
5017         * tests/unicase/test-mapping-part2.h: New file.
5018
5019         New module 'unicase/totitle'.
5020         * modules/unicase/totitle: New file.
5021         * lib/unicase/totitle.c: New file.
5022
5023         New module 'unicase/tolower'.
5024         * modules/unicase/tolower: New file.
5025         * lib/unicase/tolower.c: New file.
5026
5027         New module 'unicase/toupper'.
5028         * modules/unicase/toupper: New file.
5029         * lib/unicase/toupper.c: New file.
5030         * lib/unicase/simple-mapping.h: New file.
5031
5032         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
5033         (mapping_table): New structure.
5034         (output_simple_mapping): New function.
5035         (main): Invoke output_simple_mapping_test and output_simple_mapping.
5036         * modules/gen-uni-tables (Description): Update.
5037         * lib/unicase/toupper.h: New file, automatically generated by
5038         gen-uni-tables.
5039         * lib/unicase/tolower.h: New file, automatically generated by
5040         gen-uni-tables.
5041         * lib/unicase/totitle.h: New file, automatically generated by
5042         gen-uni-tables.
5043         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
5044         gen-uni-tables.
5045         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
5046         gen-uni-tables.
5047         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
5048         gen-uni-tables.
5049
5050         New module 'unicase/base'.
5051         * modules/unicase/base: New file.
5052         * lib/unicase.h: New file.
5053
5054 2009-02-08  Bruno Haible  <bruno@clisp.org>
5055
5056         New module 'uniwbrk/ulc-wordbreaks'.
5057         * modules/uniwbrk/ulc-wordbreaks: New file.
5058         * lib/uniwbrk/ulc-wordbreaks.c: New file.
5059
5060         New module 'uniwbrk/u32-wordbreaks'.
5061         * modules/uniwbrk/u32-wordbreaks: New file.
5062         * lib/uniwbrk/u32-wordbreaks.c: New file.
5063
5064         New module 'uniwbrk/u16-wordbreaks'.
5065         * modules/uniwbrk/u16-wordbreaks: New file.
5066         * lib/uniwbrk/u16-wordbreaks.c: New file.
5067
5068         New module 'uniwbrk/u8-wordbreaks'.
5069         * modules/uniwbrk/u8-wordbreaks: New file.
5070         * lib/uniwbrk/u8-wordbreaks.c: New file.
5071         * lib/uniwbrk/u-wordbreaks.h: New file.
5072
5073         New module 'uniwbrk/table'.
5074         * modules/uniwbrk/table: New file.
5075         * lib/uniwbrk/wbrktable.h: New file.
5076         * lib/uniwbrk/wbrktable.c: New file.
5077
5078         New module 'uniwbrk/wordbreak-property'.
5079         * modules/uniwbrk/wordbreak-property: New file.
5080         * lib/uniwbrk/wordbreak-property.c: New file.
5081
5082         * lib/gen-uni-tables.c (WBP_*): New enum items.
5083         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
5084         (unicode_org_wbp): New variable.
5085         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
5086         New functions.
5087         (wbp_table): New structure.
5088         (output_wbp, output_wbrk_tables): New functions.
5089         (main): Accept additional argument. Invoke fill_org_wbp,
5090         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
5091         output_wbrk_tables.
5092         * modules/gen-uni-tables (Description): Update.
5093         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
5094         gen-uni-tables.
5095
5096         New module 'uniwbrk/base'.
5097         * modules/uniwbrk/base: New file.
5098         * lib/uniwbrk.h: New file.
5099
5100 2009-02-08  Bruno Haible  <bruno@clisp.org>
5101
5102         Update to Unicode 5.1.0.
5103         * lib/gen-uni-tables.c (is_property_alphabetic): Include
5104         U+2185..U+2188.
5105         (is_property_default_ignorable_code_point): Don't include characters
5106         of category Cc or Cs and not-a-characters.
5107         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
5108         U+0D79, U+109E, U+109F, U+A60C.
5109         * lib/unictype/bidi_of.h: Regenerated.
5110         * lib/unictype/blocks.h: Regenerated.
5111         * lib/unictype/categ_C.h: Regenerated.
5112         * lib/unictype/categ_Cf.h: Regenerated.
5113         * lib/unictype/categ_Cn.h: Regenerated.
5114         * lib/unictype/categ_L.h: Regenerated.
5115         * lib/unictype/categ_Ll.h: Regenerated.
5116         * lib/unictype/categ_Lm.h: Regenerated.
5117         * lib/unictype/categ_Lo.h: Regenerated.
5118         * lib/unictype/categ_Lu.h: Regenerated.
5119         * lib/unictype/categ_M.h: Regenerated.
5120         * lib/unictype/categ_Mc.h: Regenerated.
5121         * lib/unictype/categ_Me.h: Regenerated.
5122         * lib/unictype/categ_Mn.h: Regenerated.
5123         * lib/unictype/categ_N.h: Regenerated.
5124         * lib/unictype/categ_Nd.h: Regenerated.
5125         * lib/unictype/categ_Nl.h: Regenerated.
5126         * lib/unictype/categ_No.h: Regenerated.
5127         * lib/unictype/categ_P.h: Regenerated.
5128         * lib/unictype/categ_Pd.h: Regenerated.
5129         * lib/unictype/categ_Pe.h: Regenerated.
5130         * lib/unictype/categ_Pf.h: Regenerated.
5131         * lib/unictype/categ_Pi.h: Regenerated.
5132         * lib/unictype/categ_Po.h: Regenerated.
5133         * lib/unictype/categ_Ps.h: Regenerated.
5134         * lib/unictype/categ_S.h: Regenerated.
5135         * lib/unictype/categ_Sk.h: Regenerated.
5136         * lib/unictype/categ_Sm.h: Regenerated.
5137         * lib/unictype/categ_So.h: Regenerated.
5138         * lib/unictype/categ_of.h: Regenerated.
5139         * lib/unictype/combining.h: Regenerated.
5140         * lib/unictype/ctype_alnum.h: Regenerated.
5141         * lib/unictype/ctype_alpha.h: Regenerated.
5142         * lib/unictype/ctype_graph.h: Regenerated.
5143         * lib/unictype/ctype_lower.h: Regenerated.
5144         * lib/unictype/ctype_print.h: Regenerated.
5145         * lib/unictype/ctype_punct.h: Regenerated.
5146         * lib/unictype/ctype_upper.h: Regenerated.
5147         * lib/unictype/decdigit.h: Regenerated.
5148         * lib/unictype/digit.h: Regenerated.
5149         * lib/unictype/mirror.h: Regenerated.
5150         * lib/unictype/numeric.h: Regenerated.
5151         * lib/unictype/pr_alphabetic.h: Regenerated.
5152         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
5153         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
5154         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
5155         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
5156         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
5157         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
5158         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
5159         * lib/unictype/pr_combining.h: Regenerated.
5160         * lib/unictype/pr_dash.h: Regenerated.
5161         * lib/unictype/pr_decimal_digit.h: Regenerated.
5162         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
5163         * lib/unictype/pr_deprecated.h: Regenerated.
5164         * lib/unictype/pr_diacritic.h: Regenerated.
5165         * lib/unictype/pr_extender.h: Regenerated.
5166         * lib/unictype/pr_format_control.h: Regenerated.
5167         * lib/unictype/pr_grapheme_base.h: Regenerated.
5168         * lib/unictype/pr_grapheme_extend.h: Regenerated.
5169         * lib/unictype/pr_grapheme_link.h: Regenerated.
5170         * lib/unictype/pr_id_continue.h: Regenerated.
5171         * lib/unictype/pr_id_start.h: Regenerated.
5172         * lib/unictype/pr_ideographic.h: Regenerated.
5173         * lib/unictype/pr_ignorable_control.h: Regenerated.
5174         * lib/unictype/pr_lowercase.h: Regenerated.
5175         * lib/unictype/pr_math.h: Regenerated.
5176         * lib/unictype/pr_numeric.h: Regenerated.
5177         * lib/unictype/pr_other_alphabetic.h: Regenerated.
5178         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
5179         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
5180         * lib/unictype/pr_other_id_continue.h: Regenerated.
5181         * lib/unictype/pr_other_lowercase.h: Regenerated.
5182         * lib/unictype/pr_other_math.h: Regenerated.
5183         * lib/unictype/pr_punctuation.h: Regenerated.
5184         * lib/unictype/pr_sentence_terminal.h: Regenerated.
5185         * lib/unictype/pr_soft_dotted.h: Regenerated.
5186         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
5187         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
5188         * lib/unictype/pr_unified_ideograph.h: Regenerated.
5189         * lib/unictype/pr_uppercase.h: Regenerated.
5190         * lib/unictype/pr_xid_continue.h: Regenerated.
5191         * lib/unictype/pr_xid_start.h: Regenerated.
5192         * lib/unictype/pr_zero_width.h: Regenerated.
5193         * lib/unictype/scripts.h: Regenerated.
5194         * lib/unictype/scripts_byname.gperf: Regenerated.
5195         * lib/unictype/sy_java_ident.h: Regenerated.
5196         * lib/unilbrk/lbrkprop1.h: Regenerated.
5197         * lib/unilbrk/lbrkprop2.h: Regenerated.
5198         * tests/unictype/test-categ_C.c: Regenerated.
5199         * tests/unictype/test-categ_Cf.c: Regenerated.
5200         * tests/unictype/test-categ_Cn.c: Regenerated.
5201         * tests/unictype/test-categ_L.c: Regenerated.
5202         * tests/unictype/test-categ_Ll.c: Regenerated.
5203         * tests/unictype/test-categ_Lm.c: Regenerated.
5204         * tests/unictype/test-categ_Lo.c: Regenerated.
5205         * tests/unictype/test-categ_Lu.c: Regenerated.
5206         * tests/unictype/test-categ_M.c: Regenerated.
5207         * tests/unictype/test-categ_Mc.c: Regenerated.
5208         * tests/unictype/test-categ_Me.c: Regenerated.
5209         * tests/unictype/test-categ_Mn.c: Regenerated.
5210         * tests/unictype/test-categ_N.c: Regenerated.
5211         * tests/unictype/test-categ_Nd.c: Regenerated.
5212         * tests/unictype/test-categ_Nl.c: Regenerated.
5213         * tests/unictype/test-categ_No.c: Regenerated.
5214         * tests/unictype/test-categ_P.c: Regenerated.
5215         * tests/unictype/test-categ_Pd.c: Regenerated.
5216         * tests/unictype/test-categ_Pe.c: Regenerated.
5217         * tests/unictype/test-categ_Pf.c: Regenerated.
5218         * tests/unictype/test-categ_Pi.c: Regenerated.
5219         * tests/unictype/test-categ_Po.c: Regenerated.
5220         * tests/unictype/test-categ_Ps.c: Regenerated.
5221         * tests/unictype/test-categ_S.c: Regenerated.
5222         * tests/unictype/test-categ_Sk.c: Regenerated.
5223         * tests/unictype/test-categ_Sm.c: Regenerated.
5224         * tests/unictype/test-categ_So.c: Regenerated.
5225         * tests/unictype/test-ctype_alnum.c: Regenerated.
5226         * tests/unictype/test-ctype_alpha.c: Regenerated.
5227         * tests/unictype/test-ctype_graph.c: Regenerated.
5228         * tests/unictype/test-ctype_lower.c: Regenerated.
5229         * tests/unictype/test-ctype_print.c: Regenerated.
5230         * tests/unictype/test-ctype_punct.c: Regenerated.
5231         * tests/unictype/test-ctype_upper.c: Regenerated.
5232         * tests/unictype/test-decdigit.h: Regenerated.
5233         * tests/unictype/test-digit.h: Regenerated.
5234         * tests/unictype/test-numeric.h: Regenerated.
5235         * tests/unictype/test-pr_alphabetic.c: Regenerated.
5236         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
5237         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
5238         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
5239         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
5240         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
5241         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
5242         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
5243         * tests/unictype/test-pr_combining.c: Regenerated.
5244         * tests/unictype/test-pr_dash.c: Regenerated.
5245         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
5246         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
5247         * tests/unictype/test-pr_deprecated.c: Regenerated.
5248         * tests/unictype/test-pr_diacritic.c: Regenerated.
5249         * tests/unictype/test-pr_extender.c: Regenerated.
5250         * tests/unictype/test-pr_format_control.c: Regenerated.
5251         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
5252         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
5253         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
5254         * tests/unictype/test-pr_id_continue.c: Regenerated.
5255         * tests/unictype/test-pr_id_start.c: Regenerated.
5256         * tests/unictype/test-pr_ideographic.c: Regenerated.
5257         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
5258         * tests/unictype/test-pr_lowercase.c: Regenerated.
5259         * tests/unictype/test-pr_math.c: Regenerated.
5260         * tests/unictype/test-pr_numeric.c: Regenerated.
5261         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
5262         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
5263         Regenerated.
5264         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
5265         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
5266         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
5267         * tests/unictype/test-pr_other_math.c: Regenerated.
5268         * tests/unictype/test-pr_punctuation.c: Regenerated.
5269         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
5270         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
5271         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
5272         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
5273         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
5274         * tests/unictype/test-pr_uppercase.c: Regenerated.
5275         * tests/unictype/test-pr_xid_continue.c: Regenerated.
5276         * tests/unictype/test-pr_xid_start.c: Regenerated.
5277         * tests/unictype/test-pr_zero_width.c: Regenerated.
5278
5279         Update to Unicode 5.1.0.
5280         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
5281         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
5282         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
5283         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
5284         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
5285         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
5286         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
5287         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
5288         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
5289         (nonspacing_table_ind): Update.
5290         * tests/uniwidth/test-uc_width2.sh: Update expected result.
5291
5292         Update to Unicode 5.1.0.
5293         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
5294         code transform.
5295         * lib/uniname/uniname.c (unicode_character_name,
5296         unicode_name_character): Add the range 0x1Fxxx to the code transform.
5297         * lib/uniname/uninames.h: Regenerated.
5298         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
5299
5300 2009-02-07  Bruno Haible  <bruno@clisp.org>
5301
5302         Merge gen-ctype and gen-lbrk into a single program.
5303         * lib/gen-uni-tables.c: New file, incorporating
5304         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
5305         Add directory prefixes to the names of the generated files.
5306         * lib/unictype/gen-ctype.c: Remove file.
5307         * lib/unilbrk/gen-lbrk.c: Remove file.
5308         * modules/gen-uni-tables: New file.
5309         * modules/unictype/gen-ctype: Remove file.
5310         * modules/unilbrk/gen-lbrk: Remove file.
5311
5312 2009-02-07  Bruno Haible  <bruno@clisp.org>
5313
5314         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
5315
5316         New module 'unistr/u32-strcoll'.
5317         * modules/unistr/u32-strcoll: New file.
5318         * lib/unistr/u32-strcoll.c: New file.
5319
5320         New module 'unistr/u16-strcoll'.
5321         * modules/unistr/u16-strcoll: New file.
5322         * lib/unistr/u16-strcoll.c: New file.
5323
5324         New module 'unistr/u8-strcoll'.
5325         * modules/unistr/u8-strcoll: New file.
5326         * lib/unistr/u8-strcoll.c: New file.
5327         * lib/unistr/u-strcoll.h: New file.
5328
5329 2009-02-07  Bruno Haible  <bruno@clisp.org>
5330
5331         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
5332         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
5333         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
5334         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
5335         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
5336         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
5337
5338 2009-02-07  Bruno Haible  <bruno@clisp.org>
5339
5340         Make 64-bit clean.
5341         * lib/unictype/gen-ctype.c (output_predicate, output_category,
5342         output_combclass, output_bidi_category, output_decimal_digit,
5343         output_digit, output_numeric, output_mirror, output_scripts,
5344         output_ident_category): Use proper width specifier in format strings.
5345
5346 2009-02-07  Bruno Haible  <bruno@clisp.org>
5347
5348         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
5349         failure behaviour.
5350
5351 2009-02-07  Jim Meyering  <meyering@redhat.com>
5352
5353         regex: avoid compilation failure with upcoming gcc-4.4
5354         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
5355         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
5356         "... error: integer overflow in preprocessor expression".
5357
5358 2009-02-05  Ben Pfaff  <blp@gnu.org>
5359
5360         Fix link errors on Windows when close module is used.
5361         * modules/close: Add $(LIB_CLOSE) to Link section.
5362         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
5363         $(LIB_CLOSE) on Windows.
5364
5365 2009-02-05  Jim Meyering  <meyering@redhat.com>
5366
5367         still avoid unused-parameter warnings, but do it cleanly
5368         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
5369         (get_fs_usage): Cast to void instead.
5370         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
5371         (dev_from_mount_options, read_file_system_list): Cast to void.
5372         Prompted by Bruno Haible.
5373
5374 2009-02-04  Jim Meyering  <meyering@redhat.com>
5375
5376         fsusage.c: correct copyright year
5377         * lib/fsusage.c: Reflect year in which the change is pushed into
5378
5379         avoid misc. warnings
5380         * lib/fsusage.c (UNUSED_PARAM): Define.
5381         (get_fs_usage): Mark parameter "disk" as unused.
5382         * lib/getugroups.c (getgrent): Use "void" in prototype.
5383         * lib/mountlist.c: Mark unused parameters.
5384         (read_file_system_list): Declare a local with "const".
5385         * lib/nanosleep.c (getnow): Declare static.
5386         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
5387
5388         dirfd: set errno upon failure
5389         * lib/dirfd.c: Include <errno.h>.
5390         Set errno to ENOTSUP when returning -1.
5391         * modules/dirfd (Depends-on): Add errno.
5392         Suggested by John Kodis <kodis@comcast.net>.
5393
5394 2009-02-01  Bruno Haible  <bruno@clisp.org>
5395
5396         Don't assume sizeof (long) >= sizeof (void *).
5397         * lib/memcmp.c: Include stdint.h.
5398         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
5399         srcp2 to 'const byte *'.
5400         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
5401         types to uintptr_t.
5402         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
5403         * modules/memcmp (Depends-on): Add stdint.
5404         Reported by Ozkan Sezer <sezeroz@gmail.com>.
5405
5406 2009-01-30  Eric Blake  <ebb9@byu.net>
5407
5408         fix more require-before-expand issues
5409         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
5410         expand, AC_PROG_AWK.
5411         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
5412
5413 2009-01-28  Eric Blake  <ebb9@byu.net>
5414
5415         version-etc: use consistent URL formatting
5416         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
5417         Improve formatting.  Use fputs for string without %.
5418
5419 2009-01-28  Jim Meyering  <meyering@redhat.com>
5420
5421         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
5422         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
5423         "underquoted definition of NAME" from autoconf-2.59.
5424
5425 2009-01-28  Bruno Haible  <bruno@clisp.org>
5426
5427         * doc/gnulib.texi: Add "Obsolete modules" to index.
5428
5429 2009-01-28  Jim Meyering  <meyering@redhat.com>
5430
5431         useless-if-before-free: recognize more variants
5432         * build-aux/useless-if-before-free: Also recognize e.g.,
5433         if (NULL != p) free (p);
5434
5435 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
5436
5437         test-getaddrinfo: skip (don't fail) this test when there's no network
5438         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
5439         on the presumption that it means you lack network access.
5440
5441 2009-01-26  Jim Meyering  <meyering@redhat.com>
5442
5443         fflush: avoid warnings on modern systems
5444         * lib/fflush.c (rpl_fflush): Move declarations of locals,
5445         pos and result, into scopes where they're used.
5446
5447 2009-01-26  Eric Blake  <ebb9@byu.net>
5448
5449         Silence warning reintroduced by recent extensions patch.
5450         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
5451         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
5452         autoconf.
5453
5454         Backport improved autoconf semantics of AC_DEFUN_ONCE.
5455         * m4/00gnulib.m4: New file.
5456         * gnulib-tool (func_get_filelist): Always use it.
5457         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
5458         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
5459
5460 2009-01-25  Bruno Haible  <bruno@clisp.org>
5461
5462         Make test-quotearg work on MacOS X and AIX.
5463         * tests/test-quotearg.sh: New file.
5464         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
5465         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
5466         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
5467         include <libintl.h>.
5468         (fake_locale): Remove variable.
5469         (gettext, dgettext, dcgettext): Remove functions.
5470         (main): Instead of setting a fake locale, set a real locale. Call
5471         textdomain and bindtextdomain.
5472         * modules/quotearg-tests (Files): Add the new files.
5473         (Depends-on): Add gettext, setenv, unsetenv.
5474         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
5475         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
5476         Augment TESTS_ENVIRONMENT.
5477
5478 2009-01-25  Bruno Haible  <bruno@clisp.org>
5479
5480         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
5481         fr_FR.ISO8859-1 locale on MacOS X.
5482         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
5483         ja_JP.eucJP locale on MacOS X.
5484         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
5485         zh_CN.GB18030 locale on MacOS X.
5486
5487 2009-01-25  Bruno Haible  <bruno@clisp.org>
5488
5489         Avoid link errors on MacOS X 10.3.
5490         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
5491         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
5492
5493 2009-01-25  Bruno Haible  <bruno@clisp.org>
5494
5495         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
5496         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
5497         * modules/pipe (Files): Remove m4/posix_spawn.m4.
5498         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
5499         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
5500         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
5501         posix_spawnattr_init, posix_spawnattr_setsigmask,
5502         posix_spawnattr_setflags, posix_spawnattr_destroy.
5503
5504         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
5505         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
5506         * modules/execute (Files): Remove m4/posix_spawn.m4.
5507         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
5508         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
5509         posix_spawnattr_init, posix_spawnattr_setsigmask,
5510         posix_spawnattr_setflags, posix_spawnattr_destroy.
5511
5512 2009-01-25  Bruno Haible  <bruno@clisp.org>
5513
5514         * lib/glthread/threadlib.c: Include <stdlib.h>.
5515
5516 2009-01-25  Bruno Haible  <bruno@clisp.org>
5517
5518         * lib/glthread/threadlib.c (dummy): New declaration.
5519
5520 2009-01-25  Bruno Haible  <bruno@clisp.org>
5521
5522         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
5523         multibyte characters also for the GB18030 encoding. Don't crash when
5524         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
5525
5526 2009-01-25  Bruno Haible  <bruno@clisp.org>
5527
5528         Avoid redefining 'struct random_data' on OSF/1 5.1.
5529         * lib/stdlib.in.h: Include <random.h> if it exists.
5530         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
5531         HAVE_RANDOM_H. Include <random.h> when testing whether
5532         'struct random_data' exists.
5533         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
5534
5535 2009-01-25  Bruno Haible  <bruno@clisp.org>
5536
5537         Don't install charset.alias on MacOS X >= 10.3.
5538         * lib/localcharset.c (DARWIN7): New macro.
5539         (get_charset_aliases): Hardcode the result for Darwin7.
5540         * modules/localcharset (install-exec-local): Don't install
5541         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
5542
5543 2009-01-25  Bruno Haible  <bruno@clisp.org>
5544
5545         Don't install charset.alias on mingw and Cygwin.
5546         * modules/localcharset (install-exec-local): Don't install
5547         charset.alias on mingw and Cygwin, if the file does not yet exist.
5548         The result for these platforms is hardcoded in localcharset.c.
5549
5550 2009-01-25  Bruno Haible  <bruno@clisp.org>
5551
5552         Make it possible again to use AC_GNU_SOURCE together with gnulib.
5553         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
5554         before requiring AC_USE_SYSTEM_EXTENSIONS.
5555
5556 2009-01-25  Jim Meyering  <meyering@redhat.com>
5557
5558         c-strtod: avoid warnings
5559         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
5560         "assignment discards qualifiers from pointer target type" warnings.
5561
5562 2009-01-24  Bruno Haible  <bruno@clisp.org>
5563
5564         Add support for non-UTF-8 locales on MacOS X.
5565         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
5566         canonical encodings. For Darwin 7 and newer, don't map traditional
5567         encodings to UTF-8.
5568         Reported by Vincent Lefevre <vincent@vinc17.org>
5569         at <http://savannah.gnu.org/bugs/?25235>.
5570
5571 2009-01-24  Bruno Haible  <bruno@clisp.org>
5572
5573         * doc/gnulib.texi (Obsolete modules): New section.
5574         Reported by Mike Frysinger <vapier@gentoo.org>.
5575
5576 2009-01-24  Bruno Haible  <bruno@clisp.org>
5577
5578         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
5579         (%.dvi): New rule.
5580
5581 2009-01-24  Bruno Haible  <bruno@clisp.org>
5582
5583         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
5584         Reported by Eric Blake.
5585
5586 2009-01-24  Bruno Haible  <bruno@clisp.org>
5587
5588         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
5589         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
5590         Reported by Gary V. Vaughan <gary@gnu.org>.
5591
5592 2009-01-24  Bruno Haible  <bruno@clisp.org>
5593
5594         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
5595
5596 2009-01-23  Bruno Haible  <bruno@clisp.org>
5597
5598         Make c-strtod, c-strtold usable in libraries.
5599         * lib/c-strtod.c: Include string.h instead of xalloc.h.
5600         (C_STRTOD): Call strdup instead of xstrdup.
5601         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
5602         * modules/c-strtold (Depends-on): Likewise.
5603         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
5604         * NEWS: Mention the change.
5605         Reported by Michael Gold <mgold@ncf.ca>.
5606
5607 2009-01-23  Jim Meyering  <meyering@redhat.com>
5608
5609         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
5610         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
5611         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
5612
5613 2009-01-23  Simon Josefsson  <simon@josefsson.org>
5614
5615         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
5616         GNU CoreUtils.
5617         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
5618         * modules/version-etc (Description): Update.
5619
5620 2009-01-22  Bruno Haible  <bruno@clisp.org>
5621
5622         Cache the C locale object.
5623         * lib/c-strtod.c (c_locale_cache): New variable.
5624         (c_locale): New function.
5625         (C_STRTOD): Use it, and don't call freelocale.
5626         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
5627         Suggested by Paolo Bonzini.
5628
5629 2009-01-21  Bruno Haible  <bruno@clisp.org>
5630
5631         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
5632         conditions other than overflow.
5633
5634 2009-01-21  Bruno Haible  <bruno@clisp.org>
5635
5636         * lib/c-strtod.c: Include errno.h.
5637         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
5638         value from STRTOD_L and STRTOD.
5639
5640 2009-01-21  Bruno Haible  <bruno@clisp.org>
5641         and Jim Meyering  <meyering@redhat.com>
5642
5643         nanosleep: skip configure test (fail it) for apple universal builds
5644         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
5645         universal builds, assume that nanosleep does not work.
5646         * modules/nanosleep (Depends-on): Add multiarch.
5647
5648         mktime: skip configure test (fail it) for apple universal builds
5649         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
5650         universal builds, assume that mktime does not work.
5651         * modules/mktime (Depends-on): Add multiarch.
5652
5653 2009-01-21  Eric Blake  <ebb9@byu.net>
5654
5655         multiarch: avoid expand-before-require warning
5656         * modules/multiarch (configure.ac): Require, rather than expand,
5657         gl_MULTIARCH.
5658         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
5659         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
5660         enforce that all clients require it.  Partial reversion of
5661         2008-12-29 patch.
5662
5663         error: avoid expand-before-require warning
5664         * modules/errno (configure.ac): Require, rather than expand,
5665         gl_HEADER_ERRNO_H.
5666         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
5667         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
5668         enforce that all clients require it.
5669
5670         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
5671         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
5672         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
5673         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
5674
5675 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
5676
5677         Revert:
5678         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
5679
5680         regex: do not depend on obsolete modules.
5681         * modules/regex: Remove memcmp and memmove.
5682
5683 2009-01-20  Bruno Haible  <bruno@clisp.org>
5684
5685         Make the 'link' module link on Windows NT 4.
5686         * lib/link.c (_WIN32_WINNT): Don't define.
5687         (CreateHardLinkFuncType): New type.
5688         (CreateHardLinkFunc, initialized): New variables.
5689         (initialize): New function.
5690         (link): Invoke CreateHardLink indirectly through the function pointer.
5691
5692 2009-01-20  Bruno Haible  <bruno@clisp.org>
5693
5694         Fix compilation failure on mingw.
5695         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
5696
5697 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
5698
5699         * doc/c-strtod.texi: Mention a couple of restrictions.
5700
5701 2009-01-20  Jim Meyering  <meyering@redhat.com>
5702
5703         gettimeofday: move more declarations out of functions
5704         * lib/gettimeofday.c: Move extern declarations of tzset and
5705         gmtime out of containing functions.  Prompted by Bruno Haible.
5706
5707 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
5708
5709         regex: do not depend on obsolete modules.
5710         * modules/regex: Remove memcmp and memmove.
5711
5712 2009-01-19  Bruno Haible  <bruno@clisp.org>
5713
5714         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
5715         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
5716         gl_BIGENDIAN, not AC_C_BIGENDIAN.
5717         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
5718         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
5719
5720 2009-01-19  Bruno Haible  <bruno@clisp.org>
5721
5722         * tests/test-link.c: Include <errno.h>.
5723         (main): Exit with code 77 when a hard link cannot be created due to
5724         the file system.
5725         * tests/test-link.sh: Skip test when a hard link cannot be created due
5726         to the file system.
5727         Suggested by Eric Blake.
5728
5729 2009-01-19  Martin Lambers  <marlam@marlam.de>
5730
5731         * modules/link-tests: New file.
5732         * tests/test-link.sh: New file.
5733         * tests/test-link.c: New file.
5734
5735 2009-01-19  Eric Blake  <ebb9@byu.net>
5736
5737         doc: mention another function added in cygwin 1.7.0
5738         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
5739         Another new function in cygwin 1.7.
5740
5741 2009-01-19  Bruno Haible  <bruno@clisp.org>
5742
5743         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
5744         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
5745         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
5746         gl_BIGENDIAN, not AC_C_BIGENDIAN.
5747         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5748         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
5749         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5750         * m4/md4.m4 (gl_MD4): Likewise.
5751         * m4/md5.m4 (gl_MD5): Likewise.
5752         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
5753         * m4/sha1.m4 (gl_SHA1): Likewise.
5754         * m4/sha256.m4 (gl_SHA256): Likewise.
5755         * m4/sha512.m4 (gl_SHA512): Likewise.
5756
5757 2009-01-19  Bruno Haible  <bruno@clisp.org>
5758
5759         * modules/uniname/uniname-tests (Depends-on): Add progname.
5760         * tests/uniname/test-uninames.c: Include progname.h.
5761         (main): Call set_program_name.
5762
5763         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
5764         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
5765         (main): Call set_program_name.
5766
5767         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
5768         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
5769         (main): Call set_program_name.
5770
5771         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
5772         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
5773         (main): Call set_program_name.
5774
5775         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
5776         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
5777         (main): Call set_program_name.
5778
5779         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
5780         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
5781         (main): Call set_program_name.
5782
5783         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
5784         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
5785         (main): Call set_program_name.
5786
5787         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
5788         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
5789         (main): Call set_program_name.
5790
5791         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
5792         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
5793         (main): Call set_program_name.
5794
5795 2009-01-19  Eric Blake  <ebb9@byu.net>
5796
5797         test-unistd: test previous patch
5798         * tests/test-unistd.c: Test *_FILENO macros.
5799
5800         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
5801         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
5802         Guarantee a definition.
5803         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
5804         * modules/unistd-safer (Depends-on): Add dependency on unistd.
5805         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
5806         * lib/dup-safer.c (STDERR_FILENO): Likewise.
5807         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
5808         Likewise.
5809         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
5810         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
5811         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
5812         Likewise.
5813         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
5814         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
5815         (STDERR_FILENO): Likewise.
5816         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
5817         (STDERR_FILENO): Likewise.
5818         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
5819         (STDERR_FILENO): Likewise.
5820         Reported by Elbert Pol.
5821
5822 2009-01-19  Eric Blake  <ebb9@byu.net>
5823
5824         doc: mention more functions added in cygwin 1.7.0
5825         * doc/posix-functions/abort.texi (abort): Update wording related
5826         to cygwin.
5827         * doc/posix-functions/daylight.texi (daylight): Likewise.
5828         * doc/posix-functions/optarg.texi (optarg): Likewise.
5829         * doc/posix-functions/optarg.texi (opterr): Likewise.
5830         * doc/posix-functions/optarg.texi (optind): Likewise.
5831         * doc/posix-functions/optarg.texi (optopt): Likewise.
5832         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
5833         worked in 1.5.x, and was withdrawn in 1.7.
5834         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
5835         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
5836         cygwin versions.
5837         * doc/posix-functions/perror.texi (perror): Likewise.
5838         * doc/posix-functions/printf.texi (printf): Likewise.
5839         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
5840         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
5841         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
5842         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
5843         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5844         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
5845         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
5846         Likewise.
5847         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
5848         Likewise.
5849         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
5850         this function.
5851         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
5852         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
5853         Likewise.
5854         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
5855         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
5856         * doc/posix-functions/confstr.texi (confstr): Likewise.
5857         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
5858         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
5859         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
5860         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
5861         * doc/posix-functions/fputws.texi (fputws): Likewise.
5862         * doc/posix-functions/fwide.texi (fwide): Likewise.
5863         * doc/posix-functions/getwc.texi (getwc): Likewise.
5864         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
5865         * doc/posix-functions/putwc.texi (putwc): Likewise.
5866         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
5867         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
5868         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
5869         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
5870         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
5871         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
5872         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
5873         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
5874         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
5875         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
5876         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
5877
5878 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
5879
5880         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
5881         * lib/ioctl.c: Include <sys/ioctl.h>.
5882
5883 2009-01-19  Simon Josefsson  <simon@josefsson.org>
5884
5885         * modules/getdate-tests (Depends-on): Add progname.
5886         * tests/test-getdate.c: Use progname module, to avoid link errors
5887         on non-glibc systems.
5888
5889 2009-01-18  Simon Josefsson  <simon@josefsson.org>
5890
5891         * modules/filenamecat-tests (Depends-on): Add progname.
5892         * modules/fstrcmp-tests (Depends-on): Likewise.
5893
5894         * tests/test-filenamecat.c: Use progname module, to avoid link
5895         errors on non-glibc systems.
5896         * tests/test-fstrcmp.c: Likewise.
5897
5898 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
5899
5900         gettimeofday: avoid warning: nested extern declaration of 'localtime'
5901         * lib/gettimeofday.c: Move extern declaration out of function.
5902
5903 2009-01-18  Bruno Haible  <bruno@clisp.org>
5904
5905         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
5906         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
5907         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
5908
5909 2009-01-18  Bruno Haible  <bruno@clisp.org>
5910
5911         * lib/strftime.c (MEMPCPY): Remove unused macro.
5912         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
5913
5914 2009-01-18  Martin Lambers  <marlam@marlam.de>
5915
5916         New module 'link'.
5917         * lib/unistd.in.h (link): New declaration.
5918         * lib/link.c: New file.
5919         * m4/link.m4: New file.
5920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
5921         HAVE_LINK.
5922         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
5923         * modules/link: New file.
5924         * doc/posix-functions/link.texi: Mention the new module.
5925
5926 2009-01-18  Bruno Haible  <bruno@clisp.org>
5927
5928         * tests/test-avltree_list.c (main): Call set_program_name.
5929         * tests/test-avltree_oset.c (main): Likewise.
5930         * tests/test-obstack-printf.c: Include progname.h.
5931         (main): Call set_program_name.
5932         * tests/test-quotearg.c: Include progname.h.
5933         (main): Call set_program_name.
5934         * tests/test-xmemdup0.c: Include progname.h.
5935         (main): Call set_program_name.
5936
5937 2009-01-18  Bruno Haible  <bruno@clisp.org>
5938
5939         New module 'alphasort'.
5940         * lib/dirent.in.h (alphasort): New declaration.
5941         * lib/alphasort.c: New file, from glibc with modifications.
5942         * m4/alphasort.m4: New file.
5943         * modules/alphasort: New file.
5944         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
5945         HAVE_ALPHASORT.
5946         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
5947         HAVE_ALPHASORT.
5948         * doc/posix-functions/alphasort.texi: Mention the new module and the
5949         portability problems.
5950
5951 2009-01-18  Bruno Haible  <bruno@clisp.org>
5952
5953         New module 'scandir'.
5954         * lib/dirent.in.h (scandir): New declaration.
5955         * lib/scandir.c: New file, from glibc with modifications.
5956         * m4/scandir.m4: New file.
5957         * modules/scandir: New file.
5958         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
5959         HAVE_SCANDIR.
5960         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
5961         HAVE_SCANDIR.
5962         * doc/posix-functions/scandir.texi: Mention the new module and the
5963         portability problems.
5964
5965 2009-01-17  Bruno Haible  <bruno@clisp.org>
5966
5967         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
5968         Update documentation.
5969         (func_remove_suffix): Escape all dots in the suffix. Update
5970         documentation.
5971         (func_filter_filelist): Update documentation.
5972         Reported by Ralf Wildenhues.
5973
5974 2009-01-17  Bruno Haible  <bruno@clisp.org>
5975
5976         * modules/dprintf-posix-tests: New file.
5977         * tests/test-dprintf-posix.sh: New file.
5978         * tests/test-dprintf-posix.c: New file.
5979
5980         New modules 'dprintf', 'dprintf-posix'.
5981         * lib/stdio.in.h (dprintf): New declaration.
5982         * lib/dprintf.c: New file.
5983         * m4/dprintf.m4: New file.
5984         * m4/dprintf-posix.m4: New file.
5985         * modules/dprintf: New file.
5986         * modules/dprintf-posix: New file.
5987         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
5988         HAVE_DPRINTF, REPLACE_DPRINTF.
5989         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
5990         HAVE_DPRINTF, REPLACE_DPRINTF.
5991         * doc/posix-functions/dprintf.texi: Mention the new modules.
5992
5993 2009-01-17  Bruno Haible  <bruno@clisp.org>
5994
5995         * modules/vdprintf-posix-tests: New file.
5996         * tests/test-vdprintf-posix.sh: New file.
5997         * tests/test-vdprintf-posix.c: New file.
5998
5999         New modules 'vdprintf', 'vdprintf-posix'.
6000         * lib/stdio.in.h (vdprintf): New declaration.
6001         * lib/vdprintf.c: New file.
6002         * m4/vdprintf.m4: New file.
6003         * m4/vdprintf-posix.m4: New file.
6004         * modules/vdprintf: New file.
6005         * modules/vdprintf-posix: New file.
6006         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
6007         HAVE_VDPRINTF, REPLACE_VDPRINTF.
6008         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
6009         HAVE_VDPRINTF, REPLACE_VDPRINTF.
6010         * doc/posix-functions/vdprintf.texi: Mention the new modules.
6011
6012 2009-01-17  Bruno Haible  <bruno@clisp.org>
6013
6014         Fix replacement of fopen on mingw.
6015         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
6016         mingw.
6017
6018 2009-01-17  Bruno Haible  <bruno@clisp.org>
6019
6020         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
6021         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
6022
6023 2009-01-17  Bruno Haible  <bruno@clisp.org>
6024
6025         Avoid test-fflush2.sh failure on mingw.
6026         * tests/test-fflush2.c: Include binary-io.h.
6027         (main): Put standard input into binary mode.
6028         * modules/fflush-tests (Depends-on): Add binary-io.
6029
6030 2009-01-17  Bruno Haible  <bruno@clisp.org>
6031
6032         * lib/wchar.in.h: In another particular situation, include only the
6033         system's <wchar.h> file.
6034         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
6035         Reported by Albert Chin-A-Young <china@thewrittenword.com>
6036         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
6037
6038 2009-01-17  Bruno Haible  <bruno@clisp.org>
6039
6040         Support for stripping executables in --enable-relocatable.
6041         * build-aux/install-reloc: Expect one more argument, or an environment
6042         variable RELOC_STRIP_PROG. If set, strip the destination program and
6043         its wrapper.
6044         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
6045         RELOC_STRIP_PROG.
6046         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
6047         to set RELOCATABLE_STRIP.
6048         * NEWS: Mention the new Makefile requirement.
6049
6050 2009-01-17  Bruno Haible  <bruno@clisp.org>
6051
6052         * build-aux/install-reloc: Remove debugging information left over by
6053         C compiler on MacOS X.
6054
6055 2009-01-17  Bruno Haible  <bruno@clisp.org>
6056
6057         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
6058         * lib/progreloc.c (find_executable): Fix type of pointer passed to
6059         _NSGetExecutablePath.
6060
6061 2009-01-16  Jim Meyering  <meyering@redhat.com>
6062
6063         strerror: avoid warnings about discarding "const"
6064         * lib/strerror.c (rpl_strerror): Instead of returning a const
6065         string from each and every "case", use a variable, and add a single
6066         cast after the switch.
6067
6068 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
6069
6070         * lib/arpa_inet.in.h: Add extern "C" block for C++.
6071
6072 2009-01-16  Bruno Haible  <bruno@clisp.org>
6073
6074         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
6075         array initializer syntax that also works in C++ mode.
6076         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6077
6078 2009-01-16  Jim Meyering  <meyering@redhat.com>
6079
6080         poll: suppress a warning
6081         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
6082         to ignore "...unsigned expression < 0 is always false" warnings.
6083
6084 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
6085
6086         poll: remove declarations of unused variables
6087         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
6088         sockbuf and optlen.
6089
6090 2009-01-15  Bruno Haible  <bruno@clisp.org>
6091
6092         Make fflush-after-ungetc POSIX compliant on BSD systems.
6093         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
6094         (clear_ungetc_buffer): Implement also for other systems.
6095         (rpl_fflush): On glibc systems, invoke
6096         clear_ungetc_buffer_preserving_position. Otherwise, invoke
6097         clear_ungetc_buffer after fetching the stream's position, not before.
6098
6099 2009-01-15  Bruno Haible  <bruno@clisp.org>
6100
6101         Make fflush-after-ungetc POSIX compliant on glibc systems.
6102         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
6103         after ungetc.
6104         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
6105         (rpl_fflush): On glibc systems, simply call the system's fflush
6106         function after clearing the ungetc buffer.
6107         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
6108         Instead, lseek only to the end of file, then use the system's fseeko
6109         for the rest. On glibc systems, reset the EOF indicator bit.
6110
6111 2009-01-15  Jim Meyering  <meyering@redhat.com>
6112
6113         openmp.m4: revert quote-adding change, for portability to older autoconf
6114         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
6115         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
6116         Simon Josefsson noticed the problem when using autoconf-2.61.
6117
6118 2009-01-15  Bruno Haible  <bruno@clisp.org>
6119
6120         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
6121         * tests/test-fflush2.c (ASSERT): Always fail.
6122         (main): Add two tests for fflush() after ungetc(), taking into account
6123         the Austin Group's clarification.
6124         Suggested by Eric Blake.
6125
6126 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
6127
6128         mktime.m4: remove K&R-style function prototypes
6129         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
6130         for the Sun C++ compiler.
6131
6132 2009-01-14  Bruno Haible  <bruno@clisp.org>
6133
6134         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
6135         while including <wchar.h>.
6136         * lib/wchar.in.h: In two particular situations on HP-UX, include only
6137         the system's <wchar.h> file.
6138         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6139
6140 2009-01-14  Bruno Haible  <bruno@clisp.org>
6141
6142         * m4/csharp.m4: Don't mention gettext on the serial number line.
6143         * m4/csharpexec.m4: Likewise.
6144         * m4/eaccess.m4: Likewise.
6145         * m4/javaexec.m4: Likewise.
6146         * m4/sig_atomic_t.m4: Likewise.
6147         * m4/tmpdir.m4: Likewise.
6148         * m4/intldir.m4: Bump gettext version.
6149         * m4/lib-ld.m4: Likewise.
6150
6151 2009-01-14  Bruno Haible  <bruno@clisp.org>
6152
6153         * lib/progname.c (set_program_name): Add more comments.
6154         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
6155
6156 2009-01-14  Simon Josefsson  <simon@josefsson.org>
6157
6158         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
6159         were sys/stat.h does not define it.
6160
6161 2009-01-14  Jim Meyering  <meyering@redhat.com>
6162
6163         many *.m4 files: improve m4 quoting
6164         99% of this change was performed by running the following commands:
6165         git ls-files | grep '\.m4$' | xargs perl -pi \
6166           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
6167           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
6168           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
6169           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
6170         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
6171         The remainder were to add Copyright dates, increment serial numbers,
6172         undo some changes in comments, exclude m4/intl.m4, and add quotes
6173         around the "1" in ",1" where the unusual spacing prohibited the
6174         above regexps from doing the job.  For more details, see
6175         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
6176         * m4/acl.m4: Modified.
6177         * m4/afs.m4: Likewise.
6178         * m4/alloca.m4: Likewise.
6179         * m4/argp.m4: Likewise.
6180         * m4/argz.m4: Likewise.
6181         * m4/atexit.m4: Likewise.
6182         * m4/bison-i18n.m4: Likewise.
6183         * m4/bison.m4: Likewise.
6184         * m4/byteswap.m4: Likewise.
6185         * m4/c-stack.m4: Likewise.
6186         * m4/c-strtod.m4: Likewise.
6187         * m4/calloc.m4: Likewise.
6188         * m4/canonicalize-lgpl.m4: Likewise.
6189         * m4/chown.m4: Likewise.
6190         * m4/clock_time.m4: Likewise.
6191         * m4/codeset.m4: Likewise.
6192         * m4/copy-file.m4: Likewise.
6193         * m4/csharp.m4: Likewise.
6194         * m4/csharpcomp.m4: Likewise.
6195         * m4/csharpexec.m4: Likewise.
6196         * m4/d-ino.m4: Likewise.
6197         * m4/d-type.m4: Likewise.
6198         * m4/dirfd.m4: Likewise.
6199         * m4/double-slash-root.m4: Likewise.
6200         * m4/eaccess.m4: Likewise.
6201         * m4/eealloc.m4: Likewise.
6202         * m4/environ.m4: Likewise.
6203         * m4/errno_h.m4: Likewise.
6204         * m4/euidaccess.m4: Likewise.
6205         * m4/execute.m4: Likewise.
6206         * m4/fatal-signal.m4: Likewise.
6207         * m4/fchdir.m4: Likewise.
6208         * m4/fcntl_h.m4: Likewise.
6209         * m4/fileblocks.m4: Likewise.
6210         * m4/filenamecat.m4: Likewise.
6211         * m4/findprog.m4: Likewise.
6212         * m4/flexmember.m4: Likewise.
6213         * m4/fnmatch.m4: Likewise.
6214         * m4/fopen.m4: Likewise.
6215         * m4/fpending.m4: Likewise.
6216         * m4/fprintf-posix.m4: Likewise.
6217         * m4/free.m4: Likewise.
6218         * m4/frexp.m4: Likewise.
6219         * m4/frexpl.m4: Likewise.
6220         * m4/fsusage.m4: Likewise.
6221         * m4/ftruncate.m4: Likewise.
6222         * m4/gc-camellia.m4: Likewise.
6223         * m4/gc-random.m4: Likewise.
6224         * m4/gc.m4: Likewise.
6225         * m4/getaddrinfo.m4: Likewise.
6226         * m4/getcwd-abort-bug.m4: Likewise.
6227         * m4/getcwd-path-max.m4: Likewise.
6228         * m4/getdate.m4: Likewise.
6229         * m4/getdomainname.m4: Likewise.
6230         * m4/getgroups.m4: Likewise.
6231         * m4/gethostname.m4: Likewise.
6232         * m4/gethrxtime.m4: Likewise.
6233         * m4/getline.m4: Likewise.
6234         * m4/getloadavg.m4: Likewise.
6235         * m4/getndelim2.m4: Likewise.
6236         * m4/getpass.m4: Likewise.
6237         * m4/gettext.m4: Likewise.
6238         * m4/gettime.m4: Likewise.
6239         * m4/gettimeofday.m4: Likewise.
6240         * m4/gnulib-common.m4: Likewise.
6241         * m4/group-member.m4: Likewise.
6242         * m4/host-os.m4: Likewise.
6243         * m4/iconv.m4: Likewise.
6244         * m4/iconv_open.m4: Likewise.
6245         * m4/inet_ntop.m4: Likewise.
6246         * m4/inet_pton.m4: Likewise.
6247         * m4/inline.m4: Likewise.
6248         * m4/intldir.m4: Likewise.
6249         * m4/intlmacosx.m4: Likewise.
6250         * m4/intmax.m4: Likewise.
6251         * m4/intmax_t.m4: Likewise.
6252         * m4/inttypes.m4: Likewise.
6253         * m4/inttypes_h.m4: Likewise.
6254         * m4/inttypes-pri.m4: Likewise.
6255         * m4/isapipe.m4: Likewise.
6256         * m4/isnand.m4: Likewise.
6257         * m4/isnanf.m4: Likewise.
6258         * m4/isnanl.m4: Likewise.
6259         * m4/javacomp.m4: Likewise.
6260         * m4/javaexec.m4: Likewise.
6261         * m4/jm-winsz1.m4: Likewise.
6262         * m4/jm-winsz2.m4: Likewise.
6263         * m4/lchown.m4: Likewise.
6264         * m4/lcmessage.m4: Likewise.
6265         * m4/ldexpl.m4: Likewise.
6266         * m4/lib-ld.m4: Likewise.
6267         * m4/lib-link.m4: Likewise.
6268         * m4/libsigsegv.m4: Likewise.
6269         * m4/link-follow.m4: Likewise.
6270         * m4/localcharset.m4: Likewise.
6271         * m4/locale-fr.m4: Likewise.
6272         * m4/locale-ja.m4: Likewise.
6273         * m4/locale-tr.m4: Likewise.
6274         * m4/locale-zh.m4: Likewise.
6275         * m4/lock.m4: Likewise.
6276         * m4/longlong.m4: Likewise.
6277         * m4/ls-mntd-fs.m4: Likewise.
6278         * m4/lstat.m4: Likewise.
6279         * m4/malloc.m4: Likewise.
6280         * m4/mathl.m4: Likewise.
6281         * m4/mbrtowc.m4: Likewise.
6282         * m4/mbstate_t.m4: Likewise.
6283         * m4/mbswidth.m4: Likewise.
6284         * m4/memchr.m4: Likewise.
6285         * m4/memcmp.m4: Likewise.
6286         * m4/memcpy.m4: Likewise.
6287         * m4/memmem.m4: Likewise.
6288         * m4/memmove.m4: Likewise.
6289         * m4/mempcpy.m4: Likewise.
6290         * m4/memrchr.m4: Likewise.
6291         * m4/memset.m4: Likewise.
6292         * m4/minmax.m4: Likewise.
6293         * m4/mkdir-slash.m4: Likewise.
6294         * m4/mkdtemp.m4: Likewise.
6295         * m4/mktime.m4: Likewise.
6296         * m4/mmap-anon.m4: Likewise.
6297         * m4/mountlist.m4: Likewise.
6298         * m4/nanosleep.m4: Likewise.
6299         * m4/nls.m4: Likewise.
6300         * m4/nocrash.m4: Likewise.
6301         * m4/open.m4: Likewise.
6302         * m4/openat.m4: Likewise.
6303         * m4/openmp.m4: Likewise.
6304         * m4/pathmax.m4: Likewise.
6305         * m4/perl.m4: Likewise.
6306         * m4/physmem.m4: Likewise.
6307         * m4/pipe.m4: Likewise.
6308         * m4/po.m4: Likewise.
6309         * m4/poll.m4: Likewise.
6310         * m4/posixtm.m4: Likewise.
6311         * m4/posixver.m4: Likewise.
6312         * m4/printf-frexp.m4: Likewise.
6313         * m4/printf-frexpl.m4: Likewise.
6314         * m4/printf-posix.m4: Likewise.
6315         * m4/printf-posix-rpl.m4: Likewise.
6316         * m4/printf.m4: Likewise.
6317         * m4/progtest.m4: Likewise.
6318         * m4/putenv.m4: Likewise.
6319         * m4/readline.m4: Likewise.
6320         * m4/readlink.m4: Likewise.
6321         * m4/readutmp.m4: Likewise.
6322         * m4/realloc.m4: Likewise.
6323         * m4/regex.m4: Likewise.
6324         * m4/relocatable.m4: Likewise.
6325         * m4/relocatable-lib.m4: Likewise.
6326         * m4/rename-dest-slash.m4: Likewise.
6327         * m4/rename.m4: Likewise.
6328         * m4/rmdir-errno.m4: Likewise.
6329         * m4/rmdir.m4: Likewise.
6330         * m4/roundf.m4: Likewise.
6331         * m4/roundl.m4: Likewise.
6332         * m4/rpmatch.m4: Likewise.
6333         * m4/save-cwd.m4: Likewise.
6334         * m4/selinux-selinux-h.m4: Likewise.
6335         * m4/setenv.m4: Likewise.
6336         * m4/settime.m4: Likewise.
6337         * m4/sig2str.m4: Likewise.
6338         * m4/sig_atomic_t.m4: Likewise.
6339         * m4/signalblocking.m4: Likewise.
6340         * m4/signbit.m4: Likewise.
6341         * m4/sigpipe.m4: Likewise.
6342         * m4/sockets.m4: Likewise.
6343         * m4/sockpfaf.m4: Likewise.
6344         * m4/st_dm_mode.m4: Likewise.
6345         * m4/stat-time.m4: Likewise.
6346         * m4/stdbool.m4: Likewise.
6347         * m4/stdint.m4: Likewise.
6348         * m4/stdint_h.m4: Likewise.
6349         * m4/stpcpy.m4: Likewise.
6350         * m4/stpncpy.m4: Likewise.
6351         * m4/strcase.m4: Likewise.
6352         * m4/strchrnul.m4: Likewise.
6353         * m4/strcspn.m4: Likewise.
6354         * m4/strdup.m4: Likewise.
6355         * m4/strftime.m4: Likewise.
6356         * m4/strndup.m4: Likewise.
6357         * m4/strnlen.m4: Likewise.
6358         * m4/strpbrk.m4: Likewise.
6359         * m4/strptime.m4: Likewise.
6360         * m4/strsep.m4: Likewise.
6361         * m4/strtod.m4: Likewise.
6362         * m4/strtoimax.m4: Likewise.
6363         * m4/strtok_r.m4: Likewise.
6364         * m4/strtol.m4: Likewise.
6365         * m4/strtoll.m4: Likewise.
6366         * m4/strtoul.m4: Likewise.
6367         * m4/strtoull.m4: Likewise.
6368         * m4/strtoumax.m4: Likewise.
6369         * m4/strverscmp.m4: Likewise.
6370         * m4/threadlib.m4: Likewise.
6371         * m4/timegm.m4: Likewise.
6372         * m4/tm_gmtoff.m4: Likewise.
6373         * m4/tmpdir.m4: Likewise.
6374         * m4/tmpfile.m4: Likewise.
6375         * m4/tzset.m4: Likewise.
6376         * m4/uintmax_t.m4: Likewise.
6377         * m4/unlinkdir.m4: Likewise.
6378         * m4/unlocked-io.m4: Likewise.
6379         * m4/uptime.m4: Likewise.
6380         * m4/userspec.m4: Likewise.
6381         * m4/utimbuf.m4: Likewise.
6382         * m4/utime.m4: Likewise.
6383         * m4/utimes-null.m4: Likewise.
6384         * m4/utimes.m4: Likewise.
6385         * m4/vararrays.m4: Likewise.
6386         * m4/vasnprintf.m4: Likewise.
6387         * m4/vfprintf-posix.m4: Likewise.
6388         * m4/vprintf-posix.m4: Likewise.
6389         * m4/wait-process.m4: Likewise.
6390         * m4/wchar_t.m4: Likewise.
6391         * m4/wint_t.m4: Likewise.
6392         * m4/write-any-file.m4: Likewise.
6393         * m4/yield.m4: Likewise.
6394
6395 2009-01-13  Bruno Haible  <bruno@clisp.org>
6396
6397         Avoid test-copy-file.sh failures when ACL support insufficient.
6398         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
6399         TESTS_ENVIRONMENT.
6400         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
6401         Reported by Jim Meyering.
6402
6403 2009-01-13  Bruno Haible  <bruno@clisp.org>
6404
6405         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
6406         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
6407         * modules/unistdio/u8-printf-parse (Files): Likewise.
6408         * modules/unistdio/u32-printf-parse (Files): Likewise.
6409         * modules/unistdio/ulc-printf-parse (Files): Likewise.
6410
6411 2009-01-13  Simon Josefsson  <simon@josefsson.org>
6412
6413         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
6414         and m4/inttypes_h.m4 too.
6415
6416 2009-01-12  Eric Blake  <ebb9@byu.net>
6417
6418         tests: IRIX 6.2 cc can't compile -0.0 into .data
6419         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
6420         rather than at compile-time.
6421         * tests/test-floorl.c (minus_zero): Likewise.
6422         * tests/test-frexpl.c (minus_zero): Likewise.
6423         * tests/test-isnan.c (minus_zerol): Likewise.
6424         * tests/test-isnanl.h (minus_zero): Likewise.
6425         * tests/test-ldexpl.c (minus_zero): Likewise.
6426         * tests/test-roundl.c (minus_zero): Likewise.
6427         * tests/test-signbit.c (minus_zerol): Likewise.
6428         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
6429         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
6430         * tests/test-truncl.c (minus_zero): Likewise.
6431         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
6432         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
6433         Reported by Tom G. Christensen and Nelson H. F. Beebe.
6434
6435 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
6436
6437         regex: fix glibc bug 9697
6438         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
6439         handling.
6440
6441 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
6442
6443         regex: fix glibc bug 697
6444         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
6445         being NULL also if there are no backreferences.
6446
6447 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
6448
6449         regex: merge glibc changes
6450         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
6451         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
6452         re_string_skip_chars, re_string_reconstruct): Likewise.
6453         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
6454
6455 2009-01-07  Jim Meyering  <meyering@redhat.com>
6456
6457         poll: filter through cppi
6458         * lib/poll.c: Indent cpp directives to reflect nesting.
6459
6460 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
6461
6462         poll: don't return uninitialized
6463         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
6464
6465 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
6466
6467         avoid compile failure on AIX 6.1
6468         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
6469         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
6470
6471 2009-01-04  Jim Meyering  <meyering@redhat.com>
6472
6473         remove duplicate inclusion of <stdio.h>
6474         * tests/test-fprintf-posix.c: Likewise.
6475         * tests/test-printf-posix.c: Likewise.
6476         * tests/test-snprintf-posix.c: Likewise.
6477         * tests/test-sprintf-posix.c: Likewise.
6478         * tests/test-vasprintf-posix.c: Likewise.
6479         * tests/test-vfprintf-posix.c: Likewise.
6480         * tests/test-vprintf-posix.c: Likewise.
6481         * tests/test-vsnprintf-posix.c: Likewise.
6482         * tests/test-vsprintf-posix.c: Likewise.
6483
6484 2009-01-03  Jim Meyering  <meyering@redhat.com>
6485
6486         gnulib-tool: fix sed-based filtering
6487         * gnulib-tool (func_filter_filelist): Remove extra backslash
6488         in sed_fff_filter definition.
6489
6490 2009-01-02  Jim Meyering  <meyering@redhat.com>
6491
6492         strftime: avoid compilation failure on Solaris 2.6
6493         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
6494         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
6495         Don't #define mbrlen or mbsinit, since now they're guaranteed to
6496         be available.  Reported by Tom G. Christensen.  Details in
6497         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
6498
6499 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6500             Bruno Haible  <bruno@clisp.org>
6501
6502         Speed up gnulib-tool by doing more string processing through shell
6503         built-ins.
6504         * gnulib-tool (fast_func_append): New variable.
6505         (func_remove_prefix, func_remove_suffix): New functions.
6506         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
6507         (func_filter_filelist): New function.
6508         (func_get_dependencies): Use func_remove_suffix instead of sed.
6509         (func_get_automake_snippet): Use func_filter_filelist instead of a
6510         subshell and sed invocation.
6511
6512 2009-01-01  Bruno Haible  <bruno@clisp.org>
6513
6514         Fix a security bug.
6515         * gnulib-tool (func_import, import, update): Don't allow the characters
6516         '"', '$', '`', '\' in macro arguments that become part of commands that
6517         are evaluated.
6518
6519 2009-01-01  Bruno Haible  <bruno@clisp.org>
6520
6521         * gnulib-tool (func_reset_sigpipe): Add more comments.
6522
6523 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6524
6525         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
6526         func_emit_tests_Makefile_am, func_import): Abort loops early if we
6527         already know the answer.
6528
6529 2009-01-01  Jim Meyering  <meyering@redhat.com>
6530
6531         * lib/version-etc.c (version_etc_va): Update copyright year.
6532
6533 2008-12-30  Bruno Haible  <bruno@clisp.org>
6534
6535         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
6536         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
6537         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
6538
6539 2008-12-29  Eric Blake  <ebb9@byu.net>
6540
6541         multiarch: avoid autoconf AC_REQUIRE bug
6542         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
6543         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
6544         2.63 and older.
6545         Reported by Bruno Haible, and analyzed in
6546         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
6547
6548 2008-12-29  Bruno Haible  <bruno@clisp.org>
6549
6550         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
6551         files in subdirectories correctly.
6552         Reported by Ralf Wildenhues.
6553
6554 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6555
6556         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
6557         rather than 'join FILE -', for Solaris join.
6558
6559 2008-12-29  Bruno Haible  <bruno@clisp.org>
6560
6561         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
6562         quoting.
6563         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
6564         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6565         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6566         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
6567         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
6568         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
6569         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
6570         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
6571         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6572         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
6573         * m4/nls.m4 (AM_NLS): Likewise.
6574         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
6575         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
6576         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
6577         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
6578         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
6579         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
6580         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
6581         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
6582         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
6583         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
6584         * m4/xsize.m4 (gl_XSIZE): Likewise.
6585         Suggested by Jim Meyering.
6586
6587 2008-11-17  Bruce Korb  <bkorb@gnu.org>
6588
6589         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
6590         * lib/parse-duration.c: use a switch instead of cascading if's.
6591
6592 2008-12-29  Eric Blake  <ebb9@byu.net>
6593
6594         wchar.h: supply WEOF on Irix 5.3
6595         * lib/wchar.in.h (wint_t): Also supply WEOF.
6596         * lib/wctype.in.h (wint_t): Likewise.
6597         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
6598         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
6599         Reported by Tom G. Christensen.
6600
6601 2008-12-26  Bruno Haible  <bruno@clisp.org>
6602
6603         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
6604         i486, i586, i686.
6605
6606 2008-12-26  Bruno Haible  <bruno@clisp.org>
6607
6608         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
6609
6610 2008-12-26  Bruno Haible  <bruno@clisp.org>
6611
6612         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
6613         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
6614         not __STDC_CONSTANT_MACROS.
6615         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
6616
6617 2008-12-25  Bruno Haible  <bruno@clisp.org>
6618
6619         Add support for universal builds to vasnprintf.
6620         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
6621         universal builds, guess no.
6622         * modules/vasnprintf-posix (Depends-on): Add multiarch.
6623         * modules/vasprintf-posix (Depends-on): Likewise.
6624         * modules/fprintf-posix (Depends-on): Likewise.
6625         * modules/vfprintf-posix (Depends-on): Likewise.
6626         * modules/snprintf-posix (Depends-on): Likewise.
6627         * modules/vsnprintf-posix (Depends-on): Likewise.
6628         * modules/sprintf-posix (Depends-on): Likewise.
6629         * modules/vsprintf-posix (Depends-on): Likewise.
6630         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
6631         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
6632         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
6633         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
6634         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
6635         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
6636         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
6637
6638         Add support for universal builds to <inttypes.h>.
6639         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
6640         _SCNu64_PREFIX): In Apple
6641         universal builds, define directly, using _LP64.
6642         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
6643         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
6644         * modules/inttypes (Depends-on): Add multiarch.
6645         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
6646
6647         Add support for universal builds to <stdint.h>.
6648         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
6649         universal builds, define directly, using _LP64.
6650         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
6651         Apple universal builds, don't test for the size and suffix of ptrdiff_t
6652         and size_t.
6653         * modules/stdint (Depends-on): Add multiarch.
6654         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
6655
6656         New module 'multiarch'.
6657         * modules/multiarch: New file.
6658         * m4/multiarch.m4: New file.
6659
6660 2008-12-25  Bruno Haible  <bruno@clisp.org>
6661
6662         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
6663
6664 2008-12-25  Bruno Haible  <bruno@clisp.org>
6665
6666         * modules/btowc (License): Relicense under LGPLv2+.
6667         * modules/mbsinit (License): Likewise.
6668         * modules/mbrtowc (License): Likewise.
6669         * modules/wcrtomb (License): Likewise.
6670         * modules/streq (License): Likewise.
6671         Reported by David Lutterkort <lutter@redhat.com>.
6672
6673 2008-12-23  Bruno Haible  <bruno@clisp.org>
6674
6675         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
6676
6677 2008-12-23  Bruno Haible  <bruno@clisp.org>
6678
6679         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
6680         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
6681         GETADDRINFO_LIB, not in LIBS.
6682         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
6683         * modules/canon-host (Link): Likewise.
6684         * NEWS: Mention the change.
6685         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
6686         GETADDRINFO_LIB.
6687
6688 2008-12-22  Bruno Haible  <bruno@clisp.org>
6689
6690         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
6691         * doc/posix-functions/iswalpha_l.texi: Likewise.
6692         * doc/posix-functions/iswblank_l.texi: Likewise.
6693         * doc/posix-functions/iswcntrl_l.texi: Likewise.
6694         * doc/posix-functions/iswctype_l.texi: Likewise.
6695         * doc/posix-functions/iswdigit_l.texi: Likewise.
6696         * doc/posix-functions/iswgraph_l.texi: Likewise.
6697         * doc/posix-functions/iswlower_l.texi: Likewise.
6698         * doc/posix-functions/iswprint_l.texi: Likewise.
6699         * doc/posix-functions/iswpunct_l.texi: Likewise.
6700         * doc/posix-functions/iswspace_l.texi: Likewise.
6701         * doc/posix-functions/iswupper_l.texi: Likewise.
6702         * doc/posix-functions/iswxdigit_l.texi: Likewise.
6703         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
6704         * doc/posix-functions/open_wmemstream.texi: Likewise.
6705         * doc/posix-functions/swscanf.texi: Likewise.
6706         * doc/posix-functions/towctrans_l.texi: Likewise.
6707         * doc/posix-functions/towlower.texi: Likewise.
6708         * doc/posix-functions/towlower_l.texi: Likewise.
6709         * doc/posix-functions/towupper.texi: Likewise.
6710         * doc/posix-functions/towupper_l.texi: Likewise.
6711         * doc/posix-functions/vfwprintf.texi: Likewise.
6712         * doc/posix-functions/vfwscanf.texi: Likewise.
6713         * doc/posix-functions/vswscanf.texi: Likewise.
6714         * doc/posix-functions/vwprintf.texi: Likewise.
6715         * doc/posix-functions/vwscanf.texi: Likewise.
6716         * doc/posix-functions/wcpcpy.texi: Likewise.
6717         * doc/posix-functions/wcpncpy.texi: Likewise.
6718         * doc/posix-functions/wcscasecmp.texi: Likewise.
6719         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
6720         * doc/posix-functions/wcscoll_l.texi: Likewise.
6721         * doc/posix-functions/wcsdup.texi: Likewise.
6722         * doc/posix-functions/wcsncasecmp.texi: Likewise.
6723         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
6724         * doc/posix-functions/wcsnlen.texi: Likewise.
6725         * doc/posix-functions/wcsnrtombs.texi: Likewise.
6726         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
6727         * doc/posix-functions/wctrans_l.texi: Likewise.
6728         * doc/posix-functions/wctype_l.texi: Likewise.
6729         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
6730         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
6731         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
6732         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
6733         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
6734         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
6735         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
6736         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
6737         * doc/glibc-functions/wcschrnul.texi: Likewise.
6738         * doc/glibc-functions/wcsftime_l.texi: Likewise.
6739         * doc/glibc-functions/wcstod_l.texi: Likewise.
6740         * doc/glibc-functions/wcstof_l.texi: Likewise.
6741         * doc/glibc-functions/wcstol_l.texi: Likewise.
6742         * doc/glibc-functions/wcstold_l.texi: Likewise.
6743         * doc/glibc-functions/wcstoll_l.texi: Likewise.
6744         * doc/glibc-functions/wcstoq.texi: Likewise.
6745         * doc/glibc-functions/wcstoul_l.texi: Likewise.
6746         * doc/glibc-functions/wcstoull_l.texi: Likewise.
6747         * doc/glibc-functions/wcstouq.texi: Likewise.
6748         * doc/glibc-functions/wmempcpy.texi: Likewise.
6749
6750 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
6751             Eric Blake  <ebb9@byu.net>
6752             Paolo Bonzini  <bonzini@gnu.org>
6753             Bruno Haible  <bruno@clisp.org>
6754
6755         Make c-stack work on Haiku.
6756         * lib/c-stack.c (SA_ONSTACK): Define fallback.
6757         (c_stack_action): Use SA_ONSTACK flag.
6758
6759 2008-12-22  Bruno Haible  <bruno@clisp.org>
6760
6761         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
6762
6763 2008-12-22  Bruno Haible  <bruno@clisp.org>
6764
6765         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
6766         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
6767         being overridden.
6768         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
6769         New macros.
6770         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
6771         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
6772         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
6773         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
6774
6775 2008-12-22  Bruno Haible  <bruno@clisp.org>
6776
6777         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
6778         from test code.
6779
6780 2008-12-22  Eric Blake  <ebb9@byu.net>
6781
6782         Avoid gcc warnings on cygwin.
6783         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
6784         Avoid unused variable.
6785         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
6786         Likewise.
6787
6788 2008-12-22  Bruno Haible  <bruno@clisp.org>
6789
6790         Remove HAVE_MBRTOWC conditionals.
6791         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
6792         (mbscasecmp): Assume mbrtowc function.
6793         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
6794         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
6795         * lib/mbschr.c: Include mbuiter.h unconditionally.
6796         (mbschr): Assume mbrtowc function.
6797         * lib/mbscspn.c: Include mbuiter.h unconditionally.
6798         (mbscspn): Assume mbrtowc function.
6799         * lib/mbslen.c: Include mbuiter.h unconditionally.
6800         (mbslen): Assume mbrtowc function.
6801         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
6802         (mbsncasecmp): Assume mbrtowc function.
6803         * lib/mbsnlen.c: Include mbiter.h unconditionally.
6804         (mbsnlen): Assume mbrtowc function.
6805         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
6806         (mbspbrk): Assume mbrtowc function.
6807         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
6808         (mbspcasecmp): Assume mbrtowc function.
6809         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
6810         (mbsrchr): Assume mbrtowc function.
6811         * lib/mbssep.c: Include mbuiter.h unconditionally.
6812         (mbssep): Assume mbrtowc function.
6813         * lib/mbsspn.c: Include mbuiter.h unconditionally.
6814         (mbsspn): Assume mbrtowc function.
6815         * lib/mbsstr.c: Include mbuiter.h unconditionally.
6816         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
6817         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
6818         (mbstok_r): Assume mbrtowc function.
6819         * lib/propername.c: Include mbuiter.h unconditionally.
6820         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
6821         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
6822         (trim2): Assume mbrtowc function.
6823         * lib/mbswidth.c (mbsinit): Remove fallback definition.
6824         (mbsnwidth): Assume mbrtowc function.
6825         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
6826         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
6827         fallback definitions.
6828         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
6829
6830 2008-12-22  Bruno Haible  <bruno@clisp.org>
6831
6832         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
6833
6834 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
6835
6836         * modules/regex: Request emulations for the mb*/wc* functions we need.
6837         * m4/regex.m4: Don't look for those functions here.
6838         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
6839
6840 2008-12-22  Bruno Haible  <bruno@clisp.org>
6841
6842         * modules/fnmatch (Depends-on): Remove duplicated dependency.
6843
6844 2008-12-21  Bruno Haible  <bruno@clisp.org>
6845
6846         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
6847         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
6848         (Include): Remove conditionalization.
6849         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
6850         (Include): Remove conditionalization.
6851         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
6852         (Include): Remove conditionalization.
6853         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
6854         * m4/mbfile.m4 (gl_MBFILE): Likewise.
6855         * NEWS: Mention the change.
6856         Reported by Alan Hourihane <alanh@fairlite.co.uk>
6857         via Sergey Poznyakoff <gray@gnu.org.ua>.
6858
6859 2008-12-21  Bruno Haible  <bruno@clisp.org>
6860
6861         * MODULES.html.sh (Extended multibyte and wide character utilities
6862         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
6863         wcrtomb, wcsrtombs.
6864         (Support for systems lacking POSIX:2008): Add accept, bind, close,
6865         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
6866         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
6867         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
6868
6869 2008-12-21  Bruno Haible  <bruno@clisp.org>
6870
6871         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
6872
6873 2008-12-21  Bruno Haible  <bruno@clisp.org>
6874
6875         * modules/wcsnrtombs-tests: New file.
6876         * tests/test-wcsnrtombs1.sh: New file.
6877         * tests/test-wcsnrtombs2.sh: New file.
6878         * tests/test-wcsnrtombs3.sh: New file.
6879         * tests/test-wcsnrtombs4.sh: New file.
6880         * tests/test-wcsnrtombs.c: New file.
6881
6882         New module 'wcsnrtombs'.
6883         * lib/wchar.in.h (wcsnrtombs): New declaration.
6884         * lib/wcsnrtombs.c: New file.
6885         * lib/wcsrtombs-state.c: New file.
6886         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
6887         (internal_state): Remove variable.
6888         * m4/wcsnrtombs.m4: New file.
6889         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
6890         compilation units.
6891         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
6892         HAVE_WCSNRTOMBS.
6893         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
6894         HAVE_WCSNRTOMBS.
6895         * modules/wcsnrtombs: New file.
6896         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
6897         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
6898
6899 2008-12-21  Bruno Haible  <bruno@clisp.org>
6900
6901         * modules/wcsrtombs-tests: New file.
6902         * tests/test-wcsrtombs1.sh: New file.
6903         * tests/test-wcsrtombs2.sh: New file.
6904         * tests/test-wcsrtombs3.sh: New file.
6905         * tests/test-wcsrtombs4.sh: New file.
6906         * tests/test-wcsrtombs.c: New file.
6907
6908         New module 'wcsrtombs'.
6909         * lib/wchar.in.h (wcsrtombs): New declaration.
6910         * lib/wcsrtombs.c: New file.
6911         * m4/wcsrtombs.m4: New file.
6912         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
6913         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
6914         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
6915         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
6916         * modules/wcsrtombs: New file.
6917         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
6918         bugs.
6919
6920 2008-12-21  Bruno Haible  <bruno@clisp.org>
6921
6922         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
6923         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
6924         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
6925         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
6926         if not correct.
6927         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
6928         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
6929         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
6930         m4/locale-zh.m4, m4/codeset.m4.
6931         * doc/posix-functions/wcrtomb.texi: Document the bug.
6932
6933 2008-12-21  Bruno Haible  <bruno@clisp.org>
6934
6935         Work around a btowc() bug on IRIX 6.5.
6936         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
6937         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
6938         REPLACE_WTOBC if not.
6939         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
6940         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
6941         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
6942
6943 2008-12-21  Bruno Haible  <bruno@clisp.org>
6944
6945         * modules/wcrtomb-tests: New file.
6946         * tests/test-wcrtomb.sh: New file.
6947         * tests/test-wcrtomb.c: New file.
6948
6949         New module 'wcrtomb'.
6950         * lib/wchar.in.h (wcrtomb): New declaration.
6951         * lib/wcrtomb.c: New file.
6952         * m4/wcrtomb.m4: New file.
6953         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
6954         HAVE_WCRTOMB.
6955         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
6956         HAVE_WCRTOMB.
6957         * modules/wcrtomb: New file.
6958         * doc/posix-functions/wcrtomb.texi: Mention the new module.
6959
6960 2008-12-21  Bruno Haible  <bruno@clisp.org>
6961
6962         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
6963         * modules/mbsrtowcs (Files): Likewise.
6964         * modules/wctob (Files): Likewise.
6965         * modules/c-strcase-tests (Files): Likewise.
6966         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
6967         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
6968         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
6969         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
6970         * modules/vasnprintf-posix-tests (Files): Likewise.
6971
6972 2008-12-21  William Pursell  <bill.pursell@gmail.com>
6973
6974         gitlog-to-changelog: pass all command-line arguments to git-log
6975         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
6976         it is sometimes convenient to filter the commits in various ways.
6977         gitlog-to-changelog only allows --since to specify a start date,
6978         but git-log itself supports many other filtering mechanisms.
6979         At the moment, I want to filter by branch name.  Rather than
6980         adding a --branch option to gitlog-to-changelog, it seems more
6981         flexible to simply pass all options directly to git-log and let
6982         git do the work.  Notice that this effectively makes --since a
6983         redundant option for gitlog-to-changelog, but removing it would
6984         require current usage to change since calls would then require
6985         an additional '--'.
6986
6987 2008-12-21  Bruno Haible  <bruno@clisp.org>
6988
6989         * modules/mbsnrtowcs-tests: New file.
6990         * tests/test-mbsnrtowcs1.sh: New file.
6991         * tests/test-mbsnrtowcs2.sh: New file.
6992         * tests/test-mbsnrtowcs3.sh: New file.
6993         * tests/test-mbsnrtowcs4.sh: New file.
6994         * tests/test-mbsnrtowcs.c: New file.
6995
6996         New module 'mbsnrtowcs'.
6997         * lib/wchar.in.h (mbsnrtowcs): New declaration.
6998         * lib/mbsnrtowcs.c: New file.
6999         * lib/mbsrtowcs-state.c: New file.
7000         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
7001         (internal_state): Remove variable.
7002         * m4/mbsnrtowcs.m4: New file.
7003         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
7004         compilation units.
7005         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
7006         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
7007         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
7008         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
7009         * modules/mbsnrtowcs: New file.
7010         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
7011         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
7012         portability problem.
7013
7014 2008-12-21  Bruno Haible  <bruno@clisp.org>
7015
7016         Work around mbsrtowcs bug.
7017         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
7018         (gl_FUNC_MBSRTOWCS): Invoke it.
7019         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
7020         m4/locale-zh.m4.
7021         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
7022
7023 2008-12-21  Bruno Haible  <bruno@clisp.org>
7024
7025         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
7026
7027 2008-12-21  Bruno Haible  <bruno@clisp.org>
7028
7029         Update doc for AIX.
7030         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
7031         16-bit wchar_t type.
7032         * doc/posix-functions/btowc.texi: Likewise.
7033         * doc/posix-functions/fgetwc.texi: Likewise.
7034         * doc/posix-functions/fgetws.texi: Likewise.
7035         * doc/posix-functions/fputwc.texi: Likewise.
7036         * doc/posix-functions/fputws.texi: Likewise.
7037         * doc/posix-functions/fwide.texi: Likewise.
7038         * doc/posix-functions/fwprintf.texi: Likewise.
7039         * doc/posix-functions/fwscanf.texi: Likewise.
7040         * doc/posix-functions/getwchar.texi: Likewise.
7041         * doc/posix-functions/getwc.texi: Likewise.
7042         * doc/posix-functions/iswalnum.texi: Likewise.
7043         * doc/posix-functions/iswalpha.texi: Likewise.
7044         * doc/posix-functions/iswblank.texi: Likewise.
7045         * doc/posix-functions/iswcntrl.texi: Likewise.
7046         * doc/posix-functions/iswctype.texi: Likewise.
7047         * doc/posix-functions/iswdigit.texi: Likewise.
7048         * doc/posix-functions/iswgraph.texi: Likewise.
7049         * doc/posix-functions/iswlower.texi: Likewise.
7050         * doc/posix-functions/iswprint.texi: Likewise.
7051         * doc/posix-functions/iswpunct.texi: Likewise.
7052         * doc/posix-functions/iswspace.texi: Likewise.
7053         * doc/posix-functions/iswupper.texi: Likewise.
7054         * doc/posix-functions/iswxdigit.texi: Likewise.
7055         * doc/posix-functions/mbrtowc.texi: Likewise.
7056         * doc/posix-functions/mbsrtowcs.texi: Likewise.
7057         * doc/posix-functions/mbstowcs.texi: Likewise.
7058         * doc/posix-functions/mbtowc.texi: Likewise.
7059         * doc/posix-functions/putwchar.texi: Likewise.
7060         * doc/posix-functions/putwc.texi: Likewise.
7061         * doc/posix-functions/swprintf.texi: Likewise.
7062         * doc/posix-functions/tolower.texi: Likewise.
7063         * doc/posix-functions/toupper.texi: Likewise.
7064         * doc/posix-functions/towctrans.texi: Likewise.
7065         * doc/posix-functions/ungetwc.texi: Likewise.
7066         * doc/posix-functions/vswprintf.texi: Likewise.
7067         * doc/posix-functions/wcrtomb.texi: Likewise.
7068         * doc/posix-functions/wcscat.texi: Likewise.
7069         * doc/posix-functions/wcschr.texi: Likewise.
7070         * doc/posix-functions/wcscmp.texi: Likewise.
7071         * doc/posix-functions/wcscoll.texi: Likewise.
7072         * doc/posix-functions/wcscpy.texi: Likewise.
7073         * doc/posix-functions/wcscspn.texi: Likewise.
7074         * doc/posix-functions/wcsftime.texi: Likewise.
7075         * doc/posix-functions/wcslen.texi: Likewise.
7076         * doc/posix-functions/wcsncat.texi: Likewise.
7077         * doc/posix-functions/wcsncmp.texi: Likewise.
7078         * doc/posix-functions/wcsncpy.texi: Likewise.
7079         * doc/posix-functions/wcspbrk.texi: Likewise.
7080         * doc/posix-functions/wcsrchr.texi: Likewise.
7081         * doc/posix-functions/wcsrtombs.texi: Likewise.
7082         * doc/posix-functions/wcsspn.texi: Likewise.
7083         * doc/posix-functions/wcsstr.texi: Likewise.
7084         * doc/posix-functions/wcstod.texi: Likewise.
7085         * doc/posix-functions/wcstof.texi: Likewise.
7086         * doc/posix-functions/wcstoimax.texi: Likewise.
7087         * doc/posix-functions/wcstok.texi: Likewise.
7088         * doc/posix-functions/wcstold.texi: Likewise.
7089         * doc/posix-functions/wcstoll.texi: Likewise.
7090         * doc/posix-functions/wcstol.texi: Likewise.
7091         * doc/posix-functions/wcstombs.texi: Likewise.
7092         * doc/posix-functions/wcstoull.texi: Likewise.
7093         * doc/posix-functions/wcstoul.texi: Likewise.
7094         * doc/posix-functions/wcstoumax.texi: Likewise.
7095         * doc/posix-functions/wcswidth.texi: Likewise.
7096         * doc/posix-functions/wcsxfrm.texi: Likewise.
7097         * doc/posix-functions/wctob.texi: Likewise.
7098         * doc/posix-functions/wctomb.texi: Likewise.
7099         * doc/posix-functions/wctrans.texi: Likewise.
7100         * doc/posix-functions/wctype.texi: Likewise.
7101         * doc/posix-functions/wcwidth.texi: Likewise.
7102         * doc/posix-functions/wmemchr.texi: Likewise.
7103         * doc/posix-functions/wmemcmp.texi: Likewise.
7104         * doc/posix-functions/wmemcpy.texi: Likewise.
7105         * doc/posix-functions/wmemmove.texi: Likewise.
7106         * doc/posix-functions/wmemset.texi: Likewise.
7107         * doc/posix-functions/wprintf.texi: Likewise.
7108         * doc/posix-functions/wscanf.texi: Likewise.
7109
7110 2008-12-21  Bruno Haible  <bruno@clisp.org>
7111
7112         Update doc for HP-UX 11.11.
7113         * doc/posix-functions/btowc.texi: Clarify that the function is missing
7114         in HP-UX version 11.00, not in all versions of HP-UX 11.
7115         * doc/posix-functions/fwide.texi: Likewise.
7116         * doc/posix-functions/fwprintf.texi: Likewise.
7117         * doc/posix-functions/fwscanf.texi: Likewise.
7118         * doc/posix-functions/inet_ntop.texi: Likewise.
7119         * doc/posix-functions/inet_pton.texi: Likewise.
7120         * doc/posix-functions/mbrlen.texi: Likewise.
7121         * doc/posix-functions/mbrtowc.texi: Likewise.
7122         * doc/posix-functions/mbsinit.texi: Likewise.
7123         * doc/posix-functions/mbsrtowcs.texi: Likewise.
7124         * doc/posix-functions/swprintf.texi: Likewise.
7125         * doc/posix-functions/swscanf.texi: Likewise.
7126         * doc/posix-functions/towctrans.texi: Likewise.
7127         * doc/posix-functions/vfwprintf.texi: Likewise.
7128         * doc/posix-functions/vswprintf.texi: Likewise.
7129         * doc/posix-functions/vwprintf.texi: Likewise.
7130         * doc/posix-functions/wcrtomb.texi: Likewise.
7131         * doc/posix-functions/wcsrtombs.texi: Likewise.
7132         * doc/posix-functions/wcsstr.texi: Likewise.
7133         * doc/posix-functions/wctob.texi: Likewise.
7134         * doc/posix-functions/wctrans.texi: Likewise.
7135         * doc/posix-functions/wmemchr.texi: Likewise.
7136         * doc/posix-functions/wmemcmp.texi: Likewise.
7137         * doc/posix-functions/wmemcpy.texi: Likewise.
7138         * doc/posix-functions/wmemmove.texi: Likewise.
7139         * doc/posix-functions/wmemset.texi: Likewise.
7140         * doc/posix-functions/wprintf.texi: Likewise.
7141         * doc/posix-functions/wscanf.texi: Likewise.
7142
7143 2008-12-21  Bruno Haible  <bruno@clisp.org>
7144
7145         Work around a portability problem.
7146         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
7147         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
7148
7149 2008-12-20  Bruno Haible  <bruno@clisp.org>
7150
7151         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
7152         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
7153         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
7154         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
7155         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
7156
7157         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
7158         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
7159         set.
7160         (GNULIB_defined_mbstate_t): New macro.
7161         (mbsinit): Redefine if REPLACE_MBSINIT is set.
7162         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
7163         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
7164         reuses the system's mbrtowc function but works around the bugs.
7165         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
7166         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
7167         macros.
7168         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
7169         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
7170         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
7171         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
7172         REPLACE_MBSINIT if mbsinit needs to be overridden.
7173         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
7174         REPLACE_MBSINIT, REPLACE_MBRTOWC.
7175         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
7176         REPLACE_MBSINIT, REPLACE_MBRTOWC.
7177         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
7178         m4/locale-zh.m4.
7179         (Depends): Add mbsinit.
7180         * modules/mbsinit (Depends): Add mbrtowc.
7181         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
7182
7183 2008-12-20  Bruno Haible  <bruno@clisp.org>
7184
7185         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
7186         so that there are no conversion errors on AIX.
7187         * tests/test-mbsrtowcs.c (main): LIkewise.
7188
7189 2008-12-20  Bruno Haible  <bruno@clisp.org>
7190
7191         Work around wctob bug on Solaris <= 9.
7192         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
7193         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
7194         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
7195         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
7196         * modules/wctob (Files): Add m4/locale-fr.m4.
7197         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
7198
7199 2008-12-20  Bruno Haible  <bruno@clisp.org>
7200
7201         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
7202         /dev/null.
7203         * tests/test-select-in.sh: Likewise.
7204         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7205
7206 2008-12-20  Bruno Haible  <bruno@clisp.org>
7207
7208         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
7209         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
7210         Cygwin 1.5.x.
7211
7212 2008-12-20  Bruno Haible  <bruno@clisp.org>
7213
7214         Ensure mbstate_t is defined on HP-UX 11.11.
7215         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
7216         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
7217         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
7218         AC_USE_SYSTEM_EXTENSIONS.
7219         * modules/fnmatch (Depends-on): Add extensions.
7220         * modules/mbrlen (Depends-on): Likewise.
7221         * modules/mbrtowc (Depends-on): Likewise.
7222         * modules/mbsinit (Depends-on): Likewise.
7223         * modules/mbsrtowcs (Depends-on): Likewise.
7224         * modules/mbswidth (Depends-on): Likewise.
7225         * modules/quotearg (Depends-on): Likewise.
7226         * modules/strftime (Depends-on): Likewise.
7227
7228 2008-12-20  Bruno Haible  <bruno@clisp.org>
7229
7230         Ensure wctob is declared on IRIX 6.5.
7231         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
7232         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
7233         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
7234         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
7235         of HAVE_WCTOB.
7236         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
7237         HAVE_WCTOB.
7238         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
7239
7240 2008-12-19  Bruno Haible  <bruno@clisp.org>
7241
7242         * modules/mbsrtowcs-tests: New file.
7243         * tests/test-mbsrtowcs1.sh: New file.
7244         * tests/test-mbsrtowcs2.sh: New file.
7245         * tests/test-mbsrtowcs3.sh: New file.
7246         * tests/test-mbsrtowcs4.sh: New file.
7247         * tests/test-mbsrtowcs.c: New file.
7248
7249         New module 'mbsrtowcs'.
7250         * lib/wchar.in.h (mbsrtowcs): New declaration.
7251         * lib/mbsrtowcs.c: New file.
7252         * m4/mbsrtowcs.m4: New file.
7253         * modules/mbsrtowcs: New file.
7254         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
7255         HAVE_MBSRTOWCS.
7256         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
7257         HAVE_MBSRTOWCS.
7258         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
7259
7260 2008-12-19  Bruno Haible  <bruno@clisp.org>
7261
7262         New module 'mbrlen'.
7263         * lib/wchar.in.h (mbrlen): New declaration.
7264         * lib/mbrlen.c: New file.
7265         * m4/mbrlen.m4: New file.
7266         * modules/mbrlen: New file.
7267         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
7268         HAVE_MBRLEN.
7269         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
7270         HAVE_MBRLEN.
7271         * doc/posix-functions/mbrlen.texi: Document the new module.
7272
7273 2008-12-19  Bruno Haible  <bruno@clisp.org>
7274
7275         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
7276         * modules/mbrtowc (Depends-on): Add verify.
7277         Suggested by Paul Eggert.
7278
7279 2008-12-18  Bruno Haible  <bruno@clisp.org>
7280
7281         * modules/mbsinit-tests: New file.
7282         * tests/test-mbsinit.sh: New file.
7283         * tests/test-mbsinit.c: New file.
7284
7285 2008-12-18  Bruno Haible  <bruno@clisp.org>
7286
7287         * modules/mbrtowc-tests: New file.
7288         * tests/test-mbrtowc1.sh: New file.
7289         * tests/test-mbrtowc2.sh: New file.
7290         * tests/test-mbrtowc3.sh: New file.
7291         * tests/test-mbrtowc4.sh: New file.
7292         * tests/test-mbrtowc.c: New file.
7293
7294         New module 'mbrtowc'.
7295         * lib/wchar.in.h (mbstate_t): Override when the system does not have
7296         mbsinit and mbrtowc.
7297         (mbrtowc): New declaration.
7298         * lib/mbrtowc.c: New file.
7299         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
7300         * modules/mbrtowc: New file.
7301         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
7302         HAVE_MBRTOWC.
7303         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
7304         HAVE_MBRTOWC.
7305         * doc/posix-functions/mbrtowc.texi: Document the new module.
7306
7307 2008-12-18  Bruno Haible  <bruno@clisp.org>
7308
7309         New module 'wctob'.
7310         * lib/wchar.in.h (wctob): New declaration.
7311         * lib/wctob.c: New file.
7312         * m4/wctob.m4: New file.
7313         * modules/wctob: New file.
7314         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
7315         HAVE_WCTOB.
7316         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
7317         * doc/posix-functions/wctob.texi: Document the new module.
7318
7319 2008-12-18  Bruno Haible  <bruno@clisp.org>
7320
7321         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
7322         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
7323
7324 2008-12-18  Simon Josefsson  <simon@josefsson.org>
7325
7326         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
7327         G. Christensen" <tgc@jupiterrise.com>.
7328
7329         * lib/flock.c: Need to include errno.h.  Reported by "Tom
7330         G. Christensen" <tgc@jupiterrise.com>.
7331
7332         * lib/flock.c: Need to include string.h.  Reported by "Tom
7333         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
7334         <ebb9@byu.net>.
7335
7336 2008-12-18  Bruno Haible  <bruno@clisp.org>
7337
7338         * m4/locale-ja.m4: New file, from GNU gettext.
7339
7340 2008-12-17  Bruno Haible  <bruno@clisp.org>
7341
7342         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
7343         Suggested by Eric Blake.
7344
7345 2008-12-17  Bruno Haible  <bruno@clisp.org>
7346
7347         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
7348
7349 2008-12-17  Bruno Haible  <bruno@clisp.org>
7350
7351         * lib/mbsinit.c: Include verify.h. Verify an assumption.
7352         * modules/mbsinit (Depends-on): Add verify.
7353         Suggested by Paul Eggert.
7354
7355 2008-12-17  Bruno Haible  <bruno@clisp.org>
7356
7357         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
7358         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
7359         gl_FUNC_MBRTOWC.
7360         * m4/mbiter.m4 (gl_MBITER): LIkewise.
7361         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
7362         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
7363         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
7364         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
7365         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
7366         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
7367         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
7368         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
7369         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
7370         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
7371         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
7372         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
7373         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
7374         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
7375         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
7376         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
7377         * modules/trim (configure.ac): Likewise.
7378
7379 2008-12-17  Bruno Haible  <bruno@clisp.org>
7380
7381         * modules/btowc-tests: New file.
7382         * tests/test-btowc1.sh: New file.
7383         * tests/test-btowc2.sh: New file.
7384         * tests/test-btowc.c: New file.
7385
7386         New module 'btowc'.
7387         * lib/wchar.in.h (btowc): New declaration.
7388         * lib/btowc.c: New file.
7389         * m4/btowc.m4: New file.
7390         * modules/btowc: New file.
7391         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
7392         HAVE_BTOWC.
7393         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
7394         * doc/posix-functions/btowc.texi: Document the new module.
7395
7396 2008-12-17  Bruno Haible  <bruno@clisp.org>
7397
7398         New module 'mbsinit'.
7399         * lib/wchar.in.h (mbsinit): New declaration.
7400         * lib/mbsinit.c: New file.
7401         * m4/mbsinit.m4: New file.
7402         * modules/mbsinit: New file.
7403         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
7404         HAVE_MBSINIT.
7405         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
7406         HAVE_MBSINIT.
7407         * doc/posix-functions/mbsinit.texi: Document the new module.
7408
7409 2008-12-16  Bruno Haible  <bruno@clisp.org>
7410
7411         * lib/unistd.in.h: Add comment.
7412         * tests/test-environ.c: Don't include <stdlib.h>.
7413
7414 2008-12-16  Bruno Haible  <bruno@clisp.org>
7415
7416         * lib/parse-duration.h (parse_duration): Document return value
7417         convention.
7418         * lib/parse-duration.c: Include specification header first. Add
7419         comments.
7420         (_): Remove macro.
7421         (parse_year_month_day, parse_hour_minute_second): Move side effects
7422         outside of strchr call.
7423         (parse_non_iso8601): Move side effects outside of isspace call.
7424         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
7425         call.
7426
7427 2008-12-16  Bruno Haible  <bruno@clisp.org>
7428
7429         * tests/test-parse-duration.sh: Produce no output when the test
7430         succeeds.
7431
7432 2008-12-16  Bruno Haible  <bruno@clisp.org>
7433
7434         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
7435         expressions.
7436
7437 2008-12-15  Bruno Haible  <bruno@clisp.org>
7438
7439         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
7440         * doc/glibc-functions/flistxattr.texi: Likewise.
7441         * doc/glibc-functions/fopencookie.texi: Likewise.
7442         * doc/glibc-functions/fremovexattr.texi: Likewise.
7443         * doc/glibc-functions/fsetxattr.texi: Likewise.
7444         * doc/glibc-functions/getxattr.texi: Likewise.
7445         * doc/glibc-functions/lgetxattr.texi: Likewise.
7446         * doc/glibc-functions/listxattr.texi: Likewise.
7447         * doc/glibc-functions/llistxattr.texi: Likewise.
7448         * doc/glibc-functions/lremovexattr.texi: Likewise.
7449         * doc/glibc-functions/lsetxattr.texi: Likewise.
7450         * doc/glibc-functions/removexattr.texi: Likewise.
7451         * doc/glibc-functions/setxattr.texi: Likewise.
7452         * doc/posix-functions/open_memstream.texi: Likewise.
7453
7454 2008-12-15  Eric Blake  <ebb9@byu.net>
7455
7456         Update doc for cygwin 1.7.
7457         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
7458         functions.
7459         * doc/posix-functions/fchmodat.texi: Likewise.
7460         * doc/posix-functions/fchownat.texi: Likewise.
7461         * doc/posix-functions/fdopendir.texi: Likewise.
7462         * doc/posix-functions/fmemopen.texi: Likewise.
7463         * doc/posix-functions/freeaddrinfo.texi: Likewise.
7464         * doc/posix-functions/fstatat.texi: Likewise.
7465         * doc/posix-functions/futimens.texi: Likewise.
7466         * doc/posix-functions/gai_strerror.texi: Likewise.
7467         * doc/posix-functions/getaddrinfo.texi: Likewise.
7468         * doc/posix-functions/getnameinfo.texi: Likewise.
7469         * doc/posix-functions/if_freenameindex.texi: Likewise.
7470         * doc/posix-functions/if_indextoname.texi: Likewise.
7471         * doc/posix-functions/if_nameindex.texi: Likewise.
7472         * doc/posix-functions/if_nametoindex.texi: Likewise.
7473         * doc/posix-functions/insque.texi: Likewise.
7474         * doc/posix-functions/linkat.texi: Likewise.
7475         * doc/posix-functions/llrint.texi: Likewise.
7476         * doc/posix-functions/llrintf.texi: Likewise.
7477         * doc/posix-functions/llrintl.texi: Likewise.
7478         * doc/posix-functions/lockf.texi: Likewise.
7479         * doc/posix-functions/lrintl.texi: Likewise.
7480         * doc/posix-functions/mkdirat.texi: Likewise.
7481         * doc/posix-functions/mkfifoat.texi: Likewise.
7482         * doc/posix-functions/mknodat.texi: Likewise.
7483         * doc/posix-functions/mq_close.texi: Likewise.
7484         * doc/posix-functions/mq_getattr.texi: Likewise.
7485         * doc/posix-functions/mq_notify.texi: Likewise.
7486         * doc/posix-functions/mq_open.texi: Likewise.
7487         * doc/posix-functions/mq_receive.texi: Likewise.
7488         * doc/posix-functions/mq_send.texi: Likewise.
7489         * doc/posix-functions/mq_setattr.texi: Likewise.
7490         * doc/posix-functions/mq_timedreceive.texi: Likewise.
7491         * doc/posix-functions/mq_timedsend.texi: Likewise.
7492         * doc/posix-functions/mq_unlink.texi: Likewise.
7493         * doc/posix-functions/open_memstream.texi: Likewise.
7494         * doc/posix-functions/openat.texi: Likewise.
7495         * doc/posix-functions/posix_fadvise.texi: Likewise.
7496         * doc/posix-functions/posix_fallocate.texi: Likewise.
7497         * doc/posix-functions/posix_madvise.texi: Likewise.
7498         * doc/posix-functions/posix_memalign.texi: Likewise.
7499         * doc/posix-functions/posix_openpt.texi: Likewise.
7500         * doc/posix-functions/readlinkat.texi: Likewise.
7501         * doc/posix-functions/remque.texi: Likewise.
7502         * doc/posix-functions/renameat.texi: Likewise.
7503         * doc/posix-functions/rintl.texi: Likewise.
7504         * doc/posix-functions/sem_unlink.texi: Likewise.
7505         * doc/posix-functions/shm_open.texi: Likewise.
7506         * doc/posix-functions/shm_unlink.texi: Likewise.
7507         * doc/posix-functions/signgam.texi: Likewise.
7508         * doc/posix-functions/sigset.texi: Likewise.
7509         * doc/posix-functions/stpcpy.texi: Likewise.
7510         * doc/posix-functions/stpncpy.texi: Likewise.
7511         * doc/posix-functions/strerror.texi: Likewise.
7512         * doc/posix-functions/strtod.texi: Likewise.
7513         * doc/posix-functions/symlinkat.texi: Likewise.
7514         * doc/posix-functions/unlinkat.texi: Likewise.
7515         * doc/posix-functions/utimensat.texi: Likewise.
7516         * doc/glibc-functions/bindresvport.texi: Likewise.
7517         * doc/glibc-functions/dn_expand.texi: Likewise.
7518         * doc/glibc-functions/exp10.texi: Likewise.
7519         * doc/glibc-functions/exp10f.texi: Likewise.
7520         * doc/glibc-functions/fgetxattr.texi: Likewise.
7521         * doc/glibc-functions/flistxattr.texi: Likewise.
7522         * doc/glibc-functions/fopencookie.texi: Likewise.
7523         * doc/glibc-functions/freeifaddrs.texi: Likewise.
7524         * doc/glibc-functions/fremovexattr.texi: Likewise.
7525         * doc/glibc-functions/fsetxattr.texi: Likewise.
7526         * doc/glibc-functions/getifaddrs.texi: Likewise.
7527         * doc/glibc-functions/getxattr.texi: Likewise.
7528         * doc/glibc-functions/lgetxattr.texi: Likewise.
7529         * doc/glibc-functions/listxattr.texi: Likewise.
7530         * doc/glibc-functions/llistxattr.texi: Likewise.
7531         * doc/glibc-functions/lremovexattr.texi: Likewise.
7532         * doc/glibc-functions/lsetxattr.texi: Likewise.
7533         * doc/glibc-functions/pow10.texi: Likewise.
7534         * doc/glibc-functions/pow10f.texi: Likewise.
7535         * doc/glibc-functions/rcmd_af.texi: Likewise.
7536         * doc/glibc-functions/removexattr.texi: Likewise.
7537         * doc/glibc-functions/res_init.texi: Likewise.
7538         * doc/glibc-functions/res_mkquery.texi: Likewise.
7539         * doc/glibc-functions/res_query.texi: Likewise.
7540         * doc/glibc-functions/res_querydomain.texi: Likewise.
7541         * doc/glibc-functions/res_send.texi: Likewise.
7542         * doc/glibc-functions/rresvport_af.texi: Likewise.
7543         * doc/glibc-functions/setxattr.texi: Likewise.
7544         * doc/glibc-functions/strcasestr.texi: Likewise.
7545
7546 2008-12-15  Bruno Haible  <bruno@clisp.org>
7547
7548         Fix compilation error on OSF/1 4.0.
7549         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
7550         <sys/time.h>, simply delegate to the system header.
7551         Reported by Daniel Richard G. <oss@teragram.com>.
7552
7553 2008-12-15  Bruno Haible  <bruno@clisp.org>
7554
7555         * doc/posix-functions/openat.texi: Mention the 'openat' module.
7556         * doc/posix-functions/fchmodat.texi: Likewise.
7557         * doc/posix-functions/fchownat.texi: Likewise.
7558         * doc/posix-functions/fdopendir.texi: Likewise.
7559         * doc/posix-functions/fstatat.texi: Likewise.
7560         * doc/posix-functions/mkdirat.texi: Likewise.
7561         * doc/posix-functions/unlinkat.texi: Likewise.
7562
7563 2008-12-14  Bruno Haible  <bruno@clisp.org>
7564
7565         Update doc for POSIX:2008.
7566         * doc/posix-functions/faccessat.texi: New file.
7567         * doc/posix-functions/fchmodat.texi: New file.
7568         * doc/posix-functions/fchownat.texi: New file.
7569         * doc/posix-functions/fdopendir.texi: New file.
7570         * doc/posix-functions/fstatat.texi: New file.
7571         * doc/posix-functions/futimens.texi: New file.
7572         * doc/posix-functions/linkat.texi: New file.
7573         * doc/posix-functions/mkdirat.texi: New file.
7574         * doc/posix-functions/mkfifoat.texi: New file.
7575         * doc/posix-functions/mknodat.texi: New file.
7576         * doc/posix-functions/open_wmemstream.texi: New file.
7577         * doc/posix-functions/openat.texi: New file.
7578         * doc/posix-functions/psiginfo.texi: New file.
7579         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
7580         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
7581         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
7582         * doc/posix-functions/readlinkat.texi: New file.
7583         * doc/posix-functions/renameat.texi: New file.
7584         * doc/posix-functions/strerror_l.texi: New file.
7585         * doc/posix-functions/symlinkat.texi: New file.
7586         * doc/posix-functions/unlinkat.texi: New file.
7587         * doc/posix-functions/utimensat.texi: New file.
7588         * doc/gnulib.texi (Function Substitutes): Add these subsections.
7589
7590 2008-12-14  Bruno Haible  <bruno@clisp.org>
7591
7592         Update doc for POSIX:2008.
7593         * doc/posix-functions/alphasort.texi: Renamed from
7594         doc/glibc-functions/alphasort.texi.
7595         * doc/posix-functions/dirfd.texi: Renamed from
7596         doc/glibc-functions/dirfd.texi.
7597         * doc/posix-functions/dprintf.texi: Renamed from
7598         doc/glibc-functions/dprintf.texi.
7599         * doc/posix-functions/duplocale.texi: Renamed from
7600         doc/glibc-functions/duplocale.texi.
7601         * doc/posix-functions/fexecve.texi: Renamed from
7602         doc/glibc-functions/fexecve.texi.
7603         * doc/posix-functions/fmemopen.texi: Renamed from
7604         doc/glibc-functions/fmemopen.texi.
7605         * doc/posix-functions/freelocale.texi: Renamed from
7606         doc/glibc-functions/freelocale.texi.
7607         * doc/posix-functions/getdate_err.texi: Renamed from
7608         doc/glibc-functions/getdate_err.texi.
7609         * doc/posix-functions/isalnum_l.texi: Renamed from
7610         doc/glibc-functions/isalnum_l.texi.
7611         * doc/posix-functions/isalpha_l.texi: Renamed from
7612         doc/glibc-functions/isalpha_l.texi.
7613         * doc/posix-functions/isblank_l.texi: Renamed from
7614         doc/glibc-functions/isblank_l.texi.
7615         * doc/posix-functions/iscntrl_l.texi: Renamed from
7616         doc/glibc-functions/iscntrl_l.texi.
7617         * doc/posix-functions/isdigit_l.texi: Renamed from
7618         doc/glibc-functions/isdigit_l.texi.
7619         * doc/posix-functions/isgraph_l.texi: Renamed from
7620         doc/glibc-functions/isgraph_l.texi.
7621         * doc/posix-functions/islower_l.texi: Renamed from
7622         doc/glibc-functions/islower_l.texi.
7623         * doc/posix-functions/isprint_l.texi: Renamed from
7624         doc/glibc-functions/isprint_l.texi.
7625         * doc/posix-functions/ispunct_l.texi: Renamed from
7626         doc/glibc-functions/ispunct_l.texi.
7627         * doc/posix-functions/isspace_l.texi: Renamed from
7628         doc/glibc-functions/isspace_l.texi.
7629         * doc/posix-functions/isupper_l.texi: Renamed from
7630         doc/glibc-functions/isupper_l.texi.
7631         * doc/posix-functions/iswalnum_l.texi: Renamed from
7632         doc/glibc-functions/iswalnum_l.texi.
7633         * doc/posix-functions/iswalpha_l.texi: Renamed from
7634         doc/glibc-functions/iswalpha_l.texi.
7635         * doc/posix-functions/iswblank_l.texi: Renamed from
7636         doc/glibc-functions/iswblank_l.texi.
7637         * doc/posix-functions/iswcntrl_l.texi: Renamed from
7638         doc/glibc-functions/iswcntrl_l.texi.
7639         * doc/posix-functions/iswctype_l.texi: Renamed from
7640         doc/glibc-functions/iswctype_l.texi.
7641         * doc/posix-functions/iswdigit_l.texi: Renamed from
7642         doc/glibc-functions/iswdigit_l.texi.
7643         * doc/posix-functions/iswgraph_l.texi: Renamed from
7644         doc/glibc-functions/iswgraph_l.texi.
7645         * doc/posix-functions/iswlower_l.texi: Renamed from
7646         doc/glibc-functions/iswlower_l.texi.
7647         * doc/posix-functions/iswprint_l.texi: Renamed from
7648         doc/glibc-functions/iswprint_l.texi.
7649         * doc/posix-functions/iswpunct_l.texi: Renamed from
7650         doc/glibc-functions/iswpunct_l.texi.
7651         * doc/posix-functions/iswspace_l.texi: Renamed from
7652         doc/glibc-functions/iswspace_l.texi.
7653         * doc/posix-functions/iswupper_l.texi: Renamed from
7654         doc/glibc-functions/iswupper_l.texi.
7655         * doc/posix-functions/iswxdigit_l.texi: Renamed from
7656         doc/glibc-functions/iswxdigit_l.texi.
7657         * doc/posix-functions/isxdigit_l.texi: Renamed from
7658         doc/glibc-functions/isxdigit_l.texi.
7659         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
7660         doc/glibc-functions/mbsnrtowcs.texi.
7661         * doc/posix-functions/mkdtemp.texi: Renamed from
7662         doc/glibc-functions/mkdtemp.texi.
7663         * doc/posix-functions/newlocale.texi: Renamed from
7664         doc/glibc-functions/newlocale.texi.
7665         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
7666         doc/glibc-functions/nl_langinfo_l.texi.
7667         * doc/posix-functions/open_memstream.texi: Renamed from
7668         doc/glibc-functions/open_memstream.texi.
7669         * doc/posix-functions/opterr.texi: Renamed from
7670         doc/glibc-functions/opterr.texi.
7671         * doc/posix-functions/optind.texi: Renamed from
7672         doc/glibc-functions/optind.texi.
7673         * doc/posix-functions/optopt.texi: Renamed from
7674         doc/glibc-functions/optopt.texi.
7675         * doc/posix-functions/psignal.texi: Renamed from
7676         doc/glibc-functions/psignal.texi.
7677         * doc/posix-functions/scandir.texi: Renamed from
7678         doc/glibc-functions/scandir.texi.
7679         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
7680         doc/glibc-functions/sched_get_priority_min.texi.
7681         * doc/posix-functions/signgam.texi: Renamed from
7682         doc/glibc-functions/signgam.texi.
7683         * doc/posix-functions/stpcpy.texi: Renamed from
7684         doc/glibc-functions/stpcpy.texi.
7685         * doc/posix-functions/stpncpy.texi: Renamed from
7686         doc/glibc-functions/stpncpy.texi.
7687         * doc/posix-functions/strcasecmp_l.texi: Renamed from
7688         doc/glibc-functions/strcasecmp_l.texi.
7689         * doc/posix-functions/strcoll_l.texi: Renamed from
7690         doc/glibc-functions/strcoll_l.texi.
7691         * doc/posix-functions/strfmon_l.texi: Renamed from
7692         doc/glibc-functions/strfmon_l.texi.
7693         * doc/posix-functions/strftime_l.texi: Renamed from
7694         doc/glibc-functions/strftime_l.texi.
7695         * doc/posix-functions/strncasecmp_l.texi: Renamed from
7696         doc/glibc-functions/strncasecmp_l.texi.
7697         * doc/posix-functions/strndup.texi: Renamed from
7698         doc/glibc-functions/strndup.texi.
7699         * doc/posix-functions/strnlen.texi: Renamed from
7700         doc/glibc-functions/strnlen.texi.
7701         * doc/posix-functions/strsignal.texi: Renamed from
7702         doc/glibc-functions/strsignal.texi.
7703         * doc/posix-functions/strxfrm_l.texi: Renamed from
7704         doc/glibc-functions/strxfrm_l.texi.
7705         * doc/posix-functions/timer_gettime.texi: Renamed from
7706         doc/glibc-functions/timer_gettime.texi.
7707         * doc/posix-functions/tolower_l.texi: Renamed from
7708         doc/glibc-functions/tolower_l.texi.
7709         * doc/posix-functions/toupper_l.texi: Renamed from
7710         doc/glibc-functions/toupper_l.texi.
7711         * doc/posix-functions/towctrans_l.texi: Renamed from
7712         doc/glibc-functions/towctrans_l.texi.
7713         * doc/posix-functions/towlower_l.texi: Renamed from
7714         doc/glibc-functions/towlower_l.texi.
7715         * doc/posix-functions/towupper_l.texi: Renamed from
7716         doc/glibc-functions/towupper_l.texi.
7717         * doc/posix-functions/uselocale.texi: Renamed from
7718         doc/glibc-functions/uselocale.texi.
7719         * doc/posix-functions/vdprintf.texi: Renamed from
7720         doc/glibc-functions/vdprintf.texi.
7721         * doc/posix-functions/wcpcpy.texi:
7722         Renamed from doc/glibc-functions/wcpcpy.texi.
7723         * doc/posix-functions/wcpncpy.texi: Renamed from
7724         doc/glibc-functions/wcpncpy.texi.
7725         * doc/posix-functions/wcscasecmp.texi: Renamed from
7726         doc/glibc-functions/wcscasecmp.texi.
7727         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
7728         doc/glibc-functions/wcscasecmp_l.texi.
7729         * doc/posix-functions/wcscoll_l.texi: Renamed from
7730         doc/glibc-functions/wcscoll_l.texi.
7731         * doc/posix-functions/wcsdup.texi: Renamed from
7732         doc/glibc-functions/wcsdup.texi.
7733         * doc/posix-functions/wcsncasecmp.texi: Renamed from
7734         doc/glibc-functions/wcsncasecmp.texi.
7735         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
7736         doc/glibc-functions/wcsncasecmp_l.texi.
7737         * doc/posix-functions/wcsnlen.texi: Renamed from
7738         doc/glibc-functions/wcsnlen.texi.
7739         * doc/posix-functions/wcsnrtombs.texi: Renamed from
7740         doc/glibc-functions/wcsnrtombs.texi.
7741         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
7742         doc/glibc-functions/wcsxfrm_l.texi.
7743         * doc/posix-functions/wctrans_l.texi: Renamed from
7744         doc/glibc-functions/wctrans_l.texi.
7745         * doc/posix-functions/wctype_l.texi: Renamed from
7746         doc/glibc-functions/wctype_l.texi.
7747         * doc/gnulib.texi (Function Substitutes): Add these subsections.
7748         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
7749         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
7750         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
7751         these subsections.
7752         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
7753         Remove sections.
7754
7755 2008-12-14  Bruno Haible  <bruno@clisp.org>
7756
7757         Update doc for POSIX:2008.
7758         * doc/posix-functions/*.texi: Update URL of POSIX specification.
7759
7760 2008-12-14  Bruno Haible  <bruno@clisp.org>
7761
7762         Update doc for POSIX:2008.
7763         * doc/pastposix-functions/bcmp.texi: Renamed from
7764         doc/posix-functions/bcmp.texi.
7765         * doc/pastposix-functions/bcopy.texi: Renamed from
7766         doc/posix-functions/bcopy.texi.
7767         * doc/pastposix-functions/bsd_signal.texi: Renamed from
7768         doc/posix-functions/bsd_signal.texi.
7769         * doc/pastposix-functions/bzero.texi: Renamed from
7770         doc/posix-functions/bzero.texi.
7771         * doc/pastposix-functions/ecvt.texi: Renamed from
7772         doc/posix-functions/ecvt.texi.
7773         * doc/pastposix-functions/fcvt.texi: Renamed from
7774         doc/posix-functions/fcvt.texi.
7775         * doc/pastposix-functions/ftime.texi: Renamed from
7776         doc/posix-functions/ftime.texi.
7777         * doc/pastposix-functions/gcvt.texi: Renamed from
7778         doc/posix-functions/gcvt.texi.
7779         * doc/pastposix-functions/getcontext.texi: Renamed from
7780         doc/posix-functions/getcontext.texi.
7781         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
7782         doc/posix-functions/gethostbyaddr.texi.
7783         * doc/pastposix-functions/gethostbyname.texi: Renamed from
7784         doc/posix-functions/gethostbyname.texi.
7785         * doc/pastposix-functions/getwd.texi: Renamed from
7786         doc/posix-functions/getwd.texi.
7787         * doc/pastposix-functions/h_errno.texi: Renamed from
7788         doc/posix-functions/h_errno.texi.
7789         * doc/pastposix-functions/index.texi: Renamed from
7790         doc/posix-functions/index.texi.
7791         * doc/pastposix-functions/makecontext.texi: Renamed from
7792         doc/posix-functions/makecontext.texi.
7793         * doc/pastposix-functions/mktemp.texi: Renamed from
7794         doc/posix-functions/mktemp.texi.
7795         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
7796         doc/posix-functions/pthread_attr_getstackaddr.texi.
7797         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
7798         doc/posix-functions/pthread_attr_setstackaddr.texi.
7799         * doc/pastposix-functions/rindex.texi: Renamed from
7800         doc/posix-functions/rindex.texi.
7801         * doc/pastposix-functions/scalb.texi: Renamed from
7802         doc/posix-functions/scalb.texi.
7803         * doc/pastposix-functions/setcontext.texi: Renamed from
7804         doc/posix-functions/setcontext.texi.
7805         * doc/pastposix-functions/swapcontext.texi: Renamed from
7806         doc/posix-functions/swapcontext.texi.
7807         * doc/pastposix-functions/ualarm.texi: Renamed from
7808         doc/posix-functions/ualarm.texi.
7809         * doc/pastposix-functions/usleep.texi: Renamed from
7810         doc/posix-functions/usleep.texi.
7811         * doc/pastposix-functions/vfork.texi: Renamed from
7812         doc/posix-functions/vfork.texi.
7813         * doc/pastposix-functions/wcswcs.texi: Renamed from
7814         doc/posix-functions/wcswcs.texi.
7815         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
7816         (Function Substitutes): Update.
7817
7818 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7819
7820         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
7821         m4/strerror.m4.
7822
7823 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7824             Bruno Haible  <bruno@clisp.org>
7825
7826         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
7827
7828 2008-12-13  Bruno Haible  <bruno@clisp.org>
7829
7830         * modules/strtoull (Depends-on): Remove unistd.
7831
7832 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7833
7834         * modules/strtoull (Depends-on): Add stdlib.
7835
7836 2008-12-11  Simon Josefsson  <simon@josefsson.org>
7837
7838         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
7839
7840 2008-12-10  Jim Meyering  <meyering@redhat.com>
7841
7842         gl_ASSERT: don't say assertions are disabled when they're not
7843         * m4/assert.m4 (gl_ASSERT): Do not make configure report
7844         "checking whether to enable assertions... no", when they are in
7845         fact enabled.  This is solely a bug in the output of configure.
7846         In spite of saying "no", NDEBUG was not defined in that case.
7847         Also, as noted by Eric Blake, leave assertions enabled upon
7848         --enable-assert=INVALID.
7849
7850 2008-12-10  Bruno Haible  <bruno@clisp.org>
7851
7852         Change MODULES.html to refer to POSIX:2008 where possible.
7853         * MODULES.html.sh (POSIX2008_URL): New variable.
7854         (posix_headers): Remove sys/timeb, ucontext.
7855         (posix2001_headers): New variable.
7856         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
7857         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
7858         index, makecontext, mktemp, pthread_attr_getstackaddr,
7859         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
7860         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
7861         (posix2001_functions): New variable.
7862         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
7863         otherwise.
7864
7865 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7866
7867         add missing include to parse-duration.c
7868         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
7869         * modules/parse-duration (Depends-on): Add xalloc.
7870
7871         fix sed script reading maint.mk
7872         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
7873         (syntax-check-rules): Use it.
7874
7875 2008-12-09  Bruno Haible  <bruno@clisp.org>
7876
7877         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
7878         MacOS X 10.4/PowerPC.
7879         Reported by Simon Josefsson.
7880
7881 2008-12-08  Jim Meyering  <meyering@redhat.com>
7882
7883         work around mingw's lack of some S_IF definitions
7884         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
7885         Reported by Simon Josefsson.
7886
7887 2008-12-08  Bruno Haible  <bruno@clisp.org>
7888
7889         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
7890         applied to variables. Needed on MacOS X 10.4/PowerPC.
7891         Reported by Simon Josefsson.
7892
7893 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
7894         and Eric Blake  <ebb9@byu.net>
7895
7896         assert: honor --enable-assert
7897         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
7898         order to honor --enable-assert, rather than treating it as a
7899         synonym for --disable-assert.
7900
7901 2008-12-08  Jim Meyering  <meyering@redhat.com>
7902
7903         * lib/posixtm.c: Remove now-useless declaration of mktime.
7904
7905         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
7906
7907 2008-12-07  Bruno Haible  <bruno@clisp.org>
7908
7909         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
7910         test_once): Mark functions as static.
7911         * tests/test-tls.c (test_tls): Likewise.
7912
7913 2008-12-07  Bruno Haible  <bruno@clisp.org>
7914
7915         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
7916         iconv_register_autodetect.
7917
7918 2008-12-07  Jim Meyering  <meyering@redhat.com>
7919
7920         posixtm.c: avoid a warning
7921         * lib/posixtm.c (posixtime): Don't initialize tm0.
7922         It's no longer needed to placate gcc4's -Wuninitialized,
7923         and the attempt to placate would elicit a new warning.
7924
7925         unicodeio.c: mark unused parameters
7926         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
7927         (fallback_failure_callback): Likewise.
7928
7929 2008-12-07  Bruno Haible  <bruno@clisp.org>
7930
7931         * gnulib-tool (func_create_testdir): When building the tests
7932         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
7933         Reported by Simon Josefsson.
7934
7935 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7936
7937         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
7938
7939 2008-12-06  Bruno Haible  <bruno@clisp.org>
7940
7941         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
7942         Suggested by Eric Blake.
7943
7944 2008-12-06  Bruno Haible  <bruno@clisp.org>
7945
7946         Fix a c-stack test failure on MacOS X.
7947         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
7948         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
7949         handler for SIGBUS as well.
7950         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
7951         install a signal handler for SIGBUS as well.
7952         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
7953
7954 2008-12-06  Bruno Haible  <bruno@clisp.org>
7955
7956         Advocacy documentation.
7957         * doc/gnulib-intro.texi (Benefits): New section.
7958         * doc/gnulib.texi: Update.
7959
7960 2008-12-06  Bruno Haible  <bruno@clisp.org>
7961
7962         Document the 'manywarnings' module.
7963         * doc/manywarnings.texi: New file.
7964         * doc/gnulib.texi: Include it.
7965
7966 2008-12-05  Eric Blake  <ebb9@byu.net>
7967
7968         tests: silence some gcc warnings
7969         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
7970         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
7971         type mismatches.
7972
7973 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7974             Bruno Haible  <bruno@clisp.org>
7975
7976         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
7977
7978 2008-11-29  Jim Meyering  <meyering@redhat.com>
7979
7980         unicodeio.c: mark unused parameters
7981         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
7982         (fallback_failure_callback): Likewise.
7983
7984         fts: fix a thinko
7985         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
7986         (set_stat_type): Return S_IF*-valued "type" directly.
7987         Prompted by James Youngman's spotting a related bug.
7988         Confirmed by further testing through find.
7989
7990         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
7991         * lib/fts.c (D_TYPE): Define.
7992         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
7993         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
7994         (s_ifmt_shift_bits): New function.
7995         (set_stat_type): New function.
7996         (fts_build): When not calling fts_stat, call set_stat_type
7997         to propagate dirent.d_type info to fts_read caller.
7998         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
7999         fts_statp->st_mode type information may be valid.
8000
8001 2008-11-28  Simon Josefsson  <simon@josefsson.org>
8002
8003         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
8004         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
8005         <sds@gnu.org>.
8006
8007 2008-11-20  Bruno Haible  <bruno@clisp.org>
8008
8009         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
8010         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
8011         INCLUDE_NEXT.
8012         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
8013         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
8014         * modules/math (Makefile.am): Substitute
8015         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
8016         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8017
8018 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
8019             Bruno Haible  <bruno@clisp.org>
8020
8021         * lib/stdint.in.h: Define all type macros so that their expansion is
8022         a single typedef'ed token. Fixes a compilation failure in Boost which
8023         does "using ::int8_t;".
8024
8025 2008-11-18  Simon Josefsson  <simon@josefsson.org>
8026
8027         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
8028         gl_MANYWARN_ALL_GCC.
8029         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
8030         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
8031         * modules/manywarnings: New file.
8032         * MODULES.html.sh: Mention manywarnings module.
8033
8034 2008-11-18  Bruno Haible  <bruno@clisp.org>
8035
8036         * doc/gnulib-tool.texi (Unit tests): New section.
8037
8038 2008-11-18  Simon Josefsson  <simon@josefsson.org>
8039
8040         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
8041         paths like 'lib/po/foo.po'.
8042
8043 2008-11-17  Simon Josefsson  <simon@josefsson.org>
8044
8045         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
8046         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
8047
8048 2008-11-17  Simon Josefsson  <simon@josefsson.org>
8049
8050         * m4/warnings.m4: Use CPPFLAGS to really check whether the
8051         parameter works.
8052
8053 2008-11-17  Simon Josefsson  <simon@josefsson.org>
8054
8055         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
8056
8057 2008-11-17  Bruce Korb  <bkorb@gnu.org>
8058
8059         * modules/parse-duration-tests: New file.
8060         * tests/test-parse-duration.sh: New file.
8061         * tests/test-parse-duration.c: New file.
8062
8063         New module 'parse-duration'.
8064         * lib/parse-duration.h: New file.
8065         * lib/parse-duration.c: New file.
8066         * modules/parse-duration: New file.
8067
8068 2008-11-17  Bruno Haible  <bruno@clisp.org>
8069
8070         * tests/test-select-out.sh: Comment out the first pipe test.
8071         Reported by Simon Josefsson.
8072
8073 2008-11-17  Bruno Haible  <bruno@clisp.org>
8074
8075         * modules/getaddrinfo (Depends-on): Add servent, hostent.
8076         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
8077         gl_HOSTENT.
8078
8079 2008-11-17  Bruno Haible  <bruno@clisp.org>
8080
8081         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
8082         -lnetwork and -lnet. Needed for Haiku and BeOS.
8083
8084 2008-11-16  Bruno Haible  <bruno@clisp.org>
8085
8086         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
8087
8088 2008-11-16  Bruno Haible  <bruno@clisp.org>
8089
8090         Avoid test failure on Haiku.
8091         * tests/test-fsync.c: Include <errno.h>.
8092         (main): Don't require that fsync (0) fails.
8093
8094 2008-11-15  Bruno Haible  <bruno@clisp.org>
8095
8096         New module 'hostent'.
8097         * modules/hostent: New file.
8098         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
8099
8100 2008-11-15  Bruno Haible  <bruno@clisp.org>
8101
8102         New module 'servent'.
8103         * modules/servent: New file.
8104         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
8105
8106 2008-11-15  Bruno Haible  <bruno@clisp.org>
8107
8108         Avoid generating same test program with two different rules.
8109         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
8110         test-frexp to test-frexp-nolibm.
8111         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
8112         test-frexpl to test-frexpl-nolibm.
8113
8114 2008-11-15  Bruno Haible  <bruno@clisp.org>
8115
8116         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
8117         $(FREXPL_LIBM).
8118
8119 2008-11-15  Bruno Haible  <bruno@clisp.org>
8120
8121         * lib/netdb.in.h: Activate the definitions also when the system's
8122         <netdb.h> has 'struct addrinfo'.
8123         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
8124         EAI_OVERFLOW or AI_NUMERICSERV.
8125         * doc/posix-headers/netdb.texi: Document the problem.
8126
8127 2008-11-15  Bruno Haible  <bruno@clisp.org>
8128
8129         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
8130
8131         Make the 'sched' module work on platforms where <sched.h> exists but
8132         is incomplete (such as Haiku).
8133         * lib/sched.in.h; Include the system's <sched.h> if it exists.
8134         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
8135         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
8136         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
8137         HAVE_STRUCT_SCHED_PARAM.
8138         * modules/sched (Depends-on): Add include_next.
8139         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
8140         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
8141         * doc/posix-headers/sched.texi: Document the issue.
8142
8143 2008-11-13  Jim Meyering  <meyering@redhat.com>
8144
8145         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
8146         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
8147         test would fail due to the difference in the Report bugs to ...
8148         line.  The expected address is empty, "<>", while the actual
8149         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
8150
8151 2008-11-12  Bruno Haible  <bruno@clisp.org>
8152
8153         lstat: don't compile lstat.c on systems lacking lstat
8154         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
8155         which don't have lstat; this is handled by lib/sys_stat.in.h already.
8156         Reported by Daniel P. Berrange via Jim Meyering.
8157
8158 2008-11-12  Jim Meyering  <meyering@redhat.com>
8159
8160         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
8161
8162 2008-11-12  Simon Josefsson  <simon@josefsson.org>
8163
8164         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
8165         instead.
8166
8167 2008-11-12  Bruno Haible  <bruno@clisp.org>
8168
8169         * lib/unicodeio.c: Include unistr.h.
8170         (utf8_wctomb): Remove function.
8171         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
8172
8173 2008-11-12  Simon Josefsson  <simon@josefsson.org>
8174
8175         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
8176         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
8177         <bruno@clisp.org>.
8178         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
8179
8180 2008-11-12  Simon Josefsson  <simon@josefsson.org>
8181
8182         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
8183         * doc/gnulib.texi: Add section for warnings.
8184
8185 2008-11-11  Bruno Haible  <bruno@clisp.org>
8186
8187         * lib/sockets.h: Add a comment.
8188
8189 2008-11-11  Karl Berry  <karl@gnu.org>
8190
8191         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
8192
8193 2008-11-11  Eric Blake  <ebb9@byu.net>
8194
8195         fdl.texi: avoid git symlinks
8196         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
8197
8198 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
8199
8200         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
8201
8202 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
8203
8204         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
8205         (gl_WARN_ADD): Substitute $2 if literal.
8206
8207 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
8208
8209         * m4/warning.m4: Remove.
8210
8211 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
8212
8213         * m4/warnings.m4: Almost complete rewrite. :-)
8214
8215 2008-11-10  Simon Josefsson  <simon@josefsson.org>
8216
8217         * modules/warnings: New module.
8218         * m4/warnings.m4: New file.
8219         * MODULES.html.sh: Mention warnings module.
8220         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
8221         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8222
8223 2008-11-10  Eric Blake  <ebb9@byu.net>
8224
8225         fdl.texi: make a symlink to the latest version
8226         * doc/standards.texi: Revert today's earlier change.
8227         * doc/fdl-1.2.texi: Rename from old fdl.texi...
8228         * doc/fdl.texi: ...and replace this with a symlink to the newer
8229         fdl-1.3.texi.
8230
8231 2008-11-10  Bruno Haible  <bruno@clisp.org>
8232
8233         * tests/test-select-fd.c (main): Accept the result file name as fourth
8234         argument.
8235         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
8236         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
8237
8238 2008-11-10  Bruno Haible  <bruno@clisp.org>
8239
8240         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
8241         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
8242         as autoconf-substituted macros.
8243         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
8244         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
8245         gl_NETDB_H_DEFAULTS. Set these variables.
8246         * modules/netdb (Makefile.am): Substitute these variables.
8247
8248 2008-11-10  Eric Blake  <ebb9@byu.net>
8249
8250         standards.texi: include correct file for FDL 1.3
8251         * doc/standards.texi (GNU Free Documentation License): Change
8252         include file to pull in FDL 1.3, not 1.2.
8253
8254         fdl.texi: revert accidental change to license
8255         * doc/fdl.texi: This is FDL 1.2, not 1.3.
8256
8257 2008-11-10  Bruno Haible  <bruno@clisp.org>
8258
8259         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
8260         cross-compiling guesses also when the native compile gives no result.
8261
8262 2008-11-10  Bruno Haible  <bruno@clisp.org>
8263
8264         * lib/spawni.c (__spawni): Force variable into the stack.
8265
8266 2008-11-10  Bruno Haible  <bruno@clisp.org>
8267
8268         Add support for Haiku.
8269         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
8270         glibc and BeOS, but also on Haiku.
8271         * lib/fpurge.c (fpurge): Likewise.
8272         * lib/freadable.c (freadable): Likewise.
8273         * lib/freadahead.c (freadahead): Likewise.
8274         * lib/freading.c (freading): Likewise.
8275         * lib/freadptr.c (freadptr): Likewise.
8276         * lib/freadseek.c (freadptrinc): Likewise.
8277         * lib/fseeko.c (rpl_fseeko): Likewise.
8278         * lib/fseterr.c (fseterr): Likewise.
8279         * lib/fwritable.c (fwritable): Likewise.
8280         * lib/fwriting.c (fwriting): Likewise.
8281         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
8282
8283 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
8284
8285         * lib/config.charset: Treat Haiku like BeOS.
8286
8287 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
8288
8289         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
8290         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
8291
8292 2008-11-08  Bruno Haible  <bruno@clisp.org>
8293
8294         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
8295         AC_CACHE_CHECK.
8296
8297 2008-11-08  Bruno Haible  <bruno@clisp.org>
8298
8299         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
8300
8301 2008-11-08  Bruno Haible  <bruno@clisp.org>
8302
8303         * tests/test-select-fd.c: New file.
8304         * tests/test-select-in.sh: New file.
8305         * tests/test-select-out.sh: New file.
8306         * tests/test-select-stdin.c: New file.
8307         * modules/select-tests (Files): Add the new files.
8308         (Depends-on): Add gettimeofday.
8309         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
8310         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
8311         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
8312
8313 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
8314             Bruno Haible  <bruno@clisp.org>
8315
8316         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
8317
8318 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
8319
8320         * build-aux/pmccabe2html: Added support for C++ source files.
8321
8322 2008-11-05  Ben Pfaff  <blp@gnu.org>
8323
8324         Fix lib/close.c build on Windows.
8325         * modules/close (Files): Add lib/w32sock.h.
8326
8327 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
8328
8329         Accept Bison's NEWS format.
8330         * build-aux/announce-gen (print_news_deltas): Tweak
8331         $re_prefix.
8332
8333 2008-11-04  Bruno Haible  <bruno@clisp.org>
8334
8335         * modules/random_r (Maintainer): Add glibc.
8336
8337 2008-11-04  Simon Josefsson  <simon@josefsson.org>
8338
8339         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
8340         by karl@freefriends.org (Karl Berry).
8341         * doc/alloca.texi: Likewise.
8342         * doc/c-ctype.texi: Likewise.
8343         * doc/c-strcase.texi: Likewise.
8344         * doc/c-strcaseeq.texi: Likewise.
8345         * doc/c-strcasestr.texi: Likewise.
8346         * doc/c-strstr.texi: Likewise.
8347         * doc/c-strtod.texi: Likewise.
8348         * doc/c-strtold.texi: Likewise.
8349         * doc/ctime.texi: Likewise.
8350         * doc/error.texi: Likewise.
8351         * doc/fdl.texi: Likewise.
8352         * doc/gcd.texi: Likewise.
8353         * doc/getdate.texi: Likewise.
8354         * doc/gnulib-intro.texi: Likewise.
8355         * doc/gnulib-tool.texi: Likewise.
8356         * doc/gnulib.texi: Likewise.
8357         * doc/inet_ntoa.texi: Likewise.
8358         * doc/maintain.texi: Likewise.
8359         * doc/make-stds.texi: Likewise.
8360         * doc/quote.texi: Likewise.
8361         * doc/regexprops-generic.texi: Likewise.
8362         * doc/standards.texi: Likewise.
8363         * doc/verify.texi: Likewise.
8364         * doc/visibility.texi: Likewise.
8365         * doc/gnulib.texi (GNU Free Documentation License): Include
8366         fdl-1.3.texi instead of fdl.texi.
8367
8368 2008-11-04  Simon Josefsson  <simon@josefsson.org>
8369
8370         * doc/fdl-1.3.texi: New file, from
8371         <http://www.gnu.org/licenses/fdl-1.3.texi>.
8372         * modules/fdl-1.3: Add.
8373         * MODULES.html.sh: Add fdl-1.3.
8374
8375 2008-11-03  Bruno Haible  <bruno@clisp.org>
8376
8377         Make determination of absolute name of header file work with AIX xlc.
8378         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
8379         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
8380         preprocessing.
8381         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
8382         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
8383
8384 2008-11-03  Simon Josefsson  <simon@josefsson.org>
8385
8386         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
8387         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
8388         <ludo@gnu.org>.
8389
8390 2008-11-02  Bruno Haible  <bruno@clisp.org>
8391
8392         Mark 'strpbrk' obsolete.
8393         * modules/strpbrk (Status, Notice): New sections.
8394         * modules/strtok_r (Depends-on): Add strpbrk.
8395
8396 2008-11-02  Bruno Haible  <bruno@clisp.org>
8397
8398         Mark 'strdup' obsolete.
8399         * modules/strdup (Status, Notice): New sections.
8400         * modules/findprog (Depends-on): Add strdup.
8401         * modules/getaddrinfo (Depends-on): Likewise.
8402         * modules/localename (Depends-on): Likewise.
8403         * modules/relocatable-lib (Depends-on): Likewise.
8404         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
8405         * modules/relocatable-prog (Depends-on): Likewise.
8406         * modules/trim (Depends-on): Likewise.
8407         * modules/unictype/gen-ctype (Depends-on): Likewise.
8408         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
8409
8410 2008-11-02  Bruno Haible  <bruno@clisp.org>
8411
8412         Mark 'strcspn' obsolete.
8413         * modules/strcspn (Status, Notice): New sections.
8414
8415 2008-11-02  Bruno Haible  <bruno@clisp.org>
8416
8417         Mark 'rmdir' obsolete.
8418         * modules/rmdir (Status, Notice): New sections.
8419         * modules/clean-temp (Depends-on): Add rmdir.
8420         * modules/openat (Depends-on): Likewise.
8421
8422 2008-11-02  Bruno Haible  <bruno@clisp.org>
8423
8424         Mark 'raise' obsolete.
8425         * modules/raise (Status, Notice): New sections.
8426         (Include): Specify <signal.h>.
8427         * modules/stdio (Depends-on): Add raise.
8428         * modules/write (Depends-on): Likewise.
8429
8430 2008-11-02  Bruno Haible  <bruno@clisp.org>
8431
8432         Mark 'memset' obsolete.
8433         * modules/memset (Status, Notice): New sections.
8434
8435 2008-11-02  Bruno Haible  <bruno@clisp.org>
8436
8437         Mark 'memmove' obsolete.
8438         * modules/memmove (Status, Notice): New sections.
8439         * modules/argp (Depends-on): Add memmove.
8440         * modules/argz (Depends-on): Likewise.
8441         * modules/canonicalize (Depends-on): Likewise.
8442         * modules/canonicalize-lgpl (Depends-on): Likewise.
8443         * modules/fts (Depends-on): Likewise.
8444         * modules/getcwd (Depends-on): Likewise.
8445         * modules/human (Depends-on): Likewise.
8446         * modules/regex (Depends-on): Likewise.
8447         * modules/striconveh (Depends-on): Likewise.
8448         * modules/trim (Depends-on): Likewise.
8449         * modules/unistr/u8-move (Depends-on): Likewise.
8450         * modules/unistr/u16-move (Depends-on): Likewise.
8451         * modules/unistr/u32-move (Depends-on): Likewise.
8452
8453 2008-11-02  Bruno Haible  <bruno@clisp.org>
8454
8455         Mark 'memcpy' obsolete.
8456         * modules/memcpy (Status, Notice): New sections.
8457
8458 2008-11-02  Bruno Haible  <bruno@clisp.org>
8459
8460         Mark 'memcmp' obsolete.
8461         * modules/memcmp (Status, Notice): New sections.
8462         * modules/argmatch (Depends-on): Add memchr.
8463         * modules/backupfile (Depends-on): Likewise.
8464         * modules/c-strcasestr (Depends-on): Likewise.
8465         * modules/crypto/des (Depends-on): Likewise.
8466         * modules/csharpcomp (Depends-on): Likewise.
8467         * modules/fnmatch (Depends-on): Likewise.
8468         * modules/git-merge-changelog (Depends-on): Likewise.
8469         * modules/isnand (Depends-on): Likewise.
8470         * modules/isnand-nolibm (Depends-on): Likewise.
8471         * modules/isnanf (Depends-on): Likewise.
8472         * modules/isnanf-nolibm (Depends-on): Likewise.
8473         * modules/isnanl (Depends-on): Likewise.
8474         * modules/isnanl-nolibm (Depends-on): Likewise.
8475         * modules/mbchar (Depends-on): Likewise.
8476         * modules/memcoll (Depends-on): Likewise.
8477         * modules/quotearg (Depends-on): Likewise.
8478         * modules/regex (Depends-on): Likewise.
8479         * modules/relocatable-prog (Depends-on): Likewise.
8480         * modules/same (Depends-on): Likewise.
8481         * modules/signbit (Depends-on): Likewise.
8482         * modules/strcasestr-simple (Depends-on): Likewise.
8483         * modules/unictype/gen-ctype (Depends-on): Likewise.
8484         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
8485         * modules/uniname/uniname (Depends-on): Likewise.
8486         * modules/unistr/u8-cmp (Depends-on): Likewise.
8487
8488 2008-11-02  Bruno Haible  <bruno@clisp.org>
8489
8490         Mark 'memchr' obsolete.
8491         * modules/memchr (Status, Notice): New sections.
8492         * modules/argp (Depends-on): Add memchr.
8493         * modules/base64 (Depends-on): Likewise.
8494         * modules/c-strcasestr (Depends-on): Likewise.
8495         * modules/chdir-long (Depends-on): Likewise.
8496         * modules/fnmatch (Depends-on): Likewise.
8497         * modules/getsubopt (Depends-on): Likewise.
8498         * modules/git-merge-changelog (Depends-on): Likewise.
8499         * modules/glob (Depends-on): Likewise.
8500         * modules/strcasestr-simple (Depends-on): Likewise.
8501         * modules/strnlen (Depends-on): Likewise.
8502
8503 2008-11-02  Bruno Haible  <bruno@clisp.org>
8504
8505         Mark 'atexit' obsolete.
8506         * modules/atexit (Status, Notice): New sections.
8507         * modules/chdir-long (Depends-on): Add atexit.
8508         * modules/wait-process (Depends-on): Likewise.
8509
8510 2008-11-02  Bruno Haible  <bruno@clisp.org>
8511
8512         * gnulib-tool: New option --with-obsolete.
8513         (func_usage): Document it.
8514         (func_modules_transitive_closure): Drop obsolete dependencies if
8515         incobsolete is not true.
8516         (func_import): Read and save the incobsolete variable to the cache.
8517
8518 2008-11-02  Bruno Haible  <bruno@clisp.org>
8519
8520         * modules/TEMPLATE-EXTENDED: New field 'Status'.
8521         * gnulib-tool: New option --extract-status.
8522         (func_usage): Document it.
8523         (sed_extract_prog): Recognize it.
8524         (func_get_status): New function.
8525
8526 2008-10-30  Simon Josefsson  <simon@josefsson.org>
8527
8528         * modules/sockets (License): Change from LGPL to LGPLv2+.
8529
8530 2008-10-28  Simon Josefsson  <simon@josefsson.org>
8531
8532         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
8533
8534 2008-10-28  Simon Josefsson  <simon@josefsson.org>
8535
8536         * MODULES.html.sh (Support for systems lacking POSIX:2001):
8537         Mention times and sys_times.
8538         * modules/sys_times, modules/sys_times-tests: New modules.
8539         * modules/times, modules/times-tests: Likewise
8540         * m4/sys_times_h.m4: New file.
8541         * lib/sys_times.in.h: Likewise
8542         * lib/times.c: Likewise.
8543         * tests/test-sys_times.c: Likewise.
8544         * tests/test-times.c: Likewise.
8545         * doc/posix-headers/sys_times.texi: Update.
8546         * doc/posix-functions/times.texi: Update.
8547
8548 2008-10-28  Jim Meyering  <meyering@redhat.com>
8549
8550         * modules/tempname (Depends-on): Add lstat.
8551
8552         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
8553
8554 2008-10-28  Simon Josefsson  <simon@josefsson.org>
8555
8556         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
8557         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
8558         using idiom used elsewhere in gnulib.
8559
8560 2008-10-27  Jim Meyering  <meyering@redhat.com>
8561
8562         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
8563
8564 2008-10-27  Simon Josefsson  <simon@josefsson.org>
8565
8566         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
8567         TESTS_ENVIRONMENT, for shell scripts that needs to call built
8568         programs.
8569         * tests/test-argp-2.sh: Use $EXEEXT when needed.
8570
8571 2008-10-27  Simon Josefsson  <simon@josefsson.org>
8572
8573         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
8574
8575 2008-10-27  Bruno Haible  <bruno@clisp.org>
8576
8577         * tests/test-lstat.c: Include <stdio.h>.
8578
8579 2008-10-27  Simon Josefsson  <simon@josefsson.org>
8580
8581         * modules/lstat-tests: New module.
8582         * tests/test-lstat.c: New file.
8583
8584 2008-10-26  Jim Meyering  <meyering@redhat.com>
8585
8586         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
8587
8588 2008-10-26  Simon Josefsson  <simon@josefsson.org>
8589             Bruno Haible  <bruno@clisp.org>
8590
8591         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
8592         * modules/configmake (Include): Add a note that the include must come
8593         after all system headers.
8594         * lib/javaversion.c: Include configmake.h after all other includes.
8595
8596 2008-10-26  Bruno Haible  <bruno@clisp.org>
8597
8598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
8599         HAVE_STRUCT_RANDOM_DATA to 1.
8600         (gl_STDLIB_H): Simplify.
8601
8602 2008-10-26  Simon Josefsson  <simon@josefsson.org>
8603
8604         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
8605         substitute HAVE_STRUCT_RANDOM_DATA.
8606         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
8607         random_data.
8608         * modules/stdlib (Makefile.am): Substitute
8609         HAVE_STRUCT_RANDOM_DATA.
8610
8611 2008-10-26  Simon Josefsson  <simon@josefsson.org>
8612
8613         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
8614         * doc/gnulib-intro.texi (Copyright): Likewise.
8615
8616 2008-10-26  Simon Josefsson  <simon@josefsson.org>
8617
8618         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
8619         findings.
8620
8621 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
8622             Bruno Haible  <bruno@clisp.org>
8623
8624         * lib/unistd.in.h: Include <winsock2.h>.
8625         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
8626         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
8627         Provide dummy declarations.
8628         (gethostname): Override.
8629         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
8630         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
8631         gl_PREREQ_SYS_H_WINSOCK2.
8632         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
8633         * doc/posix-functions/gethostname.texi: More details.
8634
8635 2008-10-25  Bruno Haible  <bruno@clisp.org>
8636
8637         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
8638         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
8639         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
8640
8641         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
8642         here ...
8643         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
8644         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
8645         gl_UNISTD_H_DEFAULTS.
8646
8647 2008-10-25  Eric Blake  <ebb9@byu.net>
8648
8649         signbit: avoid spurious compiler failure
8650         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
8651         declarations inside function.
8652
8653 2008-10-24  Simon Josefsson  <simon@josefsson.org>
8654             Bruno Haible  <bruno@clisp.org>
8655
8656         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
8657         * modules/random_r (Depends-on): Add stdint.
8658
8659 2008-10-24  Bruno Haible  <bruno@clisp.org>
8660
8661         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
8662         Eggert.
8663         * modules/strerror (License): Likewise.
8664
8665 2008-10-24  Jim Meyering  <meyering@redhat.com>
8666
8667         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
8668         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
8669
8670 2008-10-24  Eric Blake  <ebb9@byu.net>
8671
8672         getgroups: fix compilation when getgroups is available
8673         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
8674         but with <config.h> override of getgroups disabled.
8675
8676 2008-10-24  Simon Josefsson  <simon@josefsson.org>
8677
8678         * doc/gnulib.texi (Header files): Add note about C++ problems.
8679         Explained by Bruno Haible <bruno@clisp.org>.
8680
8681 2008-10-23  Bruno Haible  <bruno@clisp.org>
8682
8683         Define a dummy SA_NODEFER macro on Interix.
8684         * lib/signal.in.h (SA_NODEFER): Define fallback.
8685         Reported by Aleksey Cheusov <cheusov@tut.by> via
8686         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
8687
8688 2008-10-23  Bruno Haible  <bruno@clisp.org>
8689
8690         * modules/freadahead (License): Change to LGPLv2+.
8691         Suggested by Simon Josefsson.
8692
8693 2008-10-23  Jim Meyering  <meyering@redhat.com>
8694
8695         random_r: new module
8696         * modules/random_r: New file.
8697         * m4/random_r.m4: New file.
8698         * lib/random_r.c: New file, from glibc.
8699         * modules/random_r-tests: New file.
8700         * tests/test-random_r.c: New file.
8701         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
8702          Declare.
8703         (RAND_MAX): Define.
8704         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
8705         * modules/stdlib: Substitute them, too.
8706         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
8707         * doc/glibc-functions/initstate_r.texi: Mention the new module.
8708         * doc/glibc-functions/random_r.texi: Likewise.
8709         * doc/glibc-functions/setstate_r.texi: Likewise.
8710         * doc/glibc-functions/srandom_r.texi: Likewise.
8711         * config/srclist.txt: Mention it.
8712
8713 2008-10-23  David Lutterkort  <lutter@redhat.com>
8714
8715         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
8716         link requirement
8717
8718 2008-10-23  Jim Meyering  <meyering@redhat.com>
8719
8720         selinux-h: mark parameters of stub functions as intentionally unused
8721         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
8722         * lib/se-context.in.h: Likewise.
8723
8724 2008-10-22  Simon Josefsson  <simon@josefsson.org>
8725
8726         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
8727
8728 2008-10-22  Simon Josefsson  <simon@josefsson.org>
8729
8730         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
8731
8732 2008-10-22  Eric Blake  <ebb9@byu.net>
8733
8734         glthread/thread: avoid compiler warning
8735         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
8736         Add unreachable abort to silence compiler.
8737
8738 2008-10-22  Eric Blake  <ebb9@byu.net>
8739
8740         netdb: also supply struct addrinfo for cygwin 1.5.x
8741         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
8742         older cygwin.
8743         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
8744         cygwin.
8745         * doc/posix-headers/netdb.texi (netdb.h): Document this.
8746
8747 2008-10-22  Bruno Haible  <bruno@clisp.org>
8748
8749         * users.txt: Update entry about pspp.
8750
8751 2008-10-21  Bruno Haible  <bruno@clisp.org>
8752
8753         Simplification.
8754         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
8755         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
8756
8757         Simplification.
8758         * lib/ioctl.c (ioctl): Don't undefine.
8759         * lib/socket.c (socket): Don't undefine.
8760
8761         Remove unused module indicator macros.
8762         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
8763         GNULIB_$1 as a C macro.
8764
8765         * doc/posix-functions/close.texi: Undo last change.
8766         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
8767         Windows platforms.
8768
8769 2008-10-21  Bruno Haible  <bruno@clisp.org>
8770
8771         Add gethostname() declaration to <unistd.h>.
8772         * lib/unistd.in.h (gethostname): New declaration.
8773         * lib/gethostname.c: Include <unistd.h>.
8774         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
8775         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
8776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
8777         and HAVE_GETHOSTNAME.
8778         * modules/gethostname (Depends-on): Add unistd.
8779         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
8780         (Include): Specify <unistd.h>.
8781         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
8782         HAVE_GETHOSTNAME.
8783         * tests/test-gethostname.c: Include <unistd.h> first.
8784
8785 2008-10-21  Bruno Haible  <bruno@clisp.org>
8786
8787         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
8788         * modules/select-tests (Depends-on): Likewise.
8789         Reported by Simon Josefsson.
8790
8791 2008-10-21  Simon Josefsson  <simon@josefsson.org>
8792
8793         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
8794         * lib/accept.c: New file, based on winsock.c.
8795         * lib/bind.c: New file, based on winsock.c.
8796         * lib/connect.c: New file, based on winsock.c.
8797         * lib/getpeername.c: New file, based on winsock.c.
8798         * lib/getsockname.c: New file, based on winsock.c.
8799         * lib/getsockopt.c: New file, based on winsock.c.
8800         * lib/ioctl.c: New file, based on winsock.c.
8801         * lib/listen.c: New file, based on winsock.c.
8802         * lib/recv.c: New file, based on winsock.c.
8803         * lib/recvfrom.c: New file, based on winsock.c.
8804         * lib/send.c: New file, based on winsock.c.
8805         * lib/sendto.c: New file, based on winsock.c.
8806         * lib/setsockopt.c: New file, based on winsock.c.
8807         * lib/shutdown.c: New file, based on winsock.c.
8808         * lib/socket.c: New file, based on winsock.c.
8809         * lib/w32sock.h: New file, based on winsock.c.
8810         * lib/winsock.c: Remove file.
8811         * modules/accept: Likewise.
8812         * modules/bind: Likewise.
8813         * modules/connect: Likewise.
8814         * modules/getpeername: Likewise.
8815         * modules/getsockname: Likewise.
8816         * modules/getsockopt: Likewise.
8817         * modules/ioctl: Likewise.
8818         * modules/listen: Likewise.
8819         * modules/recv: Likewise.
8820         * modules/recvfrom: Likewise.
8821         * modules/send: Likewise.
8822         * modules/sendto: Likewise.
8823         * modules/setsockopt: Likewise.
8824         * modules/shutdown: Likewise.
8825         * modules/socket: Use socket.c instead of winsock.c.
8826         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
8827         * doc/posix-functions/accept.texi: Doc fix.
8828         * doc/posix-functions/bind.texi: Doc fix.
8829         * doc/posix-functions/close.texi: Doc fix.
8830         * doc/posix-functions/connect.texi: Doc fix.
8831         * doc/posix-functions/getpeername.texi: Doc fix.
8832         * doc/posix-functions/getsockname.texi: Doc fix.
8833         * doc/posix-functions/getsockopt.texi: Doc fix.
8834         * doc/posix-functions/ioctl.texi: Doc fix.
8835         * doc/posix-functions/listen.texi: Doc fix.
8836         * doc/posix-functions/recv.texi: Doc fix.
8837         * doc/posix-functions/recvfrom.texi: Doc fix.
8838         * doc/posix-functions/send.texi: Doc fix.
8839         * doc/posix-functions/sendto.texi: Doc fix.
8840         * doc/posix-functions/setsockopt.texi: Doc fix.
8841         * doc/posix-functions/shutdown.texi: Doc fix.
8842         * doc/posix-functions/socket.texi: Doc fix.
8843
8844 2008-10-20  Bruno Haible  <bruno@clisp.org>
8845
8846         Take into account the role of SIGABRT_COMPAT on Windows 2008.
8847         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
8848         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
8849         as an alias for SIGABRT.
8850         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
8851         (sigaction): Map it to SIGABRT.
8852         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
8853
8854 2008-10-20  Bruno Haible  <bruno@clisp.org>
8855
8856         * lib/fts.c: Don't include lstat.h.
8857         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
8858
8859         Move the lstat() declaration to <sys/stat.h>.
8860         * lib/lstat.h: Remove file.
8861         * lib/sys_stat.in.h: Add special invocation convention.
8862         (lstat): New declaration.
8863         * lib/lstat.c (orig_lstat): New function.
8864         (rpl_lstat): Use orig_lstat instead of lstat.
8865         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
8866         AC_C_INLINE. Set REPLACE_LSTAT.
8867         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
8868         and REPLACE_LSTAT.
8869         * modules/lstat (Files): Remove lib/lstat.h.
8870         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
8871         (Include): Specify <sys/stat.h> instead of lstat.h.
8872         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
8873         REPLACE_LSTAT.
8874         * NEWS: Mention the change.
8875
8876 2008-10-20  Bruno Haible  <bruno@clisp.org>
8877
8878         * modules/posix_spawn-tests: New file.
8879         * tests/test-posix_spawn3.c: New file.
8880
8881 2008-10-20  Bruno Haible  <bruno@clisp.org>
8882
8883         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
8884         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
8885         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
8886         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
8887         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
8888
8889 2008-10-20  Bruno Haible  <bruno@clisp.org>
8890
8891         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
8892         of posix_spawn on AIX 5.3.
8893
8894 2008-10-20  Bruno Haible  <bruno@clisp.org>
8895
8896         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
8897
8898 2008-10-20  Bruno Haible  <bruno@clisp.org>
8899
8900         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
8901         of AC_LANG_PROGRAM.
8902
8903 2008-10-20  Simon Josefsson  <simon@josefsson.org>
8904
8905         * lib/netdb.in.h: Don't define GNU specific constants until they
8906         are supported or needed.  Reported by Bruno Haible
8907         <bruno@clisp.org>.
8908
8909 2008-10-20  Simon Josefsson  <simon@josefsson.org>
8910
8911         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
8912
8913 2008-10-20  Simon Josefsson  <simon@josefsson.org>
8914
8915         * lib/getaddrinfo.h: Remove file.
8916         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
8917         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
8918         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
8919         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
8920         * modules/netdb: Substitute GNULIB_GETADDRINFO.
8921         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
8922         * tests/test-getaddrinfo.c: Likewise.
8923         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
8924         * NEWS: Mention change.
8925
8926 2008-10-19  Bruno Haible  <bruno@clisp.org>
8927
8928         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
8929
8930 2008-10-19  Bruno Haible  <bruno@clisp.org>
8931
8932         * lib/wait-process.c: Include simply <sys/wait.h>.
8933         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
8934         WIFSTOPPED): Remove fallback definitions.
8935         * modules/wait-process (Depends-on): Add sys_wait.
8936
8937         New module 'sys_wait'.
8938         * modules/sys_wait: New file.
8939         * lib/sys_wait.in.h: New file, partially copied from
8940         lib/wait-process.c.
8941         * m4/sys_wait_h.m4: New file.
8942         * doc/posix-headers/sys_wait.texi: Mention the new module.
8943
8944 2008-10-19  Bruno Haible  <bruno@clisp.org>
8945
8946         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
8947
8948 2008-10-19  Bruno Haible  <bruno@clisp.org>
8949
8950         Assume that waitpid() fills an 'int' status, not a 'union wait'.
8951         * lib/wait-process.c (WAIT_T): Remove type.
8952         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
8953         (wait_subprocess): Update.
8954
8955 2008-10-19  Bruno Haible  <bruno@clisp.org>
8956
8957         New module 'atoll'.
8958         * modules/atoll: New file.
8959         * lib/stdlib.in.h (atoll): New declaration.
8960         * lib/atoll.c: New file, from glibc with modifications.
8961         * m4/atoll.m4: New file.
8962         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
8963         HAVE_ATOLL.
8964         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
8965         * doc/posix-functions/atoll.texi: Mention the new module.
8966
8967 2008-10-19  Bruno Haible  <bruno@clisp.org>
8968
8969         Add strtoull() declaration to <stdlib.h>.
8970         * lib/stdlib.in.h (strtoull): New declaration.
8971         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
8972         Set HAVE_STRTOULL.
8973         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
8974         HAVE_STRTOULL.
8975         * modules/strtoull (Depends-on): Add stdlib.
8976         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
8977         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
8978         HAVE_STRTOULL.
8979
8980 2008-10-19  Bruno Haible  <bruno@clisp.org>
8981
8982         Add strtoll() declaration to <stdlib.h>.
8983         * lib/stdlib.in.h (strtoll): New declaration.
8984         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
8985         Set HAVE_STRTOLL.
8986         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
8987         HAVE_STRTOLL.
8988         * modules/strtoll (Depends-on): Add stdlib.
8989         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
8990         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
8991
8992 2008-10-19  Bruno Haible  <bruno@clisp.org>
8993
8994         * modules/bcopy (Depends-on): Add strings.
8995         (Include): Specify <strings.h>.
8996
8997 2008-10-19  Bruno Haible  <bruno@clisp.org>
8998
8999         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
9000
9001 2008-10-19  Bruno Haible  <bruno@clisp.org>
9002
9003         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
9004         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
9005         mingw.
9006
9007 2008-10-19  Bruno Haible  <bruno@clisp.org>
9008
9009         * lib/atanl.c: Don't include isnanl.h.
9010         * lib/cosl.c: Likewise.
9011         * lib/ldexpl.c: Likewise.
9012         * lib/logl.c: Likewise.
9013         * lib/sinl.c: Likewise.
9014         * lib/sqrtl.c: Likewise.
9015         * lib/tanl.c: Likewise.
9016
9017         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
9018         * lib/isnanf.h: Remove file.
9019         * lib/isnand.h: Remove file.
9020         * lib/isnanl.h: Remove file.
9021         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
9022         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
9023         macros.
9024         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
9025         HAVE_ISNANF, don't define it as a C macro.
9026         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
9027         HAVE_ISNAND, don't define it as a C macro.
9028         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
9029         HAVE_ISNANL, don't define it as a C macro.
9030         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
9031         HAVE_ISNAN[FDL].
9032         * modules/isnanf (Files): Remove lib/isnanf.h.
9033         (Depends-on): Add math.
9034         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9035         (Include): Specify <math.h> instead of isnanf.h.
9036         * modules/isnand (Files): Remove lib/isnand.h.
9037         (Depends-on): Add math.
9038         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9039         (Include): Specify <math.h> instead of isnand.h.
9040         * modules/isnanl (Files): Remove lib/isnanl.h.
9041         (Depends-on): Add math.
9042         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9043         (Include): Specify <math.h> instead of isnanl.h.
9044         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
9045         HAVE_ISNAN[FDL].
9046         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
9047         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
9048         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
9049         * NEWS: Mention the change.
9050
9051 2008-10-18  Bruno Haible  <bruno@clisp.org>
9052
9053         Add getusershell(), setusershell(), endusershell() declarations to
9054         <unistd.h>.
9055         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
9056         declarations.
9057         * lib/getusershell.c: Include unistd.h.
9058         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
9059         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
9060         HAVE_GETUSERSHELL.
9061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
9062         and HAVE_GETUSERSHELL.
9063         * modules/getusershell (Depends-on): Add unistd, extensions.
9064         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
9065         (Include): Specify <unistd.h>.
9066         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
9067         HAVE_GETUSERSHELL.
9068
9069 2008-10-18  Bruno Haible  <bruno@clisp.org>
9070
9071         Add a getloadavg() declaration to <stdlib.h>.
9072         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
9073         getloadavg declaration.
9074         (getloadavg): New declaration.
9075         * lib/getloadavg.c: Include <stdlib.h> first.
9076         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
9077         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
9078         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
9079         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
9080         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
9081         * modules/getloadavg (Depends-on): Add stdlib, extensions.
9082         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
9083         (Include): Specify <stdlib.h>.
9084         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
9085         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
9086
9087 2008-10-18  Bruno Haible  <bruno@clisp.org>
9088
9089         * lib/dirchownmod.c: Don't include lchmod.h.
9090
9091         Move the lchmod() declaration to <sys/stat.h>.
9092         * lib/lchmod.h: Remove file.
9093         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
9094         (lchmod): New declaration, moved here from lib/lchown.h.
9095         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
9096         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
9097         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
9098         and HAVE_LCHMOD.
9099         * modules/lchmod (Files): Remove lib/lchmod.h.
9100         (Depends-on): Add sys_stat, extensions.
9101         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
9102         (Include): Specify <sys/stat.h> instead of lchmod.h.
9103         * modules/sys_stat (Depends-on): Add link-warning.
9104         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
9105         definition of GL_LINK_WARNING.
9106         * NEWS: Mention the change.
9107
9108 2008-10-18  Bruno Haible  <bruno@clisp.org>
9109
9110         * lib/fchdir.c: Don't include dirfd.h.
9111         * lib/fts.c: Likewise.
9112         * lib/getcwd.c: Likewise.
9113         * lib/glob.c: Likewise.
9114
9115         Move the dirfd() declaration to <dirent.h>.
9116         * lib/dirfd.h: Remove file.
9117         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
9118         (dirfd): New declaration.
9119         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
9120         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
9121         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
9122         HAVE_DECL_DIRFD.
9123         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
9124         HAVE_DECL_DIRFD.
9125         * modules/dirfd (Files): Remove lib/dirfd.h.
9126         (Depends-on): Add dirent, extensions.
9127         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
9128         (Include): Specify <dirent.h> instead of dirfd.h.
9129         * modules/dirent (Depends-on): Add link-warning.
9130         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
9131         definition of GL_LINK_WARNING.
9132         * NEWS: Mention the change.
9133
9134 2008-10-18  Bruno Haible  <bruno@clisp.org>
9135
9136         Move the euidaccess() declaration to <unistd.h>.
9137         * lib/euidaccess.h: Remove file.
9138         * lib/unistd.in.h (euidaccess): New declaration.
9139         * lib/euidaccess.c: Don't include euidaccess.h.
9140         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
9141         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
9142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
9143         and HAVE_EUIDACCESS.
9144         * modules/euidaccess (Files): Remove lib/euidaccess.h.
9145         (Depends-on): Add unistd.
9146         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
9147         (Include): Specify <unistd.h> instead of euidaccess.h.
9148         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
9149         HAVE_EUIDACCESS.
9150         * NEWS: Mention the change.
9151
9152 2008-10-18  Bruno Haible  <bruno@clisp.org>
9153
9154         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
9155
9156         Move the getdomainname() declaration to <unistd.h>.
9157         * lib/getdomainname.h: Remove file.
9158         * lib/unistd.in.h (getdomainname): New declaration.
9159         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
9160         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
9161         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
9162         HAVE_GETDOMAINNAME.
9163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9164         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
9165         * modules/getdomainname (Files): Remove lib/getdomainname.h.
9166         (Depends-on): Add unistd, extensions.
9167         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
9168         (Includes): Specify <unistd.h> instead of getdomainname.h.
9169         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
9170         HAVE_GETDOMAINNAME.
9171         * NEWS: Mention the change.
9172
9173 2008-10-18  Bruno Haible  <bruno@clisp.org>
9174
9175         * modules/dirent: New file.
9176         * m4/dirent_h.m4: New file.
9177         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
9178         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
9179         * modules/fchdir (Files): Remove lib/dirent.in.h.
9180         (Depends-on): Add dirent.
9181         (Makefile.am): Move rules to modules/dirent.
9182         * doc/posix-headers/dirent.texi: Mention the new module.
9183
9184 2008-10-18  Bruno Haible  <bruno@clisp.org>
9185
9186         Avoid -Wunused-parameter warnings in public gnulib header files.
9187         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
9188         macro.
9189         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
9190
9191 2008-10-18  Bruno Haible  <bruno@clisp.org>
9192
9193         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
9194         * doc/glibc-functions/error.texi: Mention the module 'error'.
9195         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
9196         * doc/glibc-functions/getdomainname.texi: Mention the module
9197         'getdomainname'.
9198         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
9199         * doc/glibc-functions/getpagesize.texi: Mention the module
9200         'getpagesize'.
9201         * doc/glibc-functions/getusershell.texi: Mention the module
9202         'getusershell'.
9203         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
9204         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
9205         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
9206         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
9207         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
9208         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
9209         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
9210         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
9211         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
9212         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
9213         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
9214         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
9215         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
9216         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
9217
9218 2008-10-17  Bruno Haible  <bruno@clisp.org>
9219
9220         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
9221         HP-UX and IRIX, use -0.0L.
9222         * tests/test-ceill.c (minus_zero): Likewise.
9223         * tests/test-floorl.c (minus_zero): Likewise.
9224         * tests/test-frexpl.c (minus_zero): Likewise.
9225         * tests/test-isnan.c (minus_zerol): Likewise.
9226         * tests/test-isnanl.h (minus_zero): Likewise.
9227         * tests/test-ldexpl.c (minus_zero): Likewise.
9228         * tests/test-roundl.c (minus_zero): Likewise.
9229         * tests/test-signbit.c (minus_zerol): Likewise.
9230         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
9231         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
9232         * tests/test-truncl.c (minus_zero): Likewise.
9233         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
9234         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
9235         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
9236         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
9237
9238 2008-10-17  Bruno Haible  <bruno@clisp.org>
9239
9240         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
9241         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
9242         that it gets activated only for gcc >= 3.0.
9243         * lib/dirent.in.h: Likewise.
9244         * lib/errno.in.h: Likewise.
9245         * lib/fcntl.in.h: Likewise.
9246         * lib/float.in.h: Likewise.
9247         * lib/iconv.in.h: Likewise.
9248         * lib/inttypes.in.h: Likewise.
9249         * lib/locale.in.h: Likewise.
9250         * lib/math.in.h: Likewise.
9251         * lib/netdb.in.h: Likewise.
9252         * lib/netinet_in.in.h: Likewise.
9253         * lib/search.in.h: Likewise.
9254         * lib/signal.in.h: Likewise.
9255         * lib/spawn.in.h: Likewise.
9256         * lib/stdarg.in.h: Likewise.
9257         * lib/stdint.in.h: Likewise.
9258         * lib/stdio.in.h: Likewise.
9259         * lib/stdlib.in.h: Likewise.
9260         * lib/string.in.h: Likewise.
9261         * lib/strings.in.h: Likewise.
9262         * lib/sys_file.in.h: Likewise.
9263         * lib/sys_ioctl.in.h: Likewise.
9264         * lib/sys_select.in.h: Likewise.
9265         * lib/sys_socket.in.h: Likewise.
9266         * lib/sys_stat.in.h: Likewise.
9267         * lib/sys_time.in.h: Likewise.
9268         * lib/sysexits.in.h: Likewise.
9269         * lib/time.in.h: Likewise.
9270         * lib/unistd.in.h: Likewise.
9271         * lib/wchar.in.h: Likewise.
9272         * lib/wctype.in.h: Likewise.
9273         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9274
9275 2008-10-17  Jim Meyering  <meyering@redhat.com>
9276
9277         ignore-value: don't depend on inline module
9278         * modules/ignore-value (Depends-on): Remove 'inline'.
9279         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
9280         Suggestion from Bruno Haible.
9281
9282 2008-10-17  Bruno Haible  <bruno@clisp.org>
9283
9284         New implementation of condition variables for Win32.
9285         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
9286         (gl_linked_waitqueue_t): New type.
9287         (gl_cond_t): Use it.
9288         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
9289         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
9290         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
9291         (glthread_cond_init_func, glthread_cond_wait_func,
9292         glthread_cond_timedwait_func, glthread_cond_signal_func,
9293         glthread_cond_broadcast_func, glthread_cond_destroy_func):
9294         Reimplemented on the basis of gl_linked_waitqueue_t.
9295         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
9296         gl_waitqueue_t.
9297         (gl_rwlock_t): Update.
9298         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
9299
9300 2008-10-17  Simon Josefsson  <simon@josefsson.org>
9301
9302         * modules/recvfrom (Depends-on): Add dependency on getpeername.
9303         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
9304
9305 2008-10-17  Jim Meyering  <meyering@redhat.com>
9306
9307         ignore-value: new module
9308         * modules/ignore-value: New file.
9309         * lib/ignore-value.h: New file.
9310         * MODULES.html.sh (Compiler warning management): New section,
9311         just for this module.  More to come.
9312
9313 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9314
9315         open-safer.c: avoid 'signed and unsigned in conditional...' warning
9316         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
9317         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
9318
9319 2008-10-16  Jim Meyering  <meyering@redhat.com>
9320
9321         openat-die.c: avoid 'no previous prototype' warning
9322         * lib/openat-die.c: Include "openat.h".
9323         Reported by Reuben Thomas <rrt@sc3d.org>.
9324
9325 2008-10-16  Simon Josefsson  <simon@josefsson.org>
9326
9327         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
9328         * lib/netdb.in.h: Fix typo.
9329         Reported by Bruno Haible  <bruno@clisp.org>
9330
9331         * lib/netdb.in.h: Include sys/socket.h for platforms without
9332         netdb.h, to get structures like hostent on MinGW.
9333         * modules/netdb (Depends-on): Add sys_socket.
9334
9335 2008-10-15  Simon Josefsson  <simon@josefsson.org>
9336
9337         * modules/netdb, modules/netdb-tests: New file.
9338         * m4/netdb_h.m4: New file.
9339         * lib/netdb.in.h: Add, currently just an empty file pending
9340         definitions.
9341         * tests/test-netdb.c: New file.
9342         * doc/posix-headers/netdb.texi: Mention that we replace it if
9343         needed.
9344         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
9345         netdb.
9346
9347 2008-10-15  Simon Josefsson  <simon@josefsson.org>
9348
9349         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
9350         with code.
9351
9352 2008-10-13  Bruno Haible  <bruno@clisp.org>
9353
9354         * lib/glthread/cond.c (glthread_cond_wait_func,
9355         glthread_cond_timedwait_func): Add a comment.
9356
9357 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
9358
9359         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
9360         * tests/test-select.c: Likewise,
9361
9362 2008-10-13  Bruno Haible  <bruno@clisp.org>
9363
9364         * lib/glthread/cond.c (glthread_cond_wait_func,
9365         glthread_cond_timedwait_func): Fix variable name.
9366         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
9367
9368 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
9369
9370         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
9371         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
9372         struct sockaddr.sa_len.
9373         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
9374
9375 2008-10-13  Simon Josefsson  <simon@josefsson.org>
9376
9377         * build-aux/pmccabe2html: Add css and css_url parameters.
9378
9379 2008-10-12  Bruno Haible  <bruno@clisp.org>
9380
9381         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
9382         calling aclx_get.
9383         Reported by Rainer Tammer <tammer@tammer.net>.
9384
9385 2008-10-12  Bruno Haible  <bruno@clisp.org>
9386
9387         Use msvcrt aware primitives for creation/termination of Win32 threads.
9388         * lib/glthread/thread.c: Include <process.h>.
9389         (glthread_create_func): Use _beginthreadex instead of CreateThread.
9390         (wrapper_func): Update signature.
9391         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
9392
9393 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
9394             Bruno Haible  <bruno@clisp.org>
9395
9396         Provide a Win32 implementation of the 'cond' module.
9397         * lib/glthread/cond.h [USE_WIN32]: New implementation.
9398         * lib/glthread/cond.c (glthread_cond_init_func,
9399         glthread_cond_wait_func, glthread_cond_timedwait_func,
9400         glthread_cond_signal_func, glthread_cond_broadcast_func,
9401         glthread_cond_destroy_func) [USE_WIN32]: New functions.
9402         * modules/cond (Dependencies): Add gettimeofday.
9403
9404 2008-10-11  Bruno Haible  <bruno@clisp.org>
9405
9406         Make sleep work on older versions of mingw.
9407         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
9408         only whether it exists.
9409         * doc/posix-functions/sleep.texi: Mention the problem with older
9410         versions of mingw.
9411
9412 2008-10-11  Bruno Haible  <bruno@clisp.org>
9413
9414         New module 'shutdown'.
9415         * modules/shutdown: New file.
9416         * lib/sys_socket.in.h (shutdown): New declaration.
9417         * lib/winsock.c (shutdown): New function.
9418         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
9419         GNULIB_SHUTDOWN.
9420         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
9421         * doc/posix-functions/shutdown.texi: Document the new module.
9422
9423 2008-10-11  Jim Meyering  <meyering@redhat.com>
9424
9425         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
9426
9427 2008-10-11  Bruno Haible  <bruno@clisp.org>
9428
9429         New module 'fclose'.
9430         * modules/fclose: New file.
9431         * lib/stdio.in.h (fclose): New declaration.
9432         * lib/fclose.c: New file.
9433         * m4/fclose.m4: New file.
9434         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
9435         REPLACE_FCLOSE.
9436         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
9437         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
9438         REPLACE_FCLOSE.
9439         * modules/close (Depends-on): fclose.
9440         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
9441
9442 2008-10-11  Bruno Haible  <bruno@clisp.org>
9443
9444         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
9445         set errno and don't call _close.
9446
9447 2008-10-10  Bruno Haible  <bruno@clisp.org>
9448
9449         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
9450         ACL, not afterwards. Fixes test failure on Cygwin.
9451
9452 2008-10-09  Ben Pfaff  <blp@gnu.org>
9453
9454         * build-aux/announce-gen: Fix gnulib version related part of usage
9455         message.  Die with a useful error message if no tarballs are
9456         found.
9457
9458 2008-10-10  Jim Meyering  <meyering@redhat.com>
9459
9460         bootstrap: use git's --depth=N option only if it's supported
9461         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
9462         recognize the --depth option.  Reported by Pádraig Brady.
9463
9464 2008-10-09  Bruno Haible  <bruno@clisp.org>
9465
9466         New module 'ioctl'.
9467         * modules/ioctl: New file.
9468         * lib/sys_socket.in.h (ioctl): Remove declaration.
9469         * lib/winsock.c: Include <sys/ioctl.h>.
9470         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
9471         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
9472         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
9473         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
9474         * doc/posix-functions/ioctl.texi: Mention the new module.
9475
9476 2008-10-09  Bruno Haible  <bruno@clisp.org>
9477
9478         New module 'sys_ioctl'.
9479         * lib/sys_ioctl.in.h: New file.
9480         * m4/sys_ioctl_h.m4: New file.
9481         * modules/sys_ioctl: New file.
9482         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
9483
9484 2008-10-09  Bruno Haible  <bruno@clisp.org>
9485
9486         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
9487         * lib/winsock.c: Include <stdarg.h>.
9488         (rpl_ioctl): Change to second argument 'int' and then varargs.
9489
9490 2008-10-09  Bruno Haible  <bruno@clisp.org>
9491
9492         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
9493         when the sys_socket module is present and the system has <winsock2.h>.
9494
9495 2008-10-09  Bruno Haible  <bruno@clisp.org>
9496
9497         * doc/posix-functions/close.texi: Mention module 'close' instead of
9498         module 'sys_socket'.
9499
9500 2008-10-09  Bruno Haible  <bruno@clisp.org>
9501
9502         * doc/glibc-headers/sys_ioctl.texi: New file.
9503         * doc/gnulib.texi: Include it.
9504
9505 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
9506             Bruno Haible  <bruno@clisp.org>
9507
9508         Combine the two replacements of 'close'.
9509         * lib/sys_socket.in.h (close): Define to a reminder to include
9510         <unistd.h>.
9511         (_gl_close_fd_maybe_socket): New declaration.
9512         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
9513         * lib/winsock.c (close): Remove undefinition.
9514         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
9515         needed for the gnulib module 'close'.
9516         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
9517         define to an error symbol or to a warning, if suitable.
9518         * lib/close.c: Include <sys/socket.h>.
9519         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
9520         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
9521         UNISTD_H_HAVE_WINSOCK2_H.
9522         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
9523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9524         UNISTD_H_HAVE_WINSOCK2_H.
9525         * modules/sys_socket (Files): Add m4/unistd_h.m4.
9526         (configure.ac): Set a module indicator.
9527         (Makefile.am): Substitute GNULIB_CLOSE.
9528         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
9529         * modules/poll-tests (Depends-on): Add close.
9530         * modules/select-tests (Depends-on): Likewise.
9531
9532 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
9533             Bruno Haible  <bruno@clisp.org>
9534
9535         New module 'close'.
9536         * modules/close: New file.
9537         * lib/unistd.in.h (close): Move declaration out of the
9538         FCHDIR_REPLACEMENT scope.
9539         (_gl_unregister_fd): New declaration.
9540         * lib/close.c: New file.
9541         * lib/fchdir.c (rpl_close): Remove function.
9542         * m4/close.m4: New file.
9543         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
9544         close.
9545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
9546         REPLACE_CLOSE.
9547         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
9548         REPLACE_CLOSE.
9549         * modules/fchdir (Depends-on): Add close.
9550
9551 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
9552             Bruno Haible  <bruno@clisp.org>
9553
9554         * lib/fcntl.in.h (open): Simplify conditionals.
9555         (_gl_register_fd): New declaration.
9556         * lib/fchdir.c (rpl_open): Remove function.
9557         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
9558         also.
9559         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
9560         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
9561         open.
9562
9563 2008-10-09  Jim Meyering  <meyering@redhat.com>
9564
9565         GNUmakefile: use the more name-space-friendly "_version"
9566         * top/GNUmakefile (_dummy): Update.
9567         (_version): Rename from "version".
9568
9569 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
9570             Bruno Haible  <bruno@clisp.org>
9571
9572         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
9573         rpl_close.
9574         (_gl_register_fd): New function, extracted from rpl_open.
9575         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
9576         (rpl_open, rpl_opendir): Use _gl_register_fd.
9577
9578 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
9579
9580         Fix organization of 'open' replacement.
9581         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
9582         (gl_FUNC_OPEN): Use it.
9583         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
9584
9585 2008-10-08  Bruno Haible  <bruno@clisp.org>
9586
9587         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
9588
9589 2008-10-08  Simon Josefsson  <simon@josefsson.org>
9590
9591         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
9592         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
9593         listen).
9594
9595 2008-10-08  Eric Blake  <ebb9@byu.net>
9596
9597         GNUmakefile: add 'make version' target
9598         * top/GNUmakefile (_curr-ver): Split version update rules...
9599         (version): ...into a target.
9600
9601 2008-10-07  Bruno Haible  <bruno@clisp.org>
9602
9603         Use a more portable replacement expression for -0.0L.
9604         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
9605         instead of -0.0L. Fix m4 quotation.
9606
9607         * tests/test-signbit.c: Include <float.h>.
9608         (minus_zero): New variable.
9609         (test_signbitl): Use minus_zero instead of -zero.
9610         * modules/signbit-tests (Depends-on): Add float.
9611
9612         * tests/test-ceill.c: Include <float.h>.
9613         (zero): Remove variable.
9614         (minus_zero): New variable.
9615         (main): Use minus_zero instead of -zero.
9616         * modules/ceill-tests (Depends-on): Add float.
9617
9618         * tests/test-floorl.c: Include <float.h>.
9619         (zero): Remove variable.
9620         (minus_zero): New variable.
9621         (main): Use minus_zero instead of -zero.
9622         * modules/floorl-tests (Depends-on): Add float.
9623
9624         * tests/test-roundl.c: Include <float.h>.
9625         (zero): Remove variable.
9626         (minus_zero): New variable.
9627         (main): Use minus_zero instead of -zero.
9628         * modules/roundl-tests (Depends-on): Add float.
9629
9630         * tests/test-truncl.c: Include <float.h>.
9631         (zero): Remove variable.
9632         (minus_zero): New variable.
9633         (main): Use minus_zero instead of -zero.
9634         * modules/truncl-tests (Depends-on): Add float.
9635
9636         * tests/test-frexpl.c (zero): Remove variable.
9637         (minus_zero): New variable.
9638         (main): Use minus_zero instead of -zero.
9639         * modules/frexpl-tests (Depends-on): Add float.
9640
9641         * tests/test-isnan.c (zerol): Remove variable.
9642         (minus_zerol): New variable.
9643         (test_long_double): Use minus_zerol instead of -zerol.
9644         * modules/isnan-tests (Depends-on): Add float.
9645
9646         * tests/test-isnanl.h (zero): Remove variable.
9647         (minus_zero): New variable.
9648         (main): Use minus_zero instead of -zero.
9649         * modules/isnanl-nolibm-tests (Depends-on): Add float.
9650         * modules/isnanl-tests (Depends-on): Add float.
9651
9652         * tests/test-ldexpl.c (zero): Remove variable.
9653         (minus_zero): New variable.
9654         (main): Use minus_zero instead of -zero.
9655         * modules/ldexpl-tests (Depends-on): Add float.
9656
9657         * tests/test-snprintf-posix.h (zerol): Remove variable.
9658         (minus_zerol): New variable.
9659         (test_function): Use minus_zerol instead of -zerol.
9660         * modules/snprintf-posix-tests (Depends-on): Add float.
9661         * modules/vsnprintf-posix-tests (Depends-on): Add float.
9662
9663         * tests/test-sprintf-posix.h (zerol): Remove variable.
9664         (minus_zerol): New variable.
9665         (test_function): Use minus_zerol instead of -zerol.
9666         * modules/sprintf-posix-tests (Depends-on): Add float.
9667         * modules/vsprintf-posix-tests (Depends-on): Add float.
9668
9669         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
9670         (minus_zerol): New variable.
9671         (test_function): Use minus_zerol instead of -zerol.
9672         * modules/vasnprintf-posix-tests (Depends-on): Add float.
9673
9674         * tests/test-vasprintf-posix.c (zerol): Remove variable.
9675         (minus_zerol): New variable.
9676         (test_function): Use minus_zerol instead of -zerol.
9677         * modules/vasprintf-posix-tests (Depends-on): Add float.
9678
9679 2008-10-07  Simon Josefsson  <simon@josefsson.org>
9680
9681         * MODULES.html.sh (Support for building documentation): Mention
9682         pmccabe2html.  Sort entries.
9683
9684         Add pmccabe2html module, from gnupdf.
9685         * build-aux/pmccabe.css: New file.
9686         * build-aux/pmccabe2html: New file.
9687         * m4/pmccabe2html.m4: New file.
9688         * modules/pmccabe2html: New file.
9689
9690 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
9691
9692         flock: new module
9693         * MODULES.html.sh: Add to list of modules.
9694         * lib/flock.c: flock implementation for Windows and Unix systems
9695         which have fcntl.
9696         * doc/glibc-functions/flock.texi: Update documentation.
9697         * lib/sys_file.in.h: <sys/file.h> header file.
9698         * m4/flock.m4: M4 macros.
9699         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
9700         * modules/flock: flock module.
9701         * modules/flock-tests: flock tests module.
9702         * modules/sys_file: sys/file.h module.
9703         * tests/test-flock.c: test suite for flock.
9704
9705 2008-10-06  Jim Meyering  <meyering@redhat.com>
9706
9707         bootstrap: check for LT_INIT more portably still ;-)
9708         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
9709         Spotted by Bruno Haible.
9710
9711 2008-10-06  Eric Blake  <ebb9@byu.net>
9712
9713         test-signbit: avoid tripping Irix cc bug on -0.0L
9714         * tests/test-signbit.c (minus_zerol): Delete, and replace with
9715         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
9716         entire testsuite consistent and avoids an Irix 6.2 bug.
9717
9718 2008-10-05  Bruno Haible  <bruno@clisp.org>
9719             Jim Meyering  <jim@meyering.net>
9720
9721         Add an option for ignoring EPIPE during close_stdout.
9722         * lib/closeout.h: Include <stdbool.h>.
9723         (close_stdout_set_ignore_EPIPE): New declaration.
9724         * lib/closeout.c: Include <stdbool.h>.
9725         (ignore_EPIPE): New variable.
9726         (close_stdout_set_ignore_EPIPE): New function.
9727         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
9728         * lib/close-stream.c (close_stream): Mention the possible EPIPE
9729         failure.
9730         * modules/closeout (Depends-on): Add stdbool.
9731
9732 2008-10-05  Bruno Haible  <bruno@clisp.org>
9733
9734         * modules/accept: New file.
9735         * modules/bind: New file.
9736         * modules/connect: New file.
9737         * modules/getpeername: New file.
9738         * modules/getsockname: New file.
9739         * modules/getsockopt: New file.
9740         * modules/listen: New file.
9741         * modules/recv: New file.
9742         * modules/recvfrom: New file.
9743         * modules/send: New file.
9744         * modules/sendto: New file.
9745         * modules/setsockopt: New file.
9746         * modules/socket: New file.
9747         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
9748         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
9749         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
9750         the particular module is requested. Add a link warning when the
9751         particular module is not requested.
9752         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
9753         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
9754         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
9755         the particular module is requested.
9756         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
9757         gl_SYS_SOCKET_H_DEFAULTS): New macros.
9758         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
9759         * modules/sys_socket (Depends-on): Add link-warning.
9760         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
9761         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
9762         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
9763         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
9764         GL_LINK_WARNING.
9765         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
9766         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
9767         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
9768         * doc/posix-functions/getpeername.texi: Mention the new module
9769         'getpeername'.
9770         * doc/posix-functions/getsockname.texi: Mention the new module
9771         'getsockname'.
9772         * doc/posix-functions/getsockopt.texi: Mention the new module
9773         'getsockopt'.
9774         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
9775         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
9776         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
9777         * doc/posix-functions/send.texi: Mention the new module 'send'.
9778         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
9779         * doc/posix-functions/setsockopt.texi: Mention the new module
9780         'setsockopt'.
9781         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
9782         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
9783         listen, connect, accept.
9784         * modules/select-tests (Depends-on): Likewise.
9785
9786 2008-10-05  Bruno Haible  <bruno@clisp.org>
9787
9788         * lib/winsock.c (strerror): Remove unused #undef.
9789         (rpl_close): Remove unused local variable.
9790
9791         * modules/sys_socket (Depends-on); Add errno.
9792
9793 2008-10-05  Bruno Haible  <bruno@clisp.org>
9794
9795         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
9796         (select): Add a link warning when the 'select' module is not used.
9797         * modules/sys_select (Depends-on): Add link-warning.
9798         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
9799         Suggested by Paolo Bonzini.
9800
9801 2008-10-05  Jim Meyering  <meyering@redhat.com>
9802
9803         bootstrap: check for LT_INIT more portably
9804         * build-aux/bootstrap: Avoid using grep -E, since it's not
9805         portable enough.  Suggestion from Bruno Haible.
9806
9807 2008-10-05  Bruno Haible  <bruno@clisp.org>
9808
9809         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
9810         as being fixed by gnulib.
9811
9812 2008-10-05  Bruno Haible  <bruno@clisp.org>
9813
9814         * modules/select-tests: New file, mostly copied from
9815         modules/sys_select-tests.
9816         * tests/test-select.c: New file, mostly copied from
9817         tests/test-sys_select.c.
9818         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
9819         * modules/sys_select-tests (Depends-on): Remove all dependencies.
9820         (Makefile.am): Remove test_sys_select_LDADD.
9821
9822         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
9823         to an undefined symbol, for an error message.
9824         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
9825         (gl_SYS_SELECT_H_DEFAULTS): New macro.
9826         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
9827         winsock-select.c here.
9828         * modules/sys_select (Files): Remove lib/winsock-select.c.
9829         (Depends-on): Remove alloca.
9830         (Makefile.am): Substitute GNULIB_SELECT.
9831         * modules/select: New file.
9832         * doc/posix-functions/select.texi: Update.
9833
9834 2008-10-05  Bruno Haible  <bruno@clisp.org>
9835
9836         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
9837         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
9838         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
9839         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
9840         getdtablesize.
9841         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
9842         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
9843
9844 2008-10-05  Bruno Haible  <bruno@clisp.org>
9845
9846         * modules/getdtablesize-tests: New file.
9847         * tests/test-getdtablesize.c: New file.
9848
9849         New module 'getdtablesize'.
9850         * lib/unistd.in.h (getdtablesize): New declaration.
9851         * lib/getdtablesize.c: New file.
9852         * m4/getdtablesize.m4: New file.
9853         * modules/getdtablesize: New file.
9854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9855         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
9856         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
9857         HAVE_GETDTABLESIZE.
9858         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
9859
9860 2008-10-05  Bruno Haible  <bruno@clisp.org>
9861
9862         * modules/sched (Makefile.am): Fix typo.
9863         Reported by Simon Josefsson.
9864
9865 2008-10-05  Jim Meyering  <meyering@redhat.com>
9866
9867         bootstrap: check for LT_INIT, too
9868         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
9869         are deprecated.  Suggestion from Ralf Wildenhues.
9870
9871 2008-10-05  Bruno Haible  <bruno@clisp.org>
9872
9873         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
9874         overriding them by ours.
9875         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
9876
9877 2008-10-05  Jim Meyering  <meyering@redhat.com>
9878
9879         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
9880         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
9881         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
9882
9883 2008-10-04  Bruno Haible  <bruno@clisp.org>
9884
9885         * modules/dup2 (License): Change to LGPLv2+.
9886         * modules/sleep (License): Likewise.
9887         * modules/perror (License): Likewise.
9888         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
9889         Blake.
9890         * modules/signal (License): Likewise.
9891         * modules/sigprocmask (License): Likewise.
9892         * modules/raise (License): Change to LGPLv2+, with approval by Jim
9893         Meyering.
9894
9895 2008-10-04  Bruno Haible  <bruno@clisp.org>
9896
9897         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
9898         Reported by Rainer Tammer <tammer@tammer.net>.
9899
9900 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
9901             Bruno Haible  <bruno@clisp.org>
9902
9903         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
9904         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
9905         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
9906
9907 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
9908
9909         filevercmp: new module
9910         * lib/filevercmp.h: New function filevercmp comparing version strings.
9911         * lib/filevercmp.c: Implementation of filevercmp function.
9912         * modules/filevercmp: Module metadata.
9913         * tests/test-filevercmp.c: Unit test for new module.
9914         * modules/filevercmp-tests: Unit test metadata.
9915         * MODULES.html.sh: Add filevercmp module.
9916
9917 2008-10-03  Bruno Haible  <bruno@clisp.org>
9918
9919         * lib/c-ctype.h: Add comment.
9920         Reported by Jim Meyering.
9921
9922 2008-10-02  Bruno Haible  <bruno@clisp.org>
9923
9924         * modules/posix_spawn-internal (Depends-on): Add 'open'.
9925
9926 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
9927
9928         * build-aux/bootstrap: Allow renaming bootstrap, and change the
9929         name of bootstrap.conf accordingly.
9930
9931 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
9932
9933         * build-aux/bootstrap: Install git-merge-changelog configuration
9934         items into .gitconfig if needed.
9935
9936 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
9937
9938         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
9939         git repository, and initialize/update it accordingly.
9940
9941 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
9942
9943         * modules/fsync-tests: New file.
9944         * tests/test-fsync.c: New file.
9945
9946         New module 'fsync'.
9947         * lib/fsync.c: New file.
9948         * m4/fsync.m4: New file.
9949         * modules/fsync: New file.
9950         * lib/unistd.in.h (fsync): New declaration.
9951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
9952         GNULIB_FSYNC and HAVE_FSYNC.
9953         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
9954         * MODULES.html.sh (posix_functions): Add fsync.
9955         * doc/posix-functions/fsync.texi: Mention the new module.
9956
9957 2008-10-02  Jim Meyering  <meyering@redhat.com>
9958
9959         fts.c: sync with similar code from coreutils' remove.c
9960         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
9961         Guard also with "#if defined __linux__", since for now at least,
9962         this code is Linux-kernel-specific.
9963
9964 2008-10-02  Jim Meyering  <meyering@redhat.com>
9965
9966         fts: bug fixes
9967         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
9968         Include <sys/vfs.h>, not <sys/statfs.h>.
9969
9970         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
9971         Include <sys/vfs.h>, not <sys/statfs.h>.
9972
9973 2008-10-01  Bruno Haible  <bruno@clisp.org>
9974
9975         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
9976         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
9977         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
9978         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
9979         * doc/posix-functions/posix_spawnp.texi: Likewise.
9980         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
9981         whether posix_spawn actually works.
9982         * m4/pipe.m4 (gl_PIPE): Likewise.
9983         * modules/execute (Files): Add m4/posix_spawn.m4.
9984         * modules/pipe (Files): Add m4/posix_spawn.m4.
9985         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
9986
9987 2008-10-01  Jim Meyering  <meyering@redhat.com>
9988
9989         remove trailing spaces
9990         * NEWS: Likewise.
9991         * lib/poll.c (poll): Likewise.
9992         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
9993         * lib/winsock.c (rpl_close): Likewise.
9994         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
9995         * modules/yield: Likewise.
9996         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
9997         * tests/test-sys_select.c (connect_to_socket): Likewise.
9998
9999         fts.c: adjust a new interface to be more generally useful
10000         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
10001         (fts_build): Adjust caller.
10002
10003 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10004
10005         * modules/cond-tests: New file.
10006         * tests/test-cond.c: New file.
10007
10008 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10009             Bruno Haible  <bruno@clisp.org>
10010
10011         * modules/cond (Dependencies): Add errno, time.
10012         * lib/glthread/cond.h: Include <time.h>.
10013         (gl_cond_define, gl_cond_define_initialized): Use the same definition
10014         across platforms.
10015
10016 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10017             Bruno Haible  <bruno@clisp.org>
10018
10019         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
10020
10021 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10022             Bruno Haible  <bruno@clisp.org>
10023
10024         * modules/tls-tests (Depends-on): Add thread, yield.
10025         (configure.ac): Remove all checks.
10026         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
10027         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
10028         gl_thread_self): Remove definitions. Include glthread/thread.h and
10029         glthread/yield.h instead.
10030         (test_tls): Pass an additional NULL argument to gl_thread_join.
10031
10032 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10033             Bruno Haible  <bruno@clisp.org>
10034
10035         * modules/lock-tests (Depends-on): Add thread, yield.
10036         (configure.ac): Remove all checks.
10037         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
10038         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
10039         gl_thread_self): Remove definitions. Include glthread/thread.h and
10040         glthread/yield.h instead.
10041         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
10042         additional NULL argument to gl_thread_join.
10043
10044 2008-09-30  Bruno Haible  <bruno@clisp.org>
10045
10046         Fix the Win32 implementation of the 'thread' module.
10047         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
10048         pointer type.
10049         (gl_thread_self): Invoke gl_thread_self_func.
10050         (gl_thread_self_func): New declaration.
10051         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
10052         (do_init_self_key, init_self_key): New functions.
10053         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
10054         Remove some fields.
10055         (running_threads, running_lock): Remove variables.
10056         (get_current_thread_handle): New function.
10057         (gl_thread_self_func, wrapper_func, glthread_create_func,
10058         glthread_join_func, gl_thread_exit_func): Largely rewritten and
10059         simplified.
10060
10061 2008-09-30  Bruno Haible  <bruno@clisp.org>
10062
10063         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
10064         files.
10065
10066 2008-09-30  Jim Meyering  <meyering@redhat.com>
10067
10068         fts.m4: correct the test for statfs.f_type
10069         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
10070         when checking for statfs.f_type.
10071
10072 2008-09-15  Simon Josefsson  <simon@josefsson.org>
10073
10074         tests: avoid some compiler warnings
10075         * tests/test-memchr.c (main): Pass NULL indirectly.
10076         * tests/test-getdate.c (main): Remove unused variable 'ret'.
10077
10078 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
10079
10080         getdate.y: disallow countable dayshifts like "4 yesterday ago"
10081         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
10082         exactly specified dayshifts.
10083         (dayshift): New rule.
10084         (rel): Add dayshift.
10085         (relative_time_table) [tomorrow, yesterday, today, now]:
10086         Use tDAY_SHIFT in place of tDAY_UNIT.
10087         * tests/test-getdate.c: Add tests for now-disallowed countable
10088         dayshifts, e.g., "4 yesterday ago".
10089
10090 2008-09-29  Bruno Haible  <bruno@clisp.org>
10091
10092         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
10093         * tests/test-posix_spawn1.in.sh: Renamed from
10094         tests/test-posix_spawn.in.sh.
10095         * tests/test-posix_spawn2.c: New file.
10096         * tests/test-posix_spawn2.in.sh: New file.
10097         * modules/posix_spawnp-tests (Files): Update.
10098         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
10099
10100 2008-09-29  Bruno Haible  <bruno@clisp.org>
10101
10102         Propagate effects of putenv/setenv/unsetenv to child processes.
10103         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
10104         * lib/pipe.c (create_pipe): Likewise.
10105
10106 2008-09-29  Bruno Haible  <bruno@clisp.org>
10107
10108         Enable use of shell scripts as executables in mingw.
10109         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
10110         run the program as a shell script.
10111         * lib/pipe.c (create_pipe): Likewise.
10112         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
10113         resulting array.
10114
10115 2008-09-29  Eric Blake  <ebb9@byu.net>
10116
10117         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
10118
10119 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
10120
10121         * doc/posix-functions/accept.texi: Update mingw problems.
10122         * doc/posix-functions/bind.texi: Update mingw problems.
10123         * doc/posix-functions/close.texi: Update mingw problems.
10124         * doc/posix-functions/connect.texi: Update mingw problems.
10125         * doc/posix-functions/getpeername.texi: Update mingw problems.
10126         * doc/posix-functions/getsockname.texi: Update mingw problems.
10127         * doc/posix-functions/getsockopt.texi: Update mingw problems.
10128         * doc/posix-functions/ioctl.texi: Update mingw problems.
10129         * doc/posix-functions/listen.texi: Update mingw problems.
10130         * doc/posix-functions/recv.texi: Update mingw problems.
10131         * doc/posix-functions/recvfrom.texi: Update mingw problems.
10132         * doc/posix-functions/select.texi: Update mingw problems.
10133         * doc/posix-functions/send.texi: Update mingw problems.
10134         * doc/posix-functions/sendto.texi: Update mingw problems.
10135         * doc/posix-functions/setsockopt.texi: Update mingw problems.
10136         * doc/posix-functions/socket.texi: Update mingw problems.
10137
10138 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
10139             Bruno Haible  <bruno@clisp.org>
10140
10141         * lib/sys_select.in.h: Include sys/time.h.
10142         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
10143         * modules/sys_select: Depend on sys_time.
10144         * tests/test-sys_select.c: Test that sys/select.h defines struct
10145         timeval fully.
10146
10147 2008-09-29  Bruno Haible  <bruno@clisp.org>
10148
10149         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
10150         * lib/sys_select.in.h: Likewise.
10151
10152 2008-09-29  Bruno Haible  <bruno@clisp.org>
10153
10154         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
10155
10156 2008-09-29  Bruno Haible  <bruno@clisp.org>
10157
10158         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
10159         Set LIBSOCKET instead of augmenting LIBS.
10160         * modules/sockets (Link): New section.
10161         * modules/sockets-tests (test_sockets_LDADD): New variable.
10162         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
10163         * modules/poll-tests (test_poll_LDADD): New variable.
10164         * NEWS: Document the change.
10165
10166 2008-09-29  Bruno Haible  <bruno@clisp.org>
10167
10168         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
10169         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
10170         ARPA_INET_H directly.
10171         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
10172
10173 2008-09-28  Bruno Haible  <bruno@clisp.org>
10174
10175         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
10176         from gl_HEADER_SYS_SOCKET.
10177         (gl_HEADER_SYS_SOCKET): Invoke it.
10178         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10179
10180 2008-09-28  Bruno Haible  <bruno@clisp.org>
10181
10182         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
10183         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
10184         Needed on OSF/1 4.0.
10185
10186 2008-09-28  Bruno Haible  <bruno@clisp.org>
10187
10188         Override open more carefully.
10189         * lib/open.c (orig_open): New function.
10190         (rpl_open): Use orig_open instead of open.
10191         * lib/fcntl.in.h: Add special invocation convention.
10192         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
10193         (gl_FUNC_OPEN): Invoke it.
10194
10195         Override freopen more carefully.
10196         * lib/freopen.c (orig_freopen): New function.
10197         (rpl_freopen): Use orig_freopen instead of freopen.
10198         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
10199         (gl_FUNC_FREOPEN): Invoke it.
10200
10201         Override fopen more carefully.
10202         * lib/fopen.c (orig_fopen): New function.
10203         (rpl_fopen): Use orig_fopen instead of fopen.
10204         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
10205         (gl_FUNC_FOPEN): Invoke it.
10206         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
10207
10208 2008-09-28  Bruno Haible  <bruno@clisp.org>
10209
10210         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
10211         SIGPIPE.
10212
10213 2008-09-28  Bruno Haible  <bruno@clisp.org>
10214
10215         * tests/test-sigaction.c (handler, main): Disable the check whether
10216         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
10217         glibc systems with LinuxThreads.
10218
10219 2008-09-28  Bruno Haible  <bruno@clisp.org>
10220
10221         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
10222
10223         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
10224         with AIX xlc.
10225         * lib/fcntl.in.h (open): Likewise.
10226         Reported by Rainer Tammer <tammer@tammer.net>.
10227
10228 2008-09-28  Bruno Haible  <bruno@clisp.org>
10229
10230         * modules/posix_spawnp-tests: New file.
10231         * tests/test-posix_spawn.c: New file.
10232         * tests/test-posix_spawn.in.sh: New file.
10233
10234         New module 'posix_spawnp'.
10235         * modules/posix_spawnp: New file.
10236         * lib/spawnp.c: New file, from GNU libc with modifications.
10237         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
10238
10239         New module 'posix_spawn'.
10240         * modules/posix_spawn: New file.
10241         * lib/spawn.c: New file, from GNU libc with modifications.
10242         * doc/posix-functions/posix_spawn.texi: Mention the new module.
10243
10244         New module 'posix_spawnattr_destroy'.
10245         * modules/posix_spawnattr_destroy: New file.
10246         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
10247         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
10248         module.
10249
10250         New module 'posix_spawnattr_setsigmask'.
10251         * modules/posix_spawnattr_setsigmask: New file.
10252         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
10253         modifications.
10254         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
10255         new module.
10256
10257         New module 'posix_spawnattr_getsigmask'.
10258         * modules/posix_spawnattr_getsigmask: New file.
10259         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
10260         modifications.
10261         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
10262         new module.
10263
10264         New module 'posix_spawnattr_setsigdefault'.
10265         * modules/posix_spawnattr_setsigdefault: New file.
10266         * lib/spawnattr_setdefault.c: New file, from GNU libc with
10267         modifications.
10268         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
10269         new module.
10270
10271         New module 'posix_spawnattr_getsigdefault'.
10272         * modules/posix_spawnattr_getsigdefault: New file.
10273         * lib/spawnattr_getdefault.c: New file, from GNU libc with
10274         modifications.
10275         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
10276         new module.
10277
10278         New module 'posix_spawnattr_setschedpolicy'.
10279         * modules/posix_spawnattr_setschedpolicy: New file.
10280         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
10281         modifications.
10282         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
10283         new module.
10284
10285         New module 'posix_spawnattr_getschedpolicy'.
10286         * modules/posix_spawnattr_getschedpolicy: New file.
10287         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
10288         modifications.
10289         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
10290         new module.
10291
10292         New module 'posix_spawnattr_setschedparam'.
10293         * modules/posix_spawnattr_setschedparam: New file.
10294         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
10295         modifications.
10296         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
10297         new module.
10298
10299         New module 'posix_spawnattr_getschedparam'.
10300         * modules/posix_spawnattr_getschedparam: New file.
10301         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
10302         modifications.
10303         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
10304         new module.
10305
10306         New module 'posix_spawnattr_setpgroup'.
10307         * modules/posix_spawnattr_setpgroup: New file.
10308         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
10309         modifications.
10310         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
10311         module.
10312
10313         New module 'posix_spawnattr_getpgroup'.
10314         * modules/posix_spawnattr_getpgroup: New file.
10315         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
10316         modifications.
10317         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
10318         module.
10319
10320         New module 'posix_spawnattr_setflags'.
10321         * modules/posix_spawnattr_setflags: New file.
10322         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
10323         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
10324         module.
10325
10326         New module 'posix_spawnattr_getflags'.
10327         * modules/posix_spawnattr_getflags: New file.
10328         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
10329         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
10330         module.
10331
10332         New module 'posix_spawnattr_init'.
10333         * modules/posix_spawnattr_init: New file.
10334         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
10335         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
10336         module.
10337
10338         New module 'posix_spawn_file_actions_destroy'.
10339         * modules/posix_spawn_file_actions_destroy: New file.
10340         * lib/spawn_faction_destroy.c: New file, from GNU libc with
10341         modifications.
10342         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
10343         the new module.
10344
10345         New module 'posix_spawn_file_actions_addopen'.
10346         * modules/posix_spawn_file_actions_addopen: New file.
10347         * lib/spawn_faction_addopen.c: New file, from GNU libc with
10348         modifications.
10349         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
10350         the new module.
10351
10352         New module 'posix_spawn_file_actions_adddup2'.
10353         * modules/posix_spawn_file_actions_adddup2: New file.
10354         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
10355         modifications.
10356         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
10357         the new module.
10358
10359         New module 'posix_spawn_file_actions_addclose'.
10360         * modules/posix_spawn_file_actions_addclose: New file.
10361         * lib/spawn_faction_addclose.c: New file, from GNU libc with
10362         modifications.
10363         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
10364         the new module.
10365
10366         New module 'posix_spawn_file_actions_init'.
10367         * modules/posix_spawn_file_actions_init: New file.
10368         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
10369         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
10370         new module.
10371
10372         New module 'posix_spawn-internal'.
10373         * modules/posix_spawn-internal: New file.
10374         * lib/spawn_int.h: New file, from GNU libc with modifications.
10375         * lib/spawni.c: New file, from GNU libc with modifications.
10376         * m4/posix_spawn.m4: New file.
10377
10378         New module 'spawn'.
10379         * modules/spawn: New file.
10380         * lib/spawn.in.h: New file, from GNU libc with modifications.
10381         * m4/spawn_h.m4: New file.
10382         * doc/posix-headers/spawn.texi: Mention the new module.
10383
10384 2008-09-28  Bruno Haible  <bruno@clisp.org>
10385
10386         * modules/sched-tests: New file.
10387         * tests/test-sched.c: New file.
10388
10389         New module 'sched'.
10390         * modules/sched: New file.
10391         * lib/sched.in.h: New file.
10392         * m4/sched_h.m4: New file.
10393         * doc/posix-headers/sched.texi: Mention the new module.
10394
10395 2008-09-27  Eric Blake  <ebb9@byu.net>
10396
10397         Fix previous patch, and tweak references to $0.
10398         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
10399         (func_version, func_gnulib_dir): Don't call this program
10400         gnulib-tool.
10401         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
10402         with using $0 in function.
10403         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
10404         (func_fatal_error): Reuse the name the user invoked us with.
10405
10406 2008-09-27  Bruno Haible  <bruno@clisp.org>
10407
10408         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
10409         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
10410         (gl_ICONV_H): Not here.
10411         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
10412         instead of assigning ICONV_H directly.
10413
10414         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
10415         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
10416         WCHAR_H directly.
10417
10418 2008-09-27  Bruno Haible  <bruno@clisp.org>
10419
10420         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
10421         * modules/arpa_inet (Depends-on): Add link-warning.
10422         (Makefile.am): Insert the definition of GL_LINK-WARNING.
10423         * modules/unistd (Makefile.am): Likewise.
10424
10425 2008-09-26  Bruno Haible  <bruno@clisp.org>
10426
10427         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
10428         variables.
10429         (func_version): Essentially copied from gnulib-tool.
10430         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
10431         func_readlink): Copied from gnulib-tool.
10432
10433 2008-09-26  Bruno Haible  <bruno@clisp.org>
10434
10435         * gnulib-tool (func_version): Change directory to $gnulib_dir before
10436         invoking git-version-gen.
10437
10438 2008-09-26  Bruno Haible  <bruno@clisp.org>
10439
10440         * posix-modules: Update to directory names changed on 2008-01-19.
10441         Remove commas in output before splitting into words. No more need to
10442         avoid 'ftruncate' since 2007-02-19.
10443
10444 2008-09-26  Bruno Haible  <bruno@clisp.org>
10445
10446         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
10447
10448 2008-09-26  Bruno Haible  <bruno@clisp.org>
10449
10450         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
10451         * modules/fwriteerror (Depends-on): Add errno.
10452
10453 2008-09-26  Bruno Haible  <bruno@clisp.org>
10454
10455         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
10456         * tests/test-vc-list-files-cvs.sh: Likewise.
10457
10458 2008-09-26  Bruno Haible  <bruno@clisp.org>
10459
10460         * doc/posix-headers/sys_resource.texi: Reorder items.
10461
10462 2008-09-26  Jim Meyering  <meyering@redhat.com>
10463
10464         fts: tweak inode comparison function
10465         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
10466         inode numbers, as documented.
10467
10468         fts: sort dirent entries on inode number before traversing
10469         This avoids a quadratic, seek-related performance penalty when
10470         operating on a directory containing many entries (measurable at 10k;
10471         3.5 hours at 2 million entries with a cold cache) on certain types
10472         of file systems, including ext3 and ext4, but not tmpfs.
10473         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
10474         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
10475         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
10476         (fs_handles_readdir_ordered_dirents_efficiently): New function.
10477         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
10478         (fts_build): Set the stat.st_ino member from D_INO.
10479         If it is likely to be useful, sort dirent entries on inode number.
10480
10481         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
10482         and the struct statfs.f_type member.
10483         * modules/fts (Depends-on): Add d-ino.
10484
10485 2008-09-26  Bruno Haible  <bruno@clisp.org>
10486
10487         * modules/sigpipe-die (Depends-on): Add sigpipe.
10488
10489         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
10490         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
10491         and GNULIB_STDIO_H_SIGPIPE are set.
10492         * lib/stdio-write.c: New file.
10493         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
10494         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
10495         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
10496         REPLACE_STDIO_WRITE_FUNCS.
10497         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
10498         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
10499         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
10500         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
10501         * modules/stdio (Files): Add lib/stdio-write.c.
10502         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
10503         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
10504         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
10505         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
10506         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
10507         REPLACE_FPRINTF_POSIX.
10508         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
10509         REPLACE_PRINTF_POSIX.
10510         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
10511         REPLACE_VFPRINTF_POSIX.
10512         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
10513         REPLACE_VPRINTF_POSIX.
10514         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
10515         SIGPIPE issue.
10516         * doc/posix-functions/fputc.texi: Likewise.
10517         * doc/posix-functions/fputs.texi: Likewise.
10518         * doc/posix-functions/fwrite.texi: Likewise.
10519         * doc/posix-functions/printf.texi: Likewise.
10520         * doc/posix-functions/putc.texi: Likewise.
10521         * doc/posix-functions/putchar.texi: Likewise.
10522         * doc/posix-functions/puts.texi: Likewise.
10523         * doc/posix-functions/vfprintf.texi: Likewise.
10524         * doc/posix-functions/vprintf.texi: Likewise.
10525
10526         * modules/safe-write (Depends-on): Add write.
10527
10528         * modules/sigpipe-tests: New file.
10529         * tests/test-sigpipe.c: New file.
10530         * tests/test-sigpipe.sh: New file.
10531
10532         * modules/write: New file.
10533         * lib/unistd.in.h: Include <sys/types.h>.
10534         (write): New declaration.
10535         * lib/write.c: New file.
10536         * m4/write.m4: New file.
10537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10538         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
10539         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
10540         GNULIB_WRITE, REPLACE_WRITE.
10541         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
10542         and the SIGPIPE issue.
10543
10544         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
10545         (raise): New declaration.
10546         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
10547         (ext_signal): New function.
10548         (rpl_raise): New function.
10549         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10550         GNULIB_SIGNAL_H_SIGPIPE.
10551         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
10552         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
10553
10554         * modules/sigpipe: New file.
10555         * m4/sigpipe.m4: New file.
10556
10557 2008-09-25  Derek Price  <derek@ximbiot.com>
10558             Bruno Haible  <bruno@clisp.org>
10559
10560         * gnulib-tool (func_import): Report all license incompatibilities, not
10561         just the first one.
10562
10563 2008-09-25  Bruno Haible  <bruno@clisp.org>
10564
10565         * gnulib-tool (func_import): When computing the edits, consider not
10566         only the Makefile.ams that exist but also those that will be generated.
10567
10568 2008-09-25  Simon Josefsson  <simon@josefsson.org>
10569
10570         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
10571         fixes gnulib-tool --test warning about duplicate dependency.
10572
10573 2008-09-25  Bruno Haible  <bruno@clisp.org>
10574
10575         * gnulib-tool: Don't ask the user to perform edits in the generated
10576         Makefile.ams.
10577         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
10578         apply to the Makefile.am being generated.
10579         (func_emit_tests_Makefile_am): Execute edits that apply to the
10580         Makefile.am being generated.
10581         (func_import): Setup list of Makefile.am edits before emitting the
10582         Makefile.ams, not at the end.
10583         (func_create_testdir): Update.
10584         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
10585
10586 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10587
10588         * gnulib-tool (func_import): Store the --tests-base option in the
10589         comment in gnulib-cache.m4.
10590
10591 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
10592
10593         * NEWS: Document increased portability that sys_select now provides.
10594
10595         * lib/sys_select.in.h: Install select wrapper.
10596         * lib/sys_socket.in.h: Use more descriptive name when there is no
10597         select wrapper.
10598         * lib/winsock-select.c: New.
10599         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
10600         Require gl_HEADER_SYS_SOCKET.
10601         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
10602         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
10603         * tests/test-sys_select.c: Add functional tests.
10604
10605 2008-09-24  Eric Blake  <ebb9@byu.net>
10606
10607         open, fopen: close fd leak in last patch
10608         * lib/open.c (rpl_open): Close fd before returning error.
10609         * lib/fopen.c (rpl_fopen): Close fd before returning error.
10610         * doc/posix-functions/open.texi (open): Document that Irix also
10611         has the bug.
10612         * doc/posix-functions/fopen.texi (fopen): Likewise.
10613         Reported by Paolo Bonzini.
10614
10615 2008-09-24  Bruno Haible  <bruno@clisp.org>
10616
10617         Ensure that a filename ending in a slash cannot be used to access a
10618         non-directory.
10619         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
10620         to check whether it's really a directory.
10621         * lib/fopen.c: Include fcntl.h, unistd.h.
10622         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
10623         and fdopen().
10624         * modules/fopen (Depends-on): Add unistd.
10625         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
10626         * tests/test-fopen.c (main): Likewise.
10627         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
10628         * doc/posix-functions/fopen.texi: Likewise.
10629         Reported by Eric Blake.
10630
10631 2008-09-23  Eric Blake  <ebb9@byu.net>
10632
10633         c-stack: avoid compiler optimizations when provoking overflow
10634         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
10635         recursion harder to optimize, to ensure a stack overflow occurs.
10636         * tests/test-c-stack.c (recurse): Likewise.
10637         Borrowed from libsigsegv.
10638
10639         c-stack: work around Irix sigaltstack bug
10640         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
10641         whether sigaltstack uses wrong end of stack_t (copied in part from
10642         libsigsegv).
10643         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
10644         Irix bug, without requiring an over-allocation.
10645         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
10646         bug.
10647
10648         fopen: document mingw bug on directories
10649         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
10650         not allowing a stream visiting a directory, even though reading
10651         from such a stream is not portable.
10652
10653 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
10654
10655         * lib/poll.c: Rewrite.
10656         * modules/poll: Depend on alloca.
10657
10658 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
10659
10660         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
10661         instead define prototypes for a full set of wrappers.  Ensure
10662         that Cygwin does not use the compatibility code, which is only
10663         for MinGW.
10664         * lib/winsock.c: New.
10665         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
10666         * modules/sys_socket: Add lib/winsock.c.
10667
10668         * modules/poll-tests: Add errno and perror.
10669         * tests/test-poll.c: Use ioctl, not ioctlsocket.
10670
10671 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
10672
10673         * tests/test-poll.c: Downgrade minimum needed Winsock version.
10674
10675 2008-09-23  Bruno Haible  <bruno@clisp.org>
10676
10677         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
10678         * doc/glibc-functions/*: Likewise.
10679
10680 2008-09-23  Simon Josefsson  <simon@josefsson.org>
10681
10682         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
10683         success.
10684
10685 2008-09-22  Eric Blake  <ebb9@byu.net>
10686             Bruno Haible  <bruno@clisp.org>
10687
10688         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
10689         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
10690         supply %A but mishandle pseudo-NaN.
10691         Reported by Simon Josefsson.
10692
10693 2008-09-21  Bruno Haible  <bruno@clisp.org>
10694
10695         * tests/test-lock.c (main): Tweak skip message.
10696         * tests/test-tls.c (main): Likewise.
10697
10698 2008-09-21  Bruno Haible  <bruno@clisp.org>
10699
10700         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
10701         whether 'struct sigaction' has sa_sigaction here...
10702         (gl_PREREQ_SIG_HANDLER_H): ... not here.
10703         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
10704
10705 2008-09-21  Bruno Haible  <bruno@clisp.org>
10706
10707         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
10708         section.
10709         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
10710         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
10711         the new section.
10712         (Support for obsolete systems lacking POSIX:2001): New section.
10713         (String handling <string.h>): Move strdup to the new section.
10714         Suggested by Simon Josefsson and Paolo Bonzini.
10715
10716 2008-09-21  Bruno Haible  <bruno@clisp.org>
10717
10718         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
10719         exponents in %e and %g results on 'long double'. Needed for mingw's
10720         improved *printf functions.
10721         * tests/test-vasprintf-posix.c (test_function): Likewise.
10722         * tests/test-snprintf-posix.h (test_function): Likewise.
10723         * tests/test-sprintf-posix.h (test_function): Likewise.
10724         Reported by Eric Blake.
10725
10726 2008-09-21  Bruno Haible  <bruno@clisp.org>
10727
10728         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
10729         * tests/test-sprintf-posix.h (test_function): Likewise.
10730
10731 2008-09-21  Bruno Haible  <bruno@clisp.org>
10732
10733         * modules/getpass (Depends-on): Add strdup-posix.
10734
10735         New module 'strdup-posix'.
10736         * modules/strdup-posix: New file.
10737         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
10738         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
10739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10740         REPLACE_STRDUP.
10741         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
10742         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
10743         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10744         strdup-posix.
10745
10746         * modules/strdup (Depends-on): Remove malloc-posix.
10747
10748 2008-09-20  Bruno Haible  <bruno@clisp.org>
10749
10750         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
10751         Wildenhues.
10752
10753 2008-09-20  Bruno Haible  <bruno@clisp.org>
10754
10755         Ensure that wint_t gets defined on IRIX 5.3.
10756         * lib/wchar.in.h (wint_t): Define if not defined by the system.
10757         * lib/wctype.in.h (wint_t): Likewise.
10758         (__wctype_wint_t): Remove type.
10759         (isw*): Use wint_t instead of __wctype_wint_t.
10760         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
10761         * modules/wchar (Files): Add m4/wint_t.m4.
10762         (Makefile.am): Substitute HAVE_WINT_T.
10763         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
10764         * tests/test-wctype.c: Check that wint_t is defined.
10765         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
10766         * doc/posix-headers/wctype.texi: Likewise.
10767         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10768
10769 2008-09-18  Bruno Haible  <bruno@clisp.org>
10770
10771         * gnulib-tool (func_exit): Update comment.
10772
10773 2008-09-18  Simon Josefsson  <simon@josefsson.org>
10774
10775         * modules/getaddrinfo (Depends-on): Remove strdup, this module
10776         assumes strdup exists and does not depend on strdup to return
10777         ENOMEM on out of memory conditions.
10778
10779 2008-09-18  Bruno Haible  <bruno@clisp.org>
10780
10781         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
10782         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
10783         digits for the exponent.
10784
10785 2008-09-18  Jim Meyering  <meyering@redhat.com>
10786             Bruno Haible  <bruno@clisp.org>
10787
10788         * lib/vasnprintf.c (decimal_point_char): Define also if
10789         NEED_PRINTF_INFINITE_LONG_DOUBLE.
10790
10791 2008-09-16  Bruno Haible  <bruno@clisp.org>
10792         and Eric Blake  <ebb9@byu.net>
10793
10794         vasnprintf: support Irix 5.3
10795         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
10796         that mishandle long double infinity.
10797         Reported by Tom G. Christensen.
10798
10799 2008-09-16  Bruno Haible  <bruno@clisp.org>
10800
10801         * doc/glibc-functions/scandir.texi: Mention the function is missing on
10802         Solaris 9.
10803         * doc/glibc-functions/alphasort.texi: Likewise.
10804         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
10805
10806 2008-09-16  Jim Meyering  <meyering@redhat.com>
10807
10808         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
10809         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
10810         a umask modification leak out of a subshell.  Otherwise, the
10811         opensolaris /bin/sh would be accepted and thus cause unwarranted
10812         failures in the coreutils test suite.
10813
10814 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
10815
10816         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
10817         to succeed.
10818
10819 2008-09-16  Jim Meyering  <meyering@redhat.com>
10820
10821         avoid spurious test failure when library is built without ACL support
10822         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
10823         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
10824         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
10825         * tests/test-copy-acl.sh: Likewise.
10826
10827 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10828
10829         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
10830         based on character occurrence counts.
10831
10832 2008-09-15  Eric Blake  <ebb9@byu.net>
10833
10834         tests: avoid some compiler warnings
10835         * tests/test-memchr.c (main): Pass NULL indirectly.
10836         * tests/test-closein.c (main): Avoid unused variable.
10837
10838 2008-09-15  Bruno Haible  <bruno@clisp.org>
10839
10840         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
10841         are missing on OpenBSD 4.0 individually.
10842         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
10843
10844 2008-09-15  Bruno Haible  <bruno@clisp.org>
10845
10846         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
10847         * doc/posix-functions/strerror.texi: Mention also Cygwin.
10848         * doc/posix-functions/perror.texi: Likewise.
10849         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
10850         is missing.
10851         Reported by Eric Blake.
10852
10853         * lib/errno.in.h: Use replacement values >= 2000.
10854         Reported by Eric Blake.
10855
10856 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10857
10858         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
10859         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
10860         limit.
10861         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
10862         compareseq was aborted.
10863
10864 2008-09-14  Bruno Haible  <bruno@clisp.org>
10865
10866         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
10867         yvec_edit_count.
10868         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
10869         (fstrcmp_bounded): Simplify result computation accordingly.
10870
10871 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10872
10873         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
10874         (fstrcmp): Define in terms of fstrcmp_bounded.
10875         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
10876         lower_bound argument.
10877         Return quickly if the result is certainly < lower_bound.
10878         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
10879
10880 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10881
10882         * lib/diffseq.h (EARLY_ABORT): New macro.
10883         (compareseq): Change return type to bool. Return true when EARLY_ABORT
10884         evaluates to true.
10885
10886 2008-09-14  Bruno Haible  <bruno@clisp.org>
10887
10888         * modules/perror-tests: New file.
10889         * tests/test-perror.sh: New file.
10890         * tests/test-perror.c: New file.
10891
10892         New module 'perror'.
10893         * lib/stdio.in.h (perror): New declaration.
10894         * lib/perror.c: New file.
10895         * m4/perror.m4: New file.
10896         * modules/perror: New file.
10897         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
10898         * doc/posix-functions/perror.texi: Mention the perror module.
10899         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
10900         REPLACE_PERROR.
10901         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
10902         REPLACE_PERROR.
10903
10904 2008-09-14  Bruno Haible  <bruno@clisp.org>
10905
10906         * modules/stdio (Makefile.am): Reorder to match the order in
10907         lib/stdio.in.h.
10908         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
10909
10910 2008-09-13  Bruno Haible  <bruno@clisp.org>
10911
10912         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
10913
10914 2008-09-13  Bruno Haible  <bruno@clisp.org>
10915
10916         Extend strerror to cover the added errno values.
10917         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
10918         (rpl_strerror): Provide error messages for the added errno values and
10919         for the WSA* values.
10920         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
10921         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
10922         strerror.
10923         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
10924         * modules/strerror (Depends-on): Add errno.
10925         * doc/posix-functions/strerror.texi: Document the change.
10926         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
10927         and EOVERFLOW.
10928
10929 2008-09-13  Bruno Haible  <bruno@clisp.org>
10930
10931         * modules/EOVERFLOW: Remove file.
10932         * m4/eoverflow.m4: Remove file.
10933         * modules/EOVERFLOW-tests: Remove file.
10934         * tests/test-EOVERFLOW.c: Remove file.
10935         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
10936         * modules/ftell (Depends-on): Likewise.
10937         * modules/getdelim (Depends-on): Likewise.
10938         * modules/getugroups (Depends-on): Likewise.
10939         * modules/poll (Depends-on): Likewise.
10940         * modules/snprintf (Depends-on): Likewise.
10941         * modules/sprintf-posix (Depends-on): Likewise.
10942         * modules/vasnprintf (Depends-on): Likewise.
10943         * modules/vasprintf (Depends-on): Likewise.
10944         * modules/vfprintf-posix (Depends-on): Likewise.
10945         * modules/vsnprintf (Depends-on): Likewise.
10946         * modules/vsprintf-posix (Depends-on): Likewise.
10947         * modules/xvasprintf (Depends-on): Likewise.
10948         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
10949         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
10950         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
10951         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
10952         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
10953         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
10954         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
10955         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
10956         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
10957         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
10958         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
10959         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
10960         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
10961         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
10962         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
10963         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
10964         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
10965         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
10966         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
10967         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
10968         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
10969         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
10970         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
10971         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
10972         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
10973         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
10974         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
10975         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
10976         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
10977         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
10978         * MODULES.html.sh: Remove EOVERFLOW.
10979         * NEWS: Mention the change.
10980
10981 2008-09-13  Bruno Haible  <bruno@clisp.org>
10982
10983         * modules/errno-tests: New file.
10984         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
10985
10986         * lib/errno.in.h: New file.
10987         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
10988         * modules/errno: New file.
10989         * doc/posix-headers/errno.texi: Update documentation.
10990         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
10991
10992 2008-09-13  Bruno Haible  <bruno@clisp.org>
10993
10994         * tests/test-poll.c: Use #if for native Windows, rather than testing
10995         __MSVCRT__.
10996
10997 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10998             Bruno Haible  <bruno@clisp.org>
10999
11000         * lib/glob.c: Don't include <pwd.h> on native Windows.
11001         (WINDOWS32): New macro.
11002         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
11003
11004 2008-09-13  Bruno Haible  <bruno@clisp.org>
11005
11006         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
11007         (ETIMEDOUT): Remove macro.
11008         (glthread_cond_timedwait_multithreaded): New declaration.
11009         (glthread_cond_timedwait): Use it.
11010         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
11011         (glthread_cond_timedwait_multithreaded): New function.
11012
11013 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
11014
11015         * modules/poll-tests: Do not check for io.h.
11016         * tests/test-poll.c: Check for __MSVCRT__ instead.
11017
11018 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
11019
11020         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
11021         * modules/poll-tests: Add inet_pton, stdbool, sockets.
11022         * tests/test-poll.c: Use them.  Use _pipe on Windows.
11023
11024 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
11025
11026         * modules/poll-tests: New.
11027         * tests/test-poll.c: New.
11028
11029 2008-09-12  Eric Blake  <ebb9@byu.net>
11030
11031         frexp: test for NetBSD failure on -0.0
11032         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
11033         not all, bugs from NetBSD 3.0 have been fixed.
11034         * doc/posix-functions/frexp.texi (frexp): Document bug.
11035         Reported by Thomas Klausner.
11036
11037         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
11038         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
11039         literal -0.0.
11040         Reported by Jonathan C. Patschke <jp@centtech.com>.
11041
11042 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11043
11044         * lib/glthread/cond.h: Use dummy implementation also if
11045         USE_WIN32_THREADS.
11046
11047 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11048
11049         * modules/fnmatch-posix (License): Change to LGPLv2+.
11050         * modules/fnmatch-gnu (License): Likewise.
11051
11052 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11053
11054         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
11055
11056 2008-09-11  Jim Meyering  <meyering@redhat.com>
11057
11058         * users.txt: Add gtk-vnc.
11059
11060 2008-09-08  Simon Josefsson  <simon@josefsson.org>
11061
11062         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
11063         rotate amounts.
11064
11065         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
11066         required for 16-bit and 8-bit rotates.
11067         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
11068         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
11069         UINT8_MAX instead of hard-coded constants.
11070         Suggested by Paul Eggert.
11071
11072 2008-09-07  Bruno Haible  <bruno@clisp.org>
11073
11074         * tests/test-striconveh.c (main): Check behaviour when converting from
11075         UTF-7.
11076
11077         Make striconveh work better with stateful encodings.
11078         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
11079         that iconv does not increment the inptr when returning -1/EINVAL.
11080
11081 2008-09-07  Bruno Haible  <bruno@clisp.org>
11082
11083         * build-aux/config.rpath: Update according to libtool-2.2.6.
11084         * build-aux/config.libpath: Likewise.
11085
11086 2008-09-06  Bruno Haible  <bruno@clisp.org>
11087
11088         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
11089         * lib/freadptr.c (freadptr): Likewise.
11090         * lib/freadseek.c (freadptrinc): Likewise.
11091         Reported by Simon Josefsson.
11092
11093 2008-09-06  Bruno Haible  <bruno@clisp.org>
11094
11095         * modules/freadptr (License): Change to LGPLv2+.
11096         * modules/freadseek (License): Likewise.
11097         Suggested by Eric Blake.
11098
11099         * modules/memchr2 (License): Change to LGPLv2+.
11100         Approved by Eric Blake.
11101
11102 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11103             Bruno Haible  <bruno@clisp.org>
11104
11105         Make gnulib-tool work with native 'sed' on AIX.
11106         * gnulib-tool (sed_noop): New variable.
11107         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
11108         func_add_or_update, func_create_testdir): Use it to initialize sed
11109         script variables.
11110         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11111
11112 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
11113             Bruno Haible  <bruno@clisp.org>
11114
11115         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
11116         also works after #include directives.
11117
11118 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
11119
11120         getdate.y: reject an out-of-range timezone value
11121         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
11122         the range [-24...+24].  When specified with only one or two digits,
11123         * tests/test-getdate.c: Tests for the fix.
11124         * doc/getdate.texi: Document this change.
11125
11126 2008-09-03  Bruno Haible  <bruno@clisp.org>
11127
11128         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
11129
11130 2008-09-02  Simon Josefsson  <simon@josefsson.org>
11131
11132         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
11133         <bruce.korb@gmail.com> with ideas from Ben Pfaff
11134         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
11135         Blake <ebb9@byu.net>.
11136
11137         * tests/test-bitrotate.c: Add more test vectors.
11138
11139 2008-09-02  Eric Blake  <ebb9@byu.net>
11140
11141         vasnprintf-posix: handle large precision via %.*d
11142         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
11143         when handling it ourselves.
11144         * tests/test-vasnprintf-posix.c (test_function): Add test.
11145         * tests/test-snprintf-posix.h (test_function): Likewise.
11146         * tests/test-sprintf-posix.h (test_function): Likewise.
11147         * tests/test-vasprintf-posix.c (test_function): Likewise.
11148         Reported by Alain Guibert.
11149
11150 2008-09-01  Eric Blake  <ebb9@byu.net>
11151
11152         c-stack: make configure-time check more robust
11153         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
11154         successful sigaction call.
11155         Reported by Tom G. Christensen.
11156
11157 2008-09-01  Bruno Haible  <bruno@clisp.org>
11158
11159         New module 'findprog-lgpl'.
11160         * modules/findprog-lgpl: New file.
11161         * lib/findprog-lgpl.c: New file.
11162         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
11163         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
11164         to decide whether to use strdup or xstrdup, concatenated_filename or
11165         xconcatenated_filename.
11166
11167 2008-09-01  Bruno Haible  <bruno@clisp.org>
11168
11169         Split module 'concat-filename' into 'concat-filename' (LGPL) and
11170         'xconcat-filename' (GPL).
11171         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
11172         (License): Change to LGPLv2+.
11173         * modules/xconcat-filename: New file.
11174         * lib/concat-filename.h (concatenated_filename): Change specification.
11175         (xconcatenated_filename): New declaration.
11176         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
11177         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
11178         memory situations.
11179         * lib/xconcat-filename.c: New file.
11180         * NEWS: Mention the change.
11181         * lib/findprog.c: Include concat-filename.h, not filename.h.
11182         (find_in_path): Use xconcatenated_filename instead of
11183         concatenated_filename.
11184         * lib/javacomp.c: Include concat-filename.h, not filename.h.
11185         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
11186         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
11187         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
11188         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
11189         instead of concatenated_filename.
11190         * lib/javaexec.c: Include concat-filename.h, not filename.h.
11191         (execute_java_class): Use xconcatenated_filename instead of
11192         concatenated_filename.
11193         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
11194         * modules/javacomp (Depends-on): Likewise.
11195         * modules/javaexec (Depends-on): Likewise.
11196
11197 2008-09-01  Bruno Haible  <bruno@clisp.org>
11198
11199         Split module 'filename' into 'filename' and 'concat-filename'.
11200         * modules/filename: Keep only lib/filename.h.
11201         (License): Change to LGPLv2+.
11202         * modules/concat-filename: New file, extracted from modules/filename.
11203         * lib/filename.h (concatenated_filename): Remove declaration.
11204         * lib/concat-filename.h: New file, extracted from lib/filename.h.
11205         * lib/concat-filename.c: Include concat-filename.h.
11206         * NEWS: Mention the change.
11207
11208 2008-09-01  Simon Josefsson  <simon@josefsson.org>
11209
11210         * lib/bitrotate.h (rotl8, rotr8): Add.
11211
11212         * modules/bitrotate (configure.ac): Need
11213         AC_REQUIRE([AC_C_INLINE]).
11214         (Description): Mention stdint.h.  Reported by Bruno Haible
11215         <bruno@clisp.org>.
11216
11217         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
11218         Paolo Bonzini <bonzini@gnu.org>.
11219
11220 2008-08-31  Bruno Haible  <bruno@clisp.org>
11221
11222         Assume Solaris specific bi-arch conventions on Solaris systems.
11223         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
11224         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
11225         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
11226         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
11227         like acl_libdirstem.
11228         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
11229         acl_libdirstem.
11230         * NEWS: Mention the change.
11231         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
11232
11233 2008-08-31  Jim Meyering  <meyering@redhat.com>
11234
11235         * lib/strftime.h: Add comments describing the two added arguments.
11236
11237         remove duplicate #include directives
11238         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
11239         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
11240
11241 2008-08-31  Bruno Haible  <bruno@clisp.org>
11242
11243         New module 'sigpipe-die'.
11244         * modules/sigpipe-die: New file.
11245         * lib/sigpipe-die.h: New file.
11246         * lib/sigpipe-die.c: New file.
11247         * MODULES.html.sh (Signal handling): Add sigpipe-die.
11248
11249 2008-08-31  Bruno Haible  <bruno@clisp.org>
11250
11251         Don't override previously installed signal handlers.
11252         * lib/fatal-signal.c (saved_sigactions): New variable.
11253         (uninstall_handlers): Reset the signal to the saved handler, not
11254         to SIG_DFL (except when ignored).
11255         (install_handlers): Save the previous handlers.
11256
11257 2008-08-30  Bruno Haible  <bruno@clisp.org>
11258
11259         * gnulib-tool (func_reset_sigpipe): New function.
11260         (func_get_automake_snippet, func_modules_transitive_closure,
11261         func_import): Invoke it before a join command that reads from stdin,
11262         to avoid "echo: write error: Broken pipe" error messages on stderr.
11263         Reported by Sam Steingold <sds@gnu.org>.
11264
11265 2008-08-30  Bruno Haible  <bruno@clisp.org>
11266
11267         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
11268         Code copied from m4/open.m4.
11269         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
11270         access and the filename ends in a slash. Code copied from lib/open.c.
11271         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
11272         * tests/test-fopen.c (main): Check against bug with trailing slash.
11273
11274 2008-08-29  Bruno Haible  <bruno@clisp.org>
11275
11276         Avoid some "gcc -pedantic" warnings.
11277         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
11278         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
11279         * lib/dirent.in.h: Likewise.
11280         * lib/fcntl.in.h: Likewise.
11281         * lib/float.in.h: Likewise.
11282         * lib/iconv.in.h: Likewise.
11283         * lib/inttypes.in.h: Likewise.
11284         * lib/locale.in.h: Likewise.
11285         * lib/math.in.h: Likewise.
11286         * lib/netinet_in.in.h: Likewise.
11287         * lib/search.in.h: Likewise.
11288         * lib/signal.in.h: Likewise.
11289         * lib/stdarg.in.h: Likewise.
11290         * lib/stdint.in.h: Likewise.
11291         * lib/stdio.in.h: Likewise.
11292         * lib/stdlib.in.h: Likewise.
11293         * lib/string.in.h: Likewise.
11294         * lib/strings.in.h: Likewise.
11295         * lib/sys_select.in.h: Likewise.
11296         * lib/sys_socket.in.h: Likewise.
11297         * lib/sys_stat.in.h: Likewise.
11298         * lib/sys_time.in.h: Likewise.
11299         * lib/sysexits.in.h: Likewise.
11300         * lib/time.in.h: Likewise.
11301         * lib/unistd.in.h: Likewise.
11302         * lib/wchar.in.h: Likewise.
11303         * lib/wctype.in.h: Likewise.
11304         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
11305         * modules/fchdir (Makefile.am): Likewise.
11306         * modules/fcntl (Makefile.am): Likewise.
11307         * modules/float (Makefile.am): Likewise.
11308         * modules/iconv_open (Makefile.am): Likewise.
11309         * modules/inttypes (Makefile.am): Likewise.
11310         * modules/locale (Makefile.am): Likewise.
11311         * modules/math (Makefile.am): Likewise.
11312         * modules/netinet_in (Makefile.am): Likewise.
11313         * modules/search (Makefile.am): Likewise.
11314         * modules/signal (Makefile.am): Likewise.
11315         * modules/stdarg (Makefile.am): Likewise.
11316         * modules/stdint (Makefile.am): Likewise.
11317         * modules/stdio (Makefile.am): Likewise.
11318         * modules/stdlib (Makefile.am): Likewise.
11319         * modules/string (Makefile.am): Likewise.
11320         * modules/strings (Makefile.am): Likewise.
11321         * modules/sys_select (Makefile.am): Likewise.
11322         * modules/sys_socket (Makefile.am): Likewise.
11323         * modules/sys_stat (Makefile.am): Likewise.
11324         * modules/sys_time (Makefile.am): Likewise.
11325         * modules/sysexits (Makefile.am): Likewise.
11326         * modules/time (Makefile.am): Likewise.
11327         * modules/unistd (Makefile.am): Likewise.
11328         * modules/wchar (Makefile.am): Likewise.
11329         * modules/wctype (Makefile.am): Likewise.
11330         Reported by Reuben Thomas <rrt@sc3d.org>.
11331
11332 2008-08-29  Bruno Haible  <bruno@clisp.org>
11333
11334         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
11335         any more.
11336
11337 2008-08-29  Simon Josefsson  <simon@josefsson.org>
11338
11339         * MODULES.html.sh (Misc): Add bitrotate.
11340
11341         * modules/bitrotate: New file.
11342
11343         * lib/bitrotate.h: New file.
11344
11345         * modules/bitrotate-tests: New file.
11346
11347         * tests/test-bitrotate.c: New file.
11348
11349         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
11350         on the bitrotate module.
11351
11352         * lib/arctwo.c: Use new bitrotate module.
11353
11354 2008-08-29  Jim Meyering  <meyering@redhat.com>
11355
11356         bootstrap: merge changes from coreutils
11357         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
11358         of copied files.  Remove a kludge, now that this is fixed.
11359         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
11360         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
11361         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
11362
11363 2008-08-29  Bruno Haible  <bruno@clisp.org>
11364
11365         * MODULES.html.sh: Remove --cvs-urls option.
11366
11367 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
11368
11369         maint.mk: adjust to file name change
11370         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
11371
11372 2008-08-28  Jim Meyering  <meyering@redhat.com>
11373
11374         * modules/getndelim2 (License): Relicense to LGPLv2+.
11375         Approved by Richard Stallman for the version of 1995, and by
11376         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
11377
11378 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
11379
11380         * lib/getdelim.c (flockfile, funlockfile): Make all of them
11381         dummy if one is not available.  Do not touch them if
11382         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
11383         (getc_maybe_unlocked): New.
11384         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
11385
11386 2008-08-26  Eric Blake  <ebb9@byu.net>
11387
11388         doc/INSTALL: resync from autoconf
11389         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
11390         (INSTALL_PRELUDE): Delete; this is done more efficiently by
11391         moving...
11392         * install.texi [!autoconf]: ...here.  Resync from autoconf.
11393         * INSTALL: Regenerate.
11394         * INSTALL.ISO: New file.
11395         * INSTALL.UTF-8: Likewise.
11396
11397 2008-08-26  Jim Meyering  <meyering@redhat.com>
11398
11399         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
11400         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
11401         these definitions conditional, so that they may be overridden, too.
11402
11403 2008-08-26  Bruno Haible  <bruno@clisp.org>
11404
11405         Generate INSTALL file variants with prettier quotes.
11406         * doc/Makefile (INSTALL_PRELUDE): New macro.
11407         (INSTALL): Use it.
11408         (INSTALL.ISO, INSTALL.UTF-8): New rules.
11409
11410 2008-08-26  Bruno Haible  <bruno@clisp.org>
11411
11412         Run makeinfo in an English locale.
11413         * doc/Makefile (MAKEINFO): New variable.
11414
11415 2008-08-26  Bruno Haible  <bruno@clisp.org>
11416
11417         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
11418         Suggested by Eric Blake.
11419
11420 2008-08-25  Bruno Haible  <bruno@clisp.org>
11421
11422         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
11423
11424 2008-08-25  Eric Blake  <ebb9@byu.net>
11425
11426         c-stack: test that stack overflow can be caught
11427         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
11428         that platform allows handling stack overflow; at least OS/2 EMX
11429         has sigaltstack, but crashes before transferring control to
11430         handler on stack overflow.
11431         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
11432         check for HAVE_STACK_OVERFLOW_HANDLING.
11433         Reported by Elbert Pol.
11434
11435 2008-08-25  Bruno Haible  <bruno@clisp.org>
11436
11437         * doc/posix-functions/strftime.texi: Fix description of strftime
11438         module.
11439
11440 2008-08-24  Bruno Haible  <bruno@clisp.org>
11441
11442         * tests/uniwidth/test-uc_width2.c: New file.
11443         * tests/uniwidth/test-uc_width2.sh: New file.
11444         * modules/uniwidth/width-tests (Files): Add the new files.
11445         (TESTS): Add uniwidth/test-uc_width2.sh.
11446         (TESTS_ENVIRONMENT): New variable.
11447         (check_PROGRAMS): Add test-uc_width2.
11448         (test_uc_width2_SOURCES): New variable.
11449
11450         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
11451         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
11452         not 0x00AB.
11453         Reported by Alexander V. Lukyanov <lav@netis.ru>.
11454
11455 2008-08-22  Eric Blake  <ebb9@byu.net>
11456
11457         test-lock, test-tls: mention why a test is skipped
11458         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
11459         skipped.
11460         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
11461
11462         count-one-bits: relax license
11463         * modules/count-one-bits (License): Relicense to LGPLv2+.
11464         Suggested by Ludovic Courtès, approved by Ben Pfaff.
11465
11466 2008-08-22  Andreas Schwab  <schwab@suse.de>
11467
11468         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
11469         Remove spurious space in assignment.
11470
11471 2008-08-21  Simon Josefsson  <simon@josefsson.org>
11472
11473         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
11474         Paul Eggert <eggert@CS.UCLA.EDU>.
11475
11476 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
11477
11478         * modules/gettext: Add m4/threadlib.m4.
11479
11480 2008-08-19  Eric Blake  <ebb9@byu.net>
11481
11482         test-c-stack: fix compilation failure on FreeBSD 5.0
11483         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
11484         headers before <sys/resource.h>.
11485         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
11486         the bug.
11487         Reported by Nelson H. F. Beebe.
11488
11489         strverscmp: migrate from "strverscmp.h" to <string.h>
11490         * modules/string (Makefile.am): Add new hooks.
11491         * modules/strverscmp (Files): Remove strverscmp.h.
11492         (Depends-on): Add string.
11493         (configure.ac): Add indicator.
11494         (Include): Mention new header.
11495         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
11496         defaults.
11497         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
11498         results.
11499         * lib/strverscmp.h: Delete.
11500         * lib/string.in.h (strverscmp): Provide declaration, when needed.
11501         * tests/test-strverscmp.c (includes): Adjust client.
11502         * lib/check-version.c (includes): Likewise.
11503         * NEWS: Document the change.
11504
11505         strverscmp: add unit test
11506         * modules/strverscmp-tests: New file.
11507         * tests/test-strverscmp.c: Likewise.
11508
11509 2008-08-19  Simon Josefsson  <simon@josefsson.org>
11510
11511         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
11512         regarding Windows crypto stuff, from Mono.
11513
11514 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
11515
11516         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
11517         if present, for intel RND.  Return error on failures.
11518
11519 2008-08-18  Ben Pfaff  <blp@gnu.org>
11520
11521         gitlog-to-changelog: give better diagnostic for failed pipe-open
11522         * build-aux/gitlog-to-changelog: Improve error message: suggest
11523         that the version of Git may be too old.
11524
11525 2008-08-18  Simon Josefsson  <simon@josefsson.org>
11526
11527         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
11528         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
11529
11530 2008-08-18  Bruno Haible  <bruno@clisp.org>
11531
11532         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
11533         pthread_in_use().
11534
11535 2008-08-18  Bruno Haible  <bruno@clisp.org>
11536
11537         * lib/glthread/threadlib.c: Include <pthread.h>.
11538
11539 2008-08-18  Bruno Haible  <bruno@clisp.org>
11540
11541         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
11542         glthread_recursive_lock_* macros.
11543         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
11544         Fix syntax error.
11545
11546 2008-08-18  Bruno Haible  <bruno@clisp.org>
11547
11548         * lib/glthread/thread.c: Avoid forcing a context switch right after
11549         thread creation.
11550
11551 2008-08-17  Bruno Haible  <bruno@clisp.org>
11552
11553         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
11554         * lib/glthread/thread.h: Provide Win32 specific implementation.
11555         * modules/thread (Files): Add lib/glthread/thread.c.
11556         (Depends-on): Add lock.
11557         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
11558
11559 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11560
11561         New module 'yield'.
11562         * modules/yield: New file.
11563         * lib/glthread/yield.h: New file.
11564         * m4/yield.m4: New file.
11565         * MODULES.html.sh (Multithreading): Add yield.
11566
11567 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11568
11569         New module 'thread'.
11570         * modules/thread: New file.
11571         * lib/glthread/thread.h: New file.
11572         * m4/thread.m4: New file.
11573         * MODULES.html.sh (Multithreading): Add thread.
11574
11575 2008-08-17  Bruno Haible  <bruno@clisp.org>
11576
11577         * lib/glthread/lock.h: Include <stdlib.h> always.
11578         * lib/glthread/tls.h: Likewise.
11579         * lib/glthread/cond.h: Likewise.
11580
11581 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11582
11583         New module 'cond'.
11584         * modules/cond: New file.
11585         * lib/glthread/cond.h: New file.
11586         * lib/glthread/cond.c: New file.
11587         * m4/cond.m4: New file.
11588         * MODULES.html.sh (Multithreading): Add cond.
11589
11590 2008-08-16  Eric Blake  <ebb9@byu.net>
11591
11592         c-stack: fix regression on Irix 5.3 from 2008-06-21
11593         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
11594         sa_sigaction...
11595         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
11596         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
11597         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
11598         * modules/signal (Makefile.am): Use the value.
11599         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
11600         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
11601         * doc/posix-headers/signal.texi (signal.h): Document this
11602         portability issue.
11603         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
11604         Reported by Tom G. Christensen.
11605
11606 2008-08-17  Bruno Haible  <bruno@clisp.org>
11607
11608         New module 'threadlib'.
11609         * modules/threadlib: New file.
11610         * lib/glthread/threadlib.c: New file, extracted from
11611         lib/glthread/lock.c.
11612         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
11613         functions.
11614         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
11615         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
11616         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
11617         macros.
11618         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
11619         (gl_DISABLE_THREADS): Remove macro.
11620         * modules/lock (Files): Remove build-aux/config.rpath.
11621         (Depends-on): Remove havelib. Add threadlib.
11622         (configure.ac-early): Remove section.
11623         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
11624         * modules/tls (Depends-on): Remove lock. Add threadlib.
11625         (Link): New section, copied from threadlib.
11626         * MODULES.html.sh (Multithreading): Add threadlib.
11627
11628 2008-08-14  Bruno Haible  <bruno@clisp.org>
11629
11630         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
11631         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
11632         glthread_rwlock_unlock, glthread_rwlock_destroy,
11633         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
11634         glthread_recursive_lock_destroy): Define as macros always.
11635         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
11636         glthread_lock_lock.
11637         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
11638         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
11639         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
11640         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
11641         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
11642         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
11643         (glthread_recursive_lock_lock_func): Renamed from
11644         glthread_recursive_lock_lock.
11645         (glthread_recursive_lock_unlock_func): Renamed from
11646         glthread_recursive_lock_unlock.
11647         (glthread_recursive_lock_destroy_func): Renamed from
11648         glthread_recursive_lock_destroy.
11649
11650 2008-08-14  Bruno Haible  <bruno@clisp.org>
11651
11652         * lib/glthread/lock.h: Renamed from lib/lock.h.
11653         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
11654         * lib/glthread/tls.h: Renamed from lib/tls.h.
11655         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
11656         * lib/fstrcmp.c: Update includes.
11657         * lib/strsignal.c: Update includes.
11658         * modules/lock (Files, Makefile.am): Update.
11659         (Include): Change to "glthread/lock.h".
11660         * modules/tls (Files, Makefile.am): Update.
11661         (Include): Change to "glthread/tls.h".
11662         * tests/test-lock.c: Update includes.
11663         * tests/test-tls.c: Update includes.
11664         * NEWS: Mention the renamed header files.
11665
11666 2008-08-11  Jim Meyering  <meyering@redhat.com>
11667
11668         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
11669
11670 2008-08-11  Eric Blake  <ebb9@byu.net>
11671
11672         test-c-stack: avoid C99-ism
11673         * tests/test-c-stack.c (main): Fix whitespace, move declaration
11674         before statement.
11675         Reported by Alain Guibert.
11676
11677 2008-08-10  Jim Meyering  <meyering@redhat.com>
11678
11679         ensure that return value of uinttostr et al are not ignored
11680         * lib/inttostr.h (__GNUC_PREREQ): Define.
11681         (__attribute_warn_unused_result__): Define.
11682         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
11683
11684 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
11685
11686         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
11687         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
11688
11689 2008-08-07  Jim Meyering  <meyering@redhat.com>
11690
11691         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
11692
11693         * modules/mkstemp (License): Relicense under LGPLv2+.
11694         * modules/tempname (License): Likewise.
11695
11696 2008-08-06  Bruno Haible  <bruno@clisp.org>
11697
11698         * lib/poll.c (poll): Further micro-optimization.
11699
11700 2008-08-06  Jim Meyering  <meyering@redhat.com>
11701
11702         inet_pton.c: use locale-independent tolower
11703         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
11704         (inet_pton6): Use c_tolower rather than tolower.
11705         * modules/inet_pton (Depends-on): Add c-ctype.
11706
11707 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
11708
11709         * lib/poll.c (poll): Avoid division when timeout is 0, cache
11710         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
11711
11712 2008-08-06  Jim Meyering  <meyering@redhat.com>
11713
11714         * modules/inet_pton (License): Relicense under LGPLv2+.
11715
11716 2008-08-03  Bruno Haible  <bruno@clisp.org>
11717
11718         Additional non-aborting API for lock and tls.
11719         * lib/lock.h: Include <errno.h>.
11720         (glthread_lock_init): New macro/function.
11721         (gl_lock_init): Define as wrapper around glthread_lock_init.
11722         (glthread_lock_lock): New macro/function.
11723         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
11724         (glthread_lock_unlock): New macro/function.
11725         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
11726         (glthread_lock_destroy): New macro/function.
11727         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
11728         (glthread_rwlock_init): New macro/function.
11729         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
11730         (glthread_rwlock_rdlock): New macro/function.
11731         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
11732         (glthread_rwlock_wrlock): New macro/function.
11733         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
11734         (glthread_rwlock_unlock): New macro/function.
11735         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
11736         (glthread_rwlock_destroy): New macro/function.
11737         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
11738         (glthread_recursive_lock_init): New macro/function.
11739         (gl_recursive_lock_init): Define as wrapper around
11740         glthread_recursive_lock_init.
11741         (glthread_recursive_lock_lock): New macro/function.
11742         (gl_recursive_lock_lock): Define as wrapper around
11743         glthread_recursive_lock_lock.
11744         (glthread_recursive_lock_unlock): New macro/function.
11745         (gl_recursive_lock_unlock): Define as wrapper around
11746         glthread_recursive_lock_unlock.
11747         (glthread_recursive_lock_destroy): New macro/function.
11748         (gl_recursive_lock_destroy): Define as wrapper around
11749         glthread_recursive_lock_destroy.
11750         (glthread_once): New macro/function.
11751         (gl_once): Define as wrapper around glthread_once.
11752         Update function declarations.
11753         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
11754         glthread_rwlock_init. Return error code.
11755         (glthread_rwlock_rdlock_multithreaded): Renamed from
11756         glthread_rwlock_rdlock. Return error code.
11757         (glthread_rwlock_wrlock_multithreaded): Renamed from
11758         glthread_rwlock_wrlock. Return error code.
11759         (glthread_rwlock_unlock_multithreaded): Renamed from
11760         glthread_rwlock_unlock. Return error code.
11761         (glthread_rwlock_destroy_multithreaded): Renamed from
11762         glthread_rwlock_destroy. Return error code.
11763         (glthread_recursive_lock_init_multithreaded): Renamed from
11764         glthread_recursive_lock_init. Return error code.
11765         (glthread_recursive_lock_lock_multithreaded): Renamed from
11766         glthread_recursive_lock_lock. Return error code.
11767         (glthread_recursive_lock_unlock_multithreaded): Renamed from
11768         glthread_recursive_lock_unlock. Return error code.
11769         (glthread_recursive_lock_destroy_multithreaded): Renamed from
11770         glthread_recursive_lock_destroy. Return error code.
11771         (glthread_once_call): Make static.
11772         (glthread_once_multithreaded): Renamed from glthread_once.
11773         * lib/tls.h: Include <errno.h>.
11774         (glthread_tls_key_init): New macro/function.
11775         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
11776         (glthread_tls_set): New macro/function.
11777         (gl_tls_set): Define as wrapper around glthread_tls_set.
11778         (glthread_tls_key_destroy): New macro/function.
11779         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
11780         Update function declarations.
11781         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
11782         glthread_tls_get.
11783         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
11784
11785 2008-08-04  Eric Blake  <ebb9@byu.net>
11786
11787         gnumakefile: use space, not TAB, outside of targets
11788         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
11789
11790 2008-08-02  Jim Meyering  <meyering@redhat.com>
11791
11792         getdate.y: avoid locale-dependent date parsing failure
11793         In Turkish locales, getdate would fail to recognize keywords
11794         containing a lowercase "i".  The solution is not to rely on
11795         locale-sensitive case-conversion.
11796         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
11797         (lookup_word): Use c_toupper in place of toupper.
11798         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
11799         Reported by Vefa Bicakci <bicave@superonline.com> in
11800         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
11801         * modules/getdate (Depends-on): Add c-ctype.
11802
11803 2008-08-02  Bruno Haible  <bruno@clisp.org>
11804
11805         * gnulib-tool (func_import): When updating or creating a .gitignore
11806         file, prepend each added line with a slash, and ignore leading slashes
11807         from the existing lines.
11808         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
11809
11810 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11811
11812         Portability fix for GNU make 3.79.1.
11813         * top/GNUmakefile: Avoid 'else COND', which older GNU make
11814         versions do not understand.
11815
11816 2008-08-01  Bruno Haible  <bruno@clisp.org>
11817
11818         Work around bug of HP-UX 10.20 cc with -0.0 literal.
11819         * tests/test-isnanf.h (zero): New variable.
11820         (main): Avoid literal -0.0f.
11821         * tests/test-isnand.h (zero): New variable.
11822         (main): Avoid literal -0.0.
11823         * tests/test-isnanl.h (zero): New variable.
11824         (main): Avoid literal -0.0L.
11825         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
11826         (test_float, test_double, test_long_double): Avoid literals -0.0f,
11827         -0.0, -0.0L.
11828         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
11829         (test_signbitd): Avoid literal -0.0.
11830         (test_signbitl): Avoid literal -0.0L.
11831         * tests/test-ceilf1.c (zero): New variable.
11832         (main): Avoid literal -0.0f.
11833         * tests/test-ceill.c (zero): New variable.
11834         (main): Avoid literal -0.0L.
11835         * tests/test-floorf1.c (zero): New variable.
11836         (main): Avoid literal -0.0f.
11837         * tests/test-floorl.c (zero): New variable.
11838         (main): Avoid literal -0.0L.
11839         * tests/test-roundf1.c (zero): New variable.
11840         (main): Avoid literal -0.0f.
11841         * tests/test-round1.c (zero): New variable.
11842         (main): Avoid literal -0.0.
11843         * tests/test-roundl.c (zero): New variable.
11844         (main): Avoid literal -0.0L.
11845         * tests/test-truncf1.c (zero): New variable.
11846         (main): Avoid literal -0.0f.
11847         * tests/test-trunc1.c (zero): New variable.
11848         (main): Avoid literal -0.0.
11849         * tests/test-truncl.c (zero): New variable.
11850         (main): Avoid literal -0.0L.
11851         * tests/test-frexp.c (zero): New variable.
11852         (main): Avoid literal -0.0.
11853         * tests/test-frexpl.c (zero): New variable.
11854         (main): Avoid literal -0.0L.
11855         * tests/test-ldexpl.c (zero): New variable.
11856         (main): Avoid literal -0.0L.
11857         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
11858         (zerod, zerol): New variables.
11859         (test_function): Avoid literals -0.0, -0.0L.
11860         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
11861         (zerod, zerol): New variables.
11862         (test_function): Avoid literals -0.0, -0.0L.
11863         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
11864         (zerod, zerol): New variables.
11865         (test_function): Avoid literals -0.0, -0.0L.
11866         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
11867         (zerod, zerol): New variables.
11868         (test_function): Avoid literals -0.0, -0.0L.
11869         * tests/test-strtod.c (zero): New variable.
11870         (main): Avoid literal -0.0.
11871         Reported by Jonathan C. Patschke <jp@centtech.com>.
11872
11873 2008-07-31  Jim Meyering  <meyering@redhat.com>
11874
11875         sha256.h: correct definition of SHA224_DIGEST_SIZE
11876         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
11877         Reported by Paulie Pena IV <paulie4@gmail.com>.
11878         Define as 224 / 8, rather than as a literal.
11879         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
11880         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
11881         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
11882
11883 2008-07-31  Bruno Haible  <bruno@clisp.org>
11884
11885         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
11886         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
11887         Reported by Jonathan Patschke <jp@centtech.com>.
11888
11889 2008-07-31  Bruno Haible  <bruno@clisp.org>
11890
11891         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
11892         Reported by Paolo Bonzini <bonzini@gnu.org>.
11893
11894 2008-07-30  Eric Blake  <ebb9@byu.net>
11895
11896         test-strtod: allow compilation without -lm
11897         * tests/test-strtod.c (main): Avoid link dependence on fabs.
11898         Reported by Dennis Clarke <blastwave@gmail.com>.
11899
11900 2008-07-28  Jim Meyering  <meyering@redhat.com>
11901
11902         bootstrap: work also when there are no .po files in po/
11903         * build-aux/bootstrap (update_po_files): Complete the change
11904         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
11905
11906 2008-07-27  Jim Meyering  <meyering@redhat.com>
11907
11908         * users.txt: Add zile.
11909
11910 2008-07-26  Ben Pfaff  <blp@gnu.org>
11911
11912         Add missing dependencies on new m4/exponent[fdl].m4 files.
11913         * modules/isnanf-nolibm: Add m4/exponentf.m4.
11914         * modules/isnand-nolibm: Add m4/exponentd.m4.
11915         * modules/isnanl-nolibm: Add m4/exponentl.m4.
11916         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
11917         m4/isnan[fdl].m4, because the macros actually used moved.
11918         Reported by Jim Meyering.
11919
11920 2008-07-14  Ben Pfaff  <blp@gnu.org>
11921
11922         Add isinf module.
11923         * lib/isinf.c: New file.
11924         * lib/math.in.h: Define isinf macro if we have decided to replace
11925         it.
11926         * m4/isinf.m4: New file.
11927         * m4/math_h.m4: Initialize and substitute variables for isinf
11928         module.
11929         * modules/isinf: New file.
11930         * modules/isinf-tests: New file.
11931         * modules/math: Add substitutions for new module.
11932         * tests/test-isinf.c: New file.
11933         * doc/posix-functions/isinf.texi: Mention new module.
11934         * MODULES.html.sh: Mention new module.
11935
11936 2008-07-14  Ben Pfaff  <blp@gnu.org>
11937
11938         Factor out some macros for use by additional modules.
11939         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
11940         exponentf.m4.
11941         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
11942         exponentd.m4.
11943         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
11944         file exponentl.m4.
11945         * m4/exponentf.m4: New file.
11946         * m4/exponentd.m4: New file.
11947         * m4/exponentl.m4: New file.
11948         * modules/isnanf: Use new file m4/exponentf.m4.
11949         * modules/isnand: Use new file m4/exponentd.m4.
11950         * modules/isnanl: Use new file m4/exponentl.m4.
11951
11952 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
11953
11954         mktime.c: normalize tp->tm_isdst value to -1/0/1.
11955         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
11956         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
11957         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
11958
11959         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
11960         readlink on platforms without PATH_MAX.
11961
11962 2008-07-21  Eric Blake  <ebb9@byu.net>
11963
11964         Warn, not fail, on stale version.
11965         * top/GNUmakefile (_curr-ver): Tone down previous patch.
11966
11967         Don't allow installation with stale devel version number.
11968         * top/GNUmakefile (_is-install-target): New macro.
11969         (_curr-ver): Forbid installation with stale version number.
11970
11971 2008-07-20  Bruno Haible  <bruno@clisp.org>
11972
11973         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
11974         TESTS_ENVIRONMENT.
11975         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
11976
11977 2008-07-20  Bruno Haible  <bruno@clisp.org>
11978
11979         * lib/c-stack.h (c_stack_action): Add documentation.
11980         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
11981
11982 2008-07-20  Bruno Haible  <bruno@clisp.org>
11983
11984         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
11985         * modules/readlink (License): Likewise.
11986
11987 2008-07-17  Eric Blake  <ebb9@byu.net>
11988
11989         * modules/c-stack (Link): Fix typo.
11990
11991         Make c-stack use libsigsegv, when available.
11992         * modules/c-stack (Depends-on): Add libsigsegv.
11993         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
11994         needed.
11995         * lib/c-stack.c (SIGSTKSZ): Define fallback.
11996         (segv_handler, overflow_handler, c_stack_action)
11997         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
11998         implementation when libsigsegv is available, but only when using
11999         the library is necessary.
12000         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
12001         comment, explaining why XSI check fails on Linux.
12002         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
12003         * tests/test-c-stack2.sh: Tweak skip message.
12004         * NEWS: Document new link-time requirements.
12005
12006 2008-07-16  Eric Blake  <ebb9@byu.net>
12007
12008         c-stack: Expose false positives when not using libsigsegv.
12009         * modules/c-stack-tests (Files): Expand test.
12010         * tests/test-c-stack.c (main): Add means to conditionally trigger
12011         non-overflow SIGSEGV.
12012         * tests/test-c-stack2.sh: New file.
12013
12014 2008-07-14  Bruno Haible  <bruno@clisp.org>
12015
12016         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
12017         Reported by Eric Blake.
12018
12019 2008-07-14  Sam Steingold  <sds@gnu.org>
12020             Bruno Haible  <bruno@clisp.org>
12021
12022         New module libsigsegv.
12023         * modules/libsigsegv: New file.
12024         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
12025         modifications.
12026         * MODULES.html.sh (Signal handling): New section.
12027
12028 2008-07-14  Bruno Haible  <bruno@clisp.org>
12029
12030         * modules/unictype/ctype-* (Description): Add the word "function".
12031         Improves the resulting doc in MODULES.html.
12032
12033 2008-07-12  Ben Pfaff  <blp@gnu.org>
12034
12035         Add longlong module.
12036         * modules/longlong: New file.
12037
12038 2008-07-12  Bruno Haible  <bruno@clisp.org>
12039
12040         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
12041         to empty.
12042
12043 2008-07-10  Ben Pfaff  <blp@gnu.org>
12044
12045         Add isnan module.
12046         * doc/posix-functions/isnan.texi: Mention new module.
12047         * lib/math.in.h: Define isnan macro if we have decided to replace
12048         it.
12049         * m4/isnan.m4: New file.
12050         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
12051         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
12052         also.
12053         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
12054         redundancy.
12055         * m4/math_h.m4: Initialize and substitute variables for isnan
12056         module.
12057         * modules/isnan: New file.
12058         * modules/isnan-tests: New file.
12059         * modules/math: Add substitutions for new module.
12060         * tests/test-isnan.c: New file.
12061         * MODULES.html.sh: Mention new module.
12062
12063 2008-07-10  Ben Pfaff  <blp@gnu.org>
12064
12065         Add isnanf module.
12066         * lib/isnanf.m4: New file.
12067         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
12068         (gl_HAVE_ISNANF_IN_LIBM): New macro.
12069         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
12070         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
12071         * modules/isnanf: New file.
12072         * modules/isnanf-tests: New file.
12073         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
12074         files.
12075         * tests/test-isnanf-nolibm.c: factored most of its contents into
12076         new file tests/test-isnanf.h.
12077         * tests/test-isnanf.h: New file.
12078         * tests/test-isnanf.c: New file.
12079         * MODULES.html.sh: Mention new module.
12080         * doc/glibc-functions/isnanf.texi: Mention new module.
12081
12082 2008-07-10  Ben Pfaff  <blp@gnu.org>
12083
12084         Add isnand module.
12085         * lib/isnand.h: New file.
12086         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
12087         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
12088         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
12089         functionality also.
12090         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
12091         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
12092         (gl_HAVE_ISNAND_IN_LIBM): New macro.
12093         * modules/isnand: New file.
12094         * modules/isnand-tests: New file.
12095         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
12096         files.
12097         * tests/test-isnand-nolibm.c: factored most of its contents into
12098         new file tests/test-isnand.h.
12099         * tests/test-isnand.h: New file.
12100         * tests/test-isnand.c: New file.
12101         * MODULES.html.sh: Mention new module.
12102
12103 2008-07-10  Ben Pfaff  <blp@gnu.org>
12104
12105         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
12106         * lib/isnand.h: Rename lib/isnand-nolibm.h.
12107         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
12108         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
12109         * modules/isnanf-nolibm: Update references to renamed files.
12110         * modules/isnand-nolibm: Likewise.
12111         * modules/isnanf-nolibm-tests: Likewise.
12112         * modules/isnand-nolibm-tests: Likewise.
12113         * lib/frexp.c: Likewise.
12114         * lib/isfinite.c: Likewise.
12115         * lib/signbitd.c: Likewise.
12116         * lib/signbitf.c: Likewise.
12117         * lib/vasnprintf.c: Likewise.
12118         * tests/test-ceilf1.c: Likewise.
12119         * tests/test-ceilf2.c: Likewise.
12120         * tests/test-floorf1.c: Likewise.
12121         * tests/test-floorf2.c: Likewise.
12122         * tests/test-frexp.c: Likewise.
12123         * tests/test-round1.c: Likewise.
12124         * tests/test-round2.c: Likewise.
12125         * tests/test-roundf1.c: Likewise.
12126         * tests/test-strtod.c: Likewise.
12127         * tests/test-trunc1.c: Likewise.
12128         * tests/test-trunc2.c: Likewise.
12129         * tests/test-truncf1.c: Likewise.
12130         * tests/test-truncf2.c: Likewise.
12131         * NEWS: Mention the renamed header files.
12132
12133 2008-07-11  Jim Meyering  <meyering@redhat.com>
12134
12135         vc-list-files: make the last-resort awk code more portable
12136         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
12137         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
12138         does not support it.
12139
12140 2008-07-10  Eric Blake  <ebb9@byu.net>
12141
12142         Work with tar's bootstrap.
12143         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
12144         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
12145         an m4 comment.
12146
12147 2008-07-09  Jim Meyering  <meyering@redhat.com>
12148
12149         posix-shell.m4: fix typo that made this test malfunction
12150         * m4/posix-shell.m4: Remove capitalization in variable name.
12151
12152 2008-07-08  Bruno Haible  <bruno@clisp.org>
12153
12154         * m4/onceonly.m4: Update comments.
12155         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12156
12157 2008-07-04  Jim Meyering  <meyering@redhat.com>
12158
12159         * users.txt: Add vc-dwim.
12160         (bison, coreutils): Use the gitweb URL.
12161
12162 2008-07-03  Jim Meyering  <meyering@redhat.com>
12163
12164         * users.txt: Add libffcall.  From Sam Steingold.
12165
12166 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
12167
12168         getdate.y: do not ignore TZ with relative day, month or year offset
12169         * lib/getdate.y (get_date): Move the tz-handling block to follow the
12170         relative-date-handling, since otherwise, the latter would clobber the
12171         sole output (an updated Start value) of the tz-handling block.
12172         * tests/test-getdate.c: Tests for the fix
12173
12174 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12175
12176         Recognize 'foo_LIBRARIES += libgnu.a'.
12177         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
12178         makefile snippet has already specified an installation location,
12179         also using '+='.
12180
12181 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
12182
12183         getdate.y: factor out common actions
12184         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
12185         Use them in place of open-coded actions.
12186
12187 2008-07-01  Simon Josefsson  <simon@josefsson.org>
12188
12189         Add self-test for getdate module.
12190         * modules/getdate-tests: New file.
12191         * tests/test-getdate.c: New file.
12192
12193 2008-06-29  Bruno Haible  <bruno@clisp.org>
12194
12195         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
12196         .gitignore.
12197         Reported by Sylvain Beucler <beuc@beuc.net>.
12198
12199 2008-06-29  Bruno Haible  <bruno@clisp.org>
12200
12201         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
12202         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
12203
12204 2008-06-29  Bruno Haible  <bruno@clisp.org>
12205
12206         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
12207         EXTRA_DIST.
12208         Reported by Sylvain Beucler <beuc@beuc.net>.
12209
12210 2008-06-26  Jim Meyering  <meyering@redhat.com>
12211
12212         make several modules depend on the "open" module
12213         This provides slightly increased consistency when opening-for-write
12214         the name of a non-directory spelled with a trailing slash.
12215         * modules/chdir-safer: Likewise.
12216         * modules/chown: Likewise.
12217         * modules/clean-temp: Likewise.
12218         * modules/copy-file: Likewise.
12219         * modules/fchdir: Likewise.
12220         * modules/fcntl-safer: Likewise.
12221         * modules/pipe: Likewise.
12222         * modules/utime: Likewise.
12223         Prompted by Eric Blake and Bruno Haible.
12224
12225 2008-06-24  Andreas Schwab  <schwab@suse.de>
12226
12227         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
12228         literals can be used as initializers for global variables.
12229
12230 2008-06-23  Eric Blake  <ebb9@byu.net>
12231
12232         Make gnulib-cache.m4 easier to diff.
12233         * gnulib-tool (func_import): Allow newlines when reading cached
12234         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
12235
12236 2008-06-23  Bruno Haible  <bruno@clisp.org>
12237
12238         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
12239         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
12240         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
12241         m4/signalblocking.m4.
12242         (gl_PREREQ_SIGACTION): Don't invoke it.
12243         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
12244         gl_PREREQ_SIG_HANDLER_H.
12245         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
12246         Don't check for sigaction here.
12247
12248 2008-06-23  Bruno Haible  <bruno@clisp.org>
12249
12250         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
12251         (install_handlers): Don't set the SA_RESETHAND flag.
12252
12253 2008-06-23  Bruno Haible  <bruno@clisp.org>
12254
12255         * m4/sigaction.m4: Comment fixes.
12256         * lib/signal.in.h: Likewise.
12257
12258 2008-06-23  Eric Blake  <ebb9@byu.net>
12259
12260         Fix typo.
12261         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
12262
12263         Avoid SA_ namespace.
12264         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
12265         Reported by Ralf Wildenhues.
12266
12267         Avoid test failure due to SA_RESTORER.
12268         * tests/test-sigaction.c (SA_MASK): New macro.
12269         (main): Avoid failing due to extension flags being set.
12270         Reported by Jim Meyering.
12271
12272         Revert use of sig-handler.h in sigprocmask.c.
12273         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
12274         it requires the existence of struct sigaction.
12275         * lib/sigprocmask.c (handler_t): Restore typedef.
12276         (rpl_signal, old_handlers): Use local type.
12277
12278 2008-06-22  Bruno Haible  <bruno@clisp.org>
12279
12280         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
12281         conditionally.
12282         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12283
12284 2008-06-22  Bruno Haible  <bruno@clisp.org>
12285
12286         * doc/posix-functions/siginterrupt.texi: Move note.
12287
12288         * lib/signal.in.h (SA_RESTART): New macro.
12289         * lib/sigaction.c: Update comment.
12290
12291         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
12292
12293         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
12294         (gl_PREREQ_SIGPROCMASK): Invoke it.
12295         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
12296
12297         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
12298
12299         * lib/sigprocmask.c: Update a comment.
12300
12301 2008-06-21  Eric Blake  <ebb9@byu.net>
12302
12303         Use sigaction module rather than signal().
12304         * modules/c-stack (Depends-on): Add sigaction.
12305         * modules/fatal-signal (Depends-on): Likewise.
12306         * modules/nanosleep (Depends-on): Likewise.
12307         * modules/sigprocmask (Files): Add sig-handler.h.
12308         * modules/sigaction (Files): Likewise.
12309         * lib/sig-handler.h (get_handler): New file, suggested by Paul
12310         Eggert.
12311         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
12312         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
12313         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
12314         (init_fatal_signals): Likewise.
12315         * lib/nanosleep.c (rpl_nanosleep): Likewise.
12316         (siginterrupt): Delete fallback.
12317         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
12318         instead.
12319         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
12320         siginterrupt.
12321
12322         New module sigaction, for mingw.
12323         * modules/sigaction: New module...
12324         * modules/sigaction-tests: ...and its test.
12325         * m4/sigaction.m4: New file.
12326         * lib/sigaction.c: Likewise.
12327         * tests/test-sigaction.c: Likewise.
12328         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
12329         * modules/signal (Makefile.am): Likewise.
12330         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
12331         needed.
12332         * doc/posix-headers/signal.texi (signal.h): Mention provided
12333         types.
12334         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
12335         that sigaction is preferable.
12336         * doc/posix-functions/sigaction.texi (sigaction): Mention new
12337         module.
12338         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12339         sigaction.
12340
12341         Improve robustness of sigprocmask by overriding signal.
12342         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
12343         is in use.
12344         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
12345         (SIGKILL, SIGSTOP): Provide fallbacks.
12346         (rpl_signal): Implement.
12347         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
12348         signal can be called inside handlers.
12349
12350         Fix nanosleep module on mingw.
12351         * modules/nanosleep (Depends-on): Add sys_select.
12352         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
12353
12354         Fix licensing of sigprocmask.
12355         * modules/raise (License): Relicense as LGPL.
12356
12357 2008-06-21  Bruno Haible  <bruno@clisp.org>
12358
12359         * lib/propername.c (proper_name_utf8): Don't use the transliterated
12360         result if it contains question marks.
12361         Reported by Michael Geng <linux@michaelgeng.de>.
12362
12363 2008-06-19  Bruno Haible  <bruno@clisp.org>
12364
12365         Fix CVS-ism.
12366         * doc/gnulib.texi: Include updated-stamp.texi.
12367         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
12368         (updated-stamp.texi): New rule.
12369         (gnulib.info): Depend on it.
12370         * doc/.gitignore: Add updated-stamp.texi.
12371         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
12372
12373 2008-06-19  Bruno Haible  <bruno@clisp.org>
12374
12375         * doc/Makefile (gnulib.info): Update and simplify dependencies.
12376         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
12377
12378 2008-06-19  Eric Blake  <ebb9@byu.net>
12379
12380         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
12381         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
12382         Reported by Stepan Kasal.
12383
12384 2008-06-18  Bruno Haible  <bruno@clisp.org>
12385
12386         * lib/fatal-signal.c (init_fatal_signals): Add comment.
12387         Reported by Eric Blake.
12388
12389 2008-06-18  Eric Blake  <ebb9@byu.net>
12390
12391         Work around cygwin 1.5.25 strsignal bug.
12392         * tests/test-strsignal.c: Allow for const char *.
12393         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
12394
12395 2008-06-18  Simon Josefsson  <simon@josefsson.org>
12396
12397         * users.txt: Update URL to article and add author/date
12398         information.
12399
12400 2008-06-17  Bruno Haible  <bruno@clisp.org>
12401
12402         New macro gl_DISABLE_THREADS.
12403         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
12404         if the user did not pass --enable-threads or --disable-threads option.
12405         (gl_DISABLE_THREADS): New macro.
12406         Reported by Eric Blake <ebb9@byu.net>.
12407
12408 2008-06-17  Bruno Haible  <bruno@clisp.org>
12409
12410         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
12411         when the macro ignores it.
12412         Based on a patch by Eric Blake <ebb9@byu.net>.
12413
12414 2008-06-17  Bruno Haible  <bruno@clisp.org>
12415
12416         * modules/tls (License): Change to LGPLv2+.
12417         Reported by Eric Blake.
12418
12419 2008-06-17  Eric Blake  <ebb9@byu.net>
12420
12421         Simplify c-stack prerequisites.
12422         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
12423         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
12424         no longer requires <ucontext.h> to exist.  Optimize setrlimit
12425         check.
12426         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
12427         <sys/resource.h>.
12428
12429         Move c-stack test into testsuite.
12430         * modules/c-stack-tests: New file.
12431         * lib/c-stack.c [DEBUG]: Move test program...
12432         * tests/test-c-stack.c: ...into this new file.  Skip rather than
12433         fail test if sigaltstack is lacking.
12434         * tests/test-c-stack.sh: New driver file.
12435
12436 2008-06-16  Eric Blake  <ebb9@byu.net>
12437
12438         Use raise module consistently.
12439         * modules/fatal-signal (Depends-on): Add raise.
12440         * modules/sigprocmask (Depends-on): Likewise.
12441         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
12442         * lib/sigprocmask.c (sigprocmask): Likewise.
12443         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
12444         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
12445
12446         Fix compliance bug in sigpending.
12447         * lib/sigprocmask.c (sigpending): Return pending array via
12448         parameter, not return value.
12449
12450 2008-06-14  Eric Blake  <ebb9@byu.net>
12451
12452         Improve obstack-printf test code.
12453         * tests/test-obstack-printf.c (test_function): Fix comment, and
12454         simplify usage of obstack_* in macros.  Add a test for coverage.
12455         Reported by Bruno Haible.
12456
12457 2008-06-14  Bruno Haible  <bruno@clisp.org>
12458
12459         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
12460         array size as a constant, not as a const variable.
12461         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
12462         AC_USE_SYSTEM_EXTENSIONS.
12463         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
12464         Test whether the obstack_printf function actually exists.
12465         * modules/obstack-printf (Depends-on): Add extensions.
12466         (Include): Remove obstack.h.
12467         * modules/obstack-printf-posix (Depends-on): Add extensions.
12468         (Include): Remove obstack.h.
12469
12470 2008-06-13  Eric Blake  <ebb9@byu.net>
12471
12472         Add obstack-printf and obstack-printf-posix modules.
12473         * modules/obstack-printf: New file.
12474         * modules/obstack-printf-posix: Likewise.
12475         * MODULES.html.sh (Misc): Mention them.
12476         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
12477         Likewise.
12478         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
12479         Likewise.
12480         * modules/stdio (Makefile.am): Accomodate new modules.
12481         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
12482         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
12483         Declare.
12484         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
12485         functions.
12486         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
12487         (gl_REPLACE_OBSTACK_PRINTF): New macros
12488         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
12489         * tests/test-obstack-printf.c: New file.
12490         * modules/obstack-printf-tests: Likewise.
12491         * modules/obstack-printf-posix-tests: Likewise.
12492
12493 2008-06-11  Bruno Haible  <bruno@clisp.org>
12494
12495         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
12496         * lib/open.c: Include errno.h.
12497         (open): Fail when attempting to write to a file that has a trailing
12498         slash.
12499         * tests/test-open.c (main): Test against trailing slash bug.
12500         * doc/posix-functions/open.texi: Mention the trailing slash bug.
12501
12502 2008-06-10  Bruno Haible  <bruno@clisp.org>
12503
12504         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
12505         for $? to work inside the trap command, with various /bin/sh-s.
12506         * tests/test-vc-list-files-cvs.sh: Likewise.
12507
12508 2008-06-10  Bruno Haible  <bruno@clisp.org>
12509
12510         * lib/acl-internal.h: Don't include gettext.h here.
12511         * lib/set-mode-acl.c: Include gettext.h here.
12512         * lib/copy-acl.c: Likewise.
12513
12514 2008-06-10  Bruno Haible  <bruno@clisp.org>
12515
12516         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
12517         * lib/wait-process.c (wait_subprocess): Likewise.
12518         * lib/execute.h (execute): Add termsigp argument.
12519         * lib/execute.c (execute): Likewise.
12520         * lib/csharpcomp.c (compile_csharp_using_pnet,
12521         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
12522         * lib/csharpexec.c (execute_csharp_using_pnet,
12523         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
12524         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
12525         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
12526         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
12527         is_jikes_present): Update.
12528         * lib/javaexec.c (execute_java_class): Update.
12529         * lib/javaversion.c (execute_and_read_line): Update.
12530         * NEWS: Document the changes.
12531         Reported by Eric Blake.
12532
12533 2008-06-10  Eric Blake  <ebb9@byu.net>
12534
12535         Add missing include.
12536         * tests/test-strstr.c (includes): Add <signal.h>.
12537         * tests/test-strcasestr.c (includes): Likewise.
12538         * tests/test-memmem.c (includes): Likewise.
12539
12540 2008-06-10  Bruno Haible  <bruno@clisp.org>
12541
12542         * lib/wait-process.c (wait_subprocess): Add an assertion.
12543
12544 2008-06-10  Bruno Haible  <bruno@clisp.org>
12545
12546         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
12547
12548 2008-06-10  Bruno Haible  <bruno@clisp.org>
12549
12550         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
12551         using alarm().
12552         * tests/test-strcasestr.c (main): Likewise.
12553         * tests/test-strstr.c (main): Likewise.
12554
12555 2008-06-09  Bruno Haible  <bruno@clisp.org>
12556
12557         Work around the Solaris 10 ACE ACLs ABI change.
12558         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
12559         declare if ACL_NO_TRIVIAL is present.
12560         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
12561         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
12562         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
12563         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
12564         define if ACL_NO_TRIVIAL is present.
12565         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
12566         and use the current ABI.
12567         (file_has_acl): Use same #if condition as elsewhere.
12568         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
12569         in use, and use the current ABI.
12570         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
12571         Reported by Jim Meyering.
12572
12573 2008-06-09  Eric Blake  <ebb9@byu.net>
12574
12575         Work around environments that (stupidly) ignore SIGALRM.
12576         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
12577         before using alarm().
12578         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
12579         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
12580         Reported by Ian Beckwith <ianb@erislabs.net>.
12581
12582         Produce autobuild blurb earlier in log.
12583         * modules/autobuild (configure.ac-early): Move AB_INIT here.
12584
12585 2008-06-09  Jim Meyering  <meyering@redhat.com>
12586         and Ondřej Vašík  <ovasik@redhat.com>
12587
12588         utimens.c: correct kernel bug work-around
12589         Ondřej Vašík found that the invalid return value of 280 indicates
12590         failure, not success, and the kernel bug we're trying to work
12591         around affects not just the utimensat call, but also the fallback
12592         futimens call.
12593         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
12594         not success.
12595         [HAVE_FUTIMENS]: Use the same work-around, here.
12596
12597 2008-06-09  Jim Meyering  <meyering@redhat.com>
12598
12599         add more guards around definition of ACE_-related code
12600         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
12601         ALLOW and ACE_OWNER are also defined.
12602
12603 2008-06-08  Bruno Haible  <bruno@clisp.org>
12604
12605         * lib/acl-internal.h: Add me as co-author.
12606         * lib/file-has-acl.c: Likewise.
12607         * lib/set-mode-acl.c: Likewise.
12608         * lib/copy-acl.c: Likewise.
12609
12610 2008-06-08  Bruno Haible  <bruno@clisp.org>
12611
12612         Add support for AIX ACLs.
12613         * lib/acl-internal.h (acl_nontrivial): New declaration.
12614         * lib/file-has-acl.c (acl_nontrivial): New function.
12615         (file_has_acl): Add implementation using AIX 4 ACL API.
12616         * lib/set-mode-acl.c (qset_acl): Likewise.
12617         * lib/copy-acl.c (qcopy_acl): Likewise.
12618
12619 2008-06-08  Bruno Haible  <bruno@clisp.org>
12620
12621         Add support for HP-UX ACLs.
12622         * lib/acl-internal.h (acl_nontrivial): New declaration.
12623         * lib/file-has-acl.c (acl_nontrivial): New function.
12624         (file_has_acl): Add implementation using HP-UX 11 ACL API.
12625         * lib/set-mode-acl.c (qset_acl): Likewise.
12626         * lib/copy-acl.c (qcopy_acl): Likewise.
12627
12628 2008-06-08  Bruno Haible  <bruno@clisp.org>
12629
12630         Add support for Cygwin ACLs.
12631         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
12632         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
12633         the chmod_or_fchmod call.
12634         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
12635
12636 2008-06-08  Bruno Haible  <bruno@clisp.org>
12637
12638         Fix bug with setuid modes in Solaris 10+ code.
12639         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
12640         succeeded, when the mode contains some special bits.
12641
12642 2008-06-08  Bruno Haible  <bruno@clisp.org>
12643
12644         Add support for Solaris 7..10 ACLs.
12645         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
12646         declarations.
12647         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
12648         functions.
12649         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
12650         * lib/set-mode-acl.c (qset_acl): Likewise.
12651         * lib/copy-acl.c (qcopy_acl): Likewise.
12652
12653 2008-06-08  Bruno Haible  <bruno@clisp.org>
12654
12655         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
12656         declaration.
12657         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
12658         (acl_access_nontrivial): Remove MacOS X case.
12659         (file_has_acl): Use acl_extended_nontrivial.
12660         * lib/copy-acl.c (qcopy_acl): Likewise.
12661
12662 2008-06-08  Bruno Haible  <bruno@clisp.org>
12663
12664         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
12665
12666 2008-06-08  Jim Meyering  <meyering@redhat.com>
12667
12668         * modules/acl (Maintainer): Add Bruno Haible.
12669
12670 2008-06-07  Bruno Haible  <bruno@clisp.org>
12671
12672         Improve support for Tru64 ACLs.
12673         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
12674         ACL on OSF/1.
12675
12676 2008-06-07  Bruno Haible  <bruno@clisp.org>
12677
12678         Add support for MacOS X ACLs.
12679         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
12680         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
12681         * lib/set-mode-acl.c (qset_acl): Likewise.
12682         * lib/copy-acl.c (qcopy_acl): Likewise.
12683
12684 2008-06-07  Bruno Haible  <bruno@clisp.org>
12685
12686         Fix memory leak introduced on 2008-05-22.
12687         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
12688         use.
12689
12690 2008-06-07  Bruno Haible  <bruno@clisp.org>
12691
12692         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
12693         to construct an empty ACL.
12694
12695 2008-06-07  Bruno Haible  <bruno@clisp.org>
12696
12697         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
12698         precisely.
12699         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
12700
12701 2008-06-07  Bruno Haible  <bruno@clisp.org>
12702
12703         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
12704         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
12705
12706 2008-06-07  Bruno Haible  <bruno@clisp.org>
12707
12708         * doc/posix-functions/_setjmp.texi: Explain the use of this function
12709         regardless of POSIX.
12710         * doc/posix-functions/_longjmp.texi: Likewise.
12711         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
12712         SystemV platform in this case.
12713
12714 2008-06-06  Eric Blake  <ebb9@byu.net>
12715
12716         Document abort() bugs.
12717         * doc/posix-functions/abort.texi (abort): Mention anomalies.
12718
12719         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
12720         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
12721         sigsetjmp.
12722         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
12723         siglongjmp, but only as a macro.
12724         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
12725         is obsolete.
12726         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
12727
12728         Tweak documentation to cover cygwin argz bugs.
12729         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
12730         argz bug fix; no code change needed since no cygwin releases
12731         occurred between the last fix and the bug being tested.
12732         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
12733         module and recently fixed cygwin bugs.
12734         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
12735         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
12736         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
12737         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
12738         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
12739         Likewise.
12740         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
12741         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
12742         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
12743         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
12744         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
12745         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
12746         Likewise.
12747
12748         Avoid gcc warning on cygwin.
12749         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
12750         !ACL_NO_TRIVIAL]: Avoid unused variable.
12751
12752 2008-06-05  Eric Blake  <ebb9@byu.net>
12753
12754         Be tolerant of UNKNOWN version in gnulib-tool test dir.
12755         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
12756         git-version-gen fails to come up with a version.
12757         Reported by Simon Josefsson.
12758
12759 2008-06-05  Jim Meyering  <meyering@redhat.com>
12760             Paul Eggert  <eggert@cs.ucla.edu>
12761
12762         utimens.c: work around a probable Linux kernel bug
12763         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
12764         appears to be a kernel bug that causes utimensat to return 280
12765         instead of 0, indicating success.
12766
12767 2008-06-04  Bruno Haible  <bruno@clisp.org>
12768
12769         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
12770         2008-06-01 commit.
12771
12772 2008-06-04  Bruno Haible  <bruno@clisp.org>
12773
12774         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
12775         * lib/file-has-acl.c (acl_access_nontrivial): New function.
12776         (file_has_acl): Use it. Save errno afterwards.
12777         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
12778
12779 2008-06-03  Bruno Haible  <bruno@clisp.org>
12780
12781         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
12782         draft code. Simplify #ifs.
12783         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
12784         Put Solaris code after POSIX-draft code. Fix comments regarding
12785         Solaris 10, HP-UX. Mention Cygwin.
12786         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
12787
12788 2008-06-03  Eric Blake  <ebb9@byu.net>
12789
12790         Provide fallback for older kernels.
12791         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
12792         Provide runtime fallback if kernel lacks support.
12793         Reported by Mike Frysinger.
12794
12795 2008-06-02  Bruno Haible  <bruno@clisp.org>
12796
12797         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
12798         it exists.
12799
12800 2008-06-02  Bruno Haible  <bruno@clisp.org>
12801
12802         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
12803         * lib/copy-acl.c (qcopy_acl): Update comment.
12804
12805 2008-06-02  Bruno Haible  <bruno@clisp.org>
12806
12807         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
12808         like ACL APIs.
12809
12810 2008-06-02  Bruno Haible  <bruno@clisp.org>
12811
12812         * tests/test-file-has-acl.sh: Use different code for Cygwin.
12813         * tests/test-set-mode-acl.sh: Likewise.
12814         * tests/test-copy-acl.sh: Likewise.
12815         * tests/test-copy-file.sh: Likewise.
12816
12817 2008-06-02  Bruno Haible  <bruno@clisp.org>
12818
12819         * tests/test-file-has-acl.sh: Remove unused code.
12820
12821 2008-06-01  Bruno Haible  <bruno@clisp.org>
12822
12823         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
12824         (copy_acl): Just a wrapper around qcopy_acl that emits the error
12825         messages.
12826         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
12827
12828 2008-06-01  Bruno Haible  <bruno@clisp.org>
12829
12830         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
12831         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
12832         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
12833         APIs.
12834         * modules/acl-tests (configure.ac): Remove tests now contained in
12835         m4/acl.m4.
12836
12837 2008-06-02  Jim Meyering  <meyering@redhat.com>
12838
12839         announce-gen: use a better key-server host name
12840         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
12841         it may be more consistently reliable.  Suggested by Werner Koch
12842         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
12843
12844 2008-06-01  Bruno Haible  <bruno@clisp.org>
12845
12846         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
12847         Reported by Voroskoi Andras <voroskoi@gmail.com>.
12848
12849 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
12850
12851         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
12852
12853 2008-06-01  Bruno Haible  <bruno@clisp.org>
12854
12855         New ACL tests.
12856         * tests/test-file-has-acl.sh: New file.
12857         * tests/test-file-has-acl.c: New file.
12858         * tests/test-set-mode-acl.sh: New file.
12859         * tests/test-set-mode-acl.c: New file.
12860         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
12861         * tests/test-copy-acl.c: New file.
12862         * modules/acl-tests: New file, based on modules/copy-file-tests.
12863         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
12864         (Depends-on): Add acl-tests.
12865         (configure.ac): Remove checks.
12866         (Makefile.am): Don't create test-sameacls program here any more.
12867
12868 2008-06-01  Bruno Haible  <bruno@clisp.org>
12869
12870         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
12871         * tests/test-sameacls.c: Include progname.h.
12872         (main): Invoke set_program_name. Portability fixes for MacOS X,
12873         Solaris, HP-UX.
12874
12875 2008-06-01  Bruno Haible  <bruno@clisp.org>
12876
12877         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
12878         function.
12879         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
12880
12881 2008-06-01  Bruno Haible  <bruno@clisp.org>
12882
12883         * modules/rpmatch (Depends-on): Add strdup.
12884
12885 2008-06-01  Bruno Haible  <bruno@clisp.org>
12886
12887         * lib/pipe.c: Include unistd-safer.h.
12888         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
12889         * modules/pipe (Depends-on): Add unistd-safer.
12890
12891 2008-05-30  Simon Josefsson  <simon@josefsson.org>
12892
12893         * modules/autobuild (configure.ac): Call AB_INIT.
12894
12895 2008-05-30  Simon Josefsson  <simon@josefsson.org>
12896
12897         * tests/test-getaddrinfo.c: Don't print debug messages by default.
12898         Suggested by Bruno Haible <bruno@clisp.org>.
12899
12900 2008-05-30  Simon Josefsson  <simon@josefsson.org>
12901
12902         * tests/test-base64.c: Cast size_t to unsigned long when invoking
12903         printf.  Use %lu instead of %d.  Reported by Bruno Haible
12904         <bruno@clisp.org>.
12905
12906 2008-05-29  Eric Blake  <ebb9@byu.net>
12907
12908         Prefer new POSIX 200x interfaces over futimesat.
12909         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
12910         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
12911         when available.
12912         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
12913
12914 2008-05-28  Bruno Haible  <bruno@clisp.org>
12915
12916         * modules/stpcpy (License): Change to LGPLv2+.
12917         Requested by David Lutterkort <dlutter@redhat.com>.
12918
12919 2008-05-27  Bruno Haible  <bruno@clisp.org>
12920
12921         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
12922         current mingw.
12923         Reported by Jose E. Marchesi <jemarch@gnu.org>.
12924
12925 2008-05-27  Bruno Haible  <bruno@clisp.org>
12926
12927         * modules/iconv_open (Link): New section, from module 'iconv'.
12928         * modules/striconv (Link): Likewise.
12929         * modules/striconveh (Link): Likewise.
12930         * modules/xstriconv (Link): Likewise.
12931         * modules/unicodeio (Link): Likewise.
12932         * modules/propername (Link): Likewise.
12933         Reported by Jim Meyering.
12934
12935 2008-05-26  Jim Meyering  <meyering@redhat.com>
12936
12937         sha256: do not artificially restrict buffer length to be < 2^32
12938         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
12939         uint32_t to size_t.
12940         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
12941         to match.
12942
12943         avoid unaligned access errors, e.g., on sparc
12944         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
12945         direct access through a possibly-unaligned uint64* pointer.
12946         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
12947         direct access through a possibly-unaligned uint32* pointer.
12948         Prompted by this patch from Tom "spot" Callaway:
12949         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
12950
12951         sha512.c: fix typo in comment
12952         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
12953
12954 2008-05-25  Bruno Haible  <bruno@clisp.org>
12955
12956         * lib/set-mode-acl.c: Renamed from lib/acl.c.
12957         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
12958         (Makefile.am): Update lib_SOURCES.
12959
12960 2008-05-25  Bruno Haible  <bruno@clisp.org>
12961
12962         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
12963
12964 2008-05-25  Jim Meyering  <meyering@redhat.com>
12965
12966         useless-if-before-free: freed expr may have white-space differences
12967         * build-aux/useless-if-before-free: Recognize cases in which the
12968         freed expression differs from the tested one in embedded white
12969         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
12970         $1 was used, so we can't make any regexp shy.  Improved tests now
12971         detect this.
12972
12973         useless-if-before-free: accept white space in the expression.
12974         * build-aux/useless-if-before-free: For now, any white space
12975         in the expression must be identical in the free argument.
12976
12977         useless-if-before-free: efficiency tweak
12978         * build-aux/useless-if-before-free: Make the expression-matching
12979         regexp "shy".
12980         Make the *outer* regexp shy, not the expr-matching one.
12981
12982         update code-in-comment to accept cast of free arg
12983         * build-aux/useless-if-before-free: Update regexp.
12984
12985 2008-05-25  Bruno Haible  <bruno@clisp.org>
12986
12987         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
12988         * modules/copy-file-tests (Files, Makefile.am): Update.
12989         * tests/test-copy-file.c (func_test_copy): Update.
12990
12991 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
12992
12993         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
12994
12995 2008-05-23  Bruno Haible  <bruno@clisp.org>
12996
12997         Improve support for ACLs on OSF/1.
12998         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
12999         Remove fallback for unknown flavors of ACLs.
13000
13001 2008-05-22  Bruno Haible  <bruno@clisp.org>
13002
13003         Add support for ACLs on OSF/1.
13004         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
13005         replacements.
13006         (acl_free_text): New macro fallback.
13007         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
13008         acl_free.
13009         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
13010         acl_free_text function. Require AC_C_INLINE.
13011
13012 2008-05-22  Bruno Haible  <bruno@clisp.org>
13013
13014         Make copy_acl work on MacOS X 10.5.
13015         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
13016         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
13017         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
13018         If MODE_INSIDE_ACL, don't assume that every system has the same text
13019         representation for ACLs as FreeBSD.
13020         * lib/copy-acl.c (copy_acl): Add support for platforms with
13021         !MODE_INSIDE_ACL.
13022         * lib/file-has-acl.c (file_has_acl): Likewise.
13023         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
13024         FreeBSD, MacOS X, or IRIX, respectively.
13025
13026 2008-05-22  Bruno Haible  <bruno@clisp.org>
13027
13028         * lib/acl.h: Don't include <sys/acl.h>.
13029         (GETACLCNT): Move fallback to lib/acl-internal.h.
13030         * lib/acl-internal.h: Include <sys/acl.h> here.
13031         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
13032
13033 2008-05-22  Bruno Haible  <bruno@clisp.org>
13034
13035         Split off copy_acl function to separate file.
13036         * lib/copy-acl.c: New file, extracted from lib/acl.c.
13037         * lib/acl.c (copy_acl): Moved function to separate file.
13038         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
13039         * modules/acl (Files): Add lib/copy-acl.c.
13040         (Makefiles.am): Augment lib_SOURCES.
13041
13042 2008-05-22  Bruno Haible  <bruno@clisp.org>
13043
13044         * modules/copy-file-tests: New file.
13045         * tests/test-copy-file.sh: New file.
13046         * tests/test-copy-file.c: New file.
13047         * tests/test-copy-file-sameacls.c: New file.
13048
13049 2008-05-22  Eric Blake  <ebb9@byu.net>
13050
13051         Avoid gcc warning.
13052         * tests/test-memcmp.c (main): Pass NULL indirectly.
13053
13054 2008-05-21  Bruno Haible  <bruno@clisp.org>
13055
13056         Add reference doc about ACLs.
13057         * doc/acl-resources.txt: New file.
13058         * doc/acl-cygwin.txt: New file.
13059
13060 2008-05-21  Bruno Haible  <bruno@clisp.org>
13061
13062         Avoid one more warning from gcc.
13063         * lib/vasnprintf.c (IF_LINT): Update comments.
13064         (VASNPRINTF): Use it also for the 'prefix' array initializer.
13065
13066 2008-05-21  Jim Meyering  <meyering@redhat.com>
13067
13068         avoid a warning from gcc
13069         * lib/vasnprintf.c (IF_LINT): Define.
13070         (scale10_round_decimal_long_double):
13071         Use it to avoid a "may be used uninitialized" warning.
13072         (scale10_round_decimal_double): Likewise.
13073
13074 2008-05-21  Simon Josefsson  <simon@josefsson.org>
13075
13076         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
13077         declared.
13078
13079 2008-05-20  Bruno Haible  <bruno@clisp.org>
13080
13081         * tests/test-memcmp.c (main): Test also the sign of the result. Test
13082         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
13083
13084 2008-05-20  Simon Josefsson  <simon@josefsson.org>
13085
13086         * modules/memcmp-tests: New file.
13087         * tests/test-memcmp.c: New file.
13088
13089 2008-05-19  Bruno Haible  <bruno@clisp.org>
13090
13091         * modules/propername (Notice, configure.ac): Put quoted "..." into
13092         --keyword option.
13093         * lib/propername.h: Update comments accordingly.
13094         Reported by Eric Blake.
13095
13096 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
13097
13098         * modules/getpass-gnu (Depends-on): Add fseeko.
13099
13100 2008-05-19  Simon Josefsson  <simon@josefsson.org>
13101
13102         * modules/base64-tests: New file.
13103
13104 2008-05-19  Bo Borgerson <gigabo@gmail.com>
13105
13106         * lib/base64.c (base64_decode_ctx): If a decode context structure
13107         was passed in use it to ignore newlines.  If a context structure
13108         was _not_ passed in, continue to treat newlines as garbage (this
13109         is the historical behavior).  Formerly base64_decode.
13110         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
13111         takes a decode context structure.
13112         * lib/base64.h (base64_decode): Macro for four-argument calls.
13113         (base64_decode_alloc): Likewise.
13114         * lib/base64.c (base64_decode_ctx): If a decode context structure
13115         was passed in use it to ignore newlines.  If a context structure
13116         was _not_ passed in, continue to treat newlines as garbage (this
13117         is the historical behavior).  Formerly base64_decode.
13118         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
13119         takes a decode context structure.
13120         * lib/base64.h (base64_decode): Macro for four-argument calls.
13121         (base64_decode_alloc): Likewise.
13122
13123 2008-05-19  Jim Meyering  <meyering@redhat.com>
13124
13125         avoid a warning from gcc
13126         * lib/trim.c (IF_LINT): Define.
13127         (trim2): Use it to avoid a "may be used uninitialized" warning.
13128
13129         Fix doc typo.
13130         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
13131
13132 2008-05-19  Bruno Haible  <bruno@clisp.org>
13133
13134         * doc/glibc-functions/getpass.texi: Document limits of other
13135         implementations.
13136
13137 2008-05-19  Simon Josefsson  <simon@josefsson.org>
13138             Bruno Haible <bruno@clisp.org>
13139
13140         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
13141
13142 2008-05-18  Bruno Haible  <bruno@clisp.org>
13143
13144         * modules/propername: New file, from GNU gettext.
13145         * lib/propername.h: New file, from GNU gettext.
13146         * lib/propername.c: New file, from GNU gettext.
13147         * MODULES.html.sh (Internationalization functions): Add propername.
13148
13149 2008-05-16  Jim Meyering  <meyering@redhat.com>
13150             Bruno Haible  <bruno@clisp.org>
13151
13152         Avoid some warnings from "gcc -Wshadow".
13153         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
13154
13155 2008-05-15  Eric Blake  <ebb9@byu.net>
13156
13157         Extend previous patch to cygwin 1.7.0.
13158         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
13159         fast implementation in cygwin >= 1.7.0.
13160         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
13161         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13162
13163 2008-05-15  Bruno Haible  <bruno@clisp.org>
13164
13165         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
13166         implementation in glibc >= 2.9.
13167         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
13168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13169
13170 2008-05-15  Bruno Haible  <bruno@clisp.org>
13171
13172         * MODULES.html.sh (Internationalization functions): Remove linebreak.
13173         (Unicode string functions): Add unilbrk/*.
13174         Reported by Karl Berry.
13175
13176 2008-05-15  Eric Blake  <ebb9@byu.net>
13177
13178         Fix violation of <stdbool.h> replacement in regex.
13179         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
13180         * lib/regexec.c (re_search_internal): Likewise.
13181         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
13182
13183 2008-05-15  Jim Meyering  <meyering@redhat.com>
13184
13185         avoid distracting test output when git or cvs is not found
13186         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
13187         * tests/test-vc-list-files-git.sh: Likewise.
13188
13189 2008-05-15  Eric Blake  <ebb9@byu.net>
13190
13191         Glibc finally accepted the memmem speedup code, bugzilla #5514.
13192         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
13193         glibc version.
13194         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
13195         * doc/posix-functions/strstr.texi (strstr): Likewise.
13196         * lib/str-two-way.h (MAX): Sychronize with glibc.
13197
13198 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
13199
13200         * lib/regcomp.c (optimize_utf8): Add a note on why we test
13201         opr.ctx_type.
13202         (calc_first): Initialize constraint field.
13203         (duplicate_node_closure): Use it instead of special casing ANCHORS.
13204         Fix grammar.
13205         (duplicate_node): Merge constraint field for all node types.
13206         (calc_eclosure_iter): Look at constraint field for all node types.
13207         * lib/regex_internal.c (create_cd_newstate): Don't look at
13208         opr.ctx_type.
13209
13210 2008-05-14  Bruno Haible  <bruno@clisp.org>
13211
13212         Help GCC to do better code generation.
13213         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
13214         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
13215         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
13216         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
13217         Declare with attribute 'malloc' if supported.
13218
13219 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
13220
13221         use "echo STR|wc -c" rather than unportable "expr length STR"
13222         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
13223         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
13224
13225 2008-05-14  Jim Meyering  <meyering@redhat.com>
13226
13227         use dd ibs=$n count=1 ... rather than less-portable head -c$n
13228         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
13229         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
13230         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
13231         via Collin Lasse.
13232
13233 2008-05-14  Eric Blake  <ebb9@byu.net>
13234
13235         Avoid quadratic growth in gl_LIBSOURCES.
13236         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
13237         Suggested by Bruno Haible.
13238
13239         Test xmemdup0.
13240         * modules/xmemdup0-tests: New file.
13241         * tests/test-xmemdup0.c: Likewise.
13242
13243 2008-05-13  Eric Blake  <ebb9@byu.net>
13244
13245         Split xmemdup0 into its own module.
13246         * modules/xmemdup0: New file.
13247         * lib/xmemdup0.h: Likewise.
13248         * lib/xmemdup0.c: Likewise.
13249         * MODULES.html.sh (Memory management functions): Add xmemdup0.
13250         * lib/xalloc.h (xmemdup0): Remove.
13251         * lib/xmalloc.c (xmemdup0): Likewise.
13252
13253 2008-05-13  Eric Blake  <ebb9@byu.net>
13254             Bruno Haible  <bruno@clisp.org>
13255
13256         Reduce number of forks required during autoconf.
13257         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
13258         and gl_LIBSOURCES_DIR.
13259         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
13260         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
13261         m4_syscmd per file.
13262         <m4_foreach_w>: Move...
13263         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
13264
13265 2008-05-13  Eric Blake  <ebb9@byu.net>
13266
13267         * gnulib-tool: Fix various comment typos.
13268
13269 2008-05-12  Bruno Haible  <bruno@clisp.org>
13270
13271         Tailor the linebreaking algorithm.
13272         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
13273
13274 2008-05-12  Bruno Haible  <bruno@clisp.org>
13275
13276         Update to Unicode 5.0.0.
13277         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
13278         LBP_JV, LBP_JT. Redistribute values.
13279         (unilbrk_table): Change size.
13280         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
13281         Unicode TR#14 rev. 22.
13282         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
13283         LBP_JV, LBP_JT. Redistribute values.
13284         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
13285         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
13286         Update.
13287         * lib/unilbrk/lbrkprop1.h: Regenerated.
13288         * lib/unilbrk/lbrkprop2.h: Regenerated.
13289         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
13290         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
13291         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
13292         Likewise.
13293         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
13294         Likewise.
13295         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
13296         result.
13297         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
13298         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
13299         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
13300         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
13301         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
13302         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
13303
13304 2008-05-11  Bruno Haible  <bruno@clisp.org>
13305
13306         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
13307
13308 2008-05-11  Bruno Haible  <bruno@clisp.org>
13309
13310         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
13311         * modules/unilbrk/gen-lbrk: New file.
13312
13313 2008-05-11  Bruno Haible  <bruno@clisp.org>
13314
13315         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
13316         * m4/sha512.m4 (gl_SHA512): Likewise.
13317
13318 2008-05-11  Jim Meyering  <meyering@redhat.com>
13319
13320         New modules: crypto/sha256, crypto/sha512 (from coreutils)
13321         * modules/crypto/sha256: New file.
13322         * modules/crypto/sha512: Likewise.
13323         * lib/sha256.c: Likewise.
13324         * lib/sha256.h: Likewise.
13325         * lib/sha512.c: Likewise.
13326         * lib/sha512.h: Likewise.
13327         * lib/u64.h: Likewise.
13328         * m4/sha256.m4: Likewise.
13329         * m4/sha512.m4: Likewise.
13330         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
13331
13332 2008-05-10  Bruno Haible  <bruno@clisp.org>
13333
13334         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
13335         (Input/Output <stdio.h>): Add xprintf.
13336         (Signal handling <signal.h>): Add strsignal.
13337         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
13338         (Core language properties): Add func.
13339         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
13340         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
13341         strings.
13342         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
13343         (Input/output): New section.
13344         (File system functions): Add openat-die, stat-macros.
13345         (Networking functions): Add sockets.
13346         (Unicode string functions): Add unictype/*.
13347         (Support for building libraries and executables): Add gperf.
13348         (Support for building documentation): Add agpl-3.0.
13349         (Misc): Add nocrash.
13350
13351 2008-05-10  Bruno Haible  <bruno@clisp.org>
13352
13353         * modules/unictype/gen-ctype: New file.
13354
13355 2008-05-10  Jim Meyering  <meyering@redhat.com>
13356
13357         Make chdir-safer.c more efficient on a system with no symlinks.
13358         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
13359         also if ELOOP is zero.  Suggested by Bruno Haible.
13360
13361         Make chdir-safer.c slightly safer.
13362         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
13363         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
13364
13365         Avoid compile failure on systems without ELOOP (like mingw).
13366         * lib/chdir-safer.c (ELOOP): Define if not already defined.
13367         Reported by Bruno Haible.
13368
13369 2008-05-10  Bruno Haible  <bruno@clisp.org>
13370
13371         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
13372         (is_utf8_encoding): Use a case-insensitive comparison.
13373         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
13374         streq.
13375
13376 2008-05-10  Bruno Haible  <bruno@clisp.org>
13377
13378         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
13379         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
13380         * lib/unilbrk/ulc-common.h (iconv_string_length,
13381         iconv_string_keeping_offsets): Remove declarations.
13382         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
13383         Don't include <iconv.h>, streq.h, xsize.h.
13384         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
13385         conversion.
13386         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
13387         <iconv.h>, streq.h, xsize.h.
13388         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
13389         conversion.
13390         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
13391         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
13392         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
13393         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
13394
13395 2008-05-10  Bruno Haible  <bruno@clisp.org>
13396
13397         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
13398         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
13399
13400         * modules/unilbrk/u32-width-linebreaks-tests: New file.
13401         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
13402
13403         * modules/unilbrk/u16-width-linebreaks-tests: New file.
13404         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
13405
13406         * modules/unilbrk/u8-width-linebreaks-tests: New file.
13407         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
13408
13409         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
13410         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
13411
13412         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
13413         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
13414
13415         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
13416         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
13417
13418         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
13419         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
13420
13421 2008-05-10  Bruno Haible  <bruno@clisp.org>
13422
13423         Split up 'linebreak' module.
13424         * lib/unilbrk.h: New file, based on lib/linebreak.h.
13425         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
13426         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
13427         modifications.
13428         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
13429         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
13430         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
13431         lib/linebreak.c.
13432         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
13433         lib/linebreak.c.
13434         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
13435         lib/linebreak.c.
13436         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
13437         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
13438         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
13439         lib/linebreak.c.
13440         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
13441         lib/linebreak.c.
13442         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
13443         lib/linebreak.c.
13444         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
13445         lib/linebreak.c.
13446         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
13447         lib/linebreak.c.
13448         * modules/unilbrk/base: New file.
13449         * modules/unilbrk/tables: New file.
13450         * modules/unilbrk/u8-possible-linebreaks: New file.
13451         * modules/unilbrk/u16-possible-linebreaks: New file.
13452         * modules/unilbrk/u32-possible-linebreaks: New file.
13453         * modules/unilbrk/ulc-common: New file.
13454         * modules/unilbrk/ulc-possible-linebreaks: New file.
13455         * modules/unilbrk/u8-width-linebreaks: New file.
13456         * modules/unilbrk/u16-width-linebreaks: New file.
13457         * modules/unilbrk/u32-width-linebreaks: New file.
13458         * modules/unilbrk/ulc-width-linebreaks: New file.
13459         * lib/linebreak.h: Remove file.
13460         * lib/linebreak.c: Remove file.
13461         * m4/linebreak.m4: Remove file.
13462         * modules/linebreak: Remove file.
13463         * NEWS: Mention the changes.
13464
13465 2008-05-09  Eric Blake  <ebb9@byu.net>
13466
13467         Add xmemdup0.
13468         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
13469         implementation.
13470         * lib/xmalloc.c (xmemdup0): New C implementation.
13471
13472 2008-05-08  Bruno Haible  <bruno@clisp.org>
13473
13474         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
13475
13476 2008-05-07  Eric Blake  <ebb9@byu.net>
13477
13478         Support cross-compilation of <wctype.h>.
13479         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
13480         AC_CACHE_CHECK.
13481
13482 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
13483
13484         * build-aux/vc-list-files: Add support for bzr.
13485
13486 2008-05-03  Jim Meyering  <meyering@redhat.com>
13487
13488         avoid failed assertion with tight malloc
13489         * tests/test-getndelim2.c: Correct an off-by-one assertion.
13490
13491 2008-05-03  Simon Josefsson  <simon@josefsson.org>
13492
13493         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
13494         are needed from arpa/inet.h.
13495         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
13496         Reported by Bruno Haible.
13497
13498 2008-05-02  Jim Meyering  <meyering@redhat.com>
13499
13500         avoid compilation error on FreeBSD 6
13501         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
13502
13503 2008-05-01  Jim Meyering  <meyering@redhat.com>
13504
13505         useless-if-before-free: correct --help's exit status description
13506         * build-aux/useless-if-before-free (usage): Like grep, exit 0
13507         for one or more matches, etc.  Reported by Bruno Haible.
13508
13509         vc-list-files: make the stand-alone gnulib test work
13510         * modules/vc-list-files-tests (configure.ac):
13511         Define and AC_SUBST abs_aux_dir.
13512         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
13513         $(abs_top_srcdir) to each script and having each of them
13514         duplicate the work of setting PATH, set PATH here, using
13515         the new variable, abs_aux_dir instead.
13516         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
13517         * tests/test-vc-list-files-git.sh: Likewise.
13518         Reported by Bruno Haible.
13519
13520 2008-05-01  Bruno Haible  <bruno@clisp.org>
13521
13522         * lib/getndelim2.c (getndelim2): Fix newsize computation during
13523         reallocation. Rename 'done' to 'found_delimiter'.
13524
13525 2008-05-01  Jim Meyering  <meyering@redhat.com>
13526
13527         vc-list-files: accommodate /bin/sh like the one from Solaris 10
13528         * build-aux/vc-list-files: Use `...`, not $(...).
13529
13530 2008-04-30  Jim Meyering  <meyering@redhat.com>
13531
13532         add tests for vc-list-files
13533         * modules/vc-list-files-tests: New module.
13534         * tests/test-vc-list-files-cvs.sh: New file.
13535         * tests/test-vc-list-files-git.sh: New file.
13536
13537         avoid a warning from gcc
13538         * lib/getndelim2.c (IF_LINT): Define.
13539         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
13540
13541         vc-list-files: work properly with build-aux/cvsu, too
13542         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
13543         to all cvs-based clauses.
13544
13545         vc-list-files: work properly in the CVS+awk case, too
13546         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
13547
13548         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
13549         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
13550         take more than one file argument, so .  Add quotes, just in case $dir
13551         ever contains a shell meta-character.  Prompted by Soren Hansen in
13552         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
13553
13554 2008-04-29  Eric Blake  <ebb9@byu.net>
13555
13556         Optimize getndelim2 to use block operations when possible.
13557         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
13558         freadseek, and memchr2.
13559         * lib/getndelim2.c (getndelim2): Use them for block reads.
13560
13561 2008-04-29  Bruno Haible  <bruno@clisp.org>
13562
13563         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
13564         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
13565         * modules/inet_ntop (Depends-on): Add extensions.
13566         * modules/inet_pton (Depends-on): Likewise.
13567         Reported by Simon Josefsson.
13568
13569 2008-04-29  Jim Meyering  <meyering@redhat.com>
13570
13571         When the is more than one match in a block, match all of them.
13572         * build-aux/useless-if-before-free: Iterate through each block
13573         until there are no more matches.
13574
13575         Fix broken useless-if-before-free script.
13576         * build-aux/useless-if-before-free: Fix typo: missing "?" after
13577         the expression to match cast of argument to free-like function.
13578
13579 2008-04-29  Eric Blake  <ebb9@byu.net>
13580
13581         Use new header.
13582         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
13583
13584 2008-04-29  Jim Meyering  <meyering@redhat.com>
13585
13586         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
13587         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
13588         by gnulib to exist and to declare e.g., inet_ntop.
13589         Don't include "inet_ntop.h", now removed.
13590
13591         * m4/arpa_inet_h.m4: Remove trailing blanks.
13592
13593 2008-04-29  Eric Blake  <ebb9@byu.net>
13594
13595         Silence valgrind on safe reads beyond potential array bounds.
13596         * lib/rawmemchr.valgrind: New file.
13597         * lib/strchrnul.valgrind: Likewise.
13598         * modules/rawmemchr (Files): Distribute new file.
13599         * modules/strchrnul (Files): Likewise.
13600         Suggested by Bruno Haible.
13601
13602 2008-04-29  Bruno Haible  <bruno@clisp.org>
13603
13604         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
13605         (inet_ntop, inet_pton): Change portability warning's wording.
13606         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
13607         Invoke gl_CHECK_NEXT_HEADERS.
13608         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
13609         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
13610         set ARPA_INET_H.
13611         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
13612         * modules/arpa_inet (Description): No longer only for systems that
13613         lack it.
13614         (Depends-on): Add include_next.
13615         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
13616         HAVE_ARPA_INET_H.
13617
13618 2008-04-29  Jim Meyering  <meyering@redhat.com>
13619
13620         * modules/mkdir (License): Re-license as LGPLv2+.
13621
13622 2008-04-29  Bruno Haible  <bruno@clisp.org>
13623
13624         * modules/rawmemchr (Maintainer): Set to Eric.
13625         * modules/strchrnul (Maintainer): Likewise.
13626
13627 2008-04-29  Simon Josefsson  <simon@josefsson.org>
13628
13629         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
13630         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
13631
13632         * modules/arpa_inet (arpa/inet.h): Use them.
13633
13634 2008-04-28  Eric Blake  <ebb9@byu.net>
13635
13636         Test getndelim2.
13637         * modules/getndelim2-tests: New file.
13638         * tests/test-getndelim2.c: Likewise.
13639         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
13640         stream.
13641         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
13642
13643         * MODULES.html.sh: Document new module.
13644
13645 2008-04-20  Bruno Haible  <bruno@clisp.org>
13646
13647         * lib/c-stack.c (die): Use raise.
13648         * modules/c-stack (Depends-on): Add raise.
13649
13650 2008-04-28  Bruno Haible  <bruno@clisp.org>
13651
13652         Expect rpmatch to be declared.
13653         * lib/yesno.c (rpmatch): Remove declaration.
13654
13655         Declare rpmatch.
13656         * lib/stdlib.in.h (rpmatch): New declaration.
13657         * lib/rpmatch.c: Include <stdlib.h> first.
13658         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
13659         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
13660         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
13661         HAVE_RPMATCH.
13662         * modules/rpmatch (Depends-on): Add stdlib, extensions.
13663         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
13664         (Include): Set to <stdlib.h>.
13665         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
13666         HAVE_RPMATCH.
13667         * NEWS: Document the change.
13668
13669 2008-04-28  Bruno Haible  <bruno@clisp.org>
13670
13671         Change rpmatch to use nl_langinfo when appropriate.
13672         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
13673         (N_): New macro.
13674         (localized_pattern): New function/macro.
13675         (try): Remove match, nomatch arguments. Copy the pattern into safe
13676         memory before caching it.
13677         (rpmatch): Use localized_pattern. Add translator comments.
13678         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
13679         Suggested by Eric Blake.
13680         * modules/rpmatch (Depends-on): Add stdbool.
13681
13682 2008-04-28  Eric Blake  <ebb9@byu.net>
13683
13684         Add rawmemchr module, matching glibc.
13685         * modules/string (Makefile.am): New indicator.
13686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
13687         * lib/string.in.h (rawmemchr): Declare when appropriate.
13688         * modules/rawmemchr: New file.
13689         * m4/rawmemchr.m4: Likewise.
13690         * lib/rawmemchr.c: Likewise.
13691         * modules/rawmemchr-tests: Likewise.
13692         * tests/test-rawmemchr.c: Likewise.
13693         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
13694         module.
13695         * modules/strchrnul (Depends-on): Add rawmemchr.
13696         * lib/strchrnul.c (strchrnul): Optimize a corner case.
13697
13698         Whitespace cleanup.
13699         * tests/test-strchrnul.c: Reindent.
13700         * lib/strchrnul.c: Likewise.
13701
13702         Optimize and test strchrnul.
13703         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
13704         * modules/strchrnul-tests: New file.
13705         * tests/test-strchrnul.c: Likewise.
13706
13707         Remove intprops dependency.
13708         * modules/memchr (Depends-on): Remove intprops.
13709         * modules/memrchr (Depends-on): Likewise.
13710         * modules/memchr2 (Depends-on): Likewise.
13711         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
13712         * lib/memrchr.c (__memrchr): Likewise.
13713         * lib/memrchr2.c (memchr2): Likewise.
13714         Reported by Simon Josefsson.
13715
13716 2008-04-28  Simon Josefsson  <simon@josefsson.org>
13717
13718         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
13719         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13720
13721 2008-04-28  Simon Josefsson  <simon@josefsson.org>
13722
13723         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
13724
13725         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
13726
13727         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
13728
13729         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
13730         declarations.
13731         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
13732
13733         * m4/inet_pton.m4: Don't check for header files.
13734
13735         * m4/inet_ntop.m4: Don't check for header files.
13736
13737 2008-04-28  Simon Josefsson  <simon@josefsson.org>
13738
13739         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
13740         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
13741         trigger for cygwin).
13742         Reported by Bruno Haible  <bruno@clisp.org>.
13743
13744 2008-04-28  Bruno Haible  <bruno@clisp.org>
13745
13746         * doc/posix-functions/strdup.texi: Mention mingw problem.
13747
13748 2008-04-27  Bruno Haible  <bruno@clisp.org>
13749
13750         * modules/stat-time-tests (Depends-on): Add sleep.
13751         * tests/test-stat-time.c (force_unlink): New function.
13752         (cleanup): Use it.
13753         (test_mtime): Remove the ctime related tests.
13754         (test_ctime): New function, containing the ctime related tests.
13755         (main): Call test_ctime, except on native Windows platforms.
13756
13757 2008-04-27  Bruno Haible  <bruno@clisp.org>
13758
13759         * lib/rpmatch.c (rpmatch): Add some comments.
13760         Reported by James Youngman <jay@gnu.org>.
13761
13762 2008-04-27  Bruno Haible  <bruno@clisp.org>
13763
13764         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
13765         quiet NaNs.
13766
13767 2008-04-27  Bruno Haible  <bruno@clisp.org>
13768
13769         Make test-yesno.sh work on mingw.
13770         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
13771         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
13772         (main): Set stdin to binary mode.
13773         * modules/yesno-tests (Depends-on): Add binary-io.
13774
13775 2008-04-27  Bruno Haible  <bruno@clisp.org>
13776
13777         Fix 'isfinite' on x86, x86_64, ia64 platforms.
13778         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
13779         argument that lie outside the IEEE 854 domain.
13780         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
13781         (gl_ISFINITE): Use it.
13782         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
13783
13784 2008-04-27  Bruno Haible  <bruno@clisp.org>
13785
13786         Allow local renaming in config.h.
13787         * lib/memrchr.c (memrchr): Don't undefine outside libc.
13788
13789 2008-04-27  Bruno Haible  <bruno@clisp.org>
13790
13791         * lib/memchr.c (__memchr): Change type of 'i'.
13792         * lib/memchr2.c (memchr2): Likewise.
13793
13794 2008-04-26  Eric Blake  <ebb9@byu.net>
13795         and Bruno Haible  <bruno@clisp.org>
13796
13797         Optimize and test memrchr.
13798         * modules/memrchr (Depends-on): Add intprops.
13799         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
13800         * modules/memrchr-tests: New file.
13801         * tests/test-memrchr.c: New file.
13802
13803 2008-04-26  Bruno Haible  <bruno@clisp.org>
13804
13805         Add tentative support for DragonFly BSD.
13806         * lib/stdio-impl.h: Add macros for DragonFly BSD.
13807         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
13808         fp.
13809         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
13810         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
13811         * lib/fpurge.c (fpurge): Likewise.
13812         * lib/freadable.c (freaadable): Likewise.
13813         * lib/freadahead.c (freadahead): Likewise.
13814         * lib/freading.c (freading): Likewise.
13815         * lib/freadptr.c (freadptr): Likewise.
13816         * lib/freadseek.c (freadptrinc): Likewise.
13817         * lib/fseeko.c (fseeko): Likewise.
13818         * lib/fseterr.c (fseterr): Likewise.
13819         * lib/fwritable.c (fwritable): Likewise.
13820         * lib/fwriting.c (fwriting): Likewise.
13821
13822 2008-04-26  Bruno Haible  <bruno@clisp.org>
13823
13824         * lib/stdio-impl.h: New file.
13825         * lib/fbufmode.c: Include stdio-impl.h.
13826         (fbufmode): Use fp_, remove redundant #defines.
13827         * lib/fflush.c: Include stdio-impl.h.
13828         (clear_ungetc_buffer): Remove redundant #defines.
13829         * lib/fpurge.c: Include stdio-impl.h.
13830         (fpurge): Remove redundant #defines.
13831         * lib/freadable.c: Include stdio-impl.h.
13832         (freadable): Remove redundant #defines.
13833         * lib/freadahead.c: Include stdio-impl.h.
13834         (freadahead): Remove redundant #defines.
13835         * lib/freading.c: Include stdio-impl.h.
13836         (freading): Remove redundant #defines.
13837         * lib/freadptr.c: Include stdio-impl.h.
13838         (freadptr): Remove redundant #defines.
13839         * lib/freadseek.c: Include stdio-impl.h.
13840         (freadptrinc): Remove redundant #defines.
13841         * lib/fseeko.c: Include stdio-impl.h.
13842         (rpl_fseeko): Remove redundant #defines.
13843         * lib/fseterr.c: Include stdio-impl.h.
13844         (fseterr): Remove redundant #defines.
13845         * lib/fwritable.c: Include stdio-impl.h.
13846         (fwritable: Remove redundant #defines.
13847         * lib/fwriting.c: Include stdio-impl.h.
13848         (fwriting): Remove redundant #defines.
13849         * modules/fbufmode (Files): Add lib/stdio-impl.h.
13850         * modules/fflush (Files): Likewise.
13851         * modules/fpurge (Files): Likewise.
13852         * modules/freadable (Files): Likewise.
13853         * modules/freadahead (Files): Likewise.
13854         * modules/freading (Files): Likewise.
13855         * modules/freadptr (Files): Likewise.
13856         * modules/freadseek (Files): Likewise.
13857         * modules/fseeko (Files): Likewise.
13858         * modules/fseterr (Files): Likewise.
13859         * modules/fwritable (Files): Likewise.
13860         * modules/fwriting (Files): Likewise.
13861
13862 2008-04-26  Bruno Haible  <bruno@clisp.org>
13863
13864         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
13865         restore_seek_optimization, update_fpos_cache): New functions, extracted
13866         from rpl_fflush.
13867         (rpl_fflush): Use them.
13868         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
13869         (gl_REPLACE_FFLUSH): Use it.
13870
13871 2008-04-26  Bruno Haible  <bruno@clisp.org>
13872
13873         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
13874         on Solaris.
13875         * tests/test-xstrtoimax.sh: Likewise.
13876         * tests/test-xstrtoumax.sh: Likewise.
13877         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13878
13879 2008-04-26  Bruno Haible  <bruno@clisp.org>
13880
13881         * modules/memchr-tests: New file.
13882         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
13883
13884 2008-04-26  Eric Blake  <ebb9@byu.net>
13885             Bruno Haible  <bruno@clisp.org>
13886
13887         * lib/memchr.c: Include intprops.h.
13888         (__memchr): Optimize parallel detection of matching bytes. Rename local
13889         variables. Add explanatory comments.
13890
13891 2008-04-26  Bruno Haible  <bruno@clisp.org>
13892
13893         Fix module 'memchr', broken since 2000-10-28.
13894         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
13895
13896 2008-04-26  Bruno Haible  <bruno@clisp.org>
13897
13898         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
13899         comments.
13900
13901 2008-04-25  Eric Blake  <ebb9@byu.net>
13902
13903         Use native fstatat on cygwin 1.7.0.
13904         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
13905         first.
13906
13907 2008-04-23  Eric Blake  <ebb9@byu.net>
13908
13909         Improve memchr2 performance.
13910         * lib/memchr2.c (memchr2): Further optimize parallel detection of
13911         NUL bytes.
13912         * modules/memchr2 (Depends-on): Use intprops.h.
13913
13914 2008-04-23  Simon Josefsson  <simon@josefsson.org>
13915
13916         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
13917         an inline function instead of a CPP macro.  Patch by Ben Pfaff
13918         <blp@cs.stanford.edu>.
13919
13920 2008-04-23  Simon Josefsson  <simon@josefsson.org>
13921
13922         * lib/arpa_inet.in.h: New file.
13923
13924         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
13925         (Makefile.am): Sed in substitute header file.
13926
13927         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
13928         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
13929
13930         * modules/inet_ntop (configure.ac): Use
13931         gl_ARPA_INET_MODULE_INDICATOR.
13932
13933         * modules/inet_pton (configure.ac): Use
13934         gl_ARPA_INET_MODULE_INDICATOR.
13935
13936 2008-04-22  Jim Meyering  <meyering@redhat.com>
13937
13938         * modules/verify (License): Re-license as LGPLv2+.
13939
13940 2008-04-22  Simon Josefsson  <simon@josefsson.org>
13941
13942         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
13943         parameter to void* as per POSIX standard (MinGW uses char*).
13944
13945 2008-04-21  Bruno Haible  <bruno@clisp.org>
13946
13947         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
13948         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
13949         Define to replacements if REPLACE_ISWCNTRL is 1.
13950         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
13951         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
13952         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
13953         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
13954         what it fixes.
13955         * doc/posix-functions/iswalpha.texi: Likewise.
13956         * doc/posix-functions/iswblank.texi: Likewise.
13957         * doc/posix-functions/iswcntrl.texi: Likewise.
13958         * doc/posix-functions/iswdigit.texi: Likewise.
13959         * doc/posix-functions/iswgraph.texi: Likewise.
13960         * doc/posix-functions/iswlower.texi: Likewise.
13961         * doc/posix-functions/iswprint.texi: Likewise.
13962         * doc/posix-functions/iswpunct.texi: Likewise.
13963         * doc/posix-functions/iswspace.texi: Likewise.
13964         * doc/posix-functions/iswupper.texi: Likewise.
13965         * doc/posix-functions/iswxdigit.texi: Likewise.
13966         Reported by Alain Guibert.
13967
13968 2008-04-21  Bruno Haible  <bruno@clisp.org>
13969
13970         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
13971         Patch by Alain Guibert.
13972
13973 2008-04-21  Bruno Haible  <bruno@clisp.org>
13974
13975         Fix test failures on mingw.
13976         * tests/test-xstrtol.c (print_no_progname): New function.
13977         (main): Install it in error_print_progname hook.
13978         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
13979         * tests/test-xstrtoimax.sh: Likewise.
13980         * tests/test-xstrtoumax.sh: Likewise.
13981
13982 2008-04-21  Bruno Haible  <bruno@clisp.org>
13983
13984         Fix test failure on mingw.
13985         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
13986
13987 2008-04-21  Bruno Haible  <bruno@clisp.org>
13988
13989         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
13990         Actually assign a value.
13991
13992 2008-04-20  Bruno Haible  <bruno@clisp.org>
13993
13994         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
13995         take 2.
13996         * lib/canonicalize.c (canonicalize_file_name): Elide if the
13997         'canonicalize-lgpl' module is also used.
13998         * lib/canonicalize-lgpl.c: Undo last change.
13999         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
14000
14001 2008-04-20  Bruno Haible  <bruno@clisp.org>
14002
14003         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
14004         config.h. Provide _mkdir based fallback for mingw.
14005         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
14006         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
14007         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
14008         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
14009         rather than defining mkdir in config.h.
14010         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
14011         (gl_SYS_STAT_H_DEFAULTS): New macro.
14012         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
14013         HAVE_IO_H any more.
14014         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
14015         HAVE_DECL_MKDIR and HAVE_IO_H.
14016
14017 2008-04-20  Bruno Haible  <bruno@clisp.org>
14018
14019         * lib/isapipe.c: Port to native Windows platforms.
14020
14021 2008-04-20  Bruno Haible  <bruno@clisp.org>
14022
14023         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
14024
14025 2008-04-21  Eric Blake  <ebb9@byu.net>
14026
14027         Work around preprocessors that don't handle UINTMAX_MAX.
14028         * lib/memchr2.c (memchr2): Avoid embedded #if.
14029         Reported by Alain Guibert, fix suggested by Bruno Haible.
14030
14031 2008-04-21  Simon Josefsson  <simon@josefsson.org>
14032
14033         * doc/posix-functions/strftime.texi (strftime): Explain better
14034         Windows incompatibility.  Suggested by Micah Cowan
14035         <micah@cowan.name>.
14036
14037 2008-04-20  Bruno Haible  <bruno@clisp.org>
14038
14039         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
14040         unistr/u8-mblen.
14041
14042 2008-04-20  Bruno Haible  <bruno@clisp.org>
14043
14044         Fix test failure on platforms with non-GNU iconv.
14045         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
14046         (U_TO_U8): Use it, rather than u16_to_u8.
14047         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
14048         units at the end of the input string.
14049         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
14050
14051 2008-04-20  Bruno Haible  <bruno@clisp.org>
14052
14053         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
14054         when the resulting length is 0.
14055         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
14056
14057 2008-04-20  Bruno Haible  <bruno@clisp.org>
14058
14059         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
14060         works.
14061         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
14062
14063 2008-04-20  Bruno Haible  <bruno@clisp.org>
14064
14065         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
14066         * modules/tsearch-tests (configure.ac): Test for initstate function.
14067
14068 2008-04-20  Bruno Haible  <bruno@clisp.org>
14069
14070         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
14071         for nlink_t if missing.
14072         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
14073
14074 2008-04-19  Bruno Haible  <bruno@clisp.org>
14075
14076         Work around snprintf bug on Linux libc5.
14077         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
14078         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
14079         gl_SNPRINTF_SIZE1.
14080         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
14081         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
14082         that test failed.
14083         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
14084         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
14085         * modules/snprintf (Files): Add m4/printf.m4.
14086         * modules/vsnprintf (Files): Likewise.
14087         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
14088         * doc/posix-functions/vsnprintf.texi: Likewise.
14089
14090 2008-04-19  Bruno Haible  <bruno@clisp.org>
14091
14092         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
14093         from 0.0058 to less than 10^-7.
14094
14095 2008-04-19  Bruno Haible  <bruno@clisp.org>
14096
14097         Fix rounding when a precision is given.
14098         * lib/vasnprintf.c (is_borderline): New function.
14099         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
14100         9...9x.
14101         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
14102         %e, %g.
14103         * tests/test-vasprintf-posix.c (test_function): Likewise.
14104         * tests/test-snprintf-posix.h (test_function): Likewise.
14105         * tests/test-sprintf-posix.h (test_function): Likewise.
14106         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
14107         * tests/test-printf-posix.h (test_function): Likewise.
14108         * tests/test-printf-posix.output: Update.
14109         Reported by John Darrington <john@darrington.wattle.id.au> via
14110         Ben Pfaff <blp@cs.stanford.edu>.
14111
14112 2008-04-18  Simon Josefsson  <simon@josefsson.org>
14113
14114         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
14115         Suggested by Bruno Haible <bruno@clisp.org>.
14116
14117 2008-04-17  Bruno Haible  <bruno@clisp.org>
14118
14119         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
14120         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
14121         implementation.
14122         Patch by Bruce Merry <bmerry@gmail.com>.
14123
14124 2008-04-17  Simon Josefsson  <simon@josefsson.org>
14125
14126         * doc/posix-functions/strftime.texi (strftime): Mention that %e
14127         doesn't work under Windows.
14128
14129 2008-04-16  Bruno Haible  <bruno@clisp.org>
14130
14131         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
14132         New macros.
14133         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
14134         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
14135         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
14136         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
14137         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
14138         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
14139         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
14140         macros.
14141         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
14142         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
14143         Northern Sotho, Uighur.
14144
14145 2008-04-16  Bruno Haible  <bruno@clisp.org>
14146
14147         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
14148         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
14149         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
14150         Reported by Daniel Bergström <daniel@octocode.com>.
14151
14152 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
14153             Bruno Haible  <bruno@clisp.org>
14154
14155         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
14156         function.
14157         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
14158         New functions, mostly extracted from gl_locale_name_default.
14159         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
14160
14161 2008-04-16  Eric Blake  <ebb9@byu.net>
14162
14163         Adjust strtod detection to catch glibc 2.7 bug.
14164         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
14165         Reported by John Gatewood Ham.
14166
14167 2008-04-16  Bruno Haible  <bruno@clisp.org>
14168
14169         Add tentative support for Linux libc5.
14170         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
14171         * lib/fpurge.c (fpurge): Likewise.
14172         * lib/freadable.c (freadable): Likewise.
14173         * lib/freadahead.c (freadahead): Likewise.
14174         * lib/freading.c (freading): Likewise.
14175         * lib/freadptr.c (freadptr): Likewise.
14176         * lib/freadseek.c (freadptrinc): Likewise.
14177         * lib/fseeko.c (rpl_fseeko): Likewise.
14178         * lib/fseterr.c (fseterr): Likewise.
14179         * lib/fwritable.c (fwritable): Likewise.
14180         * lib/fwriting.c (fwriting): Likewise.
14181         Reported by Alain Guibert <alguibert+bts@free.fr>.
14182
14183 2008-04-15  Bruno Haible  <bruno@clisp.org>
14184
14185         * modules/mathl (configure.ac): Define module indicator.
14186
14187 2008-04-15  Bruno Haible  <bruno@clisp.org>
14188
14189         * lib/logl.c (logl): Remove unused variables.
14190
14191 2008-04-15  Bruno Haible  <bruno@clisp.org>
14192
14193         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
14194         fails.
14195
14196 2008-04-15  Bruno Haible  <bruno@clisp.org>
14197
14198         * lib/trim.c (trim2): Fix argument of isspace() macro.
14199
14200 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
14201
14202         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
14203         to 0.
14204         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
14205
14206 2008-04-14  Bruno Haible  <bruno@clisp.org>
14207
14208         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
14209         AC_LANG_PROGRAM argument.
14210         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
14211         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
14212         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
14213         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
14214         * m4/math_h.m4 (gl_MATH_H): Likewise.
14215         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
14216         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
14217         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
14218         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
14219         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14220         * m4/regex.m4 (gl_REGEX): Likewise.
14221         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
14222         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
14223         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14224         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
14225         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
14226         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
14227         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14228         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
14229
14230 2008-04-14  Jim Meyering  <meyering@redhat.com>
14231
14232         test-strtod: fix typos: s/abs/fabs/
14233         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
14234
14235 2008-04-13  Bruno Haible  <bruno@clisp.org>
14236
14237         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
14238         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
14239         module is also used and while not building the reloc-wrapper.
14240
14241 2008-04-13  Bruno Haible  <bruno@clisp.org>
14242
14243         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
14244
14245 2008-04-13  Bruno Haible  <bruno@clisp.org>
14246
14247         Fix AIX compilation failure introduced on 2008-04-02.
14248         * tests/test-frexp.c (exp): Undefine before redefining.
14249         * tests/test-frexpl.c (exp): Likewise.
14250
14251 2008-04-13  Bruno Haible  <bruno@clisp.org>
14252
14253         Work around a HP-UX stdio bug.
14254         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
14255         * tests/test-ftello.c (main): Likewise.
14256         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
14257         * doc/posix-functions/ftello.texi: Likewise.
14258
14259 2008-04-13  Bruno Haible  <bruno@clisp.org>
14260
14261         Make test-signbit pass on HP-UX/hppa.
14262         * tests/test-signbit.c (minus_zerol): New variable.
14263         (test_signbitl): Use it.
14264
14265 2008-04-13  Bruno Haible  <bruno@clisp.org>
14266
14267         Make truncl work on OSF/1 4.0.
14268         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
14269         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
14270         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
14271         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
14272         HAVE_DECL_TRUNCL.
14273         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
14274         HAVE_DECL_TRUNCL.
14275         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
14276
14277 2008-04-13  Bruno Haible  <bruno@clisp.org>
14278
14279         * lib/unictype.h: Remove trailing comma from enumeration definitions.
14280
14281 2008-04-13  Bruno Haible  <bruno@clisp.org>
14282
14283         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
14284         expression, so as to avoid HP-UX 11 cc compiler bug.
14285
14286 2008-04-13  Bruno Haible  <bruno@clisp.org>
14287
14288         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
14289
14290 2008-04-13  Bruno Haible  <bruno@clisp.org>
14291
14292         * lib/git-merge-changelog.c: Remove empty declaration outside of
14293         functions.
14294
14295 2008-04-13  Bruno Haible  <bruno@clisp.org>
14296
14297         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
14298
14299 2008-04-13  Bruno Haible  <bruno@clisp.org>
14300
14301         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
14302         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
14303         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
14304         also if it exists but lacks definitions of the SHUT_* macros.
14305         * modules/sys_socket (Description): Update.
14306         Reported by Elbert Pol <e.pol@chello.nl>.
14307
14308 2008-04-13  Bruno Haible  <bruno@clisp.org>
14309
14310         * lib/localcharset.c (OS2): Don't redefine if already defined.
14311         Reported by Elbert Pol <e.pol@chello.nl>.
14312
14313 2008-04-13  Bruno Haible  <bruno@clisp.org>
14314
14315         * lib/binary-io.h [__EMX__]: Include <io.h>.
14316         Reported by Elbert Pol <e.pol@chello.nl>.
14317
14318 2008-04-12  Bruno Haible  <bruno@clisp.org>
14319
14320         * lib/fpucw.h: Enable the definitions also for x86_64.
14321         Needed for NetBSD/x86_64.
14322         Reported by Thomas Klausner <tk@giga.or.at>.
14323
14324 2008-04-12  Bruno Haible  <bruno@clisp.org>
14325
14326         * tests/test-strtod.c: Include isnand.h.
14327         (main): Use isnand instead of isnan.
14328         Reported by Jim Meyering.
14329
14330 2008-04-12  Bruno Haible  <bruno@clisp.org>
14331
14332         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
14333         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
14334
14335 2008-04-12  Jim Meyering  <meyering@redhat.com>
14336
14337         * m4/math_h.m4 (gl_MATH_H): Fix typos.
14338
14339 2008-04-12  Bruno Haible  <bruno@clisp.org>
14340
14341         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
14342         Reported by Elbert Pol <e.pol@chello.nl>.
14343
14344 2008-04-12  Eric Blake  <ebb9@byu.net>
14345
14346         Work around Solaris 10 math.h bug.
14347         * m4/math_h.m4 (gl_MATH_H): Check for bug.
14348         (gl_MATH_H_DEFAULTS): Set up default.
14349         * modules/math (Makefile.am): Replace new indicators.
14350         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
14351         * tests/test-math.c (main): Test this.
14352         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
14353         * doc/posix-headers/math.texi (math.h): Mention bug.
14354         Reported by Nelson H. F. Beebe and Jim Meyering.
14355
14356 2008-04-11  Bruno Haible  <bruno@clisp.org>
14357
14358         Adapt to future versions of Apple GCC.
14359         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
14360         Reported by Peter O'Gorman <peter@pogma.com>.
14361
14362 2008-04-11  Bruno Haible  <bruno@clisp.org>
14363
14364         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
14365
14366 2008-04-11  Bruno Haible  <bruno@clisp.org>
14367
14368         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
14369
14370         * modules/getaddrinfo-tests (Makefile.am): Define
14371         test_getaddrinfo_LDADD.
14372
14373 2008-04-11  Bruno Haible  <bruno@clisp.org>
14374
14375         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
14376         (init): Fix syntax error.
14377         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
14378         is declared.
14379
14380 2008-04-11  Bruno Haible  <bruno@clisp.org>
14381
14382         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
14383         * modules/glob (Depends-on): Add stdbool.
14384
14385 2008-04-11  Bruno Haible  <bruno@clisp.org>
14386
14387         * lib/trim.c: Include <string.h>.
14388
14389 2008-04-11  Eric Blake  <ebb9@byu.net>
14390
14391         Avoid compile failure on OS/2.
14392         * lib/regex_internal.h (internal_function): Disable optimization
14393         on OS/2 (__EMX__), where it caused compiler error.
14394         Reported by Elbert Pol.
14395
14396 2008-04-11  Bruno Haible  <bruno@clisp.org>
14397
14398         Flush the standard error stream before aborting. Needed on mingw.
14399         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
14400         * tests/test-array_list.c (ASSERT): Likewise.
14401         * tests/test-array_oset.c (ASSERT): Likewise.
14402         * tests/test-avltree_list.c (ASSERT): Likewise.
14403         * tests/test-avltree_oset.c (ASSERT): Likewise.
14404         * tests/test-avltreehash_list.c (ASSERT): Likewise.
14405         * tests/test-binary-io.c (ASSERT): Likewise.
14406         * tests/test-byteswap.c (ASSERT): Likewise.
14407         * tests/test-c-ctype.c (ASSERT): Likewise.
14408         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
14409         * tests/test-c-strcasestr.c (ASSERT): Likewise.
14410         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
14411         * tests/test-c-strstr.c (ASSERT): Likewise.
14412         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
14413         * tests/test-canonicalize.c (ASSERT): Likewise.
14414         * tests/test-carray_list.c (ASSERT): Likewise.
14415         * tests/test-ceilf1.c (ASSERT): Likewise.
14416         * tests/test-ceilf2.c (ASSERT): Likewise.
14417         * tests/test-ceill.c (ASSERT): Likewise.
14418         * tests/test-count-one-bits.c (ASSERT): Likewise.
14419         * tests/test-fbufmode.c (ASSERT): Likewise.
14420         * tests/test-fflush2.c (ASSERT): Likewise.
14421         * tests/test-floorf1.c (ASSERT): Likewise.
14422         * tests/test-floorf2.c (ASSERT): Likewise.
14423         * tests/test-floorl.c (ASSERT): Likewise.
14424         * tests/test-fopen.c (ASSERT): Likewise.
14425         * tests/test-fpending.c (ASSERT): Likewise.
14426         * tests/test-fprintf-posix.c (ASSERT): Likewise.
14427         * tests/test-fpurge.c (ASSERT): Likewise.
14428         * tests/test-freadable.c (ASSERT): Likewise.
14429         * tests/test-freadahead.c (ASSERT): Likewise.
14430         * tests/test-freading.c (ASSERT): Likewise.
14431         * tests/test-freadptr.c (ASSERT): Likewise.
14432         * tests/test-freadptr2.c (ASSERT): Likewise.
14433         * tests/test-freadseek.c (ASSERT): Likewise.
14434         * tests/test-freopen.c (ASSERT): Likewise.
14435         * tests/test-frexp.c (ASSERT): Likewise.
14436         * tests/test-frexpl.c (ASSERT): Likewise.
14437         * tests/test-fseek.c (ASSERT): Likewise.
14438         * tests/test-fseeko.c (ASSERT): Likewise.
14439         * tests/test-fstrcmp.c (ASSERT): Likewise.
14440         * tests/test-ftell.c (ASSERT): Likewise.
14441         * tests/test-ftello.c (ASSERT): Likewise.
14442         * tests/test-func.c (ASSERT): Likewise.
14443         * tests/test-fwritable.c (ASSERT): Likewise.
14444         * tests/test-fwriting.c (ASSERT): Likewise.
14445         * tests/test-getdelim.c (ASSERT): Likewise.
14446         * tests/test-getline.c (ASSERT): Likewise.
14447         * tests/test-i-ring.c (ASSERT): Likewise.
14448         * tests/test-iconv-utf.c (ASSERT): Likewise.
14449         * tests/test-iconv.c (ASSERT): Likewise.
14450         * tests/test-isfinite.c (ASSERT): Likewise.
14451         * tests/test-isnand.c (ASSERT): Likewise.
14452         * tests/test-isnanf.c (ASSERT): Likewise.
14453         * tests/test-isnanl.h (ASSERT): Likewise.
14454         * tests/test-ldexpl.c (ASSERT): Likewise.
14455         * tests/test-linked_list.c (ASSERT): Likewise.
14456         * tests/test-linkedhash_list.c (ASSERT): Likewise.
14457         * tests/test-localename.c (ASSERT): Likewise.
14458         * tests/test-lseek.c (ASSERT): Likewise.
14459         * tests/test-mbscasecmp.c (ASSERT): Likewise.
14460         * tests/test-mbscasestr1.c (ASSERT): Likewise.
14461         * tests/test-mbscasestr2.c (ASSERT): Likewise.
14462         * tests/test-mbscasestr3.c (ASSERT): Likewise.
14463         * tests/test-mbscasestr4.c (ASSERT): Likewise.
14464         * tests/test-mbschr.c (ASSERT): Likewise.
14465         * tests/test-mbscspn.c (ASSERT): Likewise.
14466         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
14467         * tests/test-mbspbrk.c (ASSERT): Likewise.
14468         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
14469         * tests/test-mbsrchr.c (ASSERT): Likewise.
14470         * tests/test-mbsspn.c (ASSERT): Likewise.
14471         * tests/test-mbsstr1.c (ASSERT): Likewise.
14472         * tests/test-mbsstr2.c (ASSERT): Likewise.
14473         * tests/test-mbsstr3.c (ASSERT): Likewise.
14474         * tests/test-memchr2.c (ASSERT): Likewise.
14475         * tests/test-memmem.c (ASSERT): Likewise.
14476         * tests/test-open.c (ASSERT): Likewise.
14477         * tests/test-printf-frexp.c (ASSERT): Likewise.
14478         * tests/test-printf-frexpl.c (ASSERT): Likewise.
14479         * tests/test-printf-posix.c (ASSERT): Likewise.
14480         * tests/test-quotearg.c (ASSERT): Likewise.
14481         * tests/test-rbtree_list.c (ASSERT): Likewise.
14482         * tests/test-rbtree_oset.c (ASSERT): Likewise.
14483         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
14484         * tests/test-round1.c (ASSERT): Likewise.
14485         * tests/test-roundf1.c (ASSERT): Likewise.
14486         * tests/test-roundl.c (ASSERT): Likewise.
14487         * tests/test-signbit.c (ASSERT): Likewise.
14488         * tests/test-sleep.c (ASSERT): Likewise.
14489         * tests/test-snprintf-posix.c (ASSERT): Likewise.
14490         * tests/test-snprintf.c (ASSERT): Likewise.
14491         * tests/test-sprintf-posix.c (ASSERT): Likewise.
14492         * tests/test-stat-time.c (ASSERT): Likewise.
14493         * tests/test-strcasestr.c (ASSERT): Likewise.
14494         * tests/test-strerror.c (ASSERT): Likewise.
14495         * tests/test-striconv.c (ASSERT): Likewise.
14496         * tests/test-striconveh.c (ASSERT): Likewise.
14497         * tests/test-striconveha.c (ASSERT): Likewise.
14498         * tests/test-strsignal.c (ASSERT): Likewise.
14499         * tests/test-strstr.c (ASSERT): Likewise.
14500         * tests/test-strtod.c (ASSERT): Likewise.
14501         * tests/test-trunc1.c (ASSERT): Likewise.
14502         * tests/test-trunc2.c (ASSERT): Likewise.
14503         * tests/test-truncf1.c (ASSERT): Likewise.
14504         * tests/test-truncf2.c (ASSERT): Likewise.
14505         * tests/test-truncl.c (ASSERT): Likewise.
14506         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
14507         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
14508         * tests/test-vasnprintf.c (ASSERT): Likewise.
14509         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
14510         * tests/test-vasprintf.c (ASSERT): Likewise.
14511         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
14512         * tests/test-vprintf-posix.c (ASSERT): Likewise.
14513         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
14514         * tests/test-vsnprintf.c (ASSERT): Likewise.
14515         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
14516         * tests/test-wcwidth.c (ASSERT): Likewise.
14517         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
14518         * tests/test-xprintf-posix.c (ASSERT): Likewise.
14519         * tests/test-xvasprintf.c (ASSERT): Likewise.
14520         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
14521         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
14522         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
14523         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
14524         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
14525         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
14526         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
14527         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
14528         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
14529         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
14530         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
14531         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
14532         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
14533         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
14534         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
14535         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
14536         * tests/unictype/test-block_list.c (ASSERT): Likewise.
14537         * tests/unictype/test-block_of.c (ASSERT): Likewise.
14538         * tests/unictype/test-block_test.c (ASSERT): Likewise.
14539         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
14540         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
14541         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
14542         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
14543         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
14544         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
14545         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
14546         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
14547         * tests/unictype/test-combining.c (ASSERT): Likewise.
14548         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
14549         * tests/unictype/test-digit.c (ASSERT): Likewise.
14550         * tests/unictype/test-mirror.c (ASSERT): Likewise.
14551         * tests/unictype/test-numeric.c (ASSERT): Likewise.
14552         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
14553         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
14554         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
14555         * tests/unictype/test-scripts.c (ASSERT): Likewise.
14556         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
14557         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
14558         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
14559         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
14560         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
14561         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
14562         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
14563         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
14564         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
14565         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
14566         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
14567         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
14568         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
14569         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
14570         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
14571         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
14572         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
14573         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
14574         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
14575         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
14576         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
14577         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
14578         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
14579         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
14580         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
14581         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
14582         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
14583         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
14584         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
14585         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
14586         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
14587         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
14588         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
14589         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
14590         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
14591         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
14592         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
14593         Reported by Eric Blake.
14594
14595 2008-04-11  Bruno Haible  <bruno@clisp.org>
14596
14597         * lib/wchar.in.h: Tweak comment.
14598
14599 2008-04-11  Bruno Haible  <bruno@clisp.org>
14600
14601         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
14602         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
14603         gl_COMMON.
14604         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
14605
14606 2008-04-11  Bruno Haible  <bruno@clisp.org>
14607
14608         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
14609
14610 2008-04-11  Simon Josefsson  <simon@josefsson.org>
14611
14612         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
14613         of attempting to use non-existing /dev/*random.  Based on patch
14614         from Adam Strzelecki <ono@java.pl> in
14615         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
14616
14617 2008-04-08  Bruno Haible  <bruno@clisp.org>
14618
14619         Add tentative support for emx+gcc.
14620         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
14621         * lib/fpurge.c (fpurge): Likewise.
14622         * lib/freadable.c (freadable): Likewise.
14623         * lib/freadahead.c (freadahead): Likewise.
14624         * lib/freading.c (freading): Likewise.
14625         * lib/freadptr.c (freadptr): Likewise.
14626         * lib/freadseek.c (freadptrinc): Likewise.
14627         * lib/fseeko.c (rpl_fseeko): Likewise.
14628         * lib/fseterr.c (fseterr): Likewise.
14629         * lib/fwritable.c (fwritable): Likewise.
14630         * lib/fwriting.c (fwriting): Likewise.
14631         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
14632
14633 2008-04-09  Eric Blake  <ebb9@byu.net>
14634
14635         Avoid some autoconf warnings.
14636         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
14637         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
14638         * m4/afs.m4 (gl_AFS): Likewise.
14639         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
14640         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
14641         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14642         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
14643         (gl_INTEGER_TYPE_SUFFIX): Likewise.
14644         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
14645         (AC_CHECK_DECLS_ONCE): Likewise.
14646         Rename file...
14647         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
14648         gnulib-tool requires autoconf 2.59 or better.
14649         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
14650
14651 2008-04-08  Eric Blake  <ebb9@byu.net>
14652
14653         Use 'git describe --match' if present (added in git 1.5.5).
14654         * build-aux/git-version-gen: Limit result to tags that match 'v*'
14655         if possible.
14656
14657 2008-04-08  Bruno Haible  <bruno@clisp.org>
14658
14659         Add tentative support for OpenServer.
14660         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
14661         _ptr, _cnt.
14662         * lib/fpurge.c (fpurge): Likewise.
14663         * lib/freadable.c (freadable): Likewise.
14664         * lib/freadahead.c (freadahead): Likewise.
14665         * lib/freading.c (freading): Likewise.
14666         * lib/freadptr.c (freadptr): Likewise.
14667         * lib/freadseek.c (freadptrinc): Likewise.
14668         * lib/fseeko.c (rpl_fseeko): Likewise.
14669         * lib/fseterr.c (fseterr): Likewise.
14670         * lib/fwritable.c (fwritable): Likewise.
14671         * lib/fwriting.c (fwriting): Likewise.
14672         Reported by Roger Cornelius <rac@tenzing.org> and
14673         Brian K. White <brian@aljex.com>.
14674
14675 2008-04-06  Jim Meyering  <meyering@redhat.com>
14676
14677         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
14678
14679 2008-04-06  Bruno Haible  <bruno@clisp.org>
14680
14681         Avoid possible error with non-ASCII bytes in UTF-8 locales.
14682         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
14683         * tests/test-printf-posix.sh: Likewise.
14684         * tests/test-vfprintf-posix.sh: Likewise.
14685         * tests/test-vprintf-posix.sh: Likewise.
14686         * tests/test-xprintf-posix.sh: Likewise.
14687
14688 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14689
14690         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
14691         hide error from 'ls', needed on OS/2.
14692         Report by Elbert Pol <elbert.pol@gmail.com>.
14693
14694 2008-04-04  Eric Blake  <ebb9@byu.net>
14695
14696         Make test-fseeko.c failures meaningful.
14697         * tests/test-fseeko.c: Print line number on failure.
14698         * tests/test-fseek.c: Likewise.
14699         Reported by Nelson H. F. Beebe.
14700
14701         Improve strtod bug detection check.
14702         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
14703         required for Solaris 10.
14704         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
14705
14706 2008-04-04  Bruno Haible  <bruno@clisp.org>
14707
14708         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
14709         by m4/setenv.m4.
14710
14711 2008-04-03  Eric Blake  <ebb9@byu.net>
14712
14713         Ensure sane .version contents.
14714         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
14715         version string.
14716         * build-aux/git-version-gen: Improve documentation.
14717
14718         Make GNU make output nicer.
14719         * top/GNUmakefile [!_have-Makefile]: Add dependency on
14720         MAKECMDGOALS to enforce message for all command line targets.  Set
14721         srcdir for use in maint.mk.
14722
14723         Another maintainer tweak.
14724         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
14725         a target that regenerates version.
14726
14727 2008-04-03  Jim Meyering  <meyering@redhat.com>
14728
14729         vc-list-files: don't cause coreutils "make po-check" failure
14730         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
14731
14732 2008-04-03  Eric Blake  <ebb9@byu.net>
14733
14734         Allow VPATH usage of vc-list-files.
14735         * build-aux/vc-list-files (scriptversion): Add timestamp.
14736         (options): Add --help, --version, -C.
14737         (CVS): Support installed cvsu.
14738
14739 2008-04-02  Bruno Haible  <bruno@clisp.org>
14740
14741         Avoid some "statement with no effect" warnings from gcc.
14742         * tests/test-wctype.c (main): Explicitly ignore unused values.
14743         Reported by Jim Meyering.
14744
14745 2008-04-02  Jim Meyering  <meyering@redhat.com>
14746
14747         Avoid some warnings from "gcc -Wshadow".
14748         * tests/test-frexp.c (exp): Define to a different identifier.
14749         * tests/test-frexpl.c (exp): Likewise.
14750
14751 2008-04-03  Jim Meyering  <meyering@redhat.com>
14752
14753         bootstrap: remove dangling *.[ch] symlinks from lib
14754         * build-aux/bootstrap [dangling symlink removal]: Move find's
14755         -depth option to precede all others, to avoid a warning.
14756         Remove *.[ch] files too, and from "$source_base" (usually lib/).
14757
14758 2008-04-02  Bruno Haible  <bruno@clisp.org>
14759
14760         Avoid some warnings from "gcc -Wshadow".
14761         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
14762         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
14763         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
14764         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
14765         Reported by Jim Meyering.
14766
14767 2008-04-01  Bruno Haible  <bruno@clisp.org>
14768
14769         Fix test to work on IRIX 6.5 with cc.
14770         * tests/test-math.c (numeric_equal): New function.
14771         (main): Use it.
14772
14773 2008-04-01  Bruno Haible  <bruno@clisp.org>
14774
14775         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
14776
14777 2008-04-01  Bruno Haible  <bruno@clisp.org>
14778
14779         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
14780         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
14781         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
14782         (Depends-on): Remove math.
14783
14784         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
14785         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
14786         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
14787         (Depends-on): Remove math.
14788
14789         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
14790         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
14791         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
14792         (Depends-on): Remove math.
14793         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
14794         (Depends-on): Remove math.
14795
14796         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
14797         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
14798         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
14799         (Depends-on): Remove math.
14800         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
14801         (Depends-on): Remove math.
14802
14803         * tests/test-round1.c: Include nan.h.
14804         (main): Use NaNd instead of NAN.
14805         * modules/round-tests (Files): Add tests/nan.h.
14806
14807         * tests/test-trunc1.c: Include nan.h.
14808         (main): Use NaNd instead of NAN.
14809         * modules/trunc-tests (Files): Add tests/nan.h.
14810
14811         * tests/test-roundf1.c: Include nan.h.
14812         (main): Use NaNf instead of NAN.
14813         * modules/roundf-tests (Files): Add tests/nan.h.
14814
14815         * tests/test-truncf1.c: Include nan.h.
14816         (main): Use NaNf instead of NAN.
14817         * modules/truncf-tests (Files): Add tests/nan.h.
14818
14819         * tests/test-ceilf1.c: Include nan.h.
14820         (main): Use NaNf instead of NAN.
14821         * modules/ceilf-tests (Files): Add tests/nan.h.
14822
14823         * tests/test-floorf1.c: Include nan.h.
14824         (main): Use NaNf instead of NAN.
14825         * modules/floorf-tests (Files): Add tests/nan.h.
14826
14827         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
14828         (main): Use NaNf instead of NAN.
14829         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
14830
14831         * tests/test-isnand.c: Include nan.h instead of <math.h>.
14832         (main): Use NaNd instead of NAN.
14833         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
14834
14835         * tests/test-frexp.c: Include nan.h.
14836         (main): Use NaNd instead of NAN.
14837         * modules/frexp-tests (Files): Add tests/nan.h.
14838
14839         * lib/isnan.c: Don't include <math.h>.
14840         (FUNC): Don't use NAN macro.
14841         * modules/isnand-nolibm (Depends-on): Remove math.
14842         * modules/isnanf-nolibm (Depends-on): Remove math.
14843         * modules/isnanl (Depends-on): Remove math.
14844         * modules/isnanl-nolibm (Depends-on): Remove math.
14845
14846         * tests/nan.h: New file.
14847
14848 2008-04-01  Eric Blake  <ebb9@byu.net>
14849
14850         Fix typos.
14851         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
14852         values to be the right type.
14853
14854         For now, cater to gnulib strtod inaccuracies.
14855         * tests/test-strtod.c (main): Allow 1-ulp error on expected
14856         fractional results.  While not as nice from a QoI perspective, it
14857         is a quicker patch than correctly implementing decimal to binary
14858         rounding.
14859
14860 2008-03-31  Eric Blake  <ebb9@byu.net>
14861
14862         Guarantee a definition of NAN.
14863         * lib/math.in.h (NAN): Define if missing.
14864         * tests/test-math.c (main): Test it.
14865         * doc/posix-headers/math.texi (math.h): Document this.
14866         * lib/isnan.c (rpl_isnand): Use it.
14867         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
14868         * tests/test-floorf1.c (NaN): Likewise.
14869         * tests/test-frexp.c (NaN): Likewise.
14870         * tests/test-isnand.c (NaN): Likewise.
14871         * tests/test-isnanf.c (NaN): Likewise.
14872         * tests/test-round1.c (NaN): Likewise.
14873         * tests/test-roundf1.c (NaN): Likewise.
14874         * tests/test-snprintf-posix.h (NaN): Likewise.
14875         * tests/test-sprintf-posix.h (NaN): Likewise.
14876         * tests/test-trunc1.c (NaN): Likewise.
14877         * tests/test-truncf1.c (NaN): Likewise.
14878         * tests/test-vasnprintf-posix.c (NaN): Likewise.
14879         * tests/test-vasprintf-posix.c (NaN): Likewise.
14880         * modules/isnand-nolibm (Depends-on): Add math.
14881         * modules/isnanf-nolibm (Depends-on): Likewise.
14882         * modules/isnanl (Depends-on): Likewise.
14883         * modules/isnanl-nolibm (Depends-on): Likewise.
14884         * modules/snprintf-posix-tests (Depends-on): Likewise.
14885         * modules/sprintf-posix-tests (Depends-on): Likewise.
14886         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
14887         * modules/vsprintf-posix-tests (Depends-on): Likewise.
14888         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
14889         * modules/vasprintf-posix-tests (Depends-on): Likewise.
14890
14891 2008-03-31  Bruno Haible  <bruno@clisp.org>
14892
14893         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
14894         * doc/posix-functions/strtod.texi: Likewise.
14895
14896 2008-03-31  Bruno Haible  <bruno@clisp.org>
14897
14898         * tests/test-strtod.c (main): Don't use C99 syntax.
14899
14900 2008-03-31  Bruno Haible  <bruno@clisp.org>
14901
14902         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
14903         Reported by Eric Blake.
14904
14905 2008-03-31  Jim Meyering  <meyering@redhat.com>
14906
14907         Don't compare actual signbit return values.
14908         * tests/test-strtod.c (main): Rather, compare only their
14909         zero/non-zero nature.
14910
14911 2008-03-31  Eric Blake  <ebb9@byu.net>
14912
14913         More strtod documentation.
14914         * doc/posix-functions/strtod.texi (strtod): Interpret more test
14915         failures as distinct bugs.
14916
14917 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
14918
14919         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
14920         Problem reported by Erik Benada in
14921         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
14922
14923 2008-03-30  Bruno Haible  <bruno@clisp.org>
14924
14925         * tests/test-strtod.c: Add comments about which assertion fails on which
14926         platform.
14927         * doc/posix-functions/strtod.texi: Add info about many more platforms.
14928
14929 2008-03-30  Eric Blake  <ebb9@byu.net>
14930
14931         Test signbit behavior on zeros.
14932         * tests/test-signbit.c (test_signbitf): Add tests for zero.
14933         (test_signbitd, test_signbitl): Likewise.
14934
14935         More strtod touchups.
14936         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
14937         sign of negative underflow, for now.  Use .5, not .1.
14938         * doc/posix-functions/strtod.texi (strtod): Mention these
14939         limitations.
14940         Reported by Jim Meyering.
14941
14942 2008-03-30  Bruno Haible  <bruno@clisp.org>
14943
14944         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
14945         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
14946
14947 2008-03-30  Bruno Haible  <bruno@clisp.org>
14948
14949         Avoid failure when attempting to return empty iconv results on some
14950         platforms.
14951         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
14952         allocation, don't report ENOMEM when the resulting string is empty.
14953
14954 2008-03-30  Bruno Haible  <bruno@clisp.org>
14955
14956         Fix buffer overrun.
14957         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
14958         Don't consider the width for tmp_length. Check count against tmp_length
14959         before doing the padding. Ensure enough allocation during padding.
14960
14961 2008-03-30  Eric Blake  <ebb9@byu.net>
14962
14963         strtod touchups.
14964         * lib/strtod.c (strtod): Avoid compiler warnings.
14965         Reported by Jim Meyering.
14966
14967 2008-03-30  Bruno Haible  <bruno@clisp.org>
14968
14969         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
14970         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
14971         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
14972         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
14973         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
14974         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
14975         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
14976         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
14977
14978         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
14979         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
14980         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
14981         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
14982         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
14983         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
14984         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
14985         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
14986
14987         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
14988         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
14989         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
14990         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
14991         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
14992         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
14993         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
14994         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
14995
14996         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
14997         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
14998
14999         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
15000         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
15001
15002         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
15003         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
15004
15005         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
15006         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
15007         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
15008
15009         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
15010         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
15011         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
15012
15013         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
15014         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
15015         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
15016
15017         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
15018         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
15019         * modules/vasprintf (Depends-on): Add EOVERFLOW.
15020
15021         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
15022         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
15023         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
15024         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
15025         (Depends-on): Add EOVERFLOW.
15026         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
15027         (Depends-on): Add EOVERFLOW.
15028         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
15029         (Depends-on): Add EOVERFLOW.
15030         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
15031         (Depends-on): Add EOVERFLOW.
15032         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
15033         (Depends-on): Add EOVERFLOW.
15034         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
15035         (Depends-on): Add EOVERFLOW.
15036         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
15037         (Depends-on): Add EOVERFLOW.
15038         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
15039         (Depends-on): Add EOVERFLOW.
15040
15041         * lib/sprintf.c (EOVERFLOW): Remove fallback.
15042         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
15043         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
15044
15045         * lib/snprintf.c (EOVERFLOW): Remove fallback.
15046         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
15047         * modules/snprintf (Depends-on): Add EOVERFLOW.
15048
15049         * lib/poll.c (EOVERFLOW): Remove fallback.
15050         * modules/poll (Depends-on): Add EOVERFLOW.
15051
15052         * lib/getugroups.c (EOVERFLOW): Remove fallback.
15053         * modules/getugroups (Depends-on): Add EOVERFLOW.
15054
15055         * lib/getdelim.c (EOVERFLOW): Remove fallback.
15056         * modules/getdelim (Depends-on): Add EOVERFLOW.
15057
15058         * lib/ftell.c (EOVERFLOW): Remove fallback.
15059         * modules/ftell (Depends-on): Add EOVERFLOW.
15060
15061         * lib/fprintf.c (EOVERFLOW): Remove fallback.
15062         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
15063         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
15064
15065         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
15066
15067         * modules/EOVERFLOW-tests: New file.
15068         * tests/test-EOVERFLOW.c: New file.
15069
15070         * modules/EOVERFLOW: New file.
15071         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
15072
15073 2008-03-30  Bruno Haible  <bruno@clisp.org>
15074
15075         Fix bug introduced on 2007-06-10.
15076         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
15077         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
15078
15079 2008-03-30  Bruno Haible  <bruno@clisp.org>
15080
15081         Improve freadseek's efficiency after ungetc.
15082         * lib/freadseek.c: Include freadahead.h.
15083         (freadptrinc): New function, extracted from freadseek.
15084         (freadseek): Use it in a loop. Use freadahead to determine the number
15085         of loop iterations.
15086         * modules/freadseek (Depends-on): Add freadahead.
15087         (configure.ac): Require AC_C_INLINE.
15088
15089 2008-03-30  Bruno Haible  <bruno@clisp.org>
15090
15091         * lib/freadseek.c (freadseek): Don't ignore the return value of
15092         freadptr.
15093
15094 2008-03-29  Eric Blake  <ebb9@byu.net>
15095
15096         Add hex float support.
15097         * modules/strtod (Depends-on): Add c-ctype.
15098         (Link): Mention POW_LIB.
15099         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
15100         whitespace between 'e' and exponent.
15101         * tests/test-strtod.c (main): Enable hex float tests.
15102         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
15103         now provides.
15104
15105         Document various strtod bugs, with some fixes.
15106         * doc/posix-functions/strtod.texi (strtod): Document bugs with
15107         "-0x", "inf", "nan", and hex constants.
15108         * doc/posix-functions/atof.texi (atof): Likewise.
15109         * modules/stdlib (Makefile.am): Support strtod.
15110         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
15111         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
15112         detect additional strtod bugs.
15113         * lib/stdlib.in.h (rpl_strtod): Add declarations.
15114         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
15115         bool where appropriate.  Parse 'inf' and 'nan'.
15116         * tests/test-strtod.c: New file.
15117         * modules/strtod (Depends-on): Add stdbool, stdlib.
15118         (configure.ac): Turn on module indicator.
15119         * modules/strtod-tests: New module.
15120
15121 2008-03-29  Eric Blake  <ebb9@byu.net>
15122
15123         Fix ftell on mingw.
15124         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
15125         * modules/ftell-tests (Depends-on): Add binary-io.
15126         * modules/ftello-tests (Depends-on): Likewise.
15127         * tests/test-ftell.c (main): Enhance test to cover behavior after
15128         ungetc.  Enforce binary mode.
15129         * tests/test-ftello.c (main): Likewise.
15130
15131         Pass test-freadseek on cygwin.
15132         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
15133         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
15134         ungetc buffer.
15135
15136         * tests/test-fflush2.c (main): Fix typo.
15137
15138 2008-03-29  Bruno Haible  <bruno@clisp.org>
15139
15140         * tests/test-fflush2.c (main): Temporarily disable the contents of
15141         this test.
15142         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
15143         Reported by Eric Blake.
15144
15145 2008-03-28  Simon Josefsson  <simon@josefsson.org>
15146
15147         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
15148         (GC_SHA224_DIGEST_SIZE): Add.
15149
15150         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
15151         (gc_hash_digest_length): Likewise.
15152         (gc_hash_buffer): Likewise.
15153
15154 2008-03-25  Bruno Haible  <bruno@clisp.org>
15155
15156         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
15157         detail which gettext release to use.
15158         Reported by Simon Josefsson.
15159
15160 2008-03-26  Jim Meyering  <meyering@redhat.com>
15161
15162         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
15163         * modules/gnumakefile (clean-GNUmakefile): Also, use
15164         test ... && ... || : syntax rather than if-then ... fi.
15165
15166         gnumakefile: Don't double-quote-expand $(VPATH) value.
15167         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
15168
15169 2008-03-24  Eric Blake  <ebb9@byu.net>
15170
15171         Alter GNUmakefile to install into top directory.
15172         * modules/maintainer-makefile: Split, and add dependency...
15173         * modules/gnumakefile: to this new module.
15174         * build-aux/GNUmakefile: Move...
15175         * top/GNUmakefile: ...here.
15176         * build-aux/maint.mk: Move...
15177         * top/maint.mk: ...here.
15178         * MODULES.html.sh (Support for maintaining...): Document new
15179         module.
15180
15181 2008-03-23  Bruno Haible  <bruno@clisp.org>
15182
15183         * gnulib-tool: New options --vc-files, --no-vc-files.
15184         (func_usage): Document them.
15185         (vc_files): New variable.
15186         (func_import): Consider vc_files.
15187         (func_create_testdir): Set vc_files to empty.
15188         Suggested by Jim Meyering and Karl Berry.
15189
15190 2008-03-23  Bruno Haible  <bruno@clisp.org>
15191
15192         Fix regex compilation error on HP-UX 11.
15193         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
15194         * modules/regex (Files): Add m4/mbstate_t.m4.
15195         Reported by Ton Voon <ton.voon@altinity.com>.
15196
15197 2008-03-23  Bruno Haible  <bruno@clisp.org>
15198
15199         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
15200
15201 2008-03-23  Eric Blake  <ebb9@byu.net>
15202             Bruno Haible  <bruno@clisp.org>
15203
15204         Install files from top/ in the destination directory.
15205         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
15206         augmentation also for the files from top/.
15207         (func_import, func_create_testdir): Rewrite file names:
15208         top/filename -> filename.
15209
15210 2008-03-23  Bruno Haible  <bruno@clisp.org>
15211
15212         Tweak "gnulib --version" output.
15213         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
15214
15215 2008-03-23  Bruno Haible  <bruno@clisp.org>
15216
15217         Tweak "gnulib --version" output.
15218         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
15219         rather than contents of ChangeLog, when possible.
15220
15221 2008-03-21  Eric Blake  <ebb9@byu.net>
15222
15223         More --version tweaks.
15224         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
15225         date of last ChangeLog entry.
15226
15227 2008-03-21  Jim Meyering  <meyering@redhat.com>
15228
15229         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
15230
15231 2008-03-20  Eric Blake  <ebb9@byu.net>
15232
15233         VPATH fix.
15234         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
15235
15236 2008-03-20  Simon Josefsson  <simon@josefsson.org>
15237
15238         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
15239         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
15240
15241 2008-03-20  Eric Blake  <ebb9@byu.net>
15242
15243         Sync GNUmakefile with coreutils.
15244         * build-aux/GNUmakefile (have-Makefile): Rename...
15245         (_have-Makefile): ...to this, for namespace consideration.
15246         (GNUmakefile.cfg): Include, if present.
15247         (_autoreconf): Define a default.
15248         (_is-dist-target): New rule for rebuilds to pick up intra-release
15249         version.
15250         (maint-cfg.mk): Rename...
15251         (cfg.mk): ...to this.
15252
15253 2008-03-18  Jim Meyering  <meyering@redhat.com>
15254
15255         New script and module: mktempd
15256         * MODULES.html.sh (maint+release support): Add mktempd.
15257         * build-aux/mktempd: New file.
15258         * modules/mktempd: New file.
15259
15260 2008-03-15  Jim Meyering  <meyering@redhat.com>
15261
15262         Undo last change.
15263         * lib/sha1.c, lib/md5.c: 63 != ~63.
15264         Reported by Andreas Schwab.
15265
15266         sha1.c, md5.c: Hoist a redundant expression.
15267         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
15268         "ctx->buflen" only once, before calling *_process_block.
15269         * lib/md5.c (md5_process_bytes): Likewise.
15270
15271 2008-03-14  Eric Blake  <ebb9@byu.net>
15272
15273         Bump copyright year in files generated by gnulib-tool.
15274         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
15275         gnulib-tool, rather than hard-coding it.
15276
15277         Fix 'gnulib-tool --version' output to work with git.
15278         * gnulib-tool (func_gnulib_dir): New function, extracted from...
15279         (startup): ...here.
15280         (func_version): Use it to invoke git-version-gen, rather than
15281         relying on CVS keyword expansion.  Modernize wording.
15282         (cvsdatestamp, last_checkin_date, version): Kill unused
15283         variables.
15284
15285 2008-03-12  Jim Meyering  <meyering@redhat.com>
15286
15287         Recognize optional cast of the argument to free.
15288         * build-aux/useless-if-before-free: Update regexps.
15289
15290         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
15291
15292 2008-03-11  Bruno Haible  <bruno@clisp.org>
15293
15294         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
15295         by a single package.
15296         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
15297         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
15298         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
15299         Reported by Sam Steingold <sds@gnu.org>.
15300
15301 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15302
15303         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
15304         repositories.
15305
15306 2008-03-11  Bruno Haible  <bruno@clisp.org>
15307
15308         Avoid conflicts between local macro definitions.
15309         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
15310         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
15311
15312 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
15313             Bruno Haible  <bruno@clisp.org>
15314
15315         Make va_copy work with some version of xlc on AIX 5.1.
15316         * lib/stdarg.in.h: New file.
15317         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
15318         On AIX, use a <stdarg.h> file substitute.
15319         * modules/stdarg (Files): Add lib/stdarg.in.h.
15320         (Depends-on): Add include_next.
15321         (Makefile.am): Build a stdarg.h substitute if requested.
15322         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
15323
15324 2008-03-10  Bruno Haible  <bruno@clisp.org>
15325
15326         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
15327         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
15328         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
15329
15330 2008-03-10  Bruno Haible  <bruno@clisp.org>
15331
15332         * modules/stdlib (Depends-on): Add include_next, remove
15333         absolute-header.
15334
15335 2008-03-09  Bruno Haible  <bruno@clisp.org>
15336
15337         * lib/freadahead.h (freadahead): Document more precisely.
15338         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
15339         the sum of both buffer sizes.
15340         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
15341         * NEWS: Document the change.
15342
15343 2008-03-09  Bruno Haible  <bruno@clisp.org>
15344
15345         Extend freadptr to return also the buffer size.
15346         * lib/freadptr.h (freadptr): Add sizep argument.
15347         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
15348         (freadptr): Add sizep argument. Determine buffer size like freadahead
15349         does.
15350         * tests/test-freadptr.c: Don't include freadahead.h.
15351         (main): Adapt for new calling convention of freadptr.
15352         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
15353         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
15354         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
15355         tests/test-freadptr2.sh.
15356         (Depends): Remove freadahead.
15357         (TESTS): Add test-freadptr2.sh.
15358         (check_PROGRAMS): Add test-freadptr2.
15359
15360 2008-03-09  Bruno Haible  <bruno@clisp.org>
15361
15362         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
15363         Report and solution by Simon Josefsson.
15364
15365 2008-03-06  Bruno Haible  <bruno@clisp.org>
15366
15367         Make fflush after ungetc work on BSD platforms.
15368         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
15369         * tests/test-fflush2.c: New file.
15370         * tests/test-fflush2.sh: New file.
15371         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
15372         tests/test-fflush2.c.
15373         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
15374         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
15375
15376 2008-03-06  Eric Blake  <ebb9@byu.net>
15377
15378         Likewise for ftello.
15379         * modules/ftello (Dependencies): Add extensions.
15380         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
15381
15382 2008-03-06  Bruno Haible  <bruno@clisp.org>
15383
15384         * modules/fseeko (Dependencies): Add extensions.
15385         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
15386         Needed on glibc systems.
15387
15388 2008-03-06  Bruno Haible  <bruno@clisp.org>
15389
15390         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
15391         email address.
15392         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
15393
15394 2008-03-06  Bruno Haible  <bruno@clisp.org>
15395
15396         * users.txt: Add libgnupdf.
15397
15398 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
15399
15400         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
15401         (Header File Substitutes, Function Substitutes,
15402         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
15403         (Build robot for gnulib): Fix typo.
15404
15405 2008-03-06  Bruno Haible  <bruno@clisp.org>
15406
15407         * doc/gnulib-tool.texi (VCS Issues): Small updates.
15408         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
15409
15410 2008-03-06  Bruno Haible  <bruno@clisp.org>
15411
15412         * doc/func.texi: New file, extracted from doc/gnulib.texi.
15413         * doc/gnulib.texi: Include it.
15414
15415 2008-03-06  Simon Josefsson  <simon@josefsson.org>
15416
15417         * modules/func (License): Change license to unlimited; there was
15418         no LGPL parts in the module anyway.
15419
15420 2008-03-06  Simon Josefsson  <simon@josefsson.org>
15421
15422         * modules/__func__: Renamed to modules/func.
15423         * modules/__func__-tests: Renamed to modules/func-tests.
15424         * tests/test-__func__.c: Renamed to tests/test-func.c.
15425         * m4/__func__.m4: Renamed to m4/func.m4.
15426         * doc/gnulib.texi (__func__): Section renamed to func.
15427         Suggested by Eric Blake <ebb9@byu.net>.
15428
15429 2008-03-06  Simon Josefsson  <simon@josefsson.org>
15430
15431         * doc/gnulib.texi (__func__): Use C99 terminology when talking
15432         about __func__.  Make example self-contained.  Suggested by Eric
15433         Blake <ebb9@byu.net>.
15434
15435         * tests/test-__func__.c (main): Avoid extraneous () around __func.
15436         Suggested by Eric Blake <ebb9@byu.net>.
15437
15438 2008-03-06  Simon Josefsson  <simon@josefsson.org>
15439
15440         * modules/__func__: New file.
15441         * modules/__func__-tests: New file.
15442         * tests/test-__func__.c: New file.
15443         * m4/__func__.m4: New file.
15444         * doc/gnulib.texi (__func__): Document __func__ module.
15445
15446 2008-03-05  Simon Josefsson  <simon@josefsson.org>
15447
15448         * modules/byteswap (License): Re-license as LGPLv2+.
15449
15450 2008-03-05  Simon Josefsson  <simon@josefsson.org>
15451
15452         * doc/Makefile: Add pdf target.
15453
15454 2008-03-05  Simon Josefsson  <simon@josefsson.org>
15455
15456         * modules/inline (License): Use 'unlimited', since there are only
15457         *.m4 files in this module.
15458
15459 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
15460             Bruno Haible  <bruno@clisp.org>
15461
15462         Add support for HP C 7.1 on OpenVMS 8.3.
15463         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
15464
15465 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
15466
15467         Update VMS specifics.
15468         * lib/getopt.c [VMS]: Remove include of unixlib.h.
15469
15470 2008-03-02  Jim Meyering  <meyering@redhat.com>
15471
15472         Remove the last dependency on the "free" module.
15473         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
15474         Reported by Bob Proulx.
15475
15476         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
15477
15478         Remove useless "if" tests before free.  Deprecate "free" module.
15479         * doc/posix-functions/free.texi: Mention that this
15480         module is no longer useful.
15481         * modules/free (Notice): Say this module is obsolete.
15482         * modules/readutmp (Depends-on): Remove free.
15483         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
15484         * lib/putenv.c (putenv): Likewise.
15485         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
15486         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
15487         * tests/test-c-strcasestr.c (main): Likewise.
15488         * tests/test-c-strstr.c (main): Likewise.
15489         * tests/test-mbscasestr1.c (main): Likewise.
15490         * tests/test-mbscasestr2.c (main): Likewise.
15491         * tests/test-mbsstr1.c (main): Likewise.
15492         * tests/test-mbsstr2.c (main): Likewise.
15493         * tests/test-memmem.c (main): Likewise.
15494         * tests/test-strcasestr.c (main): Likewise.
15495         * tests/test-striconv.c (main): Likewise.
15496         * tests/test-striconveh.c (main): Likewise.
15497         * tests/test-striconveha.c (main): Likewise.
15498         * tests/test-strstr.c (main): Likewise.
15499
15500         * build-aux/git-version-gen: Adjust a comment and the Usage string.
15501
15502         bootstrap: sync from coreutils again
15503         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
15504
15505 2008-03-01  Jim Meyering  <meyering@redhat.com>
15506
15507         bootstrap: sync from coreutils
15508         * build-aux/bootstrap (update_po_files): Copy a .po file into place
15509         also when the target doesn't exist.
15510
15511 2008-03-01  Eric Blake  <ebb9@byu.net>
15512
15513         Fix bugs in last patch.
15514         * lib/memchr2.c (memchr2): Fix typo.
15515         * tests/test-memchr2.c: Test previous bug, and don't use GNU
15516         extension.
15517         Reported by Bruce Korb.
15518
15519         New module 'memchr2'.
15520         * modules/memchr2: New file.
15521         * modules/memchr2-tests: Likewise.
15522         * lib/memchr2.h: Likewise.
15523         * lib/memchr2.c: Likewise, based on memchr.c.
15524         * tests/test-memchr2.c: New test.
15525         * MODULES.html.sh (String handling): Add memchr2.
15526
15527 2008-02-29  Bruno Haible  <bruno@clisp.org>
15528
15529         * modules/freadseek-tests: New file.
15530         * tests/test-freadseek.sh: New file.
15531         * tests/test-freadseek.c: New file.
15532
15533         New module 'freadseek'.
15534         * modules/freadseek: New file.
15535         * lib/freadseek.h: New file.
15536         * lib/freadseek.c: New file.
15537         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
15538
15539 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
15540
15541         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
15542         wydawca.
15543
15544         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
15545         program_invocation_name and program_invocation_short_name are
15546         present.
15547
15548 2008-02-28  Bruno Haible  <bruno@clisp.org>
15549
15550         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
15551         * tests/test-freadptr.sh: Also test non-seekable stdin.
15552
15553 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
15554
15555         * build-aux/bootstrap (source_base, m4_base)
15556         (doc_base, tests_base): New variables.
15557         (gnulib_tool_options): Do not hardcode base directories, use
15558         the above variables instead.
15559
15560 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
15561
15562         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
15563
15564 2008-02-28  Bruno Haible  <bruno@clisp.org>
15565
15566         * modules/freadptr-tests: New file.
15567         * tests/test-freadptr.sh: New file.
15568         * tests/test-freadptr.c: New file.
15569
15570         New module 'freadptr'.
15571         * modules/freadptr: New file.
15572         * lib/freadptr.h: New file.
15573         * lib/freadptr.c: New file.
15574         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
15575
15576 2008-02-26  Karl Berry  <karl@freefriends.org>
15577
15578         Sync from Libtool:
15579         * libltdl/argz.c (argz_add, argz_count): New functions.
15580         * libltdl/argz.in.h: Declare them.
15581         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
15582
15583 2008-02-22  Bruno Haible  <bruno@clisp.org>
15584
15585         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
15586         is a pointer type.  Needed for HP-UX 10.
15587         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
15588         * doc/posix-functions/gmtime_r.texi: Likewise.
15589         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
15590
15591 2008-02-24  Bruno Haible  <bruno@clisp.org>
15592
15593         * modules/environ-tests: New file.
15594         * tests/test-environ.c: New file.
15595
15596         New module 'environ'.
15597         * modules/environ: New file.
15598         * lib/unistd.in.h (environ): New declaration.
15599         * m4/environ.m4: New file.
15600         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
15601         after use.
15602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
15603         HAVE_DECL_ENVIRON.
15604         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
15605         HAVE_DECL_ENVIRON.
15606         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
15607         wrong claim that 'environ' is missing on some systems.
15608         * modules/execute (Depends-on): Add environ.
15609         * lib/execute.c (environ): Remove fallback declaration.
15610         * modules/pipe (Depends-on): Add environ.
15611         * lib/pipe.c (environ): Remove fallback declaration.
15612         * modules/setenv (Depends-on): Add environ.
15613         * lib/setenv.c (environ): Remove fallback declaration.
15614         * modules/unsetenv (Depends-on): Add environ.
15615         * lib/unsetenv.c (environ): Remove fallback declaration.
15616         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
15617         m4/environ.m4.
15618         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
15619         (gl_PREREQ_UNSETENV): Likewise.
15620
15621 2008-02-24  Bruno Haible  <bruno@clisp.org>
15622
15623         * doc/posix-functions/environ.texi: Document the MacOS X problem.
15624
15625 2008-02-20  Bob Proulx  <bob@proulx.com>
15626
15627         Enable use of older two part flavor 'git describe'.
15628         * build-aux/git-version-gen: If using the older two part flavor of
15629         git version then recreate the third part now present in the
15630         newer three part flavor of git describe.
15631
15632 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
15633
15634         * lib/fts.c (fts_build): Typo correction to comment.
15635
15636 2008-02-17  Bruno Haible  <bruno@clisp.org>
15637
15638         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
15639         generating no-op conflicts.
15640
15641 2008-02-17  Bruno Haible  <bruno@clisp.org>
15642
15643         Speed up by 10%.
15644         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
15645         result_entries, rather than an index-based loop.
15646
15647 2008-02-17  Bruno Haible  <bruno@clisp.org>
15648
15649         Speed up by 25%.
15650         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
15651         'hashcode_cached'.
15652         (entry_create): New function.
15653         (entry_hashcode): Use the cached hashcode if possible.
15654         (read_changelog_file, try_split_merged_entry): Use entry_create.
15655
15656 2008-02-17  Bruno Haible  <bruno@clisp.org>
15657
15658         Speed up from O(n^2) to O(n) for long ChangeLog files.
15659         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
15660         (read_changelog_file): Change implementation of entries_reversed list
15661         to rbtreehash.
15662         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
15663
15664 2008-02-17  Bruno Haible  <bruno@clisp.org>
15665
15666         New option --split-merged-entry.
15667         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
15668         (find_paragraph_end, try_split_merged_entry): New functions.
15669         (long_options): Add option --split-merged-entry.
15670         (usage): Document option --split-merged-entry.
15671         (main): Implement option --split-merged-entry.
15672         Reported by Eric Blake.
15673
15674 2008-02-17  Bruno Haible  <bruno@clisp.org>
15675
15676         * lib/git-merge-changelog.c: Include c-strstr.h.
15677         (main): Support the "git pull --rebase" situation.
15678         * modules/git-merge-changelog (Depends-on): Add c-strstr.
15679         Reported by Eric Blake.
15680
15681 2008-02-16  Eric Blake  <ebb9@byu.net>
15682
15683         Avoid doubling \ in common case of "c-maybe" quoting style.
15684         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
15685         eliding outer quotes.
15686         * lib/quotearg.h: Document this.
15687         * tests/test-quotearg.c (result_strings, inputs, results_g)
15688         (flag_results, locale_results): Test it by adding a new string to
15689         each test group.
15690         (compare_strings): Test new string.
15691
15692 2008-02-13  Eric Blake  <ebb9@byu.net>
15693
15694         Avoid trigraph quoting in default output.
15695         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
15696         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
15697         unless explicitly requested.
15698         * tests/test-quotearg.c (flag_results, main): Add additional tests.
15699
15700 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
15701
15702         Don't rely on signed integer overflowing to negative value.
15703         * lib/getugroups.c (getugroups): Include <limits.h>.
15704         Instead, compare against INT_MAX, and increment only if the test passes.
15705
15706 2008-02-13  Jim Meyering  <meyering@redhat.com>
15707         and Eric Blake  <ebb9@byu.net>
15708
15709         Avoid shadowing warning and compile errors on Linux.
15710         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
15711         forwarding macros on Linux.
15712         (dcgettext): Define a stub, for Linux.
15713         (results_g, main): Avoid warnings.
15714
15715 2008-02-12  Eric Blake  <ebb9@byu.net>
15716
15717         Silence warning in last patch.
15718         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
15719
15720         Quotearg part 4: add tests, fix c-maybe colon quoting.
15721         * lib/quotearg.h: Improve documentation.
15722         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
15723         escapes when adding outer quotes.  When quoting trigraphs, use
15724         valid C notation.  When quoting NUL, omit extra characters if next
15725         character is not digit.  Alter prototype.
15726         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
15727         callers.
15728         * modules/quotearg-tests: New module.
15729         * tests/test-quotearg.c: New test.
15730
15731 2008-02-07  Eric Blake  <ebb9@byu.net>
15732
15733         Quotearg part 3: add flag to control outer quote elision.
15734         * lib/quotearg.h (c_maybe_quoting_style): New style.
15735         (enum quoting_flags): Better documentation of flags.
15736         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
15737         c-maybe style.
15738         (quotearg_buffer_restyled): Handle new flag to elide outer
15739         quotes.
15740
15741         Quotearg part 2: add flag that can control NUL elision.
15742         * lib/quotearg.h (set_quoting_flags): New prototype.
15743         * lib/quotearg.c (struct quoting_options): Add flag field.
15744         (set_quoting_flags): New function.
15745         (quotearg_buffer_restyled): Add flags parameter.
15746         (quotearg_alloc_mem): Set the flag if length cannot be returned.
15747         (quotearg_n_options): Set the flag, since length cannot be
15748         returned.
15749         (quoting_options_from_style): Default flags correctly.
15750
15751         Quotearg part 1: more wrappers, restore quotearg_char state.
15752         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
15753         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
15754         (quotearg_colon_mem): New wrappers.
15755         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
15756         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
15757         functions.
15758         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
15759         (quotearg_colon_mem): New functions.
15760
15761 2008-02-11  Bruno Haible  <bruno@clisp.org>
15762
15763         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
15764         library in the current directory: it does not work with parallel make.
15765         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15766
15767 2008-02-11  Bruno Haible  <bruno@clisp.org>
15768
15769         * .gitattributes: New file.
15770
15771 2008-02-11  Jim Meyering  <meyering@redhat.com>
15772
15773         useless-if-before-free: Fix reversed exit values.
15774         * build-aux/useless-if-before-free: Use correct values
15775         for EXIT_MATCH and EXIT_NO_MATCH.
15776
15777         * build-aux/useless-if-before-free: Close stdout carefully.
15778
15779 2008-02-10  Bruno Haible  <bruno@clisp.org>
15780
15781         New module 'git-merge-changelog'.
15782         * modules/git-merge-changelog: New file.
15783         * lib/git-merge-changelog.c: New file.
15784
15785 2008-02-10  Jim Meyering  <meyering@redhat.com>
15786
15787         useless-if-before-free: New option: --list (-l).
15788
15789         useless-if-before-free: Don't exit immediately upon open failure.
15790         * build-aux/useless-if-before-free: Exit 2 for errors.
15791         Upon failure to open a file, don't exit immediately.
15792         Rather, just warn and continue with any remaining files.
15793
15794 2008-02-10  Bruno Haible  <bruno@clisp.org>
15795
15796         New abstract list operation 'node_set_value'.
15797         * lib/gl_list.h (gl_list_node_set_value): New function.
15798         (struct gl_list_implementation): New field node_set_value.
15799         * lib/gl_list.c (gl_list_node_set_value): New function.
15800         * lib/gl_array_list.c (gl_array_node_set_value): New function.
15801         (gl_array_list_implementation): Update.
15802         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
15803         (gl_carray_list_implementation): Update.
15804         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
15805         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
15806         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
15807         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
15808         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
15809         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
15810         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
15811         Update.
15812         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
15813         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
15814         (gl_sublist_list_implementation): Update.
15815
15816 2008-02-10  Bruno Haible  <bruno@clisp.org>
15817
15818         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
15819         Needed when ELEMENT is #defined to 'some_type *'.
15820
15821 2008-02-10  Jim Meyering  <meyering@redhat.com>
15822
15823         New script and module: useless-if-before-free
15824         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
15825         * build-aux/useless-if-before-free: New file.
15826         * modules/useless-if-before-free: New file.
15827
15828         * build-aux/gitlog-to-changelog: Use committer date, not author date.
15829
15830         xstrtol_error: Fix typo.
15831         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
15832         s/exit_failure/exit_status/.
15833
15834 2008-02-09  Jim Meyering  <meyering@redhat.com>
15835
15836         New script and module: gitlog-to-changelog
15837         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
15838         * modules/gitlog-to-changelog: New file.
15839         * build-aux/gitlog-to-changelog: New file.
15840
15841 2008-02-08  Jim Meyering  <meyering@redhat.com>
15842
15843         Avoid two "parameter unused" warnings.
15844         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
15845         Mark "st" as used.
15846
15847         Use "git COMMAND", not "git-COMMAND".
15848         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
15849         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
15850         * build-aux/git-version-gen: Use "git status", not "git-status".
15851
15852 2008-02-07  Bruno Haible  <bruno@clisp.org>
15853
15854         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
15855         Avoids a crash on Windows Vista.
15856         Reported by Adam Strzelecki <ono@java.pl> via
15857         Simon Josefsson <simon@josefsson.org>.
15858
15859 2008-02-06  Bruno Haible  <bruno@clisp.org>
15860
15861         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
15862         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
15863         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
15864         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
15865         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
15866         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
15867         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
15868         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
15869         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
15870         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
15871         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
15872         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
15873         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
15874         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
15875         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
15876         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
15877         left-adjust flag.
15878         * tests/test-snprintf-posix.h (test_function): Likewise.
15879         * tests/test-sprintf-posix.h (test_function): Likewise.
15880         * tests/test-vasprintf-posix.c (test_function): Likewise.
15881         * doc/posix-functions/fprintf.texi: Update.
15882         * doc/posix-functions/printf.texi: Update.
15883         * doc/posix-functions/snprintf.texi: Update.
15884         * doc/posix-functions/sprintf.texi: Update.
15885         * doc/posix-functions/vfprintf.texi: Update.
15886         * doc/posix-functions/vprintf.texi: Update.
15887         * doc/posix-functions/vsnprintf.texi: Update.
15888         * doc/posix-functions/vsprintf.texi: Update.
15889         Reported by Peter Fales <psfales@alcatel-lucent.com>.
15890
15891 2008-02-06  Bruno Haible  <bruno@clisp.org>
15892
15893         Fix bug introduced on 2008-01-26.
15894         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
15895
15896 2008-02-06  Bruno Haible  <bruno@clisp.org>
15897
15898         Fix bug introduced on 2007-06-10.
15899         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
15900         !NEED_PRINTF_FLAG_ZERO.
15901
15902 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
15903
15904         getloadavg: use libperfstat on AIX5
15905         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
15906
15907 2008-02-03  Bruno Haible  <bruno@clisp.org>
15908
15909         * lib/diffseq.h: Add comments about required #includes.
15910         Reported by Michael Biggs <gnulib@doubleplum.net>.
15911
15912 2008-02-01  Bruno Haible  <bruno@clisp.org>
15913
15914         * users.txt: Add gnuit.
15915
15916 2008-01-31  Bruno Haible  <bruno@clisp.org>
15917
15918         * lib/md4.c (set_uint32): Mark as inline.
15919         * lib/md5.c (set_uint32): Likewise.
15920         * lib/sha1.c (set_uint32): Likewise.
15921         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
15922         * m4/md5.m4 (gl_MD5): Likewise.
15923         * m4/sha1.m4 (gl_SHA1): Likewise.
15924
15925 2008-01-31  Jim Meyering  <meyering@redhat.com>
15926
15927         Use "sizeof VAR", rather than a literal "4".
15928         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
15929         * lib/md4.c (md4_read_ctx): Likewise.
15930         * lib/sha1.c (sha1_read_ctx): Likewise.
15931
15932 2008-01-31  Simon Josefsson  <simon@josefsson.org>
15933
15934         * tests/test-sha1.c: New file, based on test-md5.c.
15935
15936         * modules/crypto/sha1-tests: New file.
15937
15938 2008-01-31  Simon Josefsson  <simon@josefsson.org>
15939
15940         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
15941
15942 2008-01-31  Jim Meyering  <meyering@redhat.com>
15943
15944         Prefer "sizeof v" over the equivalent "4".
15945         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
15946         * lib/md5.c (set_uint32): Likewise.
15947         * lib/sha1.c (set_uint32): Likewise.
15948
15949 2008-01-31  Simon Josefsson  <simon@josefsson.org>
15950
15951         * lib/sha1.c (set_uint32): Mark function as static.
15952
15953 2008-01-31  Simon Josefsson  <simon@josefsson.org>
15954
15955         md2: clarify comments to say that alignment is not required.
15956         * lib/md2.h: Remove warning about alignment in comment.
15957         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
15958         never been required.
15959
15960 2008-01-31  Simon Josefsson  <simon@josefsson.org>
15961
15962         md4: adapt alignment constraint fix from sha1.
15963         * lib/md4.c (set_uint32): New function, from sha1.c
15964         (md4_read_ctx): Use it.
15965         (md4_finish_ctx): Doc fix.
15966         * lib/md4.h: Doc fix.
15967
15968 2008-01-31  Simon Josefsson  <simon@josefsson.org>
15969
15970         md5: adapt alignment constraint fix from sha1.
15971         * lib/md5.c (set_uint32): New function, from sha1.c
15972         (md5_read_ctx): Use it.
15973         (md5_finish_ctx): Doc fix.
15974         * lib/md5.h: Doc fix.
15975
15976 2008-01-30  Peter Palfrader  <weasel@debian.org>
15977
15978         sha1: remove the result buffer alignment constraint
15979         * lib/sha1.c (set_uint32): New function.
15980         (sha1_read_ctx): Rewrite to remove the result buffer alignment
15981         constraint.
15982         (sha1_finish_ctx): Remove comment warning about alignment constraint.
15983         * lib/sha1.h: Likewise.
15984
15985 2008-01-30  Andreas Schwab  <schwab@suse.de>
15986             Bruno Haible  <bruno@clisp.org>
15987
15988         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
15989         correct definition of LDBL_MIN_EXP.
15990
15991 2008-01-30  Karl Berry  <karl@gnu.org>
15992
15993         * config/srclist-update: try to preserve x bit on updates.
15994         * config/srclistvars.sh: update for karl.
15995
15996 2008-01-29  Jim Meyering  <meyering@redhat.com>
15997
15998         vasnprintf.c: Avoid warning about unused label
15999         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
16000         "overflow" label definition and associated code with the
16001         same cpp condition that guards the sole use of that label.
16002
16003 2008-01-26  Bruno Haible  <bruno@clisp.org>
16004
16005         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
16006         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
16007         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
16008         * lib/isnanl-nolibm.h (isnanl): Likewise.
16009         Reported by Paul Eggert <eggert@cs.ucla.edu>.
16010
16011 2008-01-26  Bruno Haible  <bruno@clisp.org>
16012
16013         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
16014         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
16015
16016 2008-01-26  Bruno Haible  <bruno@clisp.org>
16017
16018         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
16019         GCC >= 4.0 built-in.
16020         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
16021
16022 2008-01-26  Bruno Haible  <bruno@clisp.org>
16023
16024         Rename isnan, applicable to 'double' only, to isnand.
16025         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
16026         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
16027         (configure.ac): Update.
16028         (Include): Replace "isnan.h" with "isnand.h".
16029         * m4/isnand.m4: Renamed from m4/isnan.m4.
16030         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
16031         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
16032         instead of isnan.c.
16033         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
16034         instead of HAVE_ISNAN_IN_LIBC.
16035         (isnand): Renamed from isnan.
16036         * lib/isnand.c: New file.
16037         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
16038         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
16039         (Makefile.am): Update.
16040         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
16041         Include isnand.h instead of isnan.h.
16042         (main): Test isnand instead of isnan.
16043         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
16044         isnan-nolibm.
16045         * modules/frexp (Depends-on): Likewise.
16046         * modules/frexp-tests (Depends-on): Likewise.
16047         * modules/frexp-nolibm (Depends-on): Likewise.
16048         * modules/frexp-nolibm-tests (Depends-on): Likewise.
16049         * modules/isfinite (Depends-on): Likewise.
16050         * modules/round-tests (Depends-on): Likewise.
16051         * modules/signbit (Depends-on): Likewise.
16052         * modules/signbit-tests (Depends-on): Likewise.
16053         * modules/snprintf-posix (Depends-on): Likewise.
16054         * modules/sprintf-posix (Depends-on): Likewise.
16055         * modules/trunc-tests (Depends-on): Likewise.
16056         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
16057         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16058         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16059         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16060         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16061         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16062         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16063         * modules/vasnprintf-posix (Depends-on): Likewise.
16064         * modules/vasprintf-posix (Depends-on): Likewise.
16065         * modules/vfprintf-posix (Depends-on): Likewise.
16066         * modules/vsnprintf-posix (Depends-on): Likewise.
16067         * modules/vsprintf-posix (Depends-on): Likewise.
16068         * lib/frexp.c: Include isnand.h instead of isnan.h.
16069         (ISNAN): Set to isnand instead of isnan.
16070         * lib/isfinite.c: Include isnand.h instead of isnan.h.
16071         (gl_isfinited): Use isnand instead of isnan.
16072         * lib/signbitd.c: Include isnand.h instead of isnan.h.
16073         (gl_signbitd): Use isnand instead of isnan.
16074         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
16075         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
16076         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
16077         (main): Use isnand instead of isnan.
16078         * tests/test-round1.c: Include isnand.h.
16079         (main): Use isnand instead of isnan.
16080         * tests/test-round2.c: Include isnand.h instead of isnan.h.
16081         (ISNAN): Set to isnand instead of isnan.
16082         * tests/test-trunc1.c: Include isnand.h.
16083         (main): Use isnand instead of isnan.
16084         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
16085         (equal): Use isnand instead of isnan.
16086         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
16087         isnand-nolibm.
16088         * NEWS: Mention the change.
16089
16090 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
16091             Bruno Haible  <bruno@clisp.org>
16092
16093         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
16094         the GCC builtins for signbits are present and set
16095         REPLACE_SIGNBIT_USING_GCC if so.
16096         * lib/math.in.h (signbit): Define using GCC builtins if
16097         REPLACE_SIGNBIT_USING_GCC is set.
16098         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
16099         REPLACE_SIGNBIT_USING_GCC.
16100         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
16101
16102 2008-01-25  Jim Meyering  <meyering@redhat.com>
16103
16104         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
16105         * lib/poll.c: Include <config.h>, not "config.h".
16106         * tests/test-getaddrinfo.c: Likewise.
16107
16108 2008-01-25  Simon Josefsson  <simon@josefsson.org>
16109
16110         * modules/sockets-tests: New file.
16111
16112 2008-01-24  Simon Josefsson  <simon@josefsson.org>
16113
16114         * modules/sockets: New module, can be used to call WSA_Startup and
16115         WSA_Cleanup when needed.
16116
16117         * lib/sockets.h, lib/sockets.c: New files.
16118
16119         * m4/sockets.m4: New file.
16120
16121         * tests/test-sockets.c: New file.
16122
16123 2008-01-19  Bruno Haible  <bruno@clisp.org>
16124
16125         * doc/posix-headers: Renamed from doc/headers.
16126         * doc/posix-functions: Renamed from doc/functions.
16127         * doc/gnulib.texi: Update.
16128
16129 2008-01-19  Bruno Haible  <bruno@clisp.org>
16130
16131         * doc/glibc-functions/strcasestr.texi: Include contents of
16132         doc/functions/strcasestr.texi, fixing the list of platforms.
16133         * doc/functions/strcasestr.texi: Remove file.
16134
16135 2008-01-19  Bruno Haible  <bruno@clisp.org>
16136
16137         * doc/glibc-functions/memmem.texi: Include contents of
16138         doc/functions/memmem.texi.
16139         * doc/functions/memmem.texi: Remove file.
16140
16141 2008-01-18  Bruno Haible  <bruno@clisp.org>
16142
16143         * doc/glibc-functions/*.texi: New files.
16144         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
16145         to use the new files.
16146
16147 2008-01-17  Bruno Haible  <bruno@clisp.org>
16148
16149         * tests/test-gethostname.c (main): Fix printf statement.
16150
16151 2008-01-17  Simon Josefsson  <simon@josefsson.org>
16152
16153         * modules/gethostname-tests: New file.
16154
16155         * tests/test-gethostname.c: New file.
16156
16157 2008-01-17  Simon Josefsson  <simon@josefsson.org>
16158
16159         * lib/gethostname.c: Include string.h unconditionally, strncpy is
16160         used by the UNAME case.  Reported by Bruno Haible
16161         <bruno@clisp.org>.
16162
16163 2008-01-17  Eric Blake  <ebb9@byu.net>
16164
16165         Convert c-strcasestr to be more efficient.
16166         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
16167         (Depends-on): Add c-strcase, remove malloca, strnlen.
16168         * tests/test-c-strcasestr.c (main): Enhance test.
16169         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
16170
16171 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
16172
16173         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
16174         Use it in creating po/Makevars.
16175
16176 2008-01-15  Simon Josefsson  <simon@josefsson.org>
16177
16178         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
16179         Applications that requires it should initialize libgcrypt
16180         manually.
16181
16182 2008-01-16  Simon Josefsson  <simon@josefsson.org>
16183
16184         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
16185
16186 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
16187
16188         Fix problem with getdate on mingw32 reported by Simon Josefsson
16189         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
16190         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
16191         tzname", when deciding whether to declare tzname.
16192         * lib/strftime.c (tzname): Likewise.
16193
16194 2008-01-15  Bruno Haible  <bruno@clisp.org>
16195
16196         Work around a MacOS X 10.5 bug in frexpl().
16197         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
16198         * doc/functions/frexpl.texi: Document the bug.
16199         Reported by Elias Pipping <pipping@gentoo.org>.
16200
16201 2008-01-14  Eric Blake  <ebb9@byu.net>
16202
16203         Touch up previous patch.
16204         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
16205         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
16206
16207         Convert strcasestr module to use Two-Way algorithm.
16208         * modules/strcasestr-simple: New module, based on the old
16209         strcasestr, but with Two-Way rather than KMP.
16210         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
16211         * lib/string.in.h (rpl_strcasestr): Declare.
16212         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
16213         performance.
16214         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
16215         * modules/string (Makefile.am): Support strcasestr.
16216         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
16217         * modules/strcasestr-tests (Depends-on): Check for alarm.
16218         * tests/test-strcasestr.c: Augment test.
16219         * lib/str-two-way.h: Clean up stray macro.
16220         * NEWS: Document new module.
16221         * MODULES.html.sh (string handling): Likewise.
16222         * doc/functions/strcasestr.texi: New file.
16223         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
16224         here, since it is not a POSIX function.
16225
16226 2008-01-14  Colin Watson  <cjwatson@debian.org>
16227             Bruno Haible  <bruno@clisp.org>
16228
16229         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
16230         works fine; if not, set REPLACE_STRSIGNAL.
16231         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
16232         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16233         REPLACE_STRSIGNAL.
16234         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
16235         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
16236         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
16237
16238 2008-01-14  Bruno Haible  <bruno@clisp.org>
16239
16240         * modules/strsignal (Include): Change to <string.h>.
16241
16242 2008-01-14  Colin Watson  <cjwatson@debian.org>
16243
16244         * modules/argp (Notice): Add a notice recommending to change
16245         XGETTEXT_OPTIONS.
16246         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
16247
16248 2008-01-13  Colin Watson  <cjwatson@debian.org>
16249
16250         * modules/strsignal-tests: New file.
16251         * tests/test-strsignal.c: New file.
16252
16253         * lib/strsignal.c: New file, from glibc with modifications.
16254         * lib/siglist.h: New file, from glibc with modifications.
16255         * lib/string.in.h (strsignal): New declaration.
16256         * m4/strsignal.m4: New file.
16257         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16258         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
16259         * modules/strsignal: New file.
16260         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
16261         HAVE_DECL_STRSIGNAL.
16262
16263 2008-01-13  Bruno Haible  <bruno@clisp.org>
16264
16265         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
16266         locale encoding is not ASCII. Needed for OpenBSD 4.0.
16267         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
16268         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16269
16270 2008-01-13  Bruno Haible  <bruno@clisp.org>
16271
16272         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
16273         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
16274         * lib/argp.h (__attribute__): Likewise.
16275         * lib/c-stack.c (__attribute__): Likewise.
16276         * lib/error.h (__attribute__): Likewise.
16277         * lib/fts.c (__attribute__): Likewise.
16278         * lib/openat.h (__attribute__): Likewise.
16279         * lib/stdio.in.h (__attribute__): Likewise.
16280         * lib/string.in.h (__attribute__): Likewise.
16281         * lib/utimens.c (__attribute__): Likewise.
16282         * lib/vasnprintf.h (__attribute__): Likewise.
16283         * lib/xalloc.h (__attribute__): Likewise.
16284         * lib/xprintf.h (__attribute__): Likewise.
16285         * lib/xstrtol.h (__attribute__): Likewise.
16286         * lib/xvasprintf.h (__attribute__): Likewise.
16287
16288 2008-01-12  Bruno Haible  <bruno@clisp.org>
16289
16290         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
16291         * doc/glibc-headers/a.out.texi: New file.
16292         * doc/glibc-headers/aliases.texi: New file.
16293         * doc/glibc-headers/alloca.texi: New file.
16294         * doc/glibc-headers/ar.texi: New file.
16295         * doc/glibc-headers/argp.texi: New file.
16296         * doc/glibc-headers/argz.texi: New file.
16297         * doc/glibc-headers/byteswap.texi: New file.
16298         * doc/glibc-headers/crypt.texi: New file.
16299         * doc/glibc-headers/endian.texi: New file.
16300         * doc/glibc-headers/envz.texi: New file.
16301         * doc/glibc-headers/err.texi: New file.
16302         * doc/glibc-headers/error.texi: New file.
16303         * doc/glibc-headers/execinfo.texi: New file.
16304         * doc/glibc-headers/fpu_control.texi: New file.
16305         * doc/glibc-headers/fstab.texi: New file.
16306         * doc/glibc-headers/fts.texi: New file.
16307         * doc/glibc-headers/getopt.texi: New file.
16308         * doc/glibc-headers/ieee754.texi: New file.
16309         * doc/glibc-headers/ifaddrs.texi: New file.
16310         * doc/glibc-headers/libintl.texi: New file.
16311         * doc/glibc-headers/mcheck.texi: New file.
16312         * doc/glibc-headers/mntent.texi: New file.
16313         * doc/glibc-headers/obstack.texi: New file.
16314         * doc/glibc-headers/paths.texi: New file.
16315         * doc/glibc-headers/printf.texi: New file.
16316         * doc/glibc-headers/pty.texi: New file.
16317         * doc/glibc-headers/resolv.texi: New file.
16318         * doc/glibc-headers/shadow.texi: New file.
16319         * doc/glibc-headers/sysexits.texi: New file.
16320         * doc/glibc-headers/ttyent.texi: New file.
16321
16322 2008-01-12  Jim Meyering  <meyering@redhat.com>
16323
16324         announce-gen: emit Gnulib's git-based version string.
16325         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
16326         New option --gnulib-version=V, where V is expected to be
16327         the output of running git describe in the gnulib directory.
16328         (get_tool_versions): Request feedback on xdelta.  I suspect it's
16329         not useful, and plan to stop publishing an xdelta file with each
16330         coreutils release.
16331
16332         * build-aux/announce-gen: Also check for lzma-compressed files.
16333
16334 2008-01-11  Bruno Haible  <bruno@clisp.org>
16335
16336         * tests/test-memmem.c (main): Increase maximum allowed time.
16337         * tests/test-strstr.c (main): Likewise.
16338
16339 2008-01-11  Bruno Haible  <bruno@clisp.org>
16340
16341         * doc/functions/memmem.texi: Add more precisions about platforms.
16342         * doc/functions/strstr.texi: Likewise.
16343
16344 2008-01-10  Eric Blake  <ebb9@byu.net>
16345
16346         * m4/strstr.m4: Delete cruft from copy-n-paste.
16347         Reported by Bruno Haible.
16348
16349 2008-01-10  Bruno Haible  <bruno@clisp.org>
16350
16351         Make c-strstr rely on strstr.
16352         * lib/c-strstr.c: Don't include str-kmp.h.
16353         (c_strstr): Define in terms of strstr.
16354         * modules/c-strstr (Files): Remove lib/str-kmp.h.
16355         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
16356
16357 2008-01-10  Bruno Haible  <bruno@clisp.org>
16358
16359         * doc/gnulib.texi (String Functions in C Locale): New section.
16360         * doc/c-ctype.texi: New file.
16361         * doc/c-strcase.texi: New file.
16362         * doc/c-strcaseeq.texi: New file.
16363         * doc/c-strcasestr.texi: New file.
16364         * doc/c-strstr.texi: New file.
16365         * doc/c-strtod.texi: New file.
16366         * doc/c-strtold.texi: New file.
16367
16368 2008-01-10  Eric Blake  <ebb9@byu.net>
16369
16370         * lib/relocatable.h: Fix a comment.
16371
16372 2008-01-10  Eric Blake  <ebb9@byu.net>
16373
16374         Share two-way algorithm.
16375         * lib/str-two-way.h: New file, merged from...
16376         * lib/memmem.c: ...here...
16377         * lib/strstr.c: ...and here.
16378         * modules/memmem (Files): Use it.
16379         * modules/strstr (Files): Likewise.
16380
16381         Avoid quadratic strstr implementations.
16382         * lib/strstr.c: New file.
16383         * m4/strstr.m4: Likewise.
16384         * modules/strstr: Likewise.
16385         * modules/strstr-tests: Likewise.
16386         * tests/test-strstr.c: Likewise.
16387         * lib/string.in.h (rpl_strstr): Declare.
16388         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
16389         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
16390         * modules/string (Makefile.am): Likewise.
16391         * MODULES.html.sh (string handling): Mention new module.
16392         * doc/functions/strstr.texi (strstr): Document the bug.
16393
16394 2008-01-10  Bruno Haible  <bruno@clisp.org>
16395
16396         * lib/relocatable.h (relocate): State whether result is freshly
16397         allocated or not.
16398         * lib/relocatable.c (relocate): Return a freshly allocated string
16399         instead of a pointer to a privately held string.
16400         Reported by Sylvain Beucler <beuc@gnu.org>.
16401
16402 2008-01-10  Colin Watson  <cjwatson@debian.org>
16403
16404         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
16405         s/S_ISNLK/S_ISLNK/.
16406
16407 2008-01-09  Bruno Haible  <bruno@clisp.org>
16408
16409         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
16410         and other files.
16411         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
16412         if it's only a guess.
16413         * modules/memmem: Simplify by depending on memmem-simple.
16414
16415 2008-01-09  Bruno Haible  <bruno@clisp.org>
16416
16417         Work around OpenBSD 4.0 tdelete() bug.
16418         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
16419         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
16420         macros and don't redefine the enum values.
16421         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
16422         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
16423         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
16424
16425 2008-01-09  Bruno Haible  <bruno@clisp.org>
16426
16427         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
16428         (main): Don't perform the tests if setlocale did not install a UTF-8
16429         locale. Needed on OpenBSD 4.0.
16430         * modules/wcwidth-tests (Depends-on): Add localcharset.
16431
16432 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
16433
16434         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
16435         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
16436         * NEWS: announce this.
16437         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
16438
16439 2008-01-09  Simon Josefsson  <simon@josefsson.org>
16440         and Eric Blake  <ebb9@byu.net>
16441
16442         Add memmem-simple module.
16443         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
16444         (gl_FUNC_MEMMEM): Separate performance from presence checks.
16445         * modules/memmem-simple: New file.
16446         * modules/memmem (Description): Tweak.
16447         * MODULES.html.sh (string handling): Mention new module.
16448         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
16449         addressed by memmem-simple.
16450         * NEWS: Document the difference.
16451
16452 2008-01-09  Eric Blake  <ebb9@byu.net>
16453
16454         Give gcc some memmem optimization hints.
16455         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
16456         (strcasestr): Declare as pure.
16457         * modules/memmem (Maintainer): Claim my implementation.
16458
16459 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16460
16461         Support AIX 6.1 and higher.
16462         * build-aux/config.libpath: Likewise.
16463         * build-aux/config.rpath: Likewise.
16464
16465 2008-01-08  Jim Meyering  <meyering@redhat.com>
16466             Bruno Haible  <bruno@clisp.org>
16467
16468         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
16469         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
16470         Reported by Peter Fales in
16471         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
16472
16473 2008-01-08  Bruno Haible  <bruno@clisp.org>
16474
16475         * modules/unictype/category-of (Depends-on): Add
16476         unictype/category-none.
16477         * modules/unictype/category-and-tests (Depends-on): Add
16478         unictype/category-{L,N,Lu,Nd}.
16479         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
16480         * modules/unictype/category-or-tests (Depends-on): Add
16481         unictype/category-{L,N}.
16482         * modules/unictype/category-name-tests (Depends-on): Add
16483         unictype/category-{Z,Nl}.
16484         Reported by Simon Josefsson.
16485
16486 2008-01-08  Bruno Haible  <bruno@clisp.org>
16487
16488         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
16489         convention better.
16490         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
16491         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
16492         Reported by Peter Miller <millerp@canb.auug.org.au>.
16493
16494 2008-01-08  Eric Blake  <ebb9@byu.net>
16495
16496         Rewrite memmem to guarantee linear complexity without malloc.
16497         * lib/memmem.c (memmem): Use Two-Way rather than
16498         Knuth-Morris-Pratt, to allow O(1) space usage.
16499         (critical_factorization, two_way_short_needle)
16500         (two_way_long_needle): New functions.
16501         (knuth_morris_pratt): Delete.
16502         * modules/memmem (Depends-on): No longer need malloca or stdbool.
16503         Add stdint.
16504         * tests/test-memmem.c (main): Add tests for periodic needle and
16505         sublinear performance.
16506         * doc/functions/memmem.texi (memmem): Document other deficiencies
16507         in cygwin and older glibc.
16508
16509 2008-01-08  Bruno Haible  <bruno@clisp.org>
16510
16511         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
16512         augmentation.
16513
16514 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
16515
16516         Add a configure time option: --disable-acl.
16517         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
16518         AC_ARG_ENABLE(acl).
16519
16520 2008-01-06  Simon Josefsson  <simon@josefsson.org>
16521
16522         * tests/test-localename.c: Don't include obsolete "setenv.h".
16523
16524         * modules/localename-tests (Depends-on): Need unsetenv.
16525
16526 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16527
16528         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
16529
16530 2008-01-06  Colin Watson  <cjwatson@debian.org>
16531
16532         * users.txt: Add man-db.
16533
16534 2008-01-07  Bruno Haible  <bruno@clisp.org>
16535
16536         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
16537         previous section name.
16538
16539 2008-01-07  Bruno Haible  <bruno@clisp.org>
16540
16541         * lib/progname.c (set_program_name): Don't strip off a leading
16542         "lt-" prefix outside a .libs directory.
16543         Suggested by Paul Eggert.
16544
16545 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
16546             Bruno Haible  <bruno@clisp.org>
16547
16548         Improve memory cleanup in 'relocatable' module.
16549         * lib/relocatable.h (compute_curr_prefix): Change return type to
16550         'char *'.
16551         * lib/relocatable.c (compute_curr_prefix): Change return type to
16552         'char *'. Free curr_installdir after use.
16553         (relocate): Free curr_prefix_better after use.
16554         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
16555
16556 2008-01-01  Bruno Haible  <bruno@clisp.org>
16557
16558         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
16559         failure on older glibc systems.
16560         Reported by Peter Fales <psfales@alcatel-lucent.com>.
16561
16562 2008-01-05  Eric Blake  <ebb9@byu.net>
16563
16564         Avoid quadratic system memmem.
16565         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
16566         Reported by Ralf Wildenhues.
16567
16568         Fix memmem test for mingw.
16569         * modules/memmem-tests (configure.ac): Check for alarm.
16570         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
16571         it.
16572         * doc/functions/memmem.texi: New file.
16573         * doc/gnulib.texi (Function Substitutes): Add memmem.
16574         Reported by Bruno Haible.
16575
16576 2008-01-04  Bruno Haible  <bruno@clisp.org>
16577
16578         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
16579         Require gl_HEADER_STRINGS_H_DEFAULTS, not
16580         gl_HEADER_STRING_H_DEFAULTS.
16581
16582 2008-01-04  Eric Blake  <ebb9@byu.net>
16583
16584         Shorten duration of memmem test.
16585         * tests/test-memmem.c (main): Use alarm to declare failure if test
16586         is taking too long.
16587         Reported by Ralf Wildenhues.
16588
16589 2007-12-21  Simon Josefsson  <simon@josefsson.org>
16590
16591         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
16592         string, needed by strerror.
16593
16594 2008-01-03  Colin Watson  <cjwatson@debian.org>
16595             Bruno Haible  <bruno@clisp.org>
16596
16597         * doc/gnulib-tool.texi (Localization): New section.
16598
16599 2008-01-02  Bruno Haible  <bruno@clisp.org>
16600
16601         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
16602         variables to 'unsigned char *' type.
16603         Reported by Paul Eggert.
16604
16605 2008-01-02  Jim Meyering  <jim@meyering.net>
16606
16607         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
16608
16609 2007-12-31  Jim Meyering  <jim@meyering.net>
16610
16611         Avoid use of private FTS type name.
16612         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
16613
16614 2007-12-30  Karl Berry  <karl@gnu.org>
16615
16616         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
16617         work around defect in Texinfo and/or the standalone Info browser.
16618
16619 2007-12-30  Bruno Haible  <bruno@clisp.org>
16620
16621         Unify 5 copies of the KMP code.
16622         * lib/str-kmp.h: New file.
16623         * lib/c-strcasestr.c: Include str-kmp.h.
16624         (knuth_morris_pratt): Remove function.
16625         (c_strcasestr): Update.
16626         * lib/c-strstr.c: Include str-kmp.h.
16627         (knuth_morris_pratt): Remove function.
16628         (c_strcasestr): Update.
16629         * lib/mbscasestr.c: Include str-kmp.h.
16630         (knuth_morris_pratt_unibyte): Remove function.
16631         * lib/mbsstr.c: Include str-kmp.h.
16632         (knuth_morris_pratt_unibyte): Remove function.
16633         * lib/strcasestr.c: Include str-kmp.h.
16634         (knuth_morris_pratt): Remove function.
16635         (strcasestr): Update.
16636         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
16637         * modules/c-strstr (Files): Likewise.
16638         * modules/mbscasestr (Files): Likewise.
16639         * modules/mbsstr (Files): Likewise.
16640         * modules/strcasestr (Files): Likewise.
16641         Suggested by Paul Eggert.
16642
16643 2007-12-30  Bruno Haible  <bruno@clisp.org>
16644
16645         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
16646         defined.
16647
16648 2007-12-30  Bruno Haible  <bruno@clisp.org>
16649
16650         * lib/xmalloca.h: Include xalloc.h.
16651         (xnmalloca): New macro.
16652
16653 2007-12-30  Bruno Haible  <bruno@clisp.org>
16654
16655         * lib/malloca.h (nmalloca): New macro.
16656         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
16657         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
16658         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
16659         knuth_morris_pratt_multibyte): Likewise.
16660         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
16661         knuth_morris_pratt_multibyte): Likewise.
16662         * lib/memmem.c (knuth_morris_pratt): Likewise.
16663         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
16664
16665 2007-12-25  Bruno Haible  <bruno@clisp.org>
16666
16667         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
16668         * lib/glob.c: Don't include openat.h.
16669         (link_exists2_p): Add back the code that deals with the
16670         !GLOB_ALTDIRFUNC case.
16671         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
16672         let it do the filename concatenation.
16673         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
16674         * modules/glob (Depends-on): Remove openat.
16675
16676 2007-12-31  Bruno Haible  <bruno@clisp.org>
16677
16678         * modules/dirfd (License): Change to LGPLv2+.
16679         Approved by Jim Meyering.
16680
16681 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16682
16683         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
16684         when multiplying M by sizeof (size_t).
16685
16686 2007-12-10  Martin Lambers  <marlam@marlam.de>
16687
16688         Override getpagesize on mingw.
16689         * lib/getpagesize.c: New file.
16690         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
16691         * modules/getpagesize (Files): Add lib/getpagesize.c.
16692         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
16693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16694         REPLACE_GETPAGESIZE.
16695         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
16696
16697 2007-12-25  Bruno Haible  <bruno@clisp.org>
16698
16699         * modules/localcharset (Notice): New field.
16700         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
16701         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16702
16703 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16704             Bruno Haible  <bruno@clisp.org>
16705
16706         Avoid using the syntax symbol() in formatted documentation.
16707         * MODULES.html.sh (func_module): When replacing symbol() with a
16708         hyperlink, remove the parentheses. Show an error if some remain.
16709         Recognize and render the '...' syntax.
16710         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
16711         Rework. Add paragraph about GCC's inlining.
16712         * doc/alloca.texi: Likewise.
16713         * doc/error.texi: Remove parentheses from symbol reference.
16714         * doc/gnulib-intro.texi: Likewise.
16715         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
16716         * modules/fnmatch (Description): Reword to say "the ... function".
16717         * modules/full-read (Description): Likewise.
16718         * modules/full-write (Description): Likewise.
16719         * modules/safe-read (Description): Likewise.
16720         * modules/safe-write (Description): Likewise.
16721         * modules/strchrnul (Description): Likewise.
16722         * modules/trim (Description): Likewise.
16723         * modules/error (Description): Remove parentheses from symbol
16724         references.
16725         * modules/verror (Description): Likewise.
16726         Reported by Karl Berry.
16727
16728 2007-12-25  Bruno Haible  <bruno@clisp.org>
16729
16730         Fixup after 2007-10-16 commit.
16731         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
16732
16733 2007-12-24  Bruno Haible  <bruno@clisp.org>
16734
16735         Make --enable-relocatable work with DESTDIR.
16736         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
16737         to compute installdir from destprog.
16738         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
16739         also set the RELOC_DESTDIR variable.
16740         Reported by Левашев Иван <octagram@bluebottle.com>.
16741
16742 2007-12-24  Bruno Haible  <bruno@clisp.org>
16743
16744         Fix link error due to xalloc_die().
16745         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
16746         of xreadlink.
16747         * lib/relocwrapper.c: Update comments.
16748         * build-aux/install-reloc: Remove xreadlink.c from file list.
16749         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
16750         xreadlink.c.
16751         Reported by Левашев Иван <octagram@bluebottle.com>.
16752
16753 2007-12-24  Bruno Haible  <bruno@clisp.org>
16754
16755         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
16756         * lib/setenv.h: Remove file.
16757         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
16758         lib/setenv.h.
16759         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
16760         (Depends-on): Add stdlib.
16761         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
16762         gl_FUNC_UNSETENV.
16763         (Include): Replace setenv.h with <stdlib.h>.
16764         * modules/unsetenv: New file.
16765         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
16766         * lib/unsetenv.c: Include <stdlib.h> first.
16767         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
16768         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
16769         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
16770         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
16771         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
16772         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
16773         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
16774         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
16775         * doc/functions/unsetenv.texi: Update.
16776         * modules/xsetenv (Depends-on): Add unsetenv.
16777         * modules/getdate (Depends-on): Likewise.
16778         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
16779         * lib/xsetenv.c: Don't include setenv.h.
16780         * lib/getdate.y: Likewise.
16781         * lib/relocwrapper.c: Likewise.
16782         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
16783         (Depends-on): Add stdlib.
16784         * NEWS: Mention the changes.
16785         Reported by Левашев Иван <octagram@bluebottle.com>.
16786
16787 2007-12-23  Bruno Haible  <bruno@clisp.org>
16788
16789         * lib/memmem.c (memmem): Use lowercase variable names. Tab
16790         indentation.
16791
16792 2007-12-23  Bruno Haible  <bruno@clisp.org>
16793
16794         * lib/c-strcasestr.c: Add more comments.
16795         * lib/c-strstr.c: Likewise.
16796         * lib/mbscasestr.c: Likewise.
16797         * lib/mbsstr.c: Likewise.
16798         * lib/strcasestr.c: Likewise.
16799         * lib/memmem.c: Likewise.
16800
16801 2007-12-23  Bruno Haible  <bruno@clisp.org>
16802
16803         * tests/test-memmem.c: Include <string.h> first.
16804
16805 2007-12-22  Bruno Haible  <bruno@clisp.org>
16806
16807         * gnulib-tool (func_create_testdir): Change $auxdir while generating
16808         the contents of $testsbase.
16809         Reported by Ralf Wildenhues.
16810
16811 2007-12-22  Bruno Haible  <bruno@clisp.org>
16812
16813         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
16814         two variables local_ldadd_before, local_ldadd_last.
16815
16816 2007-12-20  Eric Blake  <ebb9@byu.net>
16817
16818         Work around circular library issue when cross-compiling.
16819         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
16820         that progname.o does not need to pull in rpl_memcmp.
16821
16822 2007-12-19  Eric Blake  <ebb9@byu.net>
16823
16824         Fix memmem to avoid O(n^2) worst-case complexity.
16825         * lib/memmem.c (knuth_morris_pratt): New function.
16826         (memmem): Use it if first few naive iterations fail.
16827         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
16828         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
16829         * modules/memchr (License): Likewise.
16830         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
16831         malloca.
16832         * tests/test-memmem.c: Rewrite, borrowing ideas from
16833         test-mbsstr1.c; the old version wouldn't even compile!
16834         * modules/memmem-tests: New file.
16835         * lib/string.in.h (rpl_memmem): Add declaration.
16836         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
16837         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
16838         REPLACE_MEMMEM.
16839
16840 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
16841
16842         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
16843         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
16844         before any system include files, and undef after them all.  This
16845         should fix a problem on VMS reported by John E. Malmberg in
16846         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
16847
16848 2007-12-17  Eric Blake  <ebb9@byu.net>
16849
16850         Revert addition of verify, for BSD/OS.
16851         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
16852         can't handle large files, for the sake of obsolete platforms.
16853         * modules/fseeko (Depends-on): Remove verify.
16854         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
16855         * doc/functions/ftello.texi (ftello): Likewise.
16856         * doc/functions/fgetpos.texi (fgetpos): Likewise.
16857         Reported by Larry Jones.
16858
16859 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
16860
16861         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
16862         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
16863
16864 2007-12-17  Jim Meyering  <meyering@redhat.com>
16865
16866         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
16867         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
16868         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
16869         * modules/getcwd (Depends-on): Add openat.
16870         Reported by Petr Salinger.
16871
16872 2007-12-17  Bruno Haible  <bruno@clisp.org>
16873
16874         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
16875         avoid a segmentation fault of the configure test on x86_64 systems.
16876
16877 2007-12-15  Jim Meyering  <meyering@redhat.com>
16878
16879         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
16880
16881 2007-12-13  Eric Blake  <ebb9@byu.net>
16882
16883         Another fseek test.
16884         * tests/test-fseek.c (main): Also test ungetc handling.
16885         * tests/test-fseeko.c (main): Likewise.
16886         * modules/fseeko (Depends-on): Add verify.
16887         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
16888         large.
16889         Reported by Larry Jones.
16890
16891         Fix fseeko on mingw.
16892         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
16893         seek.
16894
16895         Beef up fseek tests.
16896         * tests/test-fseek.c (main): Also test eof handling.
16897         * tests/test-fseeko.c (main): Likewise.
16898         Reported by Larry Jones.
16899
16900 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
16901
16902         Fix fseeko on BSD-based platforms.
16903         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
16904         successful seek.
16905
16906 2007-12-12  Eric Blake  <ebb9@byu.net>
16907
16908         Allow circular dependency of separate libtests.a
16909         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
16910         when use_libtests.
16911
16912 2007-12-11  Eric Blake  <ebb9@byu.net>
16913
16914         Fix bug with -0.0L in previous patch.
16915         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
16916         * tests/test-isnan.c (main): Also test on zeroes.
16917         * tests/test-isnanf.c (main): Likewise.
16918         * tests/test-isnanl.h (main): Likewise.
16919
16920         Detect pseudo-denormals on x86 even when cross-compiling.
16921         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
16922         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
16923         invalid bit patterns that happen to satisfy ==.
16924
16925         Avoid link failures with separate libtests.a.
16926         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
16927         last, to satisfy circular dependencies.
16928
16929 2007-12-11  Eric Blake  <ebb9@byu.net>
16930         and Bruno Haible  <bruno@clisp.org>
16931
16932         Fix OpenBSD 4.0 <float.h> handling of long double.
16933         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
16934         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
16935         * doc/headers/float.texi (float.h): Document OpenBSD bug.
16936
16937 2007-12-11  Jim Meyering  <meyering@redhat.com>
16938
16939         * users.txt: Add libvirt.
16940
16941         Support versions of autoconf prior to 2.59c.
16942         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
16943         if it is not already defined.
16944
16945 2007-12-09  Bruno Haible  <bruno@clisp.org>
16946
16947         Let 'gnulib-tool --import' collect sources needed for the tests in
16948         tests/ rather than in lib/.
16949         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
16950         argument. If true, add rules to generate libtests.a, and put libtests.a
16951         into $(LDADD). Consider source files in subdirectories and set
16952         uses_subdirs.
16953         (func_emit_initmacro_start, func_emit_initmacro_end,
16954         func_emit_initmacro_done): Pass all arguments explicitly.
16955         (func_import): Determine two module lists main_modules,
16956         testsrelated_modules. Determine use_libtests. Determine two variables
16957         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
16958         instead of just sed_transform_lib_file. Determine two variables
16959         main_files and testsrelated_files. Compute 'files' as the union of
16960         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
16961         func_add_or_update. In the generated gnulib-comp.m4, collect the
16962         object files for tests/ in different variables than those for lib/.
16963         Substitute LIBTESTS_LIBDEPS.
16964         (func_create_testdir): Combine the uses_subdirs results from
16965         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
16966
16967 2007-12-09  Bruno Haible  <bruno@clisp.org>
16968
16969         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
16970         the build-aux directory.
16971
16972 2007-12-09  Bruno Haible  <bruno@clisp.org>
16973
16974         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
16975         introduced on 2006-09-09.
16976
16977 2007-12-07  Jim Meyering  <meyering@redhat.com>
16978
16979         Let these macros work also with autoconf-2.59.
16980         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
16981         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
16982         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
16983
16984 2007-12-06  Jim Meyering  <meyering@redhat.com>
16985
16986         Avoid a configure-time syntax error in gl_FUNC_ACL.
16987         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
16988         function in each branch, before testing the cache variable.
16989
16990 2007-12-04  Eric Blake  <ebb9@byu.net>
16991
16992         Make scripts executable.
16993         * build-aux/config.guess: Add execute permissions.
16994         * build-aux/config.sub: Likewise.
16995         * build-aux/gendocs.sh: Likewise.
16996
16997         Fix frexp on mingw.
16998         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
16999         cross-compiling.
17000         * doc/functions/frexp.texi (frexp): Document the bug.
17001
17002         Make cygwin fseeko check more reliable.
17003         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
17004         version numbers, rather than unrelated feature check.
17005         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
17006         * doc/functions/ftello.texi (ftello): Likewise.
17007         Reported by Bruno Haible.
17008
17009         * m4/strerror.m4: Bump version number.
17010
17011 2007-12-03  Bruno Haible  <bruno@clisp.org>
17012
17013         * doc/functions/mprotect.texi: Mention the mingw problem.
17014
17015 2007-12-03  Eric Blake  <ebb9@byu.net>
17016
17017         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
17018         REPLACE_STRERROR is initialized before this macro.
17019
17020 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
17021
17022         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
17023         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
17024         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
17025         put -lsec in even for programs other than 'ls'.  This fixes a problem
17026         for gettext reported by Bruno Haible in
17027         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
17028         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
17029         Add support for Solaris 10.  This isn't efficient, but should get the
17030         job done for now.
17031
17032 2007-12-03  James Youngman  <jay@gnu.org>
17033
17034         * doc/regexprops-generic.texi: change "an close-group" to "a
17035         close-group" and "illegal" to "not allowed".
17036
17037 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17038
17039         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
17040         pr_byname.h. Needed for the rare case when the maintainer has done
17041         "make maintainer-clean" in the source directory and then attempts a
17042         build outside the source directory.
17043         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
17044         scripts_byname.h.
17045
17046 2007-12-02  Martin Lambers <marlam@marlam.de>
17047             Bruno Haible  <bruno@clisp.org>
17048
17049         * lib/getpagesize.h: Remove file.
17050         * lib/unistd.in.h: Include declaration of getpagesize here.
17051         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
17052         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
17053         HAVE_SYS_PARAM_H.
17054         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
17055         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
17056         * modules/getpagesize (Files): Remove lib/getpagesize.h.
17057         (Depends-on): Add unistd.
17058         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17059         (Include): Use <unistd.h> instead of getpagesize.h.
17060         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
17061         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
17062         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
17063         gl_GETPAGESIZE invocation, already handled by module dependency.
17064         * lib/pagealign_alloc.c: Don't include getpagesize.h.
17065
17066 2007-12-02  Bruno Haible  <bruno@clisp.org>
17067
17068         * modules/strings-tests: New file.
17069         * tests/test-strings.c: New file.
17070
17071         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
17072         * lib/strings.in.h: New file.
17073         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
17074         * m4/strings_h.m4: New file.
17075         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
17076         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
17077         * modules/strings: New file.
17078         * modules/string (Makefile.am): Update.
17079         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
17080         Reported by Karl Berry.
17081
17082 2007-12-01  Eric Blake  <ebb9@byu.net>
17083
17084         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
17085         accomodate fix in cygwin 1.5.25.
17086
17087 2007-12-01  Jim Meyering  <meyering@redhat.com>
17088
17089         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
17090         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
17091         that would inhibit utf8-optimization of a regexp containing line-
17092         or buffer-anchors, e.g., `^', `$'.
17093
17094 2007-11-30  Bruno Haible  <bruno@clisp.org>
17095
17096         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
17097         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
17098         glthread_recursive_lock_init.
17099         * lib/lock.c (glthread_recursive_lock_init)
17100         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
17101         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17102
17103 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17104
17105         New function qset_acl, like set_acl but with syscall semantics.
17106         * lib/acl.h (qset_acl): New decl.
17107         * lib/acl.c (qset_acl): New function.
17108         (set_acl): Use new function.  Use more-consistent diagnostics.
17109
17110 2007-11-28  Jim Meyering  <meyering@redhat.com>
17111
17112         * modules/physmem (License): Change from GPL to LGPLv2+.
17113
17114 2007-11-26  Bruno Haible  <bruno@clisp.org>
17115
17116         * lib/vasnprintf.c (decode_long_double): Don't abort if the
17117         'long double' type has excess precision.
17118         Reported by Jim Meyering in
17119         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
17120
17121 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17122
17123         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
17124         Sync from <http://gnu.org/licenses>.
17125         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
17126         with license text from same location.
17127         * doc/maintain.texi, doc/standards.texi:  Sync from
17128         <http://savannah.gnu.org/projects/gnustandards>.
17129
17130 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
17131         and Jim Meyering  <meyering@redhat.com>
17132
17133         Adjust getdate' grammar to accept a slightly more regular language.
17134         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
17135         Before, the former was rejected.
17136         * lib/getdate.y (digits_to_date_time): New function, factored
17137         out of ...
17138         (number): ...here.  Just call digits_to_date_time.
17139         (hybrid): New non-terminal to handle an <unsigned number,
17140         signed relative offset> sequence consistently.
17141
17142 2007-11-18  Jim Meyering  <meyering@redhat.com>
17143
17144         Pull my changes from coreutils:
17145         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
17146         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
17147         use of $gnulib_tool_option_extras, so that it's separated from the
17148         preceding argument.
17149
17150         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
17151         * build-aux/bootstrap (cp_mark_as_generated): Create any required
17152         parent destination directories before copying a file into place.
17153
17154 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
17155
17156         bootstrap: work also with 4-argument variant of AC_INIT
17157         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
17158
17159 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
17160
17161         Port test-getaddrinfo to Solaris.
17162         Problem reported by Bruno Haible in
17163         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
17164         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
17165         explanation of setting 'hints'.
17166         Don't reject an implementation merely because it returns EAI_SERVICE.
17167         (EAI_SERVICE): Define to 0 if not defined.
17168
17169 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
17170
17171         The license of gnu-make and posix-shell is now "GPLed build tool".
17172         * modules/gnu-make (License): Likewise.
17173         * modules/posix-shell (License): Likewise.
17174
17175         New module posix-shell, for determining a POSIX shell
17176         or perhaps something that is close enough to a POSIX shell.
17177         * m4/posix-shell.m4: New file.
17178         * modules/posix-shell: New file.
17179
17180         * MODULES.html.sh: Mention new module.
17181
17182         New module gnu-make, for determining whether we're using GNU Make.
17183         * m4/gnu-make.m4: New file.
17184         * modules/gnu-make: New file.
17185         * MODULES.html.sh: Mention new module.
17186
17187 2007-11-14  Jim Meyering  <meyering@redhat.com>
17188
17189         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
17190         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
17191         use this macro to create a function _definition_.
17192         Remove useless "#undef ARGMATCH_DIE".
17193
17194 2007-11-14  Bruno Haible  <bruno@clisp.org>
17195
17196         * lib/config.charset: Update for OpenBSD 4.1.
17197         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
17198
17199 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
17200
17201         Document 64-bit #if problems in stdint.texi.
17202         * doc/headers/stdint.texi (stdint.h): Mention problems with
17203         64-bit-#if, and how to work around them.
17204
17205         Don't insist on 'long long int' support in the preprocessor.  It
17206         breaks too many things.  For example, PRIdMAX still uses a 'long
17207         long int' format with the latest Sun compiler, even though
17208         HAVE_LONG_LONG_INT isn't defined due to that compiler's
17209         preprocessor problem.  This causes the latest coreutils to dump
17210         core on Solaris 10 sparc with the Sun C compiler.
17211         Instead, fix the 2007-10-16 problem in a different way, by evaluating
17212         the troublesome expressions at configure-time, not at #if-time.
17213         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
17214         preprocessor.
17215         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
17216         compile-time C checks, done at 'configure'-time.
17217         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
17218         * modules/inttypes (Makefile): Substitute the new symbols that
17219         gl_INTTYPES_H now generates.
17220         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
17221
17222 2007-11-12  Bruno Haible  <bruno@clisp.org>
17223
17224         Tests for Unicode character classification functions.
17225
17226         * modules/unictype/bidicategory-byname-tests: New file.
17227         * modules/unictype/bidicategory-name-tests: New file.
17228         * modules/unictype/bidicategory-of-tests: New file.
17229         * modules/unictype/bidicategory-test-tests: New file.
17230         * modules/unictype/block-list-tests: New file.
17231         * modules/unictype/block-of-tests: New file.
17232         * modules/unictype/block-test-tests: New file.
17233         * modules/unictype/category-C-tests: New file.
17234         * modules/unictype/category-Cc-tests: New file.
17235         * modules/unictype/category-Cf-tests: New file.
17236         * modules/unictype/category-Cn-tests: New file.
17237         * modules/unictype/category-Co-tests: New file.
17238         * modules/unictype/category-Cs-tests: New file.
17239         * modules/unictype/category-L-tests: New file.
17240         * modules/unictype/category-Ll-tests: New file.
17241         * modules/unictype/category-Lm-tests: New file.
17242         * modules/unictype/category-Lo-tests: New file.
17243         * modules/unictype/category-Lt-tests: New file.
17244         * modules/unictype/category-Lu-tests: New file.
17245         * modules/unictype/category-M-tests: New file.
17246         * modules/unictype/category-Mc-tests: New file.
17247         * modules/unictype/category-Me-tests: New file.
17248         * modules/unictype/category-Mn-tests: New file.
17249         * modules/unictype/category-N-tests: New file.
17250         * modules/unictype/category-Nd-tests: New file.
17251         * modules/unictype/category-Nl-tests: New file.
17252         * modules/unictype/category-No-tests: New file.
17253         * modules/unictype/category-P-tests: New file.
17254         * modules/unictype/category-Pc-tests: New file.
17255         * modules/unictype/category-Pd-tests: New file.
17256         * modules/unictype/category-Pe-tests: New file.
17257         * modules/unictype/category-Pf-tests: New file.
17258         * modules/unictype/category-Pi-tests: New file.
17259         * modules/unictype/category-Po-tests: New file.
17260         * modules/unictype/category-Ps-tests: New file.
17261         * modules/unictype/category-S-tests: New file.
17262         * modules/unictype/category-Sc-tests: New file.
17263         * modules/unictype/category-Sk-tests: New file.
17264         * modules/unictype/category-Sm-tests: New file.
17265         * modules/unictype/category-So-tests: New file.
17266         * modules/unictype/category-Z-tests: New file.
17267         * modules/unictype/category-Zl-tests: New file.
17268         * modules/unictype/category-Zp-tests: New file.
17269         * modules/unictype/category-Zs-tests: New file.
17270         * modules/unictype/category-and-not-tests: New file.
17271         * modules/unictype/category-and-tests: New file.
17272         * modules/unictype/category-byname-tests: New file.
17273         * modules/unictype/category-name-tests: New file.
17274         * modules/unictype/category-none-tests: New file.
17275         * modules/unictype/category-of-tests: New file.
17276         * modules/unictype/category-or-tests: New file.
17277         * modules/unictype/category-test-withtable-tests: New file.
17278         * modules/unictype/combining-class-tests: New file.
17279         * modules/unictype/ctype-alnum-tests: New file.
17280         * modules/unictype/ctype-alpha-tests: New file.
17281         * modules/unictype/ctype-blank-tests: New file.
17282         * modules/unictype/ctype-cntrl-tests: New file.
17283         * modules/unictype/ctype-digit-tests: New file.
17284         * modules/unictype/ctype-graph-tests: New file.
17285         * modules/unictype/ctype-lower-tests: New file.
17286         * modules/unictype/ctype-print-tests: New file.
17287         * modules/unictype/ctype-punct-tests: New file.
17288         * modules/unictype/ctype-space-tests: New file.
17289         * modules/unictype/ctype-upper-tests: New file.
17290         * modules/unictype/ctype-xdigit-tests: New file.
17291         * modules/unictype/decimal-digit-tests: New file.
17292         * modules/unictype/digit-tests: New file.
17293         * modules/unictype/mirror-tests: New file.
17294         * modules/unictype/numeric-tests: New file.
17295         * modules/unictype/property-alphabetic-tests: New file.
17296         * modules/unictype/property-ascii-hex-digit-tests: New file.
17297         * modules/unictype/property-bidi-arabic-digit-tests: New file.
17298         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
17299         * modules/unictype/property-bidi-block-separator-tests: New file.
17300         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
17301         * modules/unictype/property-bidi-common-separator-tests: New file.
17302         * modules/unictype/property-bidi-control-tests: New file.
17303         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
17304         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
17305         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
17306         * modules/unictype/property-bidi-european-digit-tests: New file.
17307         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
17308         * modules/unictype/property-bidi-left-to-right-tests: New file.
17309         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
17310         * modules/unictype/property-bidi-other-neutral-tests: New file.
17311         * modules/unictype/property-bidi-pdf-tests: New file.
17312         * modules/unictype/property-bidi-segment-separator-tests: New file.
17313         * modules/unictype/property-bidi-whitespace-tests: New file.
17314         * modules/unictype/property-byname-tests: New file.
17315         * modules/unictype/property-combining-tests: New file.
17316         * modules/unictype/property-composite-tests: New file.
17317         * modules/unictype/property-currency-symbol-tests: New file.
17318         * modules/unictype/property-dash-tests: New file.
17319         * modules/unictype/property-decimal-digit-tests: New file.
17320         * modules/unictype/property-default-ignorable-code-point-tests: New file.
17321         * modules/unictype/property-deprecated-tests: New file.
17322         * modules/unictype/property-diacritic-tests: New file.
17323         * modules/unictype/property-extender-tests: New file.
17324         * modules/unictype/property-format-control-tests: New file.
17325         * modules/unictype/property-grapheme-base-tests: New file.
17326         * modules/unictype/property-grapheme-extend-tests: New file.
17327         * modules/unictype/property-grapheme-link-tests: New file.
17328         * modules/unictype/property-hex-digit-tests: New file.
17329         * modules/unictype/property-hyphen-tests: New file.
17330         * modules/unictype/property-id-continue-tests: New file.
17331         * modules/unictype/property-id-start-tests: New file.
17332         * modules/unictype/property-ideographic-tests: New file.
17333         * modules/unictype/property-ids-binary-operator-tests: New file.
17334         * modules/unictype/property-ids-trinary-operator-tests: New file.
17335         * modules/unictype/property-ignorable-control-tests: New file.
17336         * modules/unictype/property-iso-control-tests: New file.
17337         * modules/unictype/property-join-control-tests: New file.
17338         * modules/unictype/property-left-of-pair-tests: New file.
17339         * modules/unictype/property-line-separator-tests: New file.
17340         * modules/unictype/property-logical-order-exception-tests: New file.
17341         * modules/unictype/property-lowercase-tests: New file.
17342         * modules/unictype/property-math-tests: New file.
17343         * modules/unictype/property-non-break-tests: New file.
17344         * modules/unictype/property-not-a-character-tests: New file.
17345         * modules/unictype/property-numeric-tests: New file.
17346         * modules/unictype/property-other-alphabetic-tests: New file.
17347         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
17348         * modules/unictype/property-other-grapheme-extend-tests: New file.
17349         * modules/unictype/property-other-id-continue-tests: New file.
17350         * modules/unictype/property-other-id-start-tests: New file.
17351         * modules/unictype/property-other-lowercase-tests: New file.
17352         * modules/unictype/property-other-math-tests: New file.
17353         * modules/unictype/property-other-uppercase-tests: New file.
17354         * modules/unictype/property-paired-punctuation-tests: New file.
17355         * modules/unictype/property-paragraph-separator-tests: New file.
17356         * modules/unictype/property-pattern-syntax-tests: New file.
17357         * modules/unictype/property-pattern-white-space-tests: New file.
17358         * modules/unictype/property-private-use-tests: New file.
17359         * modules/unictype/property-punctuation-tests: New file.
17360         * modules/unictype/property-quotation-mark-tests: New file.
17361         * modules/unictype/property-radical-tests: New file.
17362         * modules/unictype/property-sentence-terminal-tests: New file.
17363         * modules/unictype/property-soft-dotted-tests: New file.
17364         * modules/unictype/property-space-tests: New file.
17365         * modules/unictype/property-terminal-punctuation-tests: New file.
17366         * modules/unictype/property-test-tests: New file.
17367         * modules/unictype/property-titlecase-tests: New file.
17368         * modules/unictype/property-unassigned-code-value-tests: New file.
17369         * modules/unictype/property-unified-ideograph-tests: New file.
17370         * modules/unictype/property-uppercase-tests: New file.
17371         * modules/unictype/property-variation-selector-tests: New file.
17372         * modules/unictype/property-white-space-tests: New file.
17373         * modules/unictype/property-xid-continue-tests: New file.
17374         * modules/unictype/property-xid-start-tests: New file.
17375         * modules/unictype/property-zero-width-tests: New file.
17376         * modules/unictype/scripts-tests: New file.
17377         * modules/unictype/syntax-c-ident-tests: New file.
17378         * modules/unictype/syntax-c-whitespace-tests: New file.
17379         * modules/unictype/syntax-java-ident-tests: New file.
17380         * modules/unictype/syntax-java-whitespace-tests: New file.
17381         * tests/unictype/test-bidi_byname.c: New file.
17382         * tests/unictype/test-bidi_name.c: New file.
17383         * tests/unictype/test-bidi_of.c: New file.
17384         * tests/unictype/test-bidi_test.c: New file.
17385         * tests/unictype/test-block_list.c: New file.
17386         * tests/unictype/test-block_of.c: New file.
17387         * tests/unictype/test-block_test.c: New file.
17388         * tests/unictype/test-categ_and.c: New file.
17389         * tests/unictype/test-categ_and_not.c: New file.
17390         * tests/unictype/test-categ_byname.c: New file.
17391         * tests/unictype/test-categ_name.c: New file.
17392         * tests/unictype/test-categ_none.c: New file.
17393         * tests/unictype/test-categ_of.c: New file.
17394         * tests/unictype/test-categ_or.c: New file.
17395         * tests/unictype/test-categ_test_withtable.c: New file.
17396         * tests/unictype/test-combining.c: New file.
17397         * tests/unictype/test-decdigit.c: New file.
17398         * tests/unictype/test-digit.c: New file.
17399         * tests/unictype/test-mirror.c: New file.
17400         * tests/unictype/test-numeric.c: New file.
17401         * tests/unictype/test-pr_byname.c: New file.
17402         * tests/unictype/test-pr_test.c: New file.
17403         * tests/unictype/test-predicate-part1.h: New file.
17404         * tests/unictype/test-predicate-part2.h: New file.
17405         * tests/unictype/test-scripts.c: New file.
17406         * tests/unictype/test-sy_c_ident.c: New file.
17407         * tests/unictype/test-sy_java_ident.c: New file.
17408
17409         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
17410         for Unicode 5.0.0.
17411         * tests/unictype/test-categ_Cc.c: Likewise.
17412         * tests/unictype/test-categ_Cf.c: Likewise.
17413         * tests/unictype/test-categ_Cn.c: Likewise.
17414         * tests/unictype/test-categ_Co.c: Likewise.
17415         * tests/unictype/test-categ_Cs.c: Likewise.
17416         * tests/unictype/test-categ_L.c: Likewise.
17417         * tests/unictype/test-categ_Ll.c: Likewise.
17418         * tests/unictype/test-categ_Lm.c: Likewise.
17419         * tests/unictype/test-categ_Lo.c: Likewise.
17420         * tests/unictype/test-categ_Lt.c: Likewise.
17421         * tests/unictype/test-categ_Lu.c: Likewise.
17422         * tests/unictype/test-categ_M.c: Likewise.
17423         * tests/unictype/test-categ_Mc.c: Likewise.
17424         * tests/unictype/test-categ_Me.c: Likewise.
17425         * tests/unictype/test-categ_Mn.c: Likewise.
17426         * tests/unictype/test-categ_N.c: Likewise.
17427         * tests/unictype/test-categ_Nd.c: Likewise.
17428         * tests/unictype/test-categ_Nl.c: Likewise.
17429         * tests/unictype/test-categ_No.c: Likewise.
17430         * tests/unictype/test-categ_P.c: Likewise.
17431         * tests/unictype/test-categ_Pc.c: Likewise.
17432         * tests/unictype/test-categ_Pd.c: Likewise.
17433         * tests/unictype/test-categ_Pe.c: Likewise.
17434         * tests/unictype/test-categ_Pf.c: Likewise.
17435         * tests/unictype/test-categ_Pi.c: Likewise.
17436         * tests/unictype/test-categ_Po.c: Likewise.
17437         * tests/unictype/test-categ_Ps.c: Likewise.
17438         * tests/unictype/test-categ_S.c: Likewise.
17439         * tests/unictype/test-categ_Sc.c: Likewise.
17440         * tests/unictype/test-categ_Sk.c: Likewise.
17441         * tests/unictype/test-categ_Sm.c: Likewise.
17442         * tests/unictype/test-categ_So.c: Likewise.
17443         * tests/unictype/test-categ_Z.c: Likewise.
17444         * tests/unictype/test-categ_Zl.c: Likewise.
17445         * tests/unictype/test-categ_Zp.c: Likewise.
17446         * tests/unictype/test-categ_Zs.c: Likewise.
17447         * tests/unictype/test-ctype_alnum.c: Likewise.
17448         * tests/unictype/test-ctype_alpha.c: Likewise.
17449         * tests/unictype/test-ctype_blank.c: Likewise.
17450         * tests/unictype/test-ctype_cntrl.c: Likewise.
17451         * tests/unictype/test-ctype_digit.c: Likewise.
17452         * tests/unictype/test-ctype_graph.c: Likewise.
17453         * tests/unictype/test-ctype_lower.c: Likewise.
17454         * tests/unictype/test-ctype_print.c: Likewise.
17455         * tests/unictype/test-ctype_punct.c: Likewise.
17456         * tests/unictype/test-ctype_space.c: Likewise.
17457         * tests/unictype/test-ctype_upper.c: Likewise.
17458         * tests/unictype/test-ctype_xdigit.c: Likewise.
17459         * tests/unictype/test-decdigit.h: Likewise.
17460         * tests/unictype/test-digit.h: Likewise.
17461         * tests/unictype/test-numeric.h: Likewise.
17462         * tests/unictype/test-pr_alphabetic.c: Likewise.
17463         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
17464         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
17465         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
17466         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
17467         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
17468         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
17469         * tests/unictype/test-pr_bidi_control.c: Likewise.
17470         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
17471         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
17472         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
17473         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
17474         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
17475         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
17476         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
17477         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
17478         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
17479         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
17480         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
17481         * tests/unictype/test-pr_combining.c: Likewise.
17482         * tests/unictype/test-pr_composite.c: Likewise.
17483         * tests/unictype/test-pr_currency_symbol.c: Likewise.
17484         * tests/unictype/test-pr_dash.c: Likewise.
17485         * tests/unictype/test-pr_decimal_digit.c: Likewise.
17486         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
17487         * tests/unictype/test-pr_deprecated.c: Likewise.
17488         * tests/unictype/test-pr_diacritic.c: Likewise.
17489         * tests/unictype/test-pr_extender.c: Likewise.
17490         * tests/unictype/test-pr_format_control.c: Likewise.
17491         * tests/unictype/test-pr_grapheme_base.c: Likewise.
17492         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
17493         * tests/unictype/test-pr_grapheme_link.c: Likewise.
17494         * tests/unictype/test-pr_hex_digit.c: Likewise.
17495         * tests/unictype/test-pr_hyphen.c: Likewise.
17496         * tests/unictype/test-pr_id_continue.c: Likewise.
17497         * tests/unictype/test-pr_id_start.c: Likewise.
17498         * tests/unictype/test-pr_ideographic.c: Likewise.
17499         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
17500         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
17501         * tests/unictype/test-pr_ignorable_control.c: Likewise.
17502         * tests/unictype/test-pr_iso_control.c: Likewise.
17503         * tests/unictype/test-pr_join_control.c: Likewise.
17504         * tests/unictype/test-pr_left_of_pair.c: Likewise.
17505         * tests/unictype/test-pr_line_separator.c: Likewise.
17506         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
17507         * tests/unictype/test-pr_lowercase.c: Likewise.
17508         * tests/unictype/test-pr_math.c: Likewise.
17509         * tests/unictype/test-pr_non_break.c: Likewise.
17510         * tests/unictype/test-pr_not_a_character.c: Likewise.
17511         * tests/unictype/test-pr_numeric.c: Likewise.
17512         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
17513         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
17514         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
17515         * tests/unictype/test-pr_other_id_continue.c: Likewise.
17516         * tests/unictype/test-pr_other_id_start.c: Likewise.
17517         * tests/unictype/test-pr_other_lowercase.c: Likewise.
17518         * tests/unictype/test-pr_other_math.c: Likewise.
17519         * tests/unictype/test-pr_other_uppercase.c: Likewise.
17520         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
17521         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
17522         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
17523         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
17524         * tests/unictype/test-pr_private_use.c: Likewise.
17525         * tests/unictype/test-pr_punctuation.c: Likewise.
17526         * tests/unictype/test-pr_quotation_mark.c: Likewise.
17527         * tests/unictype/test-pr_radical.c: Likewise.
17528         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
17529         * tests/unictype/test-pr_soft_dotted.c: Likewise.
17530         * tests/unictype/test-pr_space.c: Likewise.
17531         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
17532         * tests/unictype/test-pr_titlecase.c: Likewise.
17533         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
17534         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
17535         * tests/unictype/test-pr_uppercase.c: Likewise.
17536         * tests/unictype/test-pr_variation_selector.c: Likewise.
17537         * tests/unictype/test-pr_white_space.c: Likewise.
17538         * tests/unictype/test-pr_xid_continue.c: Likewise.
17539         * tests/unictype/test-pr_xid_start.c: Likewise.
17540         * tests/unictype/test-pr_zero_width.c: Likewise.
17541         * tests/unictype/test-sy_c_whitespace.c: Likewise.
17542         * tests/unictype/test-sy_java_whitespace.c: Likewise.
17543
17544 2007-11-12  Bruno Haible  <bruno@clisp.org>
17545
17546         Unicode character classification functions.
17547         * lib/unictype.h: New file.
17548         * modules/unictype/base: New file.
17549         * modules/unictype/category-L: New file.
17550         * modules/unictype/category-Lu: New file.
17551         * modules/unictype/category-Ll: New file.
17552         * modules/unictype/category-Lt: New file.
17553         * modules/unictype/category-Lm: New file.
17554         * modules/unictype/category-Lo: New file.
17555         * modules/unictype/category-M: New file.
17556         * modules/unictype/category-Mn: New file.
17557         * modules/unictype/category-Mc: New file.
17558         * modules/unictype/category-Me: New file.
17559         * modules/unictype/category-N: New file.
17560         * modules/unictype/category-Nd: New file.
17561         * modules/unictype/category-Nl: New file.
17562         * modules/unictype/category-No: New file.
17563         * modules/unictype/category-P: New file.
17564         * modules/unictype/category-Pc: New file.
17565         * modules/unictype/category-Pd: New file.
17566         * modules/unictype/category-Ps: New file.
17567         * modules/unictype/category-Pe: New file.
17568         * modules/unictype/category-Pi: New file.
17569         * modules/unictype/category-Pf: New file.
17570         * modules/unictype/category-Po: New file.
17571         * modules/unictype/category-S: New file.
17572         * modules/unictype/category-Sm: New file.
17573         * modules/unictype/category-Sc: New file.
17574         * modules/unictype/category-Sk: New file.
17575         * modules/unictype/category-So: New file.
17576         * modules/unictype/category-Z: New file.
17577         * modules/unictype/category-Zs: New file.
17578         * modules/unictype/category-Zl: New file.
17579         * modules/unictype/category-Zp: New file.
17580         * modules/unictype/category-C: New file.
17581         * modules/unictype/category-Cc: New file.
17582         * modules/unictype/category-Cf: New file.
17583         * modules/unictype/category-Cs: New file.
17584         * modules/unictype/category-Co: New file.
17585         * modules/unictype/category-Cn: New file.
17586         * modules/unictype/category-or: New file.
17587         * modules/unictype/category-of: New file.
17588         * modules/unictype/category-test: New file.
17589         * modules/unictype/category-test-withtable: New file.
17590         * modules/unictype/category-byname: New file.
17591         * modules/unictype/category-none: New file.
17592         * modules/unictype/category-and: New file.
17593         * modules/unictype/category-and-not: New file.
17594         * modules/unictype/category-name: New file.
17595         * modules/unictype/combining-class: New file.
17596         * modules/unictype/category-all: New file.
17597         * modules/unictype/bidicategory-all: New file.
17598         * modules/unictype/bidicategory-byname: New file.
17599         * modules/unictype/bidicategory-name: New file.
17600         * modules/unictype/bidicategory-of: New file.
17601         * modules/unictype/bidicategory-test: New file.
17602         * modules/unictype/decimal-digit: New file.
17603         * modules/unictype/digit: New file.
17604         * modules/unictype/numeric: New file.
17605         * modules/unictype/mirror: New file.
17606         * modules/unictype/property-white-space: New file.
17607         * modules/unictype/property-alphabetic: New file.
17608         * modules/unictype/property-other-alphabetic: New file.
17609         * modules/unictype/property-not-a-character: New file.
17610         * modules/unictype/property-default-ignorable-code-point: New file.
17611         * modules/unictype/property-other-default-ignorable-code-point: New
17612         file.
17613         * modules/unictype/property-deprecated: New file.
17614         * modules/unictype/property-logical-order-exception: New file.
17615         * modules/unictype/property-variation-selector: New file.
17616         * modules/unictype/property-private-use: New file.
17617         * modules/unictype/property-unassigned-code-value: New file.
17618         * modules/unictype/property-uppercase: New file.
17619         * modules/unictype/property-other-uppercase: New file.
17620         * modules/unictype/property-lowercase: New file.
17621         * modules/unictype/property-other-lowercase: New file.
17622         * modules/unictype/property-titlecase: New file.
17623         * modules/unictype/property-soft-dotted: New file.
17624         * modules/unictype/property-id-start: New file.
17625         * modules/unictype/property-other-id-start: New file.
17626         * modules/unictype/property-id-continue: New file.
17627         * modules/unictype/property-other-id-continue: New file.
17628         * modules/unictype/property-xid-start: New file.
17629         * modules/unictype/property-xid-continue: New file.
17630         * modules/unictype/property-pattern-white-space: New file.
17631         * modules/unictype/property-pattern-syntax: New file.
17632         * modules/unictype/property-join-control: New file.
17633         * modules/unictype/property-grapheme-base: New file.
17634         * modules/unictype/property-grapheme-extend: New file.
17635         * modules/unictype/property-other-grapheme-extend: New file.
17636         * modules/unictype/property-grapheme-link: New file.
17637         * modules/unictype/property-bidi-control: New file.
17638         * modules/unictype/property-bidi-left-to-right: New file.
17639         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
17640         * modules/unictype/property-bidi-arabic-right-to-left: New file.
17641         * modules/unictype/property-bidi-european-digit: New file.
17642         * modules/unictype/property-bidi-eur-num-separator: New file.
17643         * modules/unictype/property-bidi-eur-num-terminator: New file.
17644         * modules/unictype/property-bidi-arabic-digit: New file.
17645         * modules/unictype/property-bidi-common-separator: New file.
17646         * modules/unictype/property-bidi-block-separator: New file.
17647         * modules/unictype/property-bidi-segment-separator: New file.
17648         * modules/unictype/property-bidi-whitespace: New file.
17649         * modules/unictype/property-bidi-non-spacing-mark: New file.
17650         * modules/unictype/property-bidi-boundary-neutral: New file.
17651         * modules/unictype/property-bidi-pdf: New file.
17652         * modules/unictype/property-bidi-embedding-or-override: New file.
17653         * modules/unictype/property-bidi-other-neutral: New file.
17654         * modules/unictype/property-hex-digit: New file.
17655         * modules/unictype/property-ascii-hex-digit: New file.
17656         * modules/unictype/property-ideographic: New file.
17657         * modules/unictype/property-unified-ideograph: New file.
17658         * modules/unictype/property-radical: New file.
17659         * modules/unictype/property-ids-binary-operator: New file.
17660         * modules/unictype/property-ids-trinary-operator: New file.
17661         * modules/unictype/property-zero-width: New file.
17662         * modules/unictype/property-space: New file.
17663         * modules/unictype/property-non-break: New file.
17664         * modules/unictype/property-iso-control: New file.
17665         * modules/unictype/property-format-control: New file.
17666         * modules/unictype/property-dash: New file.
17667         * modules/unictype/property-hyphen: New file.
17668         * modules/unictype/property-punctuation: New file.
17669         * modules/unictype/property-line-separator: New file.
17670         * modules/unictype/property-paragraph-separator: New file.
17671         * modules/unictype/property-quotation-mark: New file.
17672         * modules/unictype/property-sentence-terminal: New file.
17673         * modules/unictype/property-terminal-punctuation: New file.
17674         * modules/unictype/property-currency-symbol: New file.
17675         * modules/unictype/property-math: New file.
17676         * modules/unictype/property-other-math: New file.
17677         * modules/unictype/property-paired-punctuation: New file.
17678         * modules/unictype/property-left-of-pair: New file.
17679         * modules/unictype/property-combining: New file.
17680         * modules/unictype/property-composite: New file.
17681         * modules/unictype/property-decimal-digit: New file.
17682         * modules/unictype/property-numeric: New file.
17683         * modules/unictype/property-diacritic: New file.
17684         * modules/unictype/property-extender: New file.
17685         * modules/unictype/property-ignorable-control: New file.
17686         * modules/unictype/property-test: New file.
17687         * modules/unictype/property-byname: New file.
17688         * modules/unictype/property-all: New file.
17689         * modules/unictype/scripts: New file.
17690         * modules/unictype/scripts-all: New file.
17691         * modules/unictype/block-of: New file.
17692         * modules/unictype/block-test: New file.
17693         * modules/unictype/block-list: New file.
17694         * modules/unictype/block-all: New file.
17695         * modules/unictype/syntax-c-whitespace: New file.
17696         * modules/unictype/syntax-java-whitespace: New file.
17697         * modules/unictype/syntax-c-ident: New file.
17698         * modules/unictype/syntax-java-ident: New file.
17699         * modules/unictype/ctype-alnum: New file.
17700         * modules/unictype/ctype-alpha: New file.
17701         * modules/unictype/ctype-cntrl: New file.
17702         * modules/unictype/ctype-digit: New file.
17703         * modules/unictype/ctype-graph: New file.
17704         * modules/unictype/ctype-lower: New file.
17705         * modules/unictype/ctype-print: New file.
17706         * modules/unictype/ctype-punct: New file.
17707         * modules/unictype/ctype-space: New file.
17708         * modules/unictype/ctype-upper: New file.
17709         * modules/unictype/ctype-xdigit: New file.
17710         * modules/unictype/ctype-blank: New file.
17711         * lib/unictype/bidi_byname.c: New file.
17712         * lib/unictype/bidi_name.c: New file.
17713         * lib/unictype/bidi_of.c: New file.
17714         * lib/unictype/bidi_test.c: New file.
17715         * lib/unictype/bitmap.h: New file.
17716         * lib/unictype/block_test.c: New file.
17717         * lib/unictype/blocks.c: New file.
17718         * lib/unictype/categ_C.c: New file.
17719         * lib/unictype/categ_Cc.c: New file.
17720         * lib/unictype/categ_Cf.c: New file.
17721         * lib/unictype/categ_Cn.c: New file.
17722         * lib/unictype/categ_Co.c: New file.
17723         * lib/unictype/categ_Cs.c: New file.
17724         * lib/unictype/categ_L.c: New file.
17725         * lib/unictype/categ_Ll.c: New file.
17726         * lib/unictype/categ_Lm.c: New file.
17727         * lib/unictype/categ_Lo.c: New file.
17728         * lib/unictype/categ_Lt.c: New file.
17729         * lib/unictype/categ_Lu.c: New file.
17730         * lib/unictype/categ_M.c: New file.
17731         * lib/unictype/categ_Mc.c: New file.
17732         * lib/unictype/categ_Me.c: New file.
17733         * lib/unictype/categ_Mn.c: New file.
17734         * lib/unictype/categ_N.c: New file.
17735         * lib/unictype/categ_Nd.c: New file.
17736         * lib/unictype/categ_Nl.c: New file.
17737         * lib/unictype/categ_No.c: New file.
17738         * lib/unictype/categ_P.c: New file.
17739         * lib/unictype/categ_Pc.c: New file.
17740         * lib/unictype/categ_Pd.c: New file.
17741         * lib/unictype/categ_Pe.c: New file.
17742         * lib/unictype/categ_Pf.c: New file.
17743         * lib/unictype/categ_Pi.c: New file.
17744         * lib/unictype/categ_Po.c: New file.
17745         * lib/unictype/categ_Ps.c: New file.
17746         * lib/unictype/categ_S.c: New file.
17747         * lib/unictype/categ_Sc.c: New file.
17748         * lib/unictype/categ_Sk.c: New file.
17749         * lib/unictype/categ_Sm.c: New file.
17750         * lib/unictype/categ_So.c: New file.
17751         * lib/unictype/categ_Z.c: New file.
17752         * lib/unictype/categ_Zl.c: New file.
17753         * lib/unictype/categ_Zp.c: New file.
17754         * lib/unictype/categ_Zs.c: New file.
17755         * lib/unictype/categ_and.c: New file.
17756         * lib/unictype/categ_and_not.c: New file.
17757         * lib/unictype/categ_byname.c: New file.
17758         * lib/unictype/categ_name.c: New file.
17759         * lib/unictype/categ_none.c: New file.
17760         * lib/unictype/categ_of.c: New file.
17761         * lib/unictype/categ_or.c: New file.
17762         * lib/unictype/categ_test.c: New file.
17763         * lib/unictype/combining.c: New file.
17764         * lib/unictype/ctype_alnum.c: New file.
17765         * lib/unictype/ctype_alpha.c: New file.
17766         * lib/unictype/ctype_blank.c: New file.
17767         * lib/unictype/ctype_cntrl.c: New file.
17768         * lib/unictype/ctype_digit.c: New file.
17769         * lib/unictype/ctype_graph.c: New file.
17770         * lib/unictype/ctype_lower.c: New file.
17771         * lib/unictype/ctype_print.c: New file.
17772         * lib/unictype/ctype_punct.c: New file.
17773         * lib/unictype/ctype_space.c: New file.
17774         * lib/unictype/ctype_upper.c: New file.
17775         * lib/unictype/ctype_xdigit.c: New file.
17776         * lib/unictype/decdigit.c: New file.
17777         * lib/unictype/digit.c: New file.
17778         * lib/unictype/identsyntaxmap.h: New file.
17779         * lib/unictype/mirror.c: New file.
17780         * lib/unictype/numeric.c: New file.
17781         * lib/unictype/pr_alphabetic.c: New file.
17782         * lib/unictype/pr_ascii_hex_digit.c: New file.
17783         * lib/unictype/pr_bidi_arabic_digit.c: New file.
17784         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
17785         * lib/unictype/pr_bidi_block_separator.c: New file.
17786         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
17787         * lib/unictype/pr_bidi_common_separator.c: New file.
17788         * lib/unictype/pr_bidi_control.c: New file.
17789         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
17790         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
17791         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
17792         * lib/unictype/pr_bidi_european_digit.c: New file.
17793         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
17794         * lib/unictype/pr_bidi_left_to_right.c: New file.
17795         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
17796         * lib/unictype/pr_bidi_other_neutral.c: New file.
17797         * lib/unictype/pr_bidi_pdf.c: New file.
17798         * lib/unictype/pr_bidi_segment_separator.c: New file.
17799         * lib/unictype/pr_bidi_whitespace.c: New file.
17800         * lib/unictype/pr_byname.c: New file.
17801         * lib/unictype/pr_byname.gperf: New file.
17802         * lib/unictype/pr_combining.c: New file.
17803         * lib/unictype/pr_composite.c: New file.
17804         * lib/unictype/pr_currency_symbol.c: New file.
17805         * lib/unictype/pr_dash.c: New file.
17806         * lib/unictype/pr_decimal_digit.c: New file.
17807         * lib/unictype/pr_default_ignorable_code_point.c: New file.
17808         * lib/unictype/pr_deprecated.c: New file.
17809         * lib/unictype/pr_diacritic.c: New file.
17810         * lib/unictype/pr_extender.c: New file.
17811         * lib/unictype/pr_format_control.c: New file.
17812         * lib/unictype/pr_grapheme_base.c: New file.
17813         * lib/unictype/pr_grapheme_extend.c: New file.
17814         * lib/unictype/pr_grapheme_link.c: New file.
17815         * lib/unictype/pr_hex_digit.c: New file.
17816         * lib/unictype/pr_hyphen.c: New file.
17817         * lib/unictype/pr_id_continue.c: New file.
17818         * lib/unictype/pr_id_start.c: New file.
17819         * lib/unictype/pr_ideographic.c: New file.
17820         * lib/unictype/pr_ids_binary_operator.c: New file.
17821         * lib/unictype/pr_ids_trinary_operator.c: New file.
17822         * lib/unictype/pr_ignorable_control.c: New file.
17823         * lib/unictype/pr_iso_control.c: New file.
17824         * lib/unictype/pr_join_control.c: New file.
17825         * lib/unictype/pr_left_of_pair.c: New file.
17826         * lib/unictype/pr_line_separator.c: New file.
17827         * lib/unictype/pr_logical_order_exception.c: New file.
17828         * lib/unictype/pr_lowercase.c: New file.
17829         * lib/unictype/pr_math.c: New file.
17830         * lib/unictype/pr_non_break.c: New file.
17831         * lib/unictype/pr_not_a_character.c: New file.
17832         * lib/unictype/pr_numeric.c: New file.
17833         * lib/unictype/pr_other_alphabetic.c: New file.
17834         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
17835         * lib/unictype/pr_other_grapheme_extend.c: New file.
17836         * lib/unictype/pr_other_id_continue.c: New file.
17837         * lib/unictype/pr_other_id_start.c: New file.
17838         * lib/unictype/pr_other_lowercase.c: New file.
17839         * lib/unictype/pr_other_math.c: New file.
17840         * lib/unictype/pr_other_uppercase.c: New file.
17841         * lib/unictype/pr_paired_punctuation.c: New file.
17842         * lib/unictype/pr_paragraph_separator.c: New file.
17843         * lib/unictype/pr_pattern_syntax.c: New file.
17844         * lib/unictype/pr_pattern_white_space.c: New file.
17845         * lib/unictype/pr_private_use.c: New file.
17846         * lib/unictype/pr_punctuation.c: New file.
17847         * lib/unictype/pr_quotation_mark.c: New file.
17848         * lib/unictype/pr_radical.c: New file.
17849         * lib/unictype/pr_sentence_terminal.c: New file.
17850         * lib/unictype/pr_soft_dotted.c: New file.
17851         * lib/unictype/pr_space.c: New file.
17852         * lib/unictype/pr_terminal_punctuation.c: New file.
17853         * lib/unictype/pr_test.c: New file.
17854         * lib/unictype/pr_titlecase.c: New file.
17855         * lib/unictype/pr_unassigned_code_value.c: New file.
17856         * lib/unictype/pr_unified_ideograph.c: New file.
17857         * lib/unictype/pr_uppercase.c: New file.
17858         * lib/unictype/pr_variation_selector.c: New file.
17859         * lib/unictype/pr_white_space.c: New file.
17860         * lib/unictype/pr_xid_continue.c: New file.
17861         * lib/unictype/pr_xid_start.c: New file.
17862         * lib/unictype/pr_zero_width.c: New file.
17863         * lib/unictype/scripts.c: New file.
17864         * lib/unictype/sy_c_ident.c: New file.
17865         * lib/unictype/sy_c_whitespace.c: New file.
17866         * lib/unictype/sy_java_ident.c: New file.
17867         * lib/unictype/sy_java_whitespace.c: New file.
17868
17869         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
17870         Unicode 5.0.0.
17871         * lib/unictype/blocks.h: Likewise.
17872         * lib/unictype/categ_C.h: Likewise.
17873         * lib/unictype/categ_Cc.h: Likewise.
17874         * lib/unictype/categ_Cf.h: Likewise.
17875         * lib/unictype/categ_Cn.h: Likewise.
17876         * lib/unictype/categ_Co.h: Likewise.
17877         * lib/unictype/categ_Cs.h: Likewise.
17878         * lib/unictype/categ_L.h: Likewise.
17879         * lib/unictype/categ_Ll.h: Likewise.
17880         * lib/unictype/categ_Lm.h: Likewise.
17881         * lib/unictype/categ_Lo.h: Likewise.
17882         * lib/unictype/categ_Lt.h: Likewise.
17883         * lib/unictype/categ_Lu.h: Likewise.
17884         * lib/unictype/categ_M.h: Likewise.
17885         * lib/unictype/categ_Mc.h: Likewise.
17886         * lib/unictype/categ_Me.h: Likewise.
17887         * lib/unictype/categ_Mn.h: Likewise.
17888         * lib/unictype/categ_N.h: Likewise.
17889         * lib/unictype/categ_Nd.h: Likewise.
17890         * lib/unictype/categ_Nl.h: Likewise.
17891         * lib/unictype/categ_No.h: Likewise.
17892         * lib/unictype/categ_P.h: Likewise.
17893         * lib/unictype/categ_Pc.h: Likewise.
17894         * lib/unictype/categ_Pd.h: Likewise.
17895         * lib/unictype/categ_Pe.h: Likewise.
17896         * lib/unictype/categ_Pf.h: Likewise.
17897         * lib/unictype/categ_Pi.h: Likewise.
17898         * lib/unictype/categ_Po.h: Likewise.
17899         * lib/unictype/categ_Ps.h: Likewise.
17900         * lib/unictype/categ_S.h: Likewise.
17901         * lib/unictype/categ_Sc.h: Likewise.
17902         * lib/unictype/categ_Sk.h: Likewise.
17903         * lib/unictype/categ_Sm.h: Likewise.
17904         * lib/unictype/categ_So.h: Likewise.
17905         * lib/unictype/categ_Z.h: Likewise.
17906         * lib/unictype/categ_Zl.h: Likewise.
17907         * lib/unictype/categ_Zp.h: Likewise.
17908         * lib/unictype/categ_Zs.h: Likewise.
17909         * lib/unictype/categ_of.h: Likewise.
17910         * lib/unictype/combining.h: Likewise.
17911         * lib/unictype/ctype_alnum.h: Likewise.
17912         * lib/unictype/ctype_alpha.h: Likewise.
17913         * lib/unictype/ctype_blank.h: Likewise.
17914         * lib/unictype/ctype_cntrl.h: Likewise.
17915         * lib/unictype/ctype_digit.h: Likewise.
17916         * lib/unictype/ctype_graph.h: Likewise.
17917         * lib/unictype/ctype_lower.h: Likewise.
17918         * lib/unictype/ctype_print.h: Likewise.
17919         * lib/unictype/ctype_punct.h: Likewise.
17920         * lib/unictype/ctype_space.h: Likewise.
17921         * lib/unictype/ctype_upper.h: Likewise.
17922         * lib/unictype/ctype_xdigit.h: Likewise.
17923         * lib/unictype/decdigit.h: Likewise.
17924         * lib/unictype/digit.h: Likewise.
17925         * lib/unictype/mirror.h: Likewise.
17926         * lib/unictype/numeric.h: Likewise.
17927         * lib/unictype/pr_alphabetic.h: Likewise.
17928         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
17929         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
17930         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
17931         * lib/unictype/pr_bidi_block_separator.h: Likewise.
17932         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
17933         * lib/unictype/pr_bidi_common_separator.h: Likewise.
17934         * lib/unictype/pr_bidi_control.h: Likewise.
17935         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
17936         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
17937         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
17938         * lib/unictype/pr_bidi_european_digit.h: Likewise.
17939         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
17940         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
17941         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
17942         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
17943         * lib/unictype/pr_bidi_pdf.h: Likewise.
17944         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
17945         * lib/unictype/pr_bidi_whitespace.h: Likewise.
17946         * lib/unictype/pr_combining.h: Likewise.
17947         * lib/unictype/pr_composite.h: Likewise.
17948         * lib/unictype/pr_currency_symbol.h: Likewise.
17949         * lib/unictype/pr_dash.h: Likewise.
17950         * lib/unictype/pr_decimal_digit.h: Likewise.
17951         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
17952         * lib/unictype/pr_deprecated.h: Likewise.
17953         * lib/unictype/pr_diacritic.h: Likewise.
17954         * lib/unictype/pr_extender.h: Likewise.
17955         * lib/unictype/pr_format_control.h: Likewise.
17956         * lib/unictype/pr_grapheme_base.h: Likewise.
17957         * lib/unictype/pr_grapheme_extend.h: Likewise.
17958         * lib/unictype/pr_grapheme_link.h: Likewise.
17959         * lib/unictype/pr_hex_digit.h: Likewise.
17960         * lib/unictype/pr_hyphen.h: Likewise.
17961         * lib/unictype/pr_id_continue.h: Likewise.
17962         * lib/unictype/pr_id_start.h: Likewise.
17963         * lib/unictype/pr_ideographic.h: Likewise.
17964         * lib/unictype/pr_ids_binary_operator.h: Likewise.
17965         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
17966         * lib/unictype/pr_ignorable_control.h: Likewise.
17967         * lib/unictype/pr_iso_control.h: Likewise.
17968         * lib/unictype/pr_join_control.h: Likewise.
17969         * lib/unictype/pr_left_of_pair.h: Likewise.
17970         * lib/unictype/pr_line_separator.h: Likewise.
17971         * lib/unictype/pr_logical_order_exception.h: Likewise.
17972         * lib/unictype/pr_lowercase.h: Likewise.
17973         * lib/unictype/pr_math.h: Likewise.
17974         * lib/unictype/pr_non_break.h: Likewise.
17975         * lib/unictype/pr_not_a_character.h: Likewise.
17976         * lib/unictype/pr_numeric.h: Likewise.
17977         * lib/unictype/pr_other_alphabetic.h: Likewise.
17978         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
17979         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
17980         * lib/unictype/pr_other_id_continue.h: Likewise.
17981         * lib/unictype/pr_other_id_start.h: Likewise.
17982         * lib/unictype/pr_other_lowercase.h: Likewise.
17983         * lib/unictype/pr_other_math.h: Likewise.
17984         * lib/unictype/pr_other_uppercase.h: Likewise.
17985         * lib/unictype/pr_paired_punctuation.h: Likewise.
17986         * lib/unictype/pr_paragraph_separator.h: Likewise.
17987         * lib/unictype/pr_pattern_syntax.h: Likewise.
17988         * lib/unictype/pr_pattern_white_space.h: Likewise.
17989         * lib/unictype/pr_private_use.h: Likewise.
17990         * lib/unictype/pr_punctuation.h: Likewise.
17991         * lib/unictype/pr_quotation_mark.h: Likewise.
17992         * lib/unictype/pr_radical.h: Likewise.
17993         * lib/unictype/pr_sentence_terminal.h: Likewise.
17994         * lib/unictype/pr_soft_dotted.h: Likewise.
17995         * lib/unictype/pr_space.h: Likewise.
17996         * lib/unictype/pr_terminal_punctuation.h: Likewise.
17997         * lib/unictype/pr_titlecase.h: Likewise.
17998         * lib/unictype/pr_unassigned_code_value.h: Likewise.
17999         * lib/unictype/pr_unified_ideograph.h: Likewise.
18000         * lib/unictype/pr_uppercase.h: Likewise.
18001         * lib/unictype/pr_variation_selector.h: Likewise.
18002         * lib/unictype/pr_white_space.h: Likewise.
18003         * lib/unictype/pr_xid_continue.h: Likewise.
18004         * lib/unictype/pr_xid_start.h: Likewise.
18005         * lib/unictype/pr_zero_width.h: Likewise.
18006         * lib/unictype/scripts.h: Likewise.
18007         * lib/unictype/scripts_byname.gperf: Likewise.
18008         * lib/unictype/sy_c_ident.h: Likewise.
18009         * lib/unictype/sy_c_whitespace.h: Likewise.
18010         * lib/unictype/sy_java_ident.h: Likewise.
18011         * lib/unictype/sy_java_whitespace.h: Likewise.
18012
18013         * lib/unictype/Makefile: New file.
18014         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
18015         glibc.
18016         * lib/unictype/3level.h: New file, copied from glibc.
18017         * lib/unictype/3levelbit.h: New file.
18018
18019 2007-11-11  Bruno Haible  <bruno@clisp.org>
18020
18021         * modules/gperf: New file.
18022         * modules/iconv_open (Depends-on): Add it.
18023         (Makefile.am): Remove the GPERF definition.
18024
18025 2007-11-11  Bruno Haible  <bruno@clisp.org>
18026
18027         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
18028         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
18029
18030 2007-11-11  Bruno Haible  <bruno@clisp.org>
18031
18032         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
18033         (usage): Remove function.
18034
18035 2007-11-11  Bruno Haible  <bruno@clisp.org>
18036
18037         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
18038         gl_FUNC_CEILF_LIBS.
18039         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
18040         gl_FUNC_CEIL_LIBS.
18041         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
18042         gl_FUNC_CEILL_LIBS.
18043         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
18044         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
18045         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
18046
18047 2007-11-11  Bruno Haible  <bruno@clisp.org>
18048
18049         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
18050         roundf were declared but do not exist on functions.
18051         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
18052         roundl were declared but do not exist on functions.
18053         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
18054         HAVE_FLOORL_AND_CEILL, respectively.
18055         Needed for Sun C on Solaris 10.
18056
18057 2007-11-11  Bruno Haible  <bruno@clisp.org>
18058
18059         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
18060         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
18061         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
18062         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
18063         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
18064         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
18065         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
18066         HAVE_DECL_ROUNDF.
18067         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
18068         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
18069         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
18070         of HAVE_DECL_ROUND*.
18071         * modules/math (Makefile.am): Update.
18072
18073 2007-11-10  Bruno Haible  <bruno@clisp.org>
18074
18075         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
18076         ptrdiff_t as m4/intl.m4.
18077
18078 2007-11-10  Jim Meyering  <meyering@redhat.com>
18079
18080         Avoid link failure for the argmatch test.
18081         * tests/test-argmatch.c (usage): Define function to avoid a link
18082         failure: argmatch_die requires a usage function.
18083
18084 2007-11-09  Bruno Haible  <bruno@clisp.org>
18085
18086         * doc/functions/snprintf.texi: Mention BeOS deficiency.
18087         * doc/functions/vsnprintf.texi: Likewise.
18088         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
18089         with a size argument < 2.
18090
18091 2007-11-09  Bruno Haible  <bruno@clisp.org>
18092
18093         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
18094         buffer. Fixes an inefficiency introduced on 2007-11-03.
18095
18096 2007-11-09  Bruno Haible  <bruno@clisp.org>
18097
18098         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
18099         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
18100
18101 2007-11-08  Jim Meyering  <meyering@redhat.com>
18102
18103         Change cache variable name prefix "jm_" to "gl_" everywhere.
18104         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
18105         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
18106         * m4/uptime.m4: s/gl_/jm_/
18107
18108 2007-11-07  Bruno Haible  <bruno@clisp.org>
18109
18110         Update to GNU gettext 0.17.
18111         * m4/intl.m4: Update to GNU gettext 0.17.
18112         * m4/po.m4: Likewise.
18113         * modules/gettext (Files): Remove m4/ulonglong.m4.
18114         (configure.ac): Require gettext infrastructure from version 0.17.
18115
18116 2007-11-06  Bruno Haible  <bruno@clisp.org>
18117
18118         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
18119         symbolic values are not defined in a public header.
18120         * lib/freadable.c (freadable) [QNX]: Likewise.
18121         * lib/freadahead.c (freadahead) [QNX]: Likewise.
18122         * lib/freading.c (freading) [QNX]: Likewise.
18123         * lib/fseterr.c (fseterr) [QNX]: Likewise.
18124         * lib/fwritable.c (fwritable) [QNX]: Likewise.
18125         * lib/fwriting.c (fwriting) [QNX]: Likewise.
18126         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
18127         Reported by Alain Magloire.
18128
18129         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
18130
18131 2007-11-05  Bruno Haible  <bruno@clisp.org>
18132
18133         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
18134         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
18135         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
18136         Reported by Eric Blake.
18137
18138 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18139             Bruno Haible  <bruno@clisp.org>
18140
18141         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
18142         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
18143         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
18144         (malloc): Undefine also before including <stdlib.h>.
18145         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
18146         Needed on OSF/1 4.0.
18147
18148 2007-11-05  Jim Meyering  <meyering@redhat.com>
18149
18150         git-version-gen: sync from coreutils.
18151         * build-aux/git-version-gen: Add comments.
18152         Change the first '-' to '.' in the snapshot version string,
18153         e.g., 6.9-377-08144 -> 6.9.377-08144
18154         Remove first parameter.
18155         Don't declare a version "-dirty" merely because a time
18156         stamp has changed.
18157
18158 2007-11-04  Bruno Haible  <bruno@clisp.org>
18159
18160         * lib/lock.h: Protect all macro definitions containing an 'if'
18161         statement through a "do { ... } while (0)".
18162         * lib/tls.h: Likewise.
18163
18164 2007-11-04  Bruno Haible  <bruno@clisp.org>
18165
18166         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
18167
18168 2007-11-04  Bruno Haible  <bruno@clisp.org>
18169
18170         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
18171         * modules/fprintf-posix (Depends-on): Add nocrash.
18172         * modules/snprintf-posix (Depends-on): Likewise.
18173         * modules/sprintf-posix (Depends-on): Likewise.
18174         * modules/vasnprintf-posix (Depends-on): Likewise.
18175         * modules/vasprintf-posix (Depends-on): Likewise.
18176         * modules/vfprintf-posix (Depends-on): Likewise.
18177         * modules/vsnprintf-posix (Depends-on): Likewise.
18178         * modules/vsprintf-posix (Depends-on): Likewise.
18179         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18180         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18181         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18182         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18183         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18184         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18185         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18186
18187 2007-11-04  Bruno Haible  <bruno@clisp.org>
18188
18189         * modules/nocrash: New file.
18190         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
18191         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
18192
18193 2007-11-04  Bruno Haible  <bruno@clisp.org>
18194
18195         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
18196         precision handling.
18197         * tests/test-vasprintf-posix.c (test_function): Likewise.
18198         * tests/test-snprintf-posix.h (test_function): Likewise.
18199         * tests/test-sprintf-posix.h (test_function): Likewise.
18200
18201         Fix *printf behaviour for large precisions on mingw and BeOS.
18202         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
18203         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
18204         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
18205         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
18206         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
18207         gl_PRINTF_PRECISION and test its result. Invoke
18208         gl_PREREQ_VASNPRINTF_PRECISION.
18209         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
18210         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
18211         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
18212         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
18213         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
18214         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
18215         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
18216         * doc/functions/fprintf.texi: Update.
18217         * doc/functions/printf.texi: Update.
18218         * doc/functions/snprintf.texi: Update.
18219         * doc/functions/sprintf.texi: Update.
18220         * doc/functions/vfprintf.texi: Update.
18221         * doc/functions/vprintf.texi: Update.
18222         * doc/functions/vsnprintf.texi: Update.
18223         * doc/functions/vsprintf.texi: Update.
18224
18225 2007-11-04  Bruno Haible  <bruno@clisp.org>
18226
18227         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
18228
18229 2007-11-04  Bruno Haible  <bruno@clisp.org>
18230
18231         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
18232         Reported by Sylvain Beucler <beuc@gnu.org>.
18233
18234 2007-11-03  Bruno Haible  <bruno@clisp.org>
18235
18236         * tests/test-fprintf-posix2.sh: New file.
18237         * tests/test-fprintf-posix2.c: New file.
18238         * modules/fprintf-posix-tests (Files): Add them.
18239         (TESTS): Add test-fprintf-posix2.sh.
18240         (configure.ac): Check for getrlimit and setrlimit.
18241         (check_PROGRAMS): Add test-fprintf-posix2.
18242
18243         * tests/test-printf-posix2.sh: New file.
18244         * tests/test-printf-posix2.c: New file.
18245         * modules/printf-posix-tests (Files): Add them.
18246         (TESTS): Add test-printf-posix2.sh.
18247         (configure.ac): Check for getrlimit and setrlimit.
18248         (check_PROGRAMS): Add test-printf-posix2.
18249
18250         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
18251         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
18252         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
18253         (decode_double): New function, copied from decode_long_double.
18254         (scale10_round_decimal_decoded): New function, extracted from
18255         scale10_round_decimal_long_double.
18256         (scale10_round_decimal_long_double): Use it.
18257         (scale10_round_decimal_double): New function.
18258         (floorlog10): New function.
18259         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
18260         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
18261         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
18262         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
18263         gl_PRINTF_ENOMEM and test its result. Invoke
18264         gl_PREREQ_VASNPRINTF_ENOMEM.
18265         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
18266         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
18267         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
18268         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
18269         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
18270         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
18271         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
18272         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
18273         * modules/snprintf-posix (Depends-on): Likewise.
18274         * modules/sprintf-posix (Depends-on): Likewise.
18275         * modules/vasnprintf-posix (Depends-on): Likewise.
18276         * modules/vasprintf-posix (Depends-on): Likewise.
18277         * modules/vfprintf-posix (Depends-on): Likewise.
18278         * modules/vsnprintf-posix (Depends-on): Likewise.
18279         * modules/vsprintf-posix (Depends-on): Likewise.
18280         * doc/functions/fprintf.texi: Update.
18281         * doc/functions/printf.texi: Update.
18282         * doc/functions/snprintf.texi: Update.
18283         * doc/functions/sprintf.texi: Update.
18284         * doc/functions/vfprintf.texi: Update.
18285         * doc/functions/vprintf.texi: Update.
18286         * doc/functions/vsnprintf.texi: Update.
18287         * doc/functions/vsprintf.texi: Update.
18288
18289 2007-11-03  Bruno Haible  <bruno@clisp.org>
18290
18291         * modules/frexp-nolibm-tests: New file.
18292
18293         * modules/frexp-nolibm: New file.
18294         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
18295
18296 2007-11-03  Bruno Haible  <bruno@clisp.org>
18297
18298         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
18299         value is C99 compliant.
18300         Needed for OSF/1 5.1.
18301
18302 2007-11-03  Bruno Haible  <bruno@clisp.org>
18303
18304         Fix out-of-memory handling of vasnprintf.
18305         * lib/printf-parse.c: Include <errno.h>.
18306         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
18307         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
18308         is already set.
18309
18310 2007-11-02  Eric Blake  <ebb9@byu.net>
18311
18312         Fix tests on cygwin.
18313         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
18314
18315 2007-11-01  Bruno Haible  <bruno@clisp.org>
18316
18317         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
18318         warning.
18319         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
18320         needed for POSIX compatibility.
18321
18322 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
18323
18324         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
18325         for compatibility with GNU.
18326
18327 2007-11-01  Bruno Haible  <bruno@clisp.org>
18328
18329         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
18330         (putenv): Renamed from rpl_putenv. Change argument type from
18331         'const char *' to 'char *'.
18332         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
18333         of defining putenv in config.h, just set REPLACE_PUTENV.
18334         * modules/putenv (Depends-on): Add stdlib.
18335         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18336         (Include): Use <stdlib.h>.
18337         * lib/stdlib.in.h (putenv): New declaration.
18338         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
18339         REPLACE_PUTENV.
18340         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
18341         REPLACE_PUTENV.
18342         Needed for MacOS X 10.5.0.
18343         Reported by Peter O'Gorman <peter@pogma.com>.
18344
18345 2007-11-01  Jim Meyering  <meyering@redhat.com>
18346
18347         Treat an empty date string exactly like "0".
18348         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
18349         if the remaining date string (to be parsed) is empty, use "0".
18350         Reported by Mischa Molhoek and discussed in this thread:
18351         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
18352
18353 2007-10-31  Bruno Haible  <bruno@clisp.org>
18354
18355         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
18356         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
18357         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
18358         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
18359         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
18360         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
18361
18362 2007-10-31  Bruno Haible  <bruno@clisp.org>
18363
18364         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
18365         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
18366         (AC_TYPE_LONG_LONG_INT): Use it.
18367         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
18368         it as well.
18369         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
18370         to m4/longlong.m4.
18371         * modules/stdint (Files): Remove m4/ulonglong.m4.
18372         * modules/strtoull (Files): Use m4/longlong.m4 instead of
18373         m4/ulonglong.m4.
18374         * modules/strtoumax (Files): Likewise.
18375
18376 2007-10-30  Bruno Haible  <bruno@clisp.org>
18377
18378         * modules/xvasprintf-posix: New file.
18379         Suggested by Eric Blake.
18380
18381 2007-10-30  Bruno Haible  <bruno@clisp.org>
18382
18383         * modules/xprintf-posix-tests: New file.
18384         * tests/test-xprintf-posix.sh: New file.
18385         * tests/test-xprintf-posix.c: New file.
18386         * tests/test-xfprintf-posix.c: New file.
18387
18388         * modules/xprintf-posix: New file.
18389
18390 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18391
18392         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
18393         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
18394         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
18395
18396 2007-10-29  Bruno Haible  <bruno@clisp.org>
18397
18398         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
18399         contain the special marker '_cv_'.
18400         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
18401         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
18402         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
18403         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
18404         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
18405         Reported by Ralf Wildenhues.
18406
18407 2007-10-29  Bruno Haible  <bruno@clisp.org>
18408
18409         * gnulib-tool (func_import): When --lgpl is not specified, set
18410         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
18411         GPLv3.
18412         Reported by Simon Josefsson.
18413
18414 2007-10-28  Bruno Haible  <bruno@clisp.org>
18415
18416         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
18417         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
18418         HAVE_DECL_ISFINITE.
18419         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
18420         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
18421         HAVE_DECL_ISFINITE.
18422
18423 2007-10-28  Bruno Haible  <bruno@clisp.org>
18424
18425         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
18426         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
18427
18428 2007-10-28  Bruno Haible  <bruno@clisp.org>
18429
18430         Fix link errors with Sun C 5.0 on Solaris 10.
18431         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
18432         function is declared but not present in the compiler's libm.
18433         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
18434         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
18435         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
18436         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
18437         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
18438         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
18439         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
18440         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
18441         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
18442         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
18443         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
18444         HAVE_DECL_FLOORL.
18445
18446 2007-10-28  Bruno Haible  <bruno@clisp.org>
18447
18448         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
18449         gl_FUNC_FLOORL. Cache the result.
18450         (gl_FUNC_FLOORL): Use it.
18451         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
18452         gl_FUNC_CEILL. Cache the result.
18453         (gl_FUNC_CEILL): Use it.
18454
18455         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
18456         gl_FUNC_FLOOR. Cache the result.
18457         (gl_FUNC_FLOOR): Use it.
18458         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
18459         gl_FUNC_CEIL. Cache the result.
18460         (gl_FUNC_CEIL): Use it.
18461
18462         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
18463         gl_FUNC_FLOORF. Cache the result.
18464         (gl_FUNC_FLOORF): Use it.
18465         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
18466         gl_FUNC_CEILF. Cache the result.
18467         (gl_FUNC_CEILF): Use it.
18468
18469 2007-10-28  Bruno Haible  <bruno@clisp.org>
18470
18471         * gnulib-tool: Allow specifying the LGPL version number through
18472         --lgpl=2 or --lgpl=3.
18473         (func_usage): Document --lgpl with argument.
18474         Handle --lgpl=... arguments.
18475         (func_import): Recognize also gl_LGPL calls with an argument. When
18476         --lgpl=2 is used and the module's license is just LGPL, report an
18477         error. Set sed_transform_lib_file according to the lgpl variable. In
18478         the generated files, use --lgpl or gl_LGPL invocations with argument,
18479         if necessary.
18480         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
18481         an LGPv2+ license.
18482         * doc/gnulib-tool.texi (Modified imports): Update explanation of
18483         gl_LGPL macro.
18484
18485 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18486             Bruno Haible  <bruno@clisp.org>
18487
18488         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
18489         (u16_uctomb_aux): Likewise.
18490         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
18491         !HAVE_INLINE.
18492         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
18493
18494 2007-10-28  Bruno Haible  <bruno@clisp.org>
18495
18496         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
18497         Invoke AM_GETTEXT_OPTION if it exists.
18498         * modules/vasprintf: Likewise.
18499         * modules/verror: Likewise.
18500         * modules/xprintf: Likewise.
18501         * modules/xvasprintf: Likewise.
18502
18503 2007-10-27  Ben Pfaff  <blp@gnu.org>
18504
18505         * lib/math.in.h: Define isfinite macro and prototypes for
18506         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
18507         implementations.
18508         * m4/math_h.m4: New substitutions for isfinite module.
18509         * lib/isfinite.c: New file.
18510         * m4/isfinite.m4: New file.
18511         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
18512         * modules/isfinite: New file.
18513         * modules/isfinite-tests: New file.
18514         * tests/tests-isfinite.c: New file.
18515         * doc/functions/isfinite.texi: Mention isfinite module.
18516         * MODULES.html.sh: Mention new module.
18517
18518 2007-10-27  Ben Pfaff  <blp@gnu.org>
18519
18520         Ralf Wildenhues reported that Tru64 4.0D declares the round
18521         functions but does not have definitions.
18522         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
18523         cannot be found in any library, set the output variable to
18524         "missing" instead of "".
18525         * m4/round.m4: Also use our substitute if we cannot find round in
18526         any library, even if it is declared.
18527         * m4/roundf.m4: Likewise for roundf.
18528         * m4/roundl.m4: Likewise for roundl.
18529         * lib/math.in.h: Undefine roundf, round, roundl before defining
18530         their replacements, to allow for hypothetical systems where these
18531         may be defined as macros but not available in libraries.
18532
18533 2007-10-27  Bruno Haible  <bruno@clisp.org>
18534
18535         * doc/gnulib.texi: Invoke @firstparagraphindent.
18536         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
18537         changes in gnulib.
18538         (Source changes): New section.
18539
18540 2007-10-26  Bruno Haible  <bruno@clisp.org>
18541
18542         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
18543         borrowed from autoconf.
18544
18545 2007-10-26  Bruno Haible  <bruno@clisp.org>
18546
18547         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
18548         strerror returned the empty string. Needed on HP-UX 11.00.
18549
18550 2007-10-24  Micah Cowan  <micah@cowan.name>
18551
18552         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
18553         * build-aux/bootstrap: Remove support for now-unnecessary option,
18554         --cvs-user, and envvars CVS_USER, CVS_RSH.
18555
18556 2007-10-24  Jim Meyering  <meyering@redhat.com>
18557
18558         Avoid diagnostics from sha1sum when there is no cached checksum.
18559         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
18560         if the po.s1 file hasn't been created yet.
18561
18562         * build-aux/bootstrap: Sync from coreutils:
18563         2007-10-24  Jim Meyering  <meyering@redhat.com>
18564         Get gnulib from the git repository, not from an obsolete cvs one.
18565         * build-aux/bootstrap: Suggestion from Micah Cowan.
18566         2007-10-04  Jim Meyering  <jim@meyering.net>
18567         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
18568         (update_po_files): Work also when there are no .po files in po/.
18569
18570 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
18571
18572         * README: Append ".git" to git and cg examples.
18573         Problem reported by Benoit Sigoure.
18574
18575 2007-10-23  Micah Cowan  <micah@cowan.name>
18576
18577         * users.txt: Add wget.
18578
18579 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18580
18581         Fix linking of some unistdio tests on FreeBSD.
18582         * modules/unistdio/u16-vsnprintf-tests
18583         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
18584         * modules/unistdio/u16-vsprintf-tests
18585         (test_u16_vsnprintf1_LDADD): Likewise.
18586         * modules/unistdio/u32-vsnprintf-tests
18587         (test_u32_vsnprintf1_LDADD): Likewise.
18588         * modules/unistdio/u32-vsprintf-tests
18589         (test_u32_vsprintf1_LDADD): Likewise.
18590         * modules/unistdio/u8-vsnprintf-tests
18591         (test_u8_vsnprintf1_LDADD): Likewise.
18592         * modules/unistdio/u8-vsprintf-tests
18593         (test_u8_vsprintf1_LDADD): Likewise.
18594         * modules/unistdio/ulc-vsnprintf-tests
18595         (test_ulc_vsnprintf1_LDADD): Likewise.
18596         * modules/unistdio/ulc-vsprintf-tests
18597         (test_ulc_vsprintf1_LDADD): Likewise.
18598
18599         Fix linking of some uniconv tests on FreeBSD.
18600         * modules/uniconv/u16-conv-from-enc-tests
18601         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
18602         * modules/uniconv/u16-conv-to-enc-tests
18603         (test_u16_conv_to_enc_LDADD): Likewise.
18604         * modules/uniconv/u16-strconv-from-enc-tests
18605         (test_u16_strconv_from_enc_LDADD): Likewise.
18606         * modules/uniconv/u16-strconv-to-enc-tests
18607         (test_u16_strconv_to_enc_LDADD): Likewise.
18608         * modules/uniconv/u32-conv-from-enc-tests
18609         (test_u32_conv_from_enc_LDADD): Likewise.
18610         * modules/uniconv/u32-conv-to-enc-tests
18611         (test_u32_conv_to_enc_LDADD): Likewise.
18612         * modules/uniconv/u32-strconv-from-enc-tests
18613         (test_u32_strconv_from_enc_LDADD): Likewise.
18614         * modules/uniconv/u32-strconv-to-enc-tests
18615         (test_u32_strconv_to_enc_LDADD): Likewise.
18616         * modules/uniconv/u8-conv-from-enc-tests
18617         (test_u8_conv_from_enc_LDADD): Likewise.
18618         * modules/uniconv/u8-conv-to-enc-tests
18619         (test_u8_conv_to_enc_LDADD): Likewise.
18620         * modules/uniconv/u8-strconv-from-enc-tests
18621         (test_u8_strconv_from_enc_LDADD): Likewise.
18622         * modules/uniconv/u8-strconv-to-enc-tests
18623         (test_u8_strconv_to_enc_LDADD): Likewise.
18624
18625 2007-10-22  Bruno Haible  <bruno@clisp.org>
18626
18627         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
18628         size.
18629
18630 2007-10-22  Eric Blake  <ebb9@byu.net>
18631
18632         Tweak x*printf documentation.
18633         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
18634         variable name and comments.
18635         Suggested by Bruno Haible.
18636
18637 2007-10-22  Bruno Haible  <bruno@clisp.org>
18638
18639         * lib/acl.c (copy_acl): Fix file name in comment.
18640
18641 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
18642
18643         Fix Tru64 problem with stdbool.h.
18644         * lib/stdbool.in.h (false, true):
18645         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
18646         Don't declare as an enum in this situation; it runs afoul of Tru64.
18647         Problem reported by Steven M. Schweda in
18648         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
18649
18650 2007-10-22  Eric Blake  <ebb9@byu.net>
18651
18652         Also wrap vf?printf.
18653         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
18654         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
18655         (xvprintf, xvfprintf): New functions.
18656
18657 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18658
18659         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
18660         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
18661
18662         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
18663         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
18664
18665 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
18666
18667         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
18668         by Bruno Haible.
18669
18670 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18671
18672         * lib/getloadavg.c
18673         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
18674         Undef `sys' after including sys/table.h, for Tru64 4.0D.
18675
18676         * tests/test-i-ring.c: Work for C89.
18677
18678 2007-10-22  Bruno Haible  <bruno@clisp.org>
18679
18680         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
18681         -1u, in preprocessor expression, so that we don't test for the bug
18682         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
18683         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
18684
18685 2007-10-22  Eric Blake  <ebb9@byu.net>
18686
18687         * tests/test-yesno.sh: Silence stderr during test.
18688
18689 2007-10-22  Simon Josefsson  <simon@josefsson.org>
18690
18691         * modules/crypto/gc-camellia: New file.
18692
18693         * m4/gc-camellia.m4: New file.
18694
18695         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
18696
18697         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
18698
18699 2007-10-22  Simon Josefsson  <simon@josefsson.org>
18700
18701         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
18702         --help to stdout.  Reported by sms@antinode.org (Steven
18703         M. Schweda).
18704
18705 2007-10-22  Simon Josefsson  <simon@josefsson.org>
18706
18707         * users.txt: Fix link to libksba.
18708
18709 2007-10-21  Ben Pfaff  <blp@gnu.org>
18710
18711         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
18712         round.c roundf implementation that depends on floorf and ceilf to
18713         be tested unconditionally.
18714
18715 2007-10-21  Ben Pfaff  <blp@gnu.org>
18716
18717         * m4/check-libm-func.m4: Removed.
18718         * m4/check-math-lib.m4: New file.
18719         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
18720         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
18721         definition and lack of AC_LIBOBJ([roundf]).
18722         * m4/roundl.m4: Ditto, and similarly for roundl.
18723         * modules/round: Reference new m4 file.
18724         * modules/roundf: Ditto.
18725         * modules/roundl: Ditto.
18726         * tests/test-round2.c (main): Use ROUND instead of round.
18727         Bug report from Bruno Haible.
18728
18729 2007-10-21  Bruno Haible  <bruno@clisp.org>
18730
18731         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
18732         context.
18733
18734 2007-10-21  Bruno Haible  <bruno@clisp.org>
18735
18736         * tests/test-wcwidth.c (main): Allow negative result for some control
18737         characters.
18738
18739         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
18740         Needed on OSF/1 5.1.
18741
18742 2007-10-21  Bruno Haible  <bruno@clisp.org>
18743
18744         * tests/test-floorf1.c: Include isnanf.h.
18745         (main): Use isnanf() instead of isnan().
18746         * tests/test-ceilf1.c: Include isnanf.h.
18747         (main): Use isnanf() instead of isnan().
18748         * tests/test-truncf1.c: Include isnanf.h.
18749         (main): Use isnanf() instead of isnan().
18750         * tests/test-roundf1.c: Include isnanf.h.
18751         (main): Use isnanf() instead of isnan().
18752
18753 2007-10-21  Eric Blake  <ebb9@byu.net>
18754
18755         * users.txt: Update URL for m4.
18756
18757 2007-10-21  Bruno Haible  <bruno@clisp.org>
18758
18759         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
18760
18761 2007-10-21  Bruno Haible  <bruno@clisp.org>
18762
18763         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
18764         Git's management files if the CVS files are not present.
18765
18766 2007-10-20  Bruno Haible  <bruno@clisp.org>
18767
18768         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
18769         gcc-3.4.x.
18770
18771 2007-10-20  Ben Pfaff  <blp@gnu.org>
18772
18773         * lib/math.in.h: Declare round, roundf, roundl if we are providing
18774         implementations.
18775         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
18776         * lib/round.c: New file.
18777         * lib/roundf.c: New file.
18778         * lib/roundl.c: New file.
18779         * m4/round.m4: New file.
18780         * m4/roundf.m4: New file.
18781         * m4/roundl.m4: New file.
18782         * m4/check-libm-func-m4: New file.
18783         * modules/math: Replace round, roundf, roundl related @VARS@ in
18784         math.in.h.
18785         * modules/round: New file.
18786         * modules/round-tests: New file.
18787         * modules/roundf: New file.
18788         * modules/roundf-tests: New file.
18789         * modules/roundl: New file.
18790         * modules/roundl-tests: New file.
18791         * tests/test-round1.c: New file.
18792         * tests/test-round2.c: New file.
18793         * tests/test-roundf1.c: New file.
18794         * tests/test-roundf2.c: New file.
18795         * tests/test-roundl.c: New file.
18796         * doc/functions/round.texi: Mention round module.
18797         * doc/functions/roundf.texi: Mention roundf module.
18798         * doc/functions/roundl.texi: Mention roundl module.
18799         * MODULES.html.sh: Mention new modules.
18800         Thanks to Bruno Haible for suggestions.
18801
18802 2007-10-20  Jim Meyering  <meyering@redhat.com>
18803
18804         * lib/xprintf.c: Include <config.h> unconditionally.
18805
18806         Change xprintf's license to GPL.
18807         * modules/xprintf (License): s/LGPL/GPL/, since this module
18808         depends on modules (exit and exitfail) which are GPL.
18809         Suggestion from Bruno Haible.
18810
18811         xprintf fixes.
18812         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
18813         Use a clearer diagnostic.
18814         Patch from Bruno Haible.
18815
18816 2007-10-20  Bruno Haible  <bruno@clisp.org>
18817
18818         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
18819         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
18820         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18821
18822 2007-10-20  Bruno Haible  <bruno@clisp.org>
18823
18824         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
18825         precision in the comparison result > x - 1 or similar.
18826         * tests/test-ceilf2.c (correct_result_p): Likewise.
18827         * tests/test-truncf2.c (correct_result_p): Likewise.
18828         * tests/test-trunc2.c (correct_result_p): Likewise.
18829         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18830
18831 2007-10-20  Bruno Haible  <bruno@clisp.org>
18832
18833         * modules/ceil: New file.
18834         * m4/ceil.m4: New file.
18835         * doc/functions/ceil.texi: Mention the 'ceil' module.
18836
18837 2007-10-20  Bruno Haible  <bruno@clisp.org>
18838
18839         * modules/floor: New file.
18840         * m4/floor.m4: New file.
18841         * doc/functions/floor.texi: Mention the 'floor' module.
18842
18843 2007-10-20  Bruno Haible  <bruno@clisp.org>
18844
18845         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
18846         of %a.
18847         * modules/floorf-tests (Depends-on): Likewise.
18848         * modules/truncf-tests (Depends-on): Likewise.
18849         * modules/trunc-tests (Depends-on): Likewise.
18850         Reported by Ben Pfaff.
18851
18852 2007-10-19  Jim Meyering  <meyering@redhat.com>
18853
18854         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
18855         Don't bother testing specific errno values.  Just test ferror.
18856
18857         New module: xprintf
18858         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
18859
18860 2007-10-19  Bruno Haible  <bruno@clisp.org>
18861
18862         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
18863         syntax.
18864         * modules/javaexec (Makefile.am): Likewise.
18865         * modules/relocatable-prog (Makefile.am): Likewise.
18866         Suggested by Jim Meyering.
18867
18868 2007-10-18  Bruno Haible  <bruno@clisp.org>
18869
18870         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
18871         Reported by Jim Meyering.
18872
18873 2007-10-18  Eric Blake  <ebb9@byu.net>
18874
18875         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
18876
18877 2007-10-18  Bruno Haible  <bruno@clisp.org>
18878
18879         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
18880         the format string into writable memory. Needed in Fortify conditions.
18881
18882 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
18883             Bruno Haible  <bruno@clisp.org>
18884
18885         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
18886         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
18887         * modules/trim (Depends-on): Add mbchar.
18888         (configure.ac): Add gl_FUNC_MBRTOWC.
18889         (Makefile.am): Augment lib_SOURCES.
18890
18891 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
18892
18893         Modify glob.c to use fstatat and dirfd, to simplify it.
18894         Suggested by Eric Blake.
18895         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
18896         Don't include <stdbool.h>; not used.
18897         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
18898         (link_exists_p): Simplify implementation, since we can now assume
18899         dirfd and fstatat.
18900         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
18901
18902 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18903
18904         * gnulib-tool (func_get_dependencies): Fix sed script to
18905         match only tests.
18906
18907 2007-10-17  Bruno Haible  <bruno@clisp.org>
18908
18909         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
18910         allow locale names without encoding suffix.
18911         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18912         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18913
18914 2007-10-16  Bruno Haible  <bruno@clisp.org>
18915
18916         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
18917         * lib/getgroups.c (getgroups): Likewise.
18918         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
18919
18920 2007-10-16  Bruno Haible  <bruno@clisp.org>
18921
18922         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
18923         * modules/malloc-posix (License): Likewise.
18924         * modules/realloc-posix (License): Likewise.
18925         * modules/calloc-posix (License): Likewise.
18926         * modules/intprops (License): Change from GPL to LGPL, with
18927         Paul Eggert's approval.
18928
18929 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18930
18931         Merge glibc changes into lib/glob.c.
18932
18933         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
18934         2007-10-15 04:59:03 UTC.  Here are the changes:
18935
18936         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
18937
18938         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
18939
18940         * lib/glob.c: Add some branch prediction throughout.
18941
18942         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
18943
18944         [BZ #5103]
18945         * lib/glob.c (glob): Recognize patterns starting \/.
18946
18947         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
18948
18949         [BZ #3996]
18950         * lib/glob.c (attribute_hidden): Define if not defined.
18951         (glob): Unescape dirname, filename or username when needed and not
18952         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
18953         is NULL.  Handle unescaped [ in pattern without closing ].
18954         Don't pass GLOB_CHECK down to recursive glob for directories.
18955         (__glob_pattern_type): New function.
18956         (__glob_pattern_p): Implement using __glob_pattern_type.
18957         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
18958         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
18959         Remove unreachable code.
18960
18961         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
18962
18963         * lib/glob.c (glob_in_dir): Add some comments and asserts to
18964         explain why there are no leaks.
18965
18966         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
18967
18968         [BZ #3253]
18969         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
18970         time, rather allocate increasingly bigger arrays of pointers, if
18971         possible with alloca, if too large with malloc.
18972
18973 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18974
18975         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
18976         Problem reported by H.Merijn Brand in
18977         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
18978         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
18979         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
18980
18981 2007-10-15  Bruno Haible  <bruno@clisp.org>
18982
18983         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
18984         with explicit rpl_ prefix.
18985         * lib/fopen.c (fopen): Likewise.
18986         * lib/freopen.c (freopen): Likewise.
18987         * lib/iconv.c (iconv): Likewise.
18988         * lib/iconv_close.c (iconv_close): Likewise.
18989
18990 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18991
18992         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
18993
18994 2007-10-15  Bruno Haible  <bruno@clisp.org>
18995
18996         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
18997         <stddef.h> instead of <stdlib.h> since we only need NULL.
18998         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18999
19000 2007-10-15  Bruno Haible  <bruno@clisp.org>
19001
19002         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
19003         Replace paragraph talking about LIBOBJS.
19004         Reported by Colin Watson <cjwatson@debian.org>.
19005
19006 2007-10-15  Bruno Haible  <bruno@clisp.org>
19007
19008         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
19009         <stdlib.h> before using NULL.
19010
19011 2007-10-15  Simon Josefsson  <simon@josefsson.org>
19012
19013         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
19014         Reported by Albert Chin <china@thewrittenword.com>.
19015
19016 2007-10-14  Bruno Haible  <bruno@clisp.org>
19017
19018         * modules/iconv_open-utf-tests: New file.
19019         * tests/test-iconv-utf.c: New file.
19020
19021         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
19022         * modules/iconv_open-utf: New file.
19023         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
19024         (iconv, iconv_close): New declarations.
19025         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
19026         be defined.
19027         (iconv_open): Add special handling of conversion between UTF-8 and
19028         UTF-{16,32}{BE,LE}.
19029         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
19030         * lib/iconv_close.c: New file.
19031         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
19032         gl_FUNC_ICONV_OPEN.
19033         (gl_FUNC_ICONV_OPEN): Use it.
19034         (gl_FUNC_ICONV_OPEN_UTF): New macro.
19035         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
19036         and REPLACE_ICONV_UTF.
19037         * modules/iconv_open (Depends-on): Add c-strcase.
19038         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
19039         ICONV_CONST.
19040         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
19041
19042 2007-10-13  Albert Chin  <china@thewrittenword.com>
19043             Bruno Haible  <bruno@clisp.org>
19044
19045         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
19046         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
19047
19048 2007-10-13  Bruno Haible  <bruno@clisp.org>
19049
19050         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
19051         defined, use the ISO C99 inline semantics.
19052         * lib/argp.h (ARGP_EI): Likewise.
19053
19054 2007-10-13  Bruno Haible  <bruno@clisp.org>
19055
19056         Handle 'inline' change in gcc 4.3.0.
19057         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
19058         argp_fmtstream_write, argp_fmtstream_set_lmargin,
19059         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
19060         argp_fmtstream_point): Disable 'extern' declaration if the function
19061         definition is going to be provided inline.
19062         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
19063         semantics, not the ISO C99 inline semantics.
19064         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
19065         'extern' declaration if the function definition is going to be provided
19066         inline.
19067         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
19068         the GNU C inline semantics, not the ISO C99 inline semantics. With
19069         GCC 4.2, avoid a warning.
19070
19071 2007-10-13  Bruno Haible  <bruno@clisp.org>
19072
19073         * lib/freading.h (freading): Enable the use of __freading for
19074         glibc >= 2.7.
19075         * lib/freading.c (freading): Likewise.
19076
19077 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
19078
19079         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
19080         "warning: C99 inline functions are not supported; using GNU89".
19081
19082 2007-10-12  Bruno Haible  <bruno@clisp.org>
19083
19084         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
19085         of 2.
19086         * tests/test-ceilf2.c: New file.
19087         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
19088
19089         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
19090         * modules/ceilf-tests: Update.
19091
19092 2007-10-12  Bruno Haible  <bruno@clisp.org>
19093
19094         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
19095         of 2.
19096         * tests/test-floorf2.c: New file.
19097         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
19098
19099         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
19100         * modules/floorf-tests: Update.
19101
19102 2007-10-12  Bruno Haible  <bruno@clisp.org>
19103
19104         * tests/test-trunc2.c: New file.
19105         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
19106
19107         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
19108         * modules/trunc-tests: Update.
19109
19110 2007-10-12  Bruno Haible  <bruno@clisp.org>
19111
19112         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
19113         of 2.
19114         * tests/test-truncf2.c: New file.
19115         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
19116
19117         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
19118         * modules/truncf-tests: Update.
19119
19120 2007-10-11  Eric Blake  <ebb9@byu.net>
19121
19122         Don't claim strerror is broken on Interix.
19123         * doc/functions/strerror.texi (strerror): Known broken systems are
19124         now Solaris 8, and not Interix.
19125         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
19126         Interix on cross-compile.
19127         Reported by Martin Koeppe in
19128         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
19129
19130 2007-10-11  Bruno Haible  <bruno@clisp.org>
19131
19132         * modules/i-ring-tests: New file.
19133         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
19134         instead of assert.
19135
19136 2007-10-11  Bruno Haible  <bruno@clisp.org>
19137
19138         * modules/filenamecat-tests: New file.
19139         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
19140         * lib/filenamecat.c: Remove test code.
19141
19142 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
19143
19144         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
19145
19146         * lib/strerror.c: Include <string.h> always, to test interface,
19147         and to remove the need for the dummy.
19148         Include intprops.h to compute width instead of doing it ourselves
19149         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
19150         (strerror): Define it to return NULL if there's no system strerror.
19151         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
19152         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
19153         ancient pre-strerror Unix systems well any more.  Saying "unknown
19154         system error" is enough.
19155         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
19156         simpler strerror.c implementation.
19157         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
19158         Simplify the tests to reflect the simpler strerror implementation.
19159         * modules/strerror (Depends-on): Add intprops.
19160
19161 2007-10-09  Eric Blake  <ebb9@byu.net>
19162
19163         Silence test-fpending.
19164         * modules/fpending-tests (Files): Add wrapper script.
19165         * tests/test-fpending.sh: New file.
19166
19167 2007-10-09  Bruno Haible  <bruno@clisp.org>
19168
19169         * MODULES.html.sh (func_module): Don't create a hyperlink for
19170         function names like 'printf_frexp'.
19171         (Misc): Add crc, memxor.
19172         (Characteristics of floating types): New section.
19173         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
19174         isnanf-nolibm, signbit, trunc, truncf, truncl.
19175         (Enhancements for ISO C 99 functions): New subsection Input/output.
19176         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
19177         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
19178         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
19179         (Compatibility checks for POSIX:2001 functions): Add clock-time.
19180         (Enhancements for POSIX:2001 functions): Add chdir-long.
19181         (File system functions): Add areadlink, chdir-safer, read-file.
19182         Remove cycle-check.
19183         (File system as inode set): New section.
19184         (Date and time): Add gethrxtime.
19185         (Multithreading): Add openmp.
19186         (Internationalization functions): Add localename.
19187         (Unicode string functions): Add unistr/u*-mbsnlen.
19188         (Support for maintaining and releasing projects): Add git-version-gen.
19189         (Lone files): Remove directories.
19190
19191 2007-10-08  Ben Pfaff  <blp@gnu.org>
19192
19193         * lib/xmalloca.h: Fix typo in comment.
19194
19195 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
19196
19197         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
19198         when avoiding problems with integer overflow.  Use a portable test
19199         instead.
19200
19201 2007-10-08  Simon Josefsson  <simon@josefsson.org>
19202
19203         * modules/dummy (License): Change to LGPLv2+.
19204         * modules/float (License): Likewise
19205         * modules/realloc (License): Likewise
19206         * modules/stdlib (License): Likewise
19207
19208 2007-10-07  Bruno Haible  <bruno@clisp.org>
19209
19210         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
19211         * floor.c (TWO_MANT_DIG): Likewise.
19212         * ceil.c (TWO_MANT_DIG): Likewise.
19213         Reported by Ben Pfaff.
19214
19215 2007-10-07  Bruno Haible  <bruno@clisp.org>
19216
19217         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
19218         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
19219         * lib/frexp.c (FUNC): Likewise.
19220         * lib/printf-frexp.h (printf_frexp): Likewise.
19221         * lib/printf-frexpl.h (printf_frexpl): Likewise.
19222         * lib/printf-frexp.c (FUNC): Likewise.
19223         Suggested by Jim Meyering.
19224
19225 2007-10-07  Jim Meyering  <meyering@redhat.com>
19226
19227         Make xnanosleep's integer overflow test more robust.
19228         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
19229         so that gcc-4.3.0 doesn't optimize away this test for overflow.
19230
19231 2007-10-07  Bruno Haible  <bruno@clisp.org>
19232
19233         * NEWS: Mention the license change.
19234
19235         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
19236         abbreviations in the modules files.
19237
19238         Change copyright notice from GPLv2+ to GPLv3+.
19239         * README: Change copyright notice.
19240         * MODULES.html.sh: Likewise.
19241         * build-aux/bootstrap.conf: Likewise.
19242         * build-aux/config.libpath: Likewise.
19243         * build-aux/csharpcomp.sh.in: Likewise.
19244         * build-aux/csharpexec.sh.in: Likewise.
19245         * build-aux/install-reloc: Likewise.
19246         * build-aux/javacomp.sh.in: Likewise.
19247         * build-aux/javaexec.sh.in: Likewise.
19248         * build-aux/ldd.sh.in: Likewise.
19249         * build-aux/reloc-ldflags: Likewise.
19250         * build-aux/relocatable.sh.in: Likewise.
19251         * build-aux/x-to-1.in: Likewise.
19252         * check-module: Likewise.
19253         * config/srclistvars.sh: Likewise.
19254         * gnulib-tool: Likewise.
19255         * lib/acl-internal.h: Likewise.
19256         * lib/acl.c: Likewise.
19257         * lib/acl.h: Likewise.
19258         * lib/acl_entries.c: Likewise.
19259         * lib/areadlink-with-size.c: Likewise.
19260         * lib/areadlink.c: Likewise.
19261         * lib/areadlink.h: Likewise.
19262         * lib/argmatch.c: Likewise.
19263         * lib/argmatch.h: Likewise.
19264         * lib/argp-ba.c: Likewise.
19265         * lib/argp-eexst.c: Likewise.
19266         * lib/argp-fmtstream.c: Likewise.
19267         * lib/argp-fmtstream.h: Likewise.
19268         * lib/argp-fs-xinl.c: Likewise.
19269         * lib/argp-help.c: Likewise.
19270         * lib/argp-namefrob.h: Likewise.
19271         * lib/argp-parse.c: Likewise.
19272         * lib/argp-pin.c: Likewise.
19273         * lib/argp-pv.c: Likewise.
19274         * lib/argp-pvh.c: Likewise.
19275         * lib/argp-xinl.c: Likewise.
19276         * lib/argp.h: Likewise.
19277         * lib/at-func.c: Likewise.
19278         * lib/atanl.c: Likewise.
19279         * lib/backupfile.c: Likewise.
19280         * lib/backupfile.h: Likewise.
19281         * lib/basename.c: Likewise.
19282         * lib/binary-io.h: Likewise.
19283         * lib/byteswap.in.h: Likewise.
19284         * lib/c-stack.c: Likewise.
19285         * lib/c-stack.h: Likewise.
19286         * lib/c-strcasestr.c: Likewise.
19287         * lib/c-strcasestr.h: Likewise.
19288         * lib/c-strstr.c: Likewise.
19289         * lib/c-strstr.h: Likewise.
19290         * lib/c-strtod.c: Likewise.
19291         * lib/calloc.c: Likewise.
19292         * lib/canon-host.c: Likewise.
19293         * lib/canon-host.h: Likewise.
19294         * lib/canonicalize-lgpl.c: Likewise.
19295         * lib/canonicalize.c: Likewise.
19296         * lib/canonicalize.h: Likewise.
19297         * lib/ceil.c: Likewise.
19298         * lib/ceilf.c: Likewise.
19299         * lib/ceill.c: Likewise.
19300         * lib/chdir-long.c: Likewise.
19301         * lib/chdir-long.h: Likewise.
19302         * lib/chdir-safer.c: Likewise.
19303         * lib/chdir-safer.h: Likewise.
19304         * lib/chown.c: Likewise.
19305         * lib/classpath.c: Likewise.
19306         * lib/classpath.h: Likewise.
19307         * lib/clean-temp.c: Likewise.
19308         * lib/clean-temp.h: Likewise.
19309         * lib/cloexec.c: Likewise.
19310         * lib/close-stream.c: Likewise.
19311         * lib/closein.c: Likewise.
19312         * lib/closein.h: Likewise.
19313         * lib/closeout.c: Likewise.
19314         * lib/closeout.h: Likewise.
19315         * lib/concat-filename.c: Likewise.
19316         * lib/copy-file.c: Likewise.
19317         * lib/copy-file.h: Likewise.
19318         * lib/count-one-bits.h: Likewise.
19319         * lib/crc.c: Likewise.
19320         * lib/crc.h: Likewise.
19321         * lib/creat-safer.c: Likewise.
19322         * lib/csharpcomp.c: Likewise.
19323         * lib/csharpcomp.h: Likewise.
19324         * lib/csharpexec.c: Likewise.
19325         * lib/csharpexec.h: Likewise.
19326         * lib/cycle-check.c: Likewise.
19327         * lib/cycle-check.h: Likewise.
19328         * lib/diacrit.c: Likewise.
19329         * lib/diacrit.h: Likewise.
19330         * lib/diffseq.h: Likewise.
19331         * lib/dirchownmod.c: Likewise.
19332         * lib/dirent.in.h: Likewise.
19333         * lib/dirfd.c: Likewise.
19334         * lib/dirfd.h: Likewise.
19335         * lib/dirname.c: Likewise.
19336         * lib/dirname.h: Likewise.
19337         * lib/dummy.c: Likewise.
19338         * lib/dup-safer.c: Likewise.
19339         * lib/dup2.c: Likewise.
19340         * lib/eealloc.h: Likewise.
19341         * lib/error.c: Likewise.
19342         * lib/error.h: Likewise.
19343         * lib/euidaccess.c: Likewise.
19344         * lib/exclude.c: Likewise.
19345         * lib/exclude.h: Likewise.
19346         * lib/execute.c: Likewise.
19347         * lib/execute.h: Likewise.
19348         * lib/exitfail.c: Likewise.
19349         * lib/exitfail.h: Likewise.
19350         * lib/expl.c: Likewise.
19351         * lib/fatal-signal.c: Likewise.
19352         * lib/fatal-signal.h: Likewise.
19353         * lib/fbufmode.c: Likewise.
19354         * lib/fbufmode.h: Likewise.
19355         * lib/fchdir.c: Likewise.
19356         * lib/fchmodat.c: Likewise.
19357         * lib/fchownat.c: Likewise.
19358         * lib/fcntl--.h: Likewise.
19359         * lib/fcntl-safer.h: Likewise.
19360         * lib/fcntl.in.h: Likewise.
19361         * lib/fd-safer.c: Likewise.
19362         * lib/fflush.c: Likewise.
19363         * lib/file-has-acl.c: Likewise.
19364         * lib/file-set.c: Likewise.
19365         * lib/file-type.c: Likewise.
19366         * lib/file-type.h: Likewise.
19367         * lib/fileblocks.c: Likewise.
19368         * lib/filemode.c: Likewise.
19369         * lib/filemode.h: Likewise.
19370         * lib/filename.h: Likewise.
19371         * lib/filenamecat.c: Likewise.
19372         * lib/filenamecat.h: Likewise.
19373         * lib/findprog.c: Likewise.
19374         * lib/findprog.h: Likewise.
19375         * lib/float.in.h: Likewise.
19376         * lib/floor.c: Likewise.
19377         * lib/floorf.c: Likewise.
19378         * lib/floorl.c: Likewise.
19379         * lib/fopen-safer.c: Likewise.
19380         * lib/fopen.c: Likewise.
19381         * lib/fpending.c: Likewise.
19382         * lib/fpending.h: Likewise.
19383         * lib/fprintf.c: Likewise.
19384         * lib/fprintftime.h: Likewise.
19385         * lib/fpucw.h: Likewise.
19386         * lib/fpurge.c: Likewise.
19387         * lib/fpurge.h: Likewise.
19388         * lib/freadable.c: Likewise.
19389         * lib/freadable.h: Likewise.
19390         * lib/freadahead.c: Likewise.
19391         * lib/freadahead.h: Likewise.
19392         * lib/freading.c: Likewise.
19393         * lib/freading.h: Likewise.
19394         * lib/free.c: Likewise.
19395         * lib/freopen.c: Likewise.
19396         * lib/frexp.c: Likewise.
19397         * lib/frexpl.c: Likewise.
19398         * lib/fseek.c: Likewise.
19399         * lib/fseterr.c: Likewise.
19400         * lib/fseterr.h: Likewise.
19401         * lib/fstatat.c: Likewise.
19402         * lib/fstrcmp.c: Likewise.
19403         * lib/fstrcmp.h: Likewise.
19404         * lib/fsusage.c: Likewise.
19405         * lib/fsusage.h: Likewise.
19406         * lib/ftell.c: Likewise.
19407         * lib/ftello.c: Likewise.
19408         * lib/fts-cycle.c: Likewise.
19409         * lib/fts.c: Likewise.
19410         * lib/fts_.h: Likewise.
19411         * lib/full-read.c: Likewise.
19412         * lib/full-read.h: Likewise.
19413         * lib/full-write.c: Likewise.
19414         * lib/full-write.h: Likewise.
19415         * lib/fwritable.c: Likewise.
19416         * lib/fwritable.h: Likewise.
19417         * lib/fwriteerror.c: Likewise.
19418         * lib/fwriteerror.h: Likewise.
19419         * lib/fwriting.c: Likewise.
19420         * lib/fwriting.h: Likewise.
19421         * lib/gcd.c: Likewise.
19422         * lib/gcd.h: Likewise.
19423         * lib/getcwd.c: Likewise.
19424         * lib/getdate.h: Likewise.
19425         * lib/getdate.y: Likewise.
19426         * lib/getdomainname.c: Likewise.
19427         * lib/getdomainname.h: Likewise.
19428         * lib/getgroups.c: Likewise.
19429         * lib/gethostname.c: Likewise.
19430         * lib/gethrxtime.c: Likewise.
19431         * lib/gethrxtime.h: Likewise.
19432         * lib/getloadavg.c: Likewise.
19433         * lib/getndelim2.c: Likewise.
19434         * lib/getndelim2.h: Likewise.
19435         * lib/getnline.c: Likewise.
19436         * lib/getnline.h: Likewise.
19437         * lib/getopt.c: Likewise.
19438         * lib/getopt.in.h: Likewise.
19439         * lib/getopt1.c: Likewise.
19440         * lib/getopt_int.h: Likewise.
19441         * lib/getpagesize.h: Likewise.
19442         * lib/getsubopt.c: Likewise.
19443         * lib/gettime.c: Likewise.
19444         * lib/getugroups.c: Likewise.
19445         * lib/getugroups.h: Likewise.
19446         * lib/getusershell.c: Likewise.
19447         * lib/gl_anyavltree_list1.h: Likewise.
19448         * lib/gl_anyavltree_list2.h: Likewise.
19449         * lib/gl_anyhash_list1.h: Likewise.
19450         * lib/gl_anyhash_list2.h: Likewise.
19451         * lib/gl_anylinked_list1.h: Likewise.
19452         * lib/gl_anylinked_list2.h: Likewise.
19453         * lib/gl_anyrbtree_list1.h: Likewise.
19454         * lib/gl_anyrbtree_list2.h: Likewise.
19455         * lib/gl_anytree_list1.h: Likewise.
19456         * lib/gl_anytree_list2.h: Likewise.
19457         * lib/gl_anytree_oset.h: Likewise.
19458         * lib/gl_anytreehash_list1.h: Likewise.
19459         * lib/gl_anytreehash_list2.h: Likewise.
19460         * lib/gl_array_list.c: Likewise.
19461         * lib/gl_array_list.h: Likewise.
19462         * lib/gl_array_oset.c: Likewise.
19463         * lib/gl_array_oset.h: Likewise.
19464         * lib/gl_avltree_list.c: Likewise.
19465         * lib/gl_avltree_list.h: Likewise.
19466         * lib/gl_avltree_oset.c: Likewise.
19467         * lib/gl_avltree_oset.h: Likewise.
19468         * lib/gl_avltreehash_list.c: Likewise.
19469         * lib/gl_avltreehash_list.h: Likewise.
19470         * lib/gl_carray_list.c: Likewise.
19471         * lib/gl_carray_list.h: Likewise.
19472         * lib/gl_linked_list.c: Likewise.
19473         * lib/gl_linked_list.h: Likewise.
19474         * lib/gl_linkedhash_list.c: Likewise.
19475         * lib/gl_linkedhash_list.h: Likewise.
19476         * lib/gl_list.c: Likewise.
19477         * lib/gl_list.h: Likewise.
19478         * lib/gl_oset.c: Likewise.
19479         * lib/gl_oset.h: Likewise.
19480         * lib/gl_rbtree_list.c: Likewise.
19481         * lib/gl_rbtree_list.h: Likewise.
19482         * lib/gl_rbtree_oset.c: Likewise.
19483         * lib/gl_rbtree_oset.h: Likewise.
19484         * lib/gl_rbtreehash_list.c: Likewise.
19485         * lib/gl_rbtreehash_list.h: Likewise.
19486         * lib/gl_sublist.c: Likewise.
19487         * lib/gl_sublist.h: Likewise.
19488         * lib/group-member.c: Likewise.
19489         * lib/group-member.h: Likewise.
19490         * lib/hard-locale.c: Likewise.
19491         * lib/hard-locale.h: Likewise.
19492         * lib/hash-pjw.c: Likewise.
19493         * lib/hash-pjw.h: Likewise.
19494         * lib/hash-triple.c: Likewise.
19495         * lib/hash.c: Likewise.
19496         * lib/hash.h: Likewise.
19497         * lib/human.c: Likewise.
19498         * lib/human.h: Likewise.
19499         * lib/i-ring.c: Likewise.
19500         * lib/i-ring.h: Likewise.
19501         * lib/idcache.c: Likewise.
19502         * lib/imaxabs.c: Likewise.
19503         * lib/imaxdiv.c: Likewise.
19504         * lib/inet_pton.c: Likewise.
19505         * lib/inet_pton.h: Likewise.
19506         * lib/intprops.h: Likewise.
19507         * lib/inttostr.c: Likewise.
19508         * lib/inttostr.h: Likewise.
19509         * lib/inttypes.in.h: Likewise.
19510         * lib/isapipe.c: Likewise.
19511         * lib/isdir.c: Likewise.
19512         * lib/isnan.c: Likewise.
19513         * lib/isnan.h: Likewise.
19514         * lib/isnanf.c: Likewise.
19515         * lib/isnanf.h: Likewise.
19516         * lib/isnanl-nolibm.h: Likewise.
19517         * lib/isnanl.c: Likewise.
19518         * lib/isnanl.h: Likewise.
19519         * lib/javacomp.c: Likewise.
19520         * lib/javacomp.h: Likewise.
19521         * lib/javaexec.c: Likewise.
19522         * lib/javaexec.h: Likewise.
19523         * lib/javaversion.c: Likewise.
19524         * lib/javaversion.h: Likewise.
19525         * lib/javaversion.java: Likewise.
19526         * lib/lbrkprop.h: Likewise.
19527         * lib/lchmod.h: Likewise.
19528         * lib/lchown.c: Likewise.
19529         * lib/ldexpl.c: Likewise.
19530         * lib/linebreak.c: Likewise.
19531         * lib/linebreak.h: Likewise.
19532         * lib/linebuffer.c: Likewise.
19533         * lib/linebuffer.h: Likewise.
19534         * lib/locale.in.h: Likewise.
19535         * lib/logl.c: Likewise.
19536         * lib/long-options.c: Likewise.
19537         * lib/long-options.h: Likewise.
19538         * lib/lstat.c: Likewise.
19539         * lib/lstat.h: Likewise.
19540         * lib/math.in.h: Likewise.
19541         * lib/mbchar.c: Likewise.
19542         * lib/mbchar.h: Likewise.
19543         * lib/mbfile.h: Likewise.
19544         * lib/mbiter.h: Likewise.
19545         * lib/mbscasecmp.c: Likewise.
19546         * lib/mbscasestr.c: Likewise.
19547         * lib/mbschr.c: Likewise.
19548         * lib/mbscspn.c: Likewise.
19549         * lib/mbslen.c: Likewise.
19550         * lib/mbsncasecmp.c: Likewise.
19551         * lib/mbsnlen.c: Likewise.
19552         * lib/mbspbrk.c: Likewise.
19553         * lib/mbspcasecmp.c: Likewise.
19554         * lib/mbsrchr.c: Likewise.
19555         * lib/mbssep.c: Likewise.
19556         * lib/mbsspn.c: Likewise.
19557         * lib/mbsstr.c: Likewise.
19558         * lib/mbstok_r.c: Likewise.
19559         * lib/mbswidth.c: Likewise.
19560         * lib/mbswidth.h: Likewise.
19561         * lib/mbuiter.h: Likewise.
19562         * lib/memcasecmp.c: Likewise.
19563         * lib/memcasecmp.h: Likewise.
19564         * lib/memchr.c: Likewise.
19565         * lib/memcmp.c: Likewise.
19566         * lib/memcoll.c: Likewise.
19567         * lib/memcoll.h: Likewise.
19568         * lib/memcpy.c: Likewise.
19569         * lib/memrchr.c: Likewise.
19570         * lib/mkancesdirs.c: Likewise.
19571         * lib/mkdir-p.c: Likewise.
19572         * lib/mkdir-p.h: Likewise.
19573         * lib/mkdir.c: Likewise.
19574         * lib/mkdirat.c: Likewise.
19575         * lib/mkdtemp.c: Likewise.
19576         * lib/mkstemp-safer.c: Likewise.
19577         * lib/mkstemp.c: Likewise.
19578         * lib/modechange.c: Likewise.
19579         * lib/modechange.h: Likewise.
19580         * lib/mountlist.c: Likewise.
19581         * lib/mountlist.h: Likewise.
19582         * lib/mpsort.c: Likewise.
19583         * lib/nanosleep.c: Likewise.
19584         * lib/obstack.c: Likewise.
19585         * lib/obstack.h: Likewise.
19586         * lib/open-safer.c: Likewise.
19587         * lib/open.c: Likewise.
19588         * lib/openat-die.c: Likewise.
19589         * lib/openat-priv.h: Likewise.
19590         * lib/openat-proc.c: Likewise.
19591         * lib/openat.c: Likewise.
19592         * lib/openat.h: Likewise.
19593         * lib/pagealign_alloc.c: Likewise.
19594         * lib/pagealign_alloc.h: Likewise.
19595         * lib/physmem.c: Likewise.
19596         * lib/physmem.h: Likewise.
19597         * lib/pipe-safer.c: Likewise.
19598         * lib/pipe.c: Likewise.
19599         * lib/pipe.h: Likewise.
19600         * lib/posixtm.c: Likewise.
19601         * lib/posixtm.h: Likewise.
19602         * lib/posixver.c: Likewise.
19603         * lib/printf-frexp.c: Likewise.
19604         * lib/printf-frexp.h: Likewise.
19605         * lib/printf-frexpl.c: Likewise.
19606         * lib/printf-frexpl.h: Likewise.
19607         * lib/printf.c: Likewise.
19608         * lib/progname.c: Likewise.
19609         * lib/progname.h: Likewise.
19610         * lib/progreloc.c: Likewise.
19611         * lib/putenv.c: Likewise.
19612         * lib/quote.c: Likewise.
19613         * lib/quote.h: Likewise.
19614         * lib/quotearg.c: Likewise.
19615         * lib/quotearg.h: Likewise.
19616         * lib/raise.c: Likewise.
19617         * lib/readline.c: Likewise.
19618         * lib/readline.h: Likewise.
19619         * lib/readlink.c: Likewise.
19620         * lib/readtokens.c: Likewise.
19621         * lib/readtokens.h: Likewise.
19622         * lib/readtokens0.c: Likewise.
19623         * lib/readtokens0.h: Likewise.
19624         * lib/readutmp.c: Likewise.
19625         * lib/readutmp.h: Likewise.
19626         * lib/realloc.c: Likewise.
19627         * lib/relocwrapper.c: Likewise.
19628         * lib/rename-dest-slash.c: Likewise.
19629         * lib/rename.c: Likewise.
19630         * lib/rmdir.c: Likewise.
19631         * lib/rpmatch.c: Likewise.
19632         * lib/safe-read.c: Likewise.
19633         * lib/safe-read.h: Likewise.
19634         * lib/safe-write.c: Likewise.
19635         * lib/safe-write.h: Likewise.
19636         * lib/same-inode.h: Likewise.
19637         * lib/same.c: Likewise.
19638         * lib/same.h: Likewise.
19639         * lib/save-cwd.c: Likewise.
19640         * lib/save-cwd.h: Likewise.
19641         * lib/savedir.c: Likewise.
19642         * lib/savedir.h: Likewise.
19643         * lib/savewd.c: Likewise.
19644         * lib/savewd.h: Likewise.
19645         * lib/search.in.h: Likewise.
19646         * lib/setenv.c: Likewise.
19647         * lib/setenv.h: Likewise.
19648         * lib/settime.c: Likewise.
19649         * lib/sh-quote.c: Likewise.
19650         * lib/sh-quote.h: Likewise.
19651         * lib/sig2str.c: Likewise.
19652         * lib/sig2str.h: Likewise.
19653         * lib/signal.in.h: Likewise.
19654         * lib/signbitd.c: Likewise.
19655         * lib/signbitf.c: Likewise.
19656         * lib/signbitl.c: Likewise.
19657         * lib/sigprocmask.c: Likewise.
19658         * lib/sincosl.c: Likewise.
19659         * lib/sleep.c: Likewise.
19660         * lib/sprintf.c: Likewise.
19661         * lib/sqrtl.c: Likewise.
19662         * lib/stat-time.h: Likewise.
19663         * lib/stdio--.h: Likewise.
19664         * lib/stdio-safer.h: Likewise.
19665         * lib/stdlib--.h: Likewise.
19666         * lib/stdlib-safer.h: Likewise.
19667         * lib/stdlib.in.h: Likewise.
19668         * lib/stpcpy.c: Likewise.
19669         * lib/stpncpy.c: Likewise.
19670         * lib/strchrnul.c: Likewise.
19671         * lib/strcspn.c: Likewise.
19672         * lib/strerror.c: Likewise.
19673         * lib/strftime.c: Likewise.
19674         * lib/strftime.h: Likewise.
19675         * lib/striconveh.c: Likewise.
19676         * lib/striconveh.h: Likewise.
19677         * lib/striconveha.c: Likewise.
19678         * lib/striconveha.h: Likewise.
19679         * lib/stripslash.c: Likewise.
19680         * lib/strnlen1.c: Likewise.
19681         * lib/strnlen1.h: Likewise.
19682         * lib/strtod.c: Likewise.
19683         * lib/strtoimax.c: Likewise.
19684         * lib/strtok_r.c: Likewise.
19685         * lib/strtol.c: Likewise.
19686         * lib/strtoll.c: Likewise.
19687         * lib/strtoul.c: Likewise.
19688         * lib/strtoull.c: Likewise.
19689         * lib/sysexits.in.h: Likewise.
19690         * lib/tempname.c: Likewise.
19691         * lib/tempname.h: Likewise.
19692         * lib/timespec.h: Likewise.
19693         * lib/tls.c: Likewise.
19694         * lib/tls.h: Likewise.
19695         * lib/tmpdir.c: Likewise.
19696         * lib/tmpdir.h: Likewise.
19697         * lib/tmpfile-safer.c: Likewise.
19698         * lib/tmpfile.c: Likewise.
19699         * lib/trigl.c: Likewise.
19700         * lib/trigl.h: Likewise.
19701         * lib/trim.c: Likewise.
19702         * lib/trim.h: Likewise.
19703         * lib/trunc.c: Likewise.
19704         * lib/truncf.c: Likewise.
19705         * lib/truncl.c: Likewise.
19706         * lib/tsearch.c: Likewise.
19707         * lib/unicodeio.c: Likewise.
19708         * lib/unicodeio.h: Likewise.
19709         * lib/unistd--.h: Likewise.
19710         * lib/unistd-safer.h: Likewise.
19711         * lib/unistdio/ulc-fprintf.c: Likewise.
19712         * lib/unistdio/ulc-vfprintf.c: Likewise.
19713         * lib/unlinkdir.c: Likewise.
19714         * lib/unlinkdir.h: Likewise.
19715         * lib/unlocked-io.h: Likewise.
19716         * lib/unsetenv.c: Likewise.
19717         * lib/userspec.c: Likewise.
19718         * lib/utime.c: Likewise.
19719         * lib/utimecmp.c: Likewise.
19720         * lib/utimecmp.h: Likewise.
19721         * lib/utimens.c: Likewise.
19722         * lib/verify.h: Likewise.
19723         * lib/verror.c: Likewise.
19724         * lib/verror.h: Likewise.
19725         * lib/version-etc-fsf.c: Likewise.
19726         * lib/version-etc.c: Likewise.
19727         * lib/version-etc.h: Likewise.
19728         * lib/vfprintf.c: Likewise.
19729         * lib/vprintf.c: Likewise.
19730         * lib/vsprintf.c: Likewise.
19731         * lib/w32spawn.h: Likewise.
19732         * lib/wait-process.c: Likewise.
19733         * lib/wait-process.h: Likewise.
19734         * lib/wcwidth.c: Likewise.
19735         * lib/write-any-file.c: Likewise.
19736         * lib/xalloc-die.c: Likewise.
19737         * lib/xalloc.h: Likewise.
19738         * lib/xasprintf.c: Likewise.
19739         * lib/xgetcwd.c: Likewise.
19740         * lib/xgetcwd.h: Likewise.
19741         * lib/xgetdomainname.c: Likewise.
19742         * lib/xgetdomainname.h: Likewise.
19743         * lib/xgethostname.c: Likewise.
19744         * lib/xmalloc.c: Likewise.
19745         * lib/xmalloca.c: Likewise.
19746         * lib/xmalloca.h: Likewise.
19747         * lib/xmemcoll.c: Likewise.
19748         * lib/xnanosleep.c: Likewise.
19749         * lib/xreadlink.c: Likewise.
19750         * lib/xreadlink.h: Likewise.
19751         * lib/xsetenv.c: Likewise.
19752         * lib/xsetenv.h: Likewise.
19753         * lib/xstriconv.c: Likewise.
19754         * lib/xstriconv.h: Likewise.
19755         * lib/xstrndup.c: Likewise.
19756         * lib/xstrndup.h: Likewise.
19757         * lib/xstrtod.c: Likewise.
19758         * lib/xstrtod.h: Likewise.
19759         * lib/xstrtol-error.c: Likewise.
19760         * lib/xstrtol.c: Likewise.
19761         * lib/xstrtol.h: Likewise.
19762         * lib/xtime.h: Likewise.
19763         * lib/xvasprintf.c: Likewise.
19764         * lib/xvasprintf.h: Likewise.
19765         * lib/yesno.c: Likewise.
19766         * lib/yesno.h: Likewise.
19767         * posix-modules: Likewise.
19768         * tests/test-alloca-opt.c: Likewise.
19769         * tests/test-arcfour.c: Likewise.
19770         * tests/test-arctwo.c: Likewise.
19771         * tests/test-argmatch.c: Likewise.
19772         * tests/test-argp-2.sh: Likewise.
19773         * tests/test-argp.c: Likewise.
19774         * tests/test-arpa_inet.c: Likewise.
19775         * tests/test-array_list.c: Likewise.
19776         * tests/test-array_oset.c: Likewise.
19777         * tests/test-atexit.c: Likewise.
19778         * tests/test-avltree_list.c: Likewise.
19779         * tests/test-avltree_oset.c: Likewise.
19780         * tests/test-avltreehash_list.c: Likewise.
19781         * tests/test-base64.c: Likewise.
19782         * tests/test-binary-io.c: Likewise.
19783         * tests/test-byteswap.c: Likewise.
19784         * tests/test-c-ctype.c: Likewise.
19785         * tests/test-c-strcasecmp.c: Likewise.
19786         * tests/test-c-strcasestr.c: Likewise.
19787         * tests/test-c-strncasecmp.c: Likewise.
19788         * tests/test-c-strstr.c: Likewise.
19789         * tests/test-canonicalize-lgpl.c: Likewise.
19790         * tests/test-canonicalize.c: Likewise.
19791         * tests/test-carray_list.c: Likewise.
19792         * tests/test-ceilf.c: Likewise.
19793         * tests/test-ceill.c: Likewise.
19794         * tests/test-count-one-bits.c: Likewise.
19795         * tests/test-crc.c: Likewise.
19796         * tests/test-dirname.c: Likewise.
19797         * tests/test-fbufmode.c: Likewise.
19798         * tests/test-fcntl.c: Likewise.
19799         * tests/test-fflush.c: Likewise.
19800         * tests/test-floorf.c: Likewise.
19801         * tests/test-floorl.c: Likewise.
19802         * tests/test-fopen.c: Likewise.
19803         * tests/test-fprintf-posix.c: Likewise.
19804         * tests/test-fprintf-posix.h: Likewise.
19805         * tests/test-fpurge.c: Likewise.
19806         * tests/test-freadable.c: Likewise.
19807         * tests/test-freadahead.c: Likewise.
19808         * tests/test-freading.c: Likewise.
19809         * tests/test-freopen.c: Likewise.
19810         * tests/test-frexp.c: Likewise.
19811         * tests/test-frexpl.c: Likewise.
19812         * tests/test-fseek.c: Likewise.
19813         * tests/test-fseeko.c: Likewise.
19814         * tests/test-fseterr.c: Likewise.
19815         * tests/test-fstrcmp.c: Likewise.
19816         * tests/test-ftell.c: Likewise.
19817         * tests/test-ftello.c: Likewise.
19818         * tests/test-fwritable.c: Likewise.
19819         * tests/test-fwriting.c: Likewise.
19820         * tests/test-getaddrinfo.c: Likewise.
19821         * tests/test-getpass.c: Likewise.
19822         * tests/test-gettimeofday.c: Likewise.
19823         * tests/test-hmac-md5.c: Likewise.
19824         * tests/test-hmac-sha1.c: Likewise.
19825         * tests/test-iconv.c: Likewise.
19826         * tests/test-iconvme.c: Likewise.
19827         * tests/test-inttypes.c: Likewise.
19828         * tests/test-isnan.c: Likewise.
19829         * tests/test-isnanf.c: Likewise.
19830         * tests/test-isnanl-nolibm.c: Likewise.
19831         * tests/test-isnanl.c: Likewise.
19832         * tests/test-isnanl.h: Likewise.
19833         * tests/test-ldexpl.c: Likewise.
19834         * tests/test-linked_list.c: Likewise.
19835         * tests/test-linkedhash_list.c: Likewise.
19836         * tests/test-locale.c: Likewise.
19837         * tests/test-localename.c: Likewise.
19838         * tests/test-lock.c: Likewise.
19839         * tests/test-lseek.c: Likewise.
19840         * tests/test-malloca.c: Likewise.
19841         * tests/test-math.c: Likewise.
19842         * tests/test-mbscasecmp.c: Likewise.
19843         * tests/test-mbscasestr1.c: Likewise.
19844         * tests/test-mbscasestr2.c: Likewise.
19845         * tests/test-mbscasestr3.c: Likewise.
19846         * tests/test-mbscasestr4.c: Likewise.
19847         * tests/test-mbschr.c: Likewise.
19848         * tests/test-mbscspn.c: Likewise.
19849         * tests/test-mbsncasecmp.c: Likewise.
19850         * tests/test-mbspbrk.c: Likewise.
19851         * tests/test-mbspcasecmp.c: Likewise.
19852         * tests/test-mbsrchr.c: Likewise.
19853         * tests/test-mbsspn.c: Likewise.
19854         * tests/test-mbsstr1.c: Likewise.
19855         * tests/test-mbsstr2.c: Likewise.
19856         * tests/test-mbsstr3.c: Likewise.
19857         * tests/test-md5.c: Likewise.
19858         * tests/test-memmem.c: Likewise.
19859         * tests/test-netinet_in.c: Likewise.
19860         * tests/test-open.c: Likewise.
19861         * tests/test-printf-frexp.c: Likewise.
19862         * tests/test-printf-frexpl.c: Likewise.
19863         * tests/test-printf-posix.c: Likewise.
19864         * tests/test-printf-posix.h: Likewise.
19865         * tests/test-rbtree_list.c: Likewise.
19866         * tests/test-rbtree_oset.c: Likewise.
19867         * tests/test-rbtreehash_list.c: Likewise.
19868         * tests/test-read-file.c: Likewise.
19869         * tests/test-rijndael.c: Likewise.
19870         * tests/test-search.c: Likewise.
19871         * tests/test-signbit.c: Likewise.
19872         * tests/test-sleep.c: Likewise.
19873         * tests/test-snprintf-posix.c: Likewise.
19874         * tests/test-snprintf-posix.h: Likewise.
19875         * tests/test-snprintf.c: Likewise.
19876         * tests/test-sprintf-posix.c: Likewise.
19877         * tests/test-sprintf-posix.h: Likewise.
19878         * tests/test-stat-time.c: Likewise.
19879         * tests/test-stdbool.c: Likewise.
19880         * tests/test-stdint.c: Likewise.
19881         * tests/test-stdio.c: Likewise.
19882         * tests/test-stdlib.c: Likewise.
19883         * tests/test-stpncpy.c: Likewise.
19884         * tests/test-strcasestr.c: Likewise.
19885         * tests/test-striconv.c: Likewise.
19886         * tests/test-striconveh.c: Likewise.
19887         * tests/test-striconveha.c: Likewise.
19888         * tests/test-string.c: Likewise.
19889         * tests/test-sys_select.c: Likewise.
19890         * tests/test-sys_socket.c: Likewise.
19891         * tests/test-sys_stat.c: Likewise.
19892         * tests/test-sys_time.c: Likewise.
19893         * tests/test-sysexits.c: Likewise.
19894         * tests/test-time.c: Likewise.
19895         * tests/test-tls.c: Likewise.
19896         * tests/test-trunc.c: Likewise.
19897         * tests/test-truncf.c: Likewise.
19898         * tests/test-truncl.c: Likewise.
19899         * tests/test-unistd.c: Likewise.
19900         * tests/test-vasnprintf-posix.c: Likewise.
19901         * tests/test-vasnprintf-posix2.c: Likewise.
19902         * tests/test-vasnprintf.c: Likewise.
19903         * tests/test-vasprintf-posix.c: Likewise.
19904         * tests/test-vasprintf.c: Likewise.
19905         * tests/test-verify.c: Likewise.
19906         * tests/test-vfprintf-posix.c: Likewise.
19907         * tests/test-vprintf-posix.c: Likewise.
19908         * tests/test-vsnprintf-posix.c: Likewise.
19909         * tests/test-vsnprintf.c: Likewise.
19910         * tests/test-vsprintf-posix.c: Likewise.
19911         * tests/test-wchar.c: Likewise.
19912         * tests/test-wctype.c: Likewise.
19913         * tests/test-wcwidth.c: Likewise.
19914         * tests/test-xstrtol.c: Likewise.
19915         * tests/test-xvasprintf.c: Likewise.
19916         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
19917         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
19918         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
19919         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
19920         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
19921         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
19922         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
19923         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
19924         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
19925         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
19926         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
19927         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
19928         * tests/uniname/test-uninames.c: Likewise.
19929         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
19930         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
19931         * tests/unistdio/test-u16-printf1.h: Likewise.
19932         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
19933         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
19934         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
19935         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
19936         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
19937         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
19938         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
19939         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
19940         * tests/unistdio/test-u32-printf1.h: Likewise.
19941         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
19942         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
19943         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
19944         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
19945         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
19946         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
19947         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
19948         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
19949         * tests/unistdio/test-u8-printf1.h: Likewise.
19950         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
19951         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
19952         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
19953         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
19954         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
19955         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
19956         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
19957         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
19958         * tests/unistdio/test-ulc-printf1.h: Likewise.
19959         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
19960         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
19961         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
19962         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
19963         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
19964         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
19965         * tests/uniwidth/test-u16-strwidth.c: Likewise.
19966         * tests/uniwidth/test-u16-width.c: Likewise.
19967         * tests/uniwidth/test-u32-strwidth.c: Likewise.
19968         * tests/uniwidth/test-u32-width.c: Likewise.
19969         * tests/uniwidth/test-u8-strwidth.c: Likewise.
19970         * tests/uniwidth/test-u8-width.c: Likewise.
19971         * tests/uniwidth/test-uc_width.c: Likewise.
19972         * config/srclist-update: Likewise.
19973         (fixlicense): Update to GPLv3+.
19974
19975         Change copyright notice from LGPLv2.1+ to LGPLv3+.
19976         * tests/test-tsearch.c: Change copyright notice.
19977
19978         Change copyright notice from LGPLv2.0+ to LGPLv3+.
19979         * lib/c-strcaseeq.h: Change copyright notice.
19980         * lib/streq.h: Likewise.
19981         * lib/uniconv.h: Likewise.
19982         * lib/uniconv/u-conv-from-enc.h: Likewise.
19983         * lib/uniconv/u-conv-to-enc.h: Likewise.
19984         * lib/uniconv/u-strconv-from-enc.h: Likewise.
19985         * lib/uniconv/u-strconv-to-enc.h: Likewise.
19986         * lib/uniconv/u16-conv-from-enc.c: Likewise.
19987         * lib/uniconv/u16-conv-to-enc.c: Likewise.
19988         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
19989         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
19990         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
19991         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
19992         * lib/uniconv/u32-conv-from-enc.c: Likewise.
19993         * lib/uniconv/u32-conv-to-enc.c: Likewise.
19994         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
19995         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
19996         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
19997         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
19998         * lib/uniconv/u8-conv-from-enc.c: Likewise.
19999         * lib/uniconv/u8-conv-to-enc.c: Likewise.
20000         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
20001         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
20002         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
20003         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
20004         * lib/uniname.h: Likewise.
20005         * lib/uniname/uniname.c: Likewise.
20006         * lib/unistdio.h: Likewise.
20007         * lib/unistdio/u-asnprintf.h: Likewise.
20008         * lib/unistdio/u-asprintf.h: Likewise.
20009         * lib/unistdio/u-printf-args.c: Likewise.
20010         * lib/unistdio/u-printf-args.h: Likewise.
20011         * lib/unistdio/u-printf-parse.h: Likewise.
20012         * lib/unistdio/u-snprintf.h: Likewise.
20013         * lib/unistdio/u-sprintf.h: Likewise.
20014         * lib/unistdio/u-vasprintf.h: Likewise.
20015         * lib/unistdio/u-vsnprintf.h: Likewise.
20016         * lib/unistdio/u-vsprintf.h: Likewise.
20017         * lib/unistdio/u16-asnprintf.c: Likewise.
20018         * lib/unistdio/u16-asprintf.c: Likewise.
20019         * lib/unistdio/u16-printf-parse.c: Likewise.
20020         * lib/unistdio/u16-snprintf.c: Likewise.
20021         * lib/unistdio/u16-sprintf.c: Likewise.
20022         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
20023         * lib/unistdio/u16-u16-asprintf.c: Likewise.
20024         * lib/unistdio/u16-u16-snprintf.c: Likewise.
20025         * lib/unistdio/u16-u16-sprintf.c: Likewise.
20026         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
20027         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
20028         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
20029         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
20030         * lib/unistdio/u16-vasnprintf.c: Likewise.
20031         * lib/unistdio/u16-vasprintf.c: Likewise.
20032         * lib/unistdio/u16-vsnprintf.c: Likewise.
20033         * lib/unistdio/u16-vsprintf.c: Likewise.
20034         * lib/unistdio/u32-asnprintf.c: Likewise.
20035         * lib/unistdio/u32-asprintf.c: Likewise.
20036         * lib/unistdio/u32-printf-parse.c: Likewise.
20037         * lib/unistdio/u32-snprintf.c: Likewise.
20038         * lib/unistdio/u32-sprintf.c: Likewise.
20039         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
20040         * lib/unistdio/u32-u32-asprintf.c: Likewise.
20041         * lib/unistdio/u32-u32-snprintf.c: Likewise.
20042         * lib/unistdio/u32-u32-sprintf.c: Likewise.
20043         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
20044         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
20045         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
20046         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
20047         * lib/unistdio/u32-vasnprintf.c: Likewise.
20048         * lib/unistdio/u32-vasprintf.c: Likewise.
20049         * lib/unistdio/u32-vsnprintf.c: Likewise.
20050         * lib/unistdio/u32-vsprintf.c: Likewise.
20051         * lib/unistdio/u8-asnprintf.c: Likewise.
20052         * lib/unistdio/u8-asprintf.c: Likewise.
20053         * lib/unistdio/u8-printf-parse.c: Likewise.
20054         * lib/unistdio/u8-snprintf.c: Likewise.
20055         * lib/unistdio/u8-sprintf.c: Likewise.
20056         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
20057         * lib/unistdio/u8-u8-asprintf.c: Likewise.
20058         * lib/unistdio/u8-u8-snprintf.c: Likewise.
20059         * lib/unistdio/u8-u8-sprintf.c: Likewise.
20060         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
20061         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
20062         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
20063         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
20064         * lib/unistdio/u8-vasnprintf.c: Likewise.
20065         * lib/unistdio/u8-vasprintf.c: Likewise.
20066         * lib/unistdio/u8-vsnprintf.c: Likewise.
20067         * lib/unistdio/u8-vsprintf.c: Likewise.
20068         * lib/unistdio/ulc-asnprintf.c: Likewise.
20069         * lib/unistdio/ulc-asprintf.c: Likewise.
20070         * lib/unistdio/ulc-printf-parse.c: Likewise.
20071         * lib/unistdio/ulc-snprintf.c: Likewise.
20072         * lib/unistdio/ulc-sprintf.c: Likewise.
20073         * lib/unistdio/ulc-vasnprintf.c: Likewise.
20074         * lib/unistdio/ulc-vasprintf.c: Likewise.
20075         * lib/unistdio/ulc-vsnprintf.c: Likewise.
20076         * lib/unistdio/ulc-vsprintf.c: Likewise.
20077         * lib/unistr.h: Likewise.
20078         * lib/unistr/u-cpy-alloc.h: Likewise.
20079         * lib/unistr/u-cpy.h: Likewise.
20080         * lib/unistr/u-endswith.h: Likewise.
20081         * lib/unistr/u-move.h: Likewise.
20082         * lib/unistr/u-set.h: Likewise.
20083         * lib/unistr/u-startswith.h: Likewise.
20084         * lib/unistr/u-stpcpy.h: Likewise.
20085         * lib/unistr/u-stpncpy.h: Likewise.
20086         * lib/unistr/u-strcat.h: Likewise.
20087         * lib/unistr/u-strcpy.h: Likewise.
20088         * lib/unistr/u-strcspn.h: Likewise.
20089         * lib/unistr/u-strdup.h: Likewise.
20090         * lib/unistr/u-strlen.h: Likewise.
20091         * lib/unistr/u-strncat.h: Likewise.
20092         * lib/unistr/u-strncpy.h: Likewise.
20093         * lib/unistr/u-strnlen.h: Likewise.
20094         * lib/unistr/u-strpbrk.h: Likewise.
20095         * lib/unistr/u-strspn.h: Likewise.
20096         * lib/unistr/u-strstr.h: Likewise.
20097         * lib/unistr/u-strtok.h: Likewise.
20098         * lib/unistr/u16-check.c: Likewise.
20099         * lib/unistr/u16-chr.c: Likewise.
20100         * lib/unistr/u16-cmp.c: Likewise.
20101         * lib/unistr/u16-cpy-alloc.c: Likewise.
20102         * lib/unistr/u16-cpy.c: Likewise.
20103         * lib/unistr/u16-endswith.c: Likewise.
20104         * lib/unistr/u16-mblen.c: Likewise.
20105         * lib/unistr/u16-mbsnlen.c: Likewise.
20106         * lib/unistr/u16-mbtouc-aux.c: Likewise.
20107         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
20108         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
20109         * lib/unistr/u16-mbtouc.c: Likewise.
20110         * lib/unistr/u16-mbtoucr.c: Likewise.
20111         * lib/unistr/u16-move.c: Likewise.
20112         * lib/unistr/u16-next.c: Likewise.
20113         * lib/unistr/u16-prev.c: Likewise.
20114         * lib/unistr/u16-set.c: Likewise.
20115         * lib/unistr/u16-startswith.c: Likewise.
20116         * lib/unistr/u16-stpcpy.c: Likewise.
20117         * lib/unistr/u16-stpncpy.c: Likewise.
20118         * lib/unistr/u16-strcat.c: Likewise.
20119         * lib/unistr/u16-strchr.c: Likewise.
20120         * lib/unistr/u16-strcmp.c: Likewise.
20121         * lib/unistr/u16-strcpy.c: Likewise.
20122         * lib/unistr/u16-strcspn.c: Likewise.
20123         * lib/unistr/u16-strdup.c: Likewise.
20124         * lib/unistr/u16-strlen.c: Likewise.
20125         * lib/unistr/u16-strmblen.c: Likewise.
20126         * lib/unistr/u16-strmbtouc.c: Likewise.
20127         * lib/unistr/u16-strncat.c: Likewise.
20128         * lib/unistr/u16-strncmp.c: Likewise.
20129         * lib/unistr/u16-strncpy.c: Likewise.
20130         * lib/unistr/u16-strnlen.c: Likewise.
20131         * lib/unistr/u16-strpbrk.c: Likewise.
20132         * lib/unistr/u16-strrchr.c: Likewise.
20133         * lib/unistr/u16-strspn.c: Likewise.
20134         * lib/unistr/u16-strstr.c: Likewise.
20135         * lib/unistr/u16-strtok.c: Likewise.
20136         * lib/unistr/u16-to-u32.c: Likewise.
20137         * lib/unistr/u16-to-u8.c: Likewise.
20138         * lib/unistr/u16-uctomb-aux.c: Likewise.
20139         * lib/unistr/u16-uctomb.c: Likewise.
20140         * lib/unistr/u32-check.c: Likewise.
20141         * lib/unistr/u32-chr.c: Likewise.
20142         * lib/unistr/u32-cmp.c: Likewise.
20143         * lib/unistr/u32-cpy-alloc.c: Likewise.
20144         * lib/unistr/u32-cpy.c: Likewise.
20145         * lib/unistr/u32-endswith.c: Likewise.
20146         * lib/unistr/u32-mblen.c: Likewise.
20147         * lib/unistr/u32-mbsnlen.c: Likewise.
20148         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
20149         * lib/unistr/u32-mbtouc.c: Likewise.
20150         * lib/unistr/u32-mbtoucr.c: Likewise.
20151         * lib/unistr/u32-move.c: Likewise.
20152         * lib/unistr/u32-next.c: Likewise.
20153         * lib/unistr/u32-prev.c: Likewise.
20154         * lib/unistr/u32-set.c: Likewise.
20155         * lib/unistr/u32-startswith.c: Likewise.
20156         * lib/unistr/u32-stpcpy.c: Likewise.
20157         * lib/unistr/u32-stpncpy.c: Likewise.
20158         * lib/unistr/u32-strcat.c: Likewise.
20159         * lib/unistr/u32-strchr.c: Likewise.
20160         * lib/unistr/u32-strcmp.c: Likewise.
20161         * lib/unistr/u32-strcpy.c: Likewise.
20162         * lib/unistr/u32-strcspn.c: Likewise.
20163         * lib/unistr/u32-strdup.c: Likewise.
20164         * lib/unistr/u32-strlen.c: Likewise.
20165         * lib/unistr/u32-strmblen.c: Likewise.
20166         * lib/unistr/u32-strmbtouc.c: Likewise.
20167         * lib/unistr/u32-strncat.c: Likewise.
20168         * lib/unistr/u32-strncmp.c: Likewise.
20169         * lib/unistr/u32-strncpy.c: Likewise.
20170         * lib/unistr/u32-strnlen.c: Likewise.
20171         * lib/unistr/u32-strpbrk.c: Likewise.
20172         * lib/unistr/u32-strrchr.c: Likewise.
20173         * lib/unistr/u32-strspn.c: Likewise.
20174         * lib/unistr/u32-strstr.c: Likewise.
20175         * lib/unistr/u32-strtok.c: Likewise.
20176         * lib/unistr/u32-to-u16.c: Likewise.
20177         * lib/unistr/u32-to-u8.c: Likewise.
20178         * lib/unistr/u32-uctomb.c: Likewise.
20179         * lib/unistr/u8-check.c: Likewise.
20180         * lib/unistr/u8-chr.c: Likewise.
20181         * lib/unistr/u8-cmp.c: Likewise.
20182         * lib/unistr/u8-cpy-alloc.c: Likewise.
20183         * lib/unistr/u8-cpy.c: Likewise.
20184         * lib/unistr/u8-endswith.c: Likewise.
20185         * lib/unistr/u8-mblen.c: Likewise.
20186         * lib/unistr/u8-mbsnlen.c: Likewise.
20187         * lib/unistr/u8-mbtouc-aux.c: Likewise.
20188         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
20189         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
20190         * lib/unistr/u8-mbtouc.c: Likewise.
20191         * lib/unistr/u8-mbtoucr.c: Likewise.
20192         * lib/unistr/u8-move.c: Likewise.
20193         * lib/unistr/u8-next.c: Likewise.
20194         * lib/unistr/u8-prev.c: Likewise.
20195         * lib/unistr/u8-set.c: Likewise.
20196         * lib/unistr/u8-startswith.c: Likewise.
20197         * lib/unistr/u8-stpcpy.c: Likewise.
20198         * lib/unistr/u8-stpncpy.c: Likewise.
20199         * lib/unistr/u8-strcat.c: Likewise.
20200         * lib/unistr/u8-strchr.c: Likewise.
20201         * lib/unistr/u8-strcmp.c: Likewise.
20202         * lib/unistr/u8-strcpy.c: Likewise.
20203         * lib/unistr/u8-strcspn.c: Likewise.
20204         * lib/unistr/u8-strdup.c: Likewise.
20205         * lib/unistr/u8-strlen.c: Likewise.
20206         * lib/unistr/u8-strmblen.c: Likewise.
20207         * lib/unistr/u8-strmbtouc.c: Likewise.
20208         * lib/unistr/u8-strncat.c: Likewise.
20209         * lib/unistr/u8-strncmp.c: Likewise.
20210         * lib/unistr/u8-strncpy.c: Likewise.
20211         * lib/unistr/u8-strnlen.c: Likewise.
20212         * lib/unistr/u8-strpbrk.c: Likewise.
20213         * lib/unistr/u8-strrchr.c: Likewise.
20214         * lib/unistr/u8-strspn.c: Likewise.
20215         * lib/unistr/u8-strstr.c: Likewise.
20216         * lib/unistr/u8-strtok.c: Likewise.
20217         * lib/unistr/u8-to-u16.c: Likewise.
20218         * lib/unistr/u8-to-u32.c: Likewise.
20219         * lib/unistr/u8-uctomb-aux.c: Likewise.
20220         * lib/unistr/u8-uctomb.c: Likewise.
20221         * lib/unitypes.h: Likewise.
20222         * lib/uniwidth.h: Likewise.
20223         * lib/uniwidth/cjk.h: Likewise.
20224         * lib/uniwidth/u16-strwidth.c: Likewise.
20225         * lib/uniwidth/u16-width.c: Likewise.
20226         * lib/uniwidth/u32-strwidth.c: Likewise.
20227         * lib/uniwidth/u32-width.c: Likewise.
20228         * lib/uniwidth/u8-strwidth.c: Likewise.
20229         * lib/uniwidth/u8-width.c: Likewise.
20230         * lib/uniwidth/width.c: Likewise.
20231
20232 2007-10-07  Bruno Haible  <bruno@clisp.org>
20233
20234         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
20235         The file is still under LGPL (see modules/inttypes).
20236
20237 2007-10-06  Bruno Haible  <bruno@clisp.org>
20238
20239         * modules/trunc (Dependencies): Add 'extensions'.
20240         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
20241         Reported by Ben Pfaff <blp@gnu.org>.
20242
20243 2007-10-06  Bruno Haible  <bruno@clisp.org>
20244
20245         * modules/freopen-tests: New file.
20246         * tests/test-freopen.c: New file.
20247
20248         * modules/fopen-tests: New file.
20249         * tests/test-fopen.c: New file.
20250
20251         * modules/fopen: New file.
20252         * lib/fopen.c: New file.
20253         * m4/fopen.m4: New file.
20254         * modules/freopen: New file.
20255         * lib/freopen.c: New file.
20256         * m4/freopen.m4: New file.
20257         * lib/stdio.in.h (fopen, freopen): New declarations.
20258         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
20259         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
20260         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
20261         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
20262         * doc/functions/fopen.texi: Mention the 'fopen' module.
20263         * doc/functions/freopen.texi: Mention the 'freopen' module.
20264
20265 2007-10-06  Bruno Haible  <bruno@clisp.org>
20266
20267         * modules/open-tests: New file.
20268         * tests/test-open.c: New file.
20269
20270         * modules/open: New file.
20271         * lib/open.c: New file.
20272         * m4/open.m4: New file.
20273         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
20274         lib/open.c does.
20275         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
20276         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
20277         macros.
20278         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
20279         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
20280         REPLACE_OPEN.
20281         * doc/functions/open.texi: Mention the 'open' module.
20282
20283 2007-10-04  Bruno Haible  <bruno@clisp.org>
20284
20285         * modules/ceill-tests: New file.
20286         * tests/test-ceill.c: New file.
20287
20288         * modules/ceill: New file.
20289         * lib/ceill.c: Replace entire file.
20290         * m4/ceill.m4: New file.
20291         * lib/math.in.h (ceill): Replace declaration.
20292         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
20293         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
20294         * doc/functions/ceill.texi: Mention the 'ceill' module.
20295         * modules/mathl (Files): Remove lib/ceill.c.
20296         (Depends-on): Add ceill.
20297
20298 2007-10-04  Bruno Haible  <bruno@clisp.org>
20299
20300         * modules/ceilf-tests: New file.
20301         * tests/test-ceilf.c: New file.
20302
20303         * modules/ceilf: New file.
20304         * lib/ceil.c: New file.
20305         * lib/ceilf.c: New file.
20306         * m4/ceilf.m4: New file.
20307         * lib/math.in.h (ceilf): New declaration.
20308         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
20309         HAVE_DECL_CEILF.
20310         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
20311         HAVE_DECL_CEILF.
20312         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
20313
20314 2007-10-04  Bruno Haible  <bruno@clisp.org>
20315
20316         * modules/floorl-tests: New file.
20317         * tests/test-floorl.c: New file.
20318
20319         * modules/floorl: New file.
20320         * lib/floorl.c: Replace entire file.
20321         * m4/floorl.m4: New file.
20322         * lib/math.in.h (floorl): Replace declaration.
20323         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
20324         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
20325         * doc/functions/floorl.texi: Mention the 'floorl' module.
20326         * modules/mathl (Files): Remove lib/floorl.c.
20327         (Depends-on): Add floorl.
20328
20329 2007-10-04  Bruno Haible  <bruno@clisp.org>
20330
20331         * modules/floorf-tests: New file.
20332         * tests/test-floorf.c: New file.
20333
20334         * modules/floorf: New file.
20335         * lib/floor.c: New file.
20336         * lib/floorf.c: New file.
20337         * m4/floorf.m4: New file.
20338         * lib/math.in.h (floorf): New declaration.
20339         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
20340         HAVE_DECL_FLOORF.
20341         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
20342         HAVE_DECL_FLOORF.
20343         * doc/functions/floorf.texi: Mention the 'floorf' module.
20344
20345 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
20346             Bruno Haible  <bruno@clisp.org>
20347
20348         Advertise for the Git server instead of the CVS server.
20349         * doc/gnulib-intro.texi (Steady Development): Mention the Git
20350         repository instead of the CVS one.
20351         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
20352         about all VCS systems generically.
20353         * doc/gnulib.texi (Introduction): Capitalize `Git'.
20354
20355 2007-10-04  Bruno Haible  <bruno@clisp.org>
20356
20357         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
20358         means.
20359         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
20360
20361 2007-10-04  Bruno Haible  <bruno@clisp.org>
20362
20363         * modules/truncl-tests: New file.
20364         * tests/test-truncl.c: New file.
20365
20366         * modules/truncl: New file.
20367         * lib/truncl.c: New file.
20368         * m4/truncl.m4: New file.
20369         * lib/math.in.h (truncl): New declaration.
20370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
20371         HAVE_DECL_TRUNCL.
20372         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
20373         HAVE_DECL_TRUNCL.
20374         * doc/functions/truncl.texi: Mention the 'truncl' module.
20375
20376 2007-10-04  Bruno Haible  <bruno@clisp.org>
20377
20378         * modules/truncf-tests: New file.
20379         * tests/test-truncf.c: New file.
20380
20381         * modules/truncf: New file.
20382         * lib/trunc.c: Make paramerizable through USE_* macros.
20383         * lib/truncf.c: New file.
20384         * m4/truncf.m4: New file.
20385         * lib/math.in.h (truncf): New declaration.
20386         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
20387         HAVE_DECL_TRUNCF.
20388         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
20389         HAVE_DECL_TRUNCF.
20390         * doc/functions/truncf.texi: Mention the 'truncf' module.
20391
20392 2007-10-03  Bruno Haible  <bruno@clisp.org>
20393
20394         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
20395         augmentation also for tests modules.
20396         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
20397         * modules/atexit-tests (Makefile.am): Likewise.
20398         * modules/binary-io-tests (Makefile.am): Likewise.
20399         * modules/c-strcase-tests (Makefile.am): Likewise.
20400         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
20401         * modules/canonicalize-tests (Makefile.am): Likewise.
20402         * modules/closein-tests (Makefile.am): Likewise.
20403         * modules/fprintf-posix-tests (Makefile.am): Likewise.
20404         * modules/freadahead-tests (Makefile.am): Likewise.
20405         * modules/fseek-tests (Makefile.am): Likewise.
20406         * modules/fseeko-tests (Makefile.am): Likewise.
20407         * modules/ftell-tests (Makefile.am): Likewise.
20408         * modules/ftello-tests (Makefile.am): Likewise.
20409         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
20410         * modules/isnanl-tests (Makefile.am): Likewise.
20411         * modules/lseek-tests (Makefile.am): Likewise.
20412         * modules/mbscasecmp-tests (Makefile.am): Likewise.
20413         * modules/mbscasestr-tests (Makefile.am): Likewise.
20414         * modules/mbschr-tests (Makefile.am): Likewise.
20415         * modules/mbscspn-tests (Makefile.am): Likewise.
20416         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
20417         * modules/mbspbrk-tests (Makefile.am): Likewise.
20418         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
20419         * modules/mbsrchr-tests (Makefile.am): Likewise.
20420         * modules/mbsspn-tests (Makefile.am): Likewise.
20421         * modules/mbsstr-tests (Makefile.am): Likewise.
20422         * modules/printf-posix-tests (Makefile.am): Likewise.
20423         * modules/snprintf-posix-tests (Makefile.am): Likewise.
20424         * modules/sprintf-posix-tests (Makefile.am): Likewise.
20425         * modules/tsearch-tests (Makefile.am): Likewise.
20426         * modules/uniname/uniname-tests (Makefile.am): Likewise.
20427         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
20428         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
20429         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
20430         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
20431         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
20432         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
20433         * modules/vprintf-posix-tests (Makefile.am): Likewise.
20434         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
20435         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
20436         * modules/xstrtoimax-tests (Makefile.am): Likewise.
20437         * modules/xstrtol-tests (Makefile.am): Likewise.
20438         * modules/xstrtoumax-tests (Makefile.am): Likewise.
20439         * modules/yesno-tests (Makefile.am): Likewise.
20440
20441 2007-10-03  Bruno Haible  <bruno@clisp.org>
20442
20443         * modules/trunc-tests: New file.
20444         * tests/test-trunc.c: New file.
20445
20446         * modules/trunc: New file.
20447         * lib/trunc.c: New file.
20448         * m4/trunc.m4: New file.
20449         * lib/math.in.h (trunc): New declaration.
20450         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
20451         HAVE_DECL_TRUNC.
20452         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
20453         HAVE_DECL_TRUNC.
20454         * doc/functions/trunc.texi: Mention the 'trunc' module.
20455
20456 2007-10-03  Bruno Haible  <bruno@clisp.org>
20457
20458         * tests/test-fpending.c: New file, mostly copied
20459         from coreutils/lib/t-fpending.c.
20460         * modules/fpending-tests: New file.
20461
20462 2007-10-03  Bruno Haible  <bruno@clisp.org>
20463
20464         Port the stdio extensions to QNX (untested).
20465         * lib/fseterr.c (fseterr): Add support for QNX.
20466         * lib/fbufmode.c (fbufmode): Likewise.
20467         * lib/freadable.c (freadable): Likewise.
20468         * lib/fwritable.c (fwritable): Likewise.
20469         * lib/freading.c (freading): Likewise.
20470         * lib/fwriting.c (fwriting): Likewise.
20471         * lib/freadahead.c (freadahed): Likewise.
20472         * lib/fpurge.c (fpurge): Likewise.
20473         * lib/fseeko.c (rpl_fseeko): Likewise.
20474
20475 2007-10-03  Bruno Haible  <bruno@clisp.org>
20476             Jim Meyering  <jim@meyering.net>
20477             Eric Blake  <ebb9@byu.net>
20478
20479         * doc/relocatable.texi: Use @command instead of @program.
20480
20481 2007-10-02  Jim Meyering  <jim@meyering.net>
20482
20483         Perform one more "_.h" -> ".in.h" substitution.
20484         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
20485         instead of unistd_.h here, too.
20486
20487 2007-10-01  Bruno Haible  <bruno@clisp.org>
20488
20489         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
20490         Needed for the alloca-opt module.
20491
20492 2007-09-30  Bruno Haible  <bruno@clisp.org>
20493
20494         * lib/alloca.in.h: Renamed from lib/alloca_.h.
20495         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
20496         alloca_.h.
20497         * lib/argz.in.h: Renamed from lib/argz_.h.
20498         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
20499         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
20500         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
20501         byteswap_.h.
20502         * lib/dirent.in.h: Renamed from lib/dirent_.h.
20503         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
20504         dirent_.h.
20505         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
20506         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
20507         fcntl_.h.
20508         * lib/float.in.h: Renamed from lib/float_.h.
20509         * modules/float (Files, Makefile.am): Use float.in.h instead of
20510         float_.h.
20511         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
20512         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
20513         fnmatch_.h.
20514         * lib/getopt.in.h: Renamed from lib/getopt_.h.
20515         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
20516         getopt_.h.
20517         * lib/glob.in.h: Renamed from lib/glob_.h.
20518         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
20519         * lib/iconv.in.h: Renamed from lib/iconv_.h.
20520         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
20521         iconv_.h.
20522         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
20523         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
20524         inttypes_.h.
20525         * lib/locale.in.h: Renamed from lib/locale_.h.
20526         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
20527         locale_.h.
20528         * lib/math.in.h: Renamed from lib/math_.h.
20529         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
20530         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
20531         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
20532         of netinet_in_.h. Add dependency.
20533         * lib/poll.in.h: Renamed from lib/poll_.h.
20534         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
20535         * lib/search.in.h: Renamed from lib/search_.h.
20536         * modules/search (Files, Makefile.am): Use search.in.h instead of
20537         search_.h.
20538         * lib/signal.in.h: Renamed from lib/signal_.h.
20539         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
20540         _signal.h.
20541         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
20542         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
20543         stdbool_.h.
20544         * lib/stdint.in.h: Renamed from lib/stdint_.h.
20545         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
20546         stdint_.h.
20547         * lib/stdio.in.h: Renamed from lib/stdio_.h.
20548         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
20549         stdio_.h.
20550         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
20551         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
20552         stdlib_.h.
20553         * lib/string.in.h: Renamed from lib/string_.h.
20554         * modules/string (Files, Makefile.am): Use string.in.h instead of
20555         string_.h.
20556         * doc/gnulib-tool.texi (Initial import): Update.
20557         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
20558         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
20559         of sys_select_.h. Add dependency.
20560         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
20561         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
20562         of sys_socket_.h.
20563         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
20564         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
20565         sys_stat_.h.
20566         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
20567         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
20568         sys_time_.h.
20569         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
20570         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
20571         sysexits_.h.
20572         * lib/time.in.h: Renamed from lib/time_.h.
20573         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
20574         * lib/unistd.in.h: Renamed from lib/unistd_.h.
20575         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
20576         unistd_.h.
20577         * lib/wchar.in.h: Renamed from lib/wchar_.h.
20578         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
20579         wchar_.h.
20580         * lib/wctype.in.h: Renamed from lib/wctype_.h.
20581         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
20582         wctype_.h.
20583         * build-aux/bootstrap (slurp): Update.
20584         * lib/.cppi-disable: Update.
20585
20586 2007-09-30  Bruno Haible  <bruno@clisp.org>
20587
20588         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
20589         Needed on BeOS.
20590
20591 2007-09-30  Bruno Haible  <bruno@clisp.org>
20592
20593         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
20594
20595 2007-09-29  Bruno Haible  <bruno@clisp.org>
20596
20597         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
20598
20599 2007-09-29  Bruno Haible  <bruno@clisp.org>
20600
20601         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
20602         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
20603         * build-aux/install-reloc: Compile also areadlink.c.
20604         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
20605
20606 2007-09-29  Bruno Haible  <bruno@clisp.org>
20607
20608         * gnulib-tool (func_emit_initmacro_done): Indentation.
20609
20610 2007-09-29  Bruno Haible  <bruno@clisp.org>
20611
20612         * README: Add CVS checkout update instructions.
20613         Info from Bob Proulx <bob@proulx.com>.
20614
20615 2007-09-28  Eric Blake  <ebb9@byu.net>
20616
20617         Provide move-if-change.
20618         * build-aux/move-if-change: New file, based on best practice
20619         rather than any canonical upstream location.
20620
20621 2007-09-28  Jim Meyering  <jim@meyering.net>
20622
20623         Fix canonicalize loop-detection corner case.
20624         Do not attempt to stat the symlink values stored via seen_triple.
20625         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
20626         on linux-2.6.18, (but not 2.6.22).
20627         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
20628         triple_compare.  The former compares dev,ino,filename, while the latter
20629         would actually stat dirname(filename) when dev and ino were equal.
20630         * lib/hash-triple.c: Install <string.h>.
20631         (STREQ): Define.
20632         (triple_compare_ino_str): New function.
20633         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
20634
20635 2007-09-28  Eric Blake  <ebb9@byu.net>
20636
20637         Enforce that AC_REPLACE_FUNCS files exist.
20638         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
20639         override check for typos.
20640
20641         Fix test-closein on Solaris 10.
20642         * tests/test-closein.c (main): Don't assume stdin can be inherited
20643         closed on all systems.
20644         * tests/test-closein.sh: Likewise.
20645         Reported by Piotr Tarnowski.
20646
20647 2007-09-28  Jim Meyering  <jim@meyering.net>
20648
20649         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
20650
20651 2007-09-27  Jim Meyering  <jim@meyering.net>
20652
20653         canonicalize: Avoid a false-positive cycle failure.
20654         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
20655         Sort.  Remove cycle-check.
20656         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
20657         not cycle-check.h.
20658         (seen_triple): New function.
20659         (canonicalize_filename_mode): Use it instead of cycle-check.
20660         * tests/test-canonicalize.c: Add a test for this bug.
20661         * tests/test-canonicalize.sh: Set up and run the test.
20662
20663         New module, file-set, from coreutils.
20664         * modules/file-set: Define it.
20665         * lib/file-set.c, lib/file-set.h: Implement.
20666
20667         New module, hash-triple, from coreutils.
20668         * modules/hash-triple: Define it.
20669         * lib/hash-triple.c, lib/hash-triple.h: Implement.
20670
20671 2007-09-25  Eric Blake  <ebb9@byu.net>
20672
20673         Fix strerror on Interix.
20674         * lib/string_.h (strerror): Declare replacement.
20675         * doc/functions/strerror.texi (strerror): Document the Interix
20676         shortcoming.
20677         * modules/string (Makefile.am): Support new hooks.
20678         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
20679         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
20680         gl_FUNC_STRERROR_SEPARATE.
20681         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
20682         * lib/strerror.c (rpl_strerror): Provide replacement.
20683         * modules/strerror (Depends-on): Add string.
20684         (configure.ac): Detect use of module.
20685         * tests/test-strerror.c: New file.
20686         * modules/strerror-tests: New test module.
20687         * modules/argp (Depends-on): Add strerror.
20688         * modules/error (Depends-on): Likewise.
20689         Reported by Martin Koeppe.
20690
20691 2007-09-24  Bruno Haible  <bruno@clisp.org>
20692
20693         * README: Update git instructions.
20694
20695 2007-09-24  Eric Blake  <ebb9@byu.net>
20696
20697         Revert fpending breakage from 2007-09-08.
20698         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
20699         __fpending.c.
20700
20701 2007-09-24  Jim Meyering  <jim@meyering.net>
20702
20703         filenamecat.c: Add a test.
20704         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
20705         showing how the function works when DIR is the empty string.
20706
20707 2007-09-21  Simon Josefsson  <simon@josefsson.org>
20708
20709         * tests/test-canonicalize.sh: Turn on executable bit.
20710
20711 2007-09-19  Eric Blake  <ebb9@byu.net>
20712
20713         * README: Update CVS instructions.
20714
20715 2007-09-18  Bruno Haible  <bruno@clisp.org>
20716
20717         * modules/areadlink: New file.
20718         * lib/areadlink.h (areadlink): New declaration.
20719         * lib/areadlink.c: New file, based on lib/xreadlink.c.
20720
20721 2007-09-17  Jim Meyering  <jim@meyering.net>
20722
20723         * lib/savewd.c (ESTALE) [!defined]: Define.
20724         Reported to be required on Interix by Martin Koeppe.
20725
20726 2007-09-17  Bruno Haible  <bruno@clisp.org>
20727
20728         * gnulib-tool (func_version): Use $version.
20729
20730 2007-09-16  Bruno Haible  <bruno@clisp.org>
20731
20732         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
20733         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
20734         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
20735         Reported by Greg Schafer <gschafer@zip.com.au>.
20736
20737 2007-09-15  Bruno Haible  <bruno@clisp.org>
20738
20739         * gnulib-tool (sed): Try a little harder to make bash understand the
20740         alias.
20741         Reported by Bruce Korb <bruce.korb@gmail.com>.
20742
20743 2007-09-13  Eric Blake  <ebb9@byu.net>
20744
20745         * ChangeLog: Remove conflict markers.
20746
20747 2007-09-13  Simon Josefsson  <simon@josefsson.org>
20748
20749         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
20750         Reported by Bruno Haible <bruno@clisp.org>.
20751
20752 2007-09-12  Bruno Haible  <bruno@clisp.org>
20753
20754         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
20755         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
20756         is not defined.
20757
20758 2007-09-12  Eric Blake  <ebb9@byu.net>
20759
20760         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
20761         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
20762         Autoconf definition.
20763         * modules/euidaccess (Depends-on): Add extensions, for
20764         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
20765         * modules/fnmatch (Depends-on): Likewise.
20766         * modules/getaddrinfo (Depends-on): Likewise.
20767         * modules/getdelim (Depends-on): Likewise.
20768         * modules/getline (Depends-on): Likewise.
20769         * modules/getsubopt (Depends-on): Likewise.
20770         * modules/gettext (Depends-on): Likewise.
20771         * modules/group-member (Depends-on): Likewise.
20772         * modules/mbchar (Depends-on): Likewise.
20773         * modules/memmem (Depends-on): Likewise.
20774         * modules/mempcpy (Depends-on): Likewise.
20775         * modules/memrchr (Depends-on): Likewise.
20776         * modules/pagealign_alloc (Depends-on): Likewise.
20777         * modules/readutmp (Depends-on): Likewise.
20778         * modules/stpcpy (Depends-on): Likewise.
20779         * modules/stpncpy (Depends-on): Likewise.
20780         * modules/strchrnul (Depends-on): Likewise.
20781         * modules/strndup (Depends-on): Likewise.
20782         * modules/strsep (Depends-on): Likewise.
20783         * modules/strverscmp (Depends-on): Likewise.
20784         * modules/vasprintf (Depends-on): Likewise.
20785         * modules/wcwidth (Depends-on): Likewise.
20786         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
20787         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
20788         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
20789         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
20790         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20791         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20792         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
20793         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
20794         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
20795         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
20796         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20797         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
20798         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
20799         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
20800         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
20801         * m4/readutmp.m4 (gl_READUTMP): Likewise.
20802         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
20803         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
20804         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20805         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
20806         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
20807         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
20808         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
20809         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
20810         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
20811         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20812         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
20813         so that lock.m4 can be used in gettext without extensions module.
20814
20815 2007-09-11  Bruno Haible  <bruno@clisp.org>
20816
20817         * m4/isc-posix.m4: Remove file.
20818         Suggested by Eric Blake.
20819
20820 2007-09-11  Eric Blake  <ebb9@byu.net>
20821
20822         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
20823
20824 2007-09-10  Bruno Haible  <bruno@clisp.org>
20825
20826         * posix-modules: Fix typo in error message.
20827         Reported by Matt <mkraai@beckman.com>.
20828
20829 2007-09-09  Bruno Haible  <bruno@clisp.org>
20830
20831         * doc/functions/getdelim.texi: Update list of platforms lacking the
20832         function.
20833         * doc/functions/getline.texi: Likewise.
20834
20835 2007-09-09  Jim Meyering  <jim@meyering.net>
20836
20837         * lib/hash.c (hash_initialize): Detect calloc failure.
20838         Reported by Bruno Haible.
20839
20840 2007-09-09  Bruno Haible  <bruno@clisp.org>
20841
20842         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
20843         malloc or realloc fails.
20844
20845 2007-09-09  Bruno Haible  <bruno@clisp.org>
20846
20847         * modules/getcwd (Depends-on): Add malloc-posix.
20848         * modules/glob (Depends-on): Likewise.
20849         * modules/putenv (Depends-on): Likewise.
20850         * modules/strdup (Depends-on): Likewise.
20851         * modules/getdelim (Depends-on): Add realloc-posix.
20852         * modules/read-file (Depends-on): Likewise.
20853
20854 2007-09-09  Bruno Haible  <bruno@clisp.org>
20855
20856         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
20857         (gl_FUNC_MALLOC_POSIX): Require it.
20858         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
20859         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
20860         * modules/realloc (Files): Add m4/malloc.m4.
20861         * modules/calloc (Files): Likewise.
20862
20863 2007-09-09  Bruno Haible  <bruno@clisp.org>
20864
20865         * modules/malloc-posix: New file.
20866         * modules/malloc (Depends-on): Add malloc-posix.
20867         * lib/malloc.c: Include errno.h.
20868         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
20869         and a POSIX-compatible malloc into a single function. Set ENOMEM
20870         when returning NULL.
20871         * m4/malloc.m4: New file.
20872         * doc/functions/malloc.texi: Mention the malloc-posix module.
20873         * lib/stdlib_.h (malloc): New declaration.
20874         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
20875         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
20876         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
20877         and HAVE_MALLOC_POSIX.
20878
20879 2007-09-09  Bruno Haible  <bruno@clisp.org>
20880
20881         * modules/realloc-posix: New file.
20882         * modules/realloc (Depends-on): Add realloc-posix.
20883         * lib/realloc.c: Include errno.h.
20884         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
20885         and a POSIX-compatible realloc into a single function. Set ENOMEM
20886         when returning NULL.
20887         * m4/realloc.m4: New file.
20888         * doc/functions/realloc.texi: Mention the realloc-posix module.
20889         * lib/stdlib_.h (realloc): New declaration.
20890         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
20891         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
20892         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
20893         and HAVE_REALLOC_POSIX.
20894
20895 2007-09-09  Bruno Haible  <bruno@clisp.org>
20896
20897         * modules/calloc-posix: New file.
20898         * modules/calloc (Depends-on): Add calloc-posix.
20899         * lib/calloc.c: Include errno.h.
20900         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
20901         and a POSIX-compatible calloc into a single function. Set ENOMEM
20902         when returning NULL.
20903         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
20904         * doc/functions/calloc.texi: Mention the calloc-posix module.
20905         * lib/stdlib_.h (calloc): New declaration.
20906         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
20907         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
20908         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
20909         and HAVE_CALLOC_POSIX.
20910
20911 2007-09-09  Bruno Haible  <bruno@clisp.org>
20912
20913         Allow for modules to show an arbitrary notice.
20914         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
20915         * gnulib-tool: New option --extract-notice.
20916         (func_usage): Document it.
20917         (sed_extract_prog): Update.
20918         (func_get_notice): New function.
20919         (func_modules_notice): New function.
20920         (func_import, func_create_testdir): Invoke it.
20921         Suggested by Jim Meyering.
20922
20923 2007-09-09  Bruno Haible  <bruno@clisp.org>
20924
20925         * gnulib-tool: New options --verbose, --quiet.
20926         (func_usage): Document them.
20927         (verbose): New variable.
20928         (func_execute_command): New function.
20929         (func_import): Don't show the module list and the file list if
20930         $verbose < 0.
20931         (func_create_testdir): Likewise. Use func_execute_command.
20932         (func_create_megatestdir): Use func_execute_command.
20933
20934 2007-09-08  Bruno Haible  <bruno@clisp.org>
20935
20936         * gnulib-tool (func_import): Prefer rsync over wget when available,
20937         for fetching the PO files.
20938
20939 2007-09-08  Bruno Haible  <bruno@clisp.org>
20940
20941         * posix-modules: New file. Portions copied from gnulib-tool.
20942         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
20943
20944 2007-09-08  Jim Meyering  <jim@meyering.net>
20945
20946         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
20947         * lib/fpending.h: Rename from __fpending.h.
20948         * lib/fpending.c: Rename from __fpending.c.
20949         Include "fpending.h", not "__fpending.h".
20950         * lib/__fpending.h, lib/__fpending.c: Remove files.
20951         * modules/fpending (Files): Reflect new file names.
20952         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
20953
20954 2007-09-08  Bruno Haible  <bruno@clisp.org>
20955
20956         * m4/inttypes-h.m4: Remove stub file.
20957
20958 2007-09-07  Simon Josefsson  <simon@josefsson.org>
20959
20960         * doc/headers/stdint.texi: Discuss #include_next issue.
20961
20962 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
20963
20964         * build-aux/bootstrap: Remove obsolete comment about wget --help.
20965
20966 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20967
20968         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
20969         in variable name.
20970
20971 2007-09-03  Jim Meyering  <jim@meyering.net>
20972
20973         New module: git-version-gen.
20974         * modules/git-version-gen: New file.
20975
20976         Import changes from coreutils for bootstrap script.
20977
20978         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
20979
20980         bootstrap: uses rsync to download the .po files
20981         * build-aux/bootstrap (po_download_command_format): New global.
20982         (download_po_files): Use rsync.
20983         (update_po_files): Don't remove .po files after download,
20984         so future rsync runs can take advantage of the copies.
20985
20986         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
20987
20988         Solve the unnecessary-.po-file-regeneration problem once and for all.
20989         * build-aux/bootstrap (download_po_files): New function, renamed from
20990         get_translations.  Now, downloads, but doesn't update LINGUAS.
20991         (update_po_files): New function.
20992
20993         bootstrap: Ignore more.
20994         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
20995         uniwidth to e.g., lib/.gitignore.
20996         (slurp): Handle the sys_stat_.h -> sys mapping, too.
20997
20998         * build-aux/bootstrap: New setting: vc_ignore.
20999         (insert_sorted_if_absent): Create $file if absent.
21000         Adapt to new, possibly empty, list: $vc_ignore.
21001
21002         bootstrap: generate more ignorable names
21003         * build-aux/bootstrap (slurp): When generating ignorable names,
21004         also map .sin to .sed, .gperf to .c, and .y to .c.
21005
21006 2007-09-03  Jim Meyering  <jim@meyering.net>
21007
21008         * build-aux/git-version-gen: New file, from coreutils.  For details, see
21009         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
21010
21011 2007-09-02  Bruno Haible  <bruno@clisp.org>
21012
21013         Fix mis-recognition of 'mcs' on QNX 6.
21014         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
21015         output contains the string "Mono".
21016         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
21017         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
21018
21019 2007-09-01  Bruno Haible  <bruno@clisp.org>
21020
21021         Fix collision between uniwidth/* and linebreak modules.
21022         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
21023         u32_width): Remove declarations.
21024         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
21025         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
21026         streq3, streq2, streq1, streq0): Remove functions.
21027         (STREQ): Remove macro.
21028         (is_cjk_encoding): Remove function.
21029         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
21030         (uc_width, u8_width, u16_width, u32_width): Remove functions.
21031         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
21032         * NEWS: Document the change.
21033
21034 2007-09-01  Bruno Haible  <bruno@clisp.org>
21035
21036         * lib/streq.h: Add double-inclusion guard.
21037
21038 2007-09-01  Karl Berry  <karl@gnu.org>
21039
21040         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
21041
21042 2007-08-28  Jim Meyering  <jim@meyering.net>
21043
21044         Rename mreadlink_with_size to areadlink_with_size.
21045         * NEWS: Document the change.
21046         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
21047         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
21048         * lib/mreadlink.h: Rename this to...
21049         * lib/areadlink.h: ...this.
21050         * modules/mreadlink-with-size: Rename this to...
21051         * modules/areadlink-with-size: ...this.
21052         * lib/canonicalize.c: Reflect the renaming.
21053         * modules/canonicalize: Likewise.
21054
21055 2007-08-26  Bruno Haible  <bruno@clisp.org>
21056
21057         * gnulib-tool (func_import): When deciding which files to remove,
21058         consider also dangling symbolic links.
21059         Reported by Eric Blake.
21060
21061 2007-08-26  Bruno Haible  <bruno@clisp.org>
21062
21063         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
21064
21065 2007-08-23  Simon Josefsson  <simon@josefsson.org>
21066
21067         * lib/readline.c: Don't include getline.h, the prototype is now
21068         found in stdio.h.
21069
21070 2007-08-23  Jim Meyering  <jim@meyering.net>
21071
21072         Getdelim touchup.
21073         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
21074         around the funlockfile call, since funlockfile never sets errno.
21075         Don't set errno upon failed realloc.
21076
21077 2007-08-22  Eric Blake  <ebb9@byu.net>
21078
21079         Getline touchups.
21080         * lib/getdelim.c (getdelim): Revert regression that required *n to
21081         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
21082         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
21083         getdelim, rather than whether implementation is missing.
21084         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
21085         * lib/stdio_.h (getline): Also declare if replacement is
21086         required.
21087         * doc/functions/getdelim.texi: New file.
21088         * doc/functions/getline.texi: Likewise.
21089         * doc/gnulib.texi (Function Substitutes): Add new files.
21090         Reported by Bruno Haible.
21091
21092 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
21093
21094         * users.txt: Add Guile.
21095
21096 2007-08-22  Eric Blake  <ebb9@byu.net>
21097
21098         * tests/test-getdelim.c (main): Use remove, not unlink.
21099         * tests/test-getline.c (main): Likewise.
21100
21101         Move getline and getdelim into stdio.h, per POSIX 200x.
21102         * modules/getline (Files): Remove getline.h.
21103         (Depends-on): Add stdio.
21104         (configure.ac): Add module indicator.
21105         * modules/getdelim (Files): Remove getdelim.h.
21106         (Depends-on): Add stdio.
21107         (configure.ac): Add module indicator.
21108         * modules/stdio (Makefile.am): Work with new indicators.
21109         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
21110         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
21111         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21112         * lib/getdelim.h: Delete.
21113         * lib/getline.h: Delete.
21114         * lib/stdio_.h (getdelim, getline): Declare.
21115         * modules/getdelim-tests: New module.
21116         * modules/getline-tests: Likewise.
21117         * tests/test-getdelim.c: New file.
21118         * tests/test-getline.c: Likewise.
21119         * NEWS: Document the change.
21120         * lib/getline.c: Update choice of header.
21121         * lib/csharpcomp.c: Likewise.
21122         * lib/getpass.c: Likewise.
21123         * lib/javacomp.c: Likewise.
21124         * lib/javaversion.c: Likewise.
21125         * lib/yesno.c: Likewise.
21126         * lib/getdelim.c: Likewise.
21127         (getdelim): Set errno on failure, and avoid memory leak.
21128
21129 2007-08-19  Bruno Haible  <bruno@clisp.org>
21130
21131         * modules/closein (Depends-on): Add freadahead.
21132         * lib/closein.c: Include freadahead.h.
21133         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
21134         is zero.
21135
21136 2007-08-19  Bruno Haible  <bruno@clisp.org>
21137
21138         * modules/freadahead-tests: New file.
21139         * tests/test-freadahead.sh: New file.
21140         * tests/test-freadahead.c: New file.
21141
21142         * modules/freadahead: New file.
21143         * lib/freadahead.h: New file.
21144         * lib/freadahead.c: New file.
21145         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
21146         fbufmode, fpurge, freadable, fwritable.
21147
21148 2007-08-19  Eric Blake  <ebb9@byu.net>
21149
21150         Test yesno in combination with closein.
21151         * lib/yesno.c (yesno): Document use of stdin.
21152         * modules/yesno-tests (Files): New module.
21153         * tests/test-yesno.c (main): New file.
21154         * tests/test-yesno.sh: Likewise.
21155
21156 2007-08-19  Bruno Haible  <bruno@clisp.org>
21157
21158         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
21159         * lib/fseeko.c (rpl_fseeko): Likewise.
21160         * lib/fseterr.c (fseterr): Likewise.
21161
21162 2007-08-19  Bruno Haible  <bruno@clisp.org>
21163
21164         * tests/test-lseek.c (main): Disable a test for BeOS.
21165         * doc/functions/lseek.texi: Document the BeOS bug.
21166
21167 2007-08-19  Bruno Haible  <bruno@clisp.org>
21168             Eric Blake  <ebb9@byu.net>
21169
21170         * lib/lseek.c: Include <sys/stat.h>.
21171         (rpl_lseek): Add workaround code also for Unix platforms.
21172         Needed for BeOS.
21173         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
21174         * doc/functions/lseek.texi: Document BeOS definiency.
21175
21176 2007-08-18  Bruno Haible  <bruno@clisp.org>
21177
21178         * modules/fstrcmp-tests: New file.
21179         * tests/test-fstrcmp.c: New file.
21180
21181 2007-08-18  Bruno Haible  <bruno@clisp.org>
21182
21183         * modules/fstrcmp: New file, from GNU gettext with modifications.
21184         * lib/fstrcmp.h: New file, from GNU gettext.
21185         * lib/fstrcmp.c: New file, from GNU gettext.
21186         * MODULES.html.sh (String handling): Add fstrcmp.
21187
21188 2007-08-18  Bruno Haible  <bruno@clisp.org>
21189
21190         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
21191         'bool'.
21192         (diag, compareseq): Remove const from the ctxt argument.
21193         (USE_HEURISTIC): Undefine at the end.
21194
21195 2007-08-18  Jim Meyering  <jim@meyering.net>
21196
21197         New file: lib/idcache.h
21198         * NEWS: Mention the addition.
21199         * modules/idcache (Files): Add lib/idcache.h
21200         * lib/idcache.c: Include "idcache.h".
21201         Don't include <sys/types.h>.
21202         Add a FIXME comment.
21203         Move file-scoped "static" declarations to the top.
21204         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
21205
21206 2007-08-17  Bruno Haible  <bruno@clisp.org>
21207         and Paul Eggert  <eggert@cs.ucla.edu>
21208
21209         * MODULES.html.sh: Add diffseq.
21210         * modules/diffseq: New file.
21211         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
21212         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
21213
21214 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21215
21216         Import changes from coreutils for bootstrap script.
21217
21218         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
21219
21220         * build-aux/bootstrap (slurp): Work even in environments where
21221         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
21222         current code does not slurp files whose names start with ".", and
21223         this looks like it might be a troublesome area.
21224
21225         2007-07-11  Jim Meyering  <jim@meyering.net>
21226
21227         If there's a GPL vN copyright comment, require that N == 3.
21228
21229         2007-07-08  Jim Meyering  <jim@meyering.net>
21230
21231         Run the coreutils-specific code only if tests/Makefile.am.in exists.
21232         * build-aux/bootstrap (mam_template): Move definition out of loop.
21233
21234         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
21235
21236         * build-aux/bootstrap (symlink_to_dir): Rename function from
21237         symlink_to_gnulib.  Add a directory parameter.  Update all
21238         callers.
21239         (cp_mark_as_generated): Also check for -- and link to -- files in
21240         gl/.
21241
21242         2007-07-08  Jim Meyering  <jim@meyering.net>
21243
21244         Adapt to deeper hierarchy in gnulib.
21245         * build-aux/bootstrap (symlink_to_dir): If the destination
21246         directory doesn't exist, create it. This is required at least for
21247         "lib/uniwidth/cjk.h".
21248
21249         2007-05-15  Jim Meyering  <jim@meyering.net>
21250
21251         * build-aux/bootstrap: Now that generated Makefile.am files
21252         are no longer under version control, they must be created at
21253         bootstrap time.
21254
21255 2007-08-14  Ben Pfaff  <blp@gnu.org>
21256
21257         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
21258
21259 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
21260
21261         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
21262         given the changes below.
21263         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
21264         even on hosts that have padding bits beyond the supported 64.
21265
21266 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
21267
21268         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
21269         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
21270         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
21271         depends on it.
21272         (xstrtol_error): Remove.
21273         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
21274         but with a different signature.
21275         (ATTRIBUTE_NORETURN, __attribute__): New macros.
21276         * lib/xstrtol-error.c: Include exitfail.h.
21277         (xstrtol_fatal): New function, with a different signature from the
21278         old xstrtol_error, so that the caller need not worry about passing
21279         in an exit status, or about storage management of the option argument.
21280         (xstrtol_error): Now a static function.  Redo signature to
21281         implement xstrtol_fatal.  Output the correct number of hyphens in
21282         front of the option so that the caller need not worry about
21283         storage management.
21284         (N_): New macro.
21285         (_): Remove; not used now.
21286         * modules/xstrtol: Depend on getopt.
21287         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
21288         of old STRTOL_FATAL_ERROR macro.
21289         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
21290         of test program.
21291         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
21292         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
21293
21294 2007-08-08  Eric Blake  <ebb9@byu.net>
21295
21296         * lib/xstrtol-error.c: Add missing include.
21297
21298         Move xstrtol messages into gnulib domain, when --pobase is used.
21299         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
21300         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
21301         * modules/xstrtol (Files): Distribute new file.
21302         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
21303         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
21304         * tests/test-xstrtol.c: ...into new file.
21305         * tests/test-xstrtoul.c: Also test xstrtoul.
21306         * tests/test-xstrtoimax.c: Also test xstrtoimax.
21307         * tests/test-xstrtoumax.c: Also test xstrtoumax.
21308         * tests/test-xstrtol.sh: Drive the tests.
21309         * tests/test-xstrtoimax.sh: Likewise.
21310         * tests/test-xstrtoumax.sh: Likewise.
21311         * modules/xstrtol-tests: New module.
21312         * modules/xstrtoimax-tests: Likewise.
21313         * modules/xstrtoumax-tests: Likewise.
21314
21315 2007-08-08  Jim Meyering  <jim@meyering.net>
21316
21317         New function: mfile_name_concat.
21318         * lib/filenamecat.c (mfile_name_concat): New function, just like
21319         file_name_concat, but return NULL upon failure rather than exiting
21320         with a diagnostic.
21321         * lib/filenamecat.h: Declare it.
21322
21323 2007-08-07  Bruno Haible  <bruno@clisp.org>
21324
21325         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
21326         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
21327         warning from gcc.
21328         Reported by Eric Blake.
21329
21330 2007-08-07  Simon Josefsson  <simon@josefsson.org>
21331
21332         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
21333         * modules/crypto/arcfour (License): Likewise.
21334         * modules/crypto/des-tests (License): Likewise.
21335         * modules/crypto/gc-arctwo-tests (License): Likewise.
21336         * modules/crypto/gc-des-tests (License): Likewise.
21337         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
21338         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
21339         * modules/crypto/gc-md2-tests (License): Likewise.
21340         * modules/crypto/gc-md4-tests (License): Likewise.
21341         * modules/crypto/gc-md5-tests (License): Likewise.
21342         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
21343         * modules/crypto/gc-rijndael-tests (License): Likewise.
21344         * modules/crypto/gc-sha1-tests (License): Likewise.
21345         * modules/crypto/gc-tests (License): Likewise.
21346         * modules/crypto/hmac-md5 (License): Likewise.
21347         * modules/crypto/hmac-sha1 (License): Likewise.
21348         * modules/crypto/md2-tests (License): Likewise.
21349         * modules/crypto/md4-tests (License): Likewise.
21350         * modules/crypto/md5 (License): Likewise.
21351         * modules/crypto/rijndael (License): Likewise.
21352         * modules/crypto/sha1 (License): Likewise.
21353         * modules/memxor (License): Likewise.
21354
21355 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
21356         and Bruno Haible  <bruno@clisp.org>
21357
21358         * NEWS: Describe interface changes to human, xstrtol.
21359         * lib/human.h: Include <xstrtol.h>.
21360         (human_options): Return enum strtol_error, not int.  Remove
21361         bool arg; take int * instead.
21362         * lib/human.c: Don't include "gettext.h".
21363         (_): Remove; no longer used.
21364         Don't include <xstrtol.h>, since human.h does it.
21365         (human_options): Adjust to abovementioned interface changes.
21366         Do not report error to stderr; that's now the caller's
21367         responsibility.
21368         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
21369         interface change.
21370         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
21371         Str, Argument_type_string.  All uses changed.  Put " argument"
21372         in diagnostics to make them clearer.  Change wording of suffix
21373         message for clarity.
21374         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
21375         Argument_type_string.
21376         (STRTOL_FATAL_WARN): Remove; no longer used.
21377         * modules/human (Depends-on): Remove gettext-h.
21378
21379 2007-08-06  Simon Josefsson  <simon@josefsson.org>
21380
21381         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
21382
21383 2007-07-31  Bruno Haible  <bruno@clisp.org>
21384
21385         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
21386         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
21387         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
21388
21389 2007-07-31  Bruno Haible  <bruno@clisp.org>
21390
21391         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
21392         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
21393
21394 2007-07-30  Bruno Haible  <bruno@clisp.org>
21395
21396         * modules/base64 (License): Use the synonymous term "LGPLv2+".
21397         * modules/c-ctype (License): Likewise.
21398         * modules/c-strcase (License): Likewise.
21399         * modules/check-version (License): Likewise.
21400         * modules/iconv (License): Likewise.
21401         * modules/iconv_open (License): Likewise.
21402         * modules/read-file (License): Likewise.
21403         * modules/striconv (License): Likewise.
21404         * modules/strverscmp (License): Likewise.
21405         * modules/vasprintf (License): Likewise.
21406         * modules/crypto/des (License): Likewise.
21407         * modules/crypto/gc (License): Likewise.
21408         * modules/crypto/gc-arcfour (License): Likewise.
21409         * modules/crypto/gc-arctwo (License): Likewise.
21410         * modules/crypto/gc-des (License): Likewise.
21411         * modules/crypto/gc-hmac-md5 (License): Likewise.
21412         * modules/crypto/gc-hmac-sha1 (License): Likewise.
21413         * modules/crypto/gc-md2 (License): Likewise.
21414         * modules/crypto/gc-md4 (License): Likewise.
21415         * modules/crypto/gc-md5 (License): Likewise.
21416         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
21417         * modules/crypto/gc-random (License): Likewise.
21418         * modules/crypto/gc-rijndael (License): Likewise.
21419         * modules/crypto/gc-sha1 (License): Likewise.
21420         * modules/crypto/md2 (License): Likewise.
21421         * modules/crypto/md4 (License): Likewise.
21422
21423 2007-07-30  Jim Meyering  <jim@meyering.net>
21424
21425         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
21426         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
21427         it has valid stat data.  This bug would cause du not to count the
21428         sizes of inaccessible directories.
21429         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
21430         in <http://bugzilla.redhat.com/250077>.
21431
21432 2007-07-25  Peter O'Gorman  <peter@pogma.com>
21433             Bruno Haible  <bruno@clisp.org>
21434
21435         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
21436         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
21437         #include_next, gives a diagnostic about it, but reports no error in
21438         the exit code.
21439         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
21440
21441 2007-07-24  Ben Pfaff  <blp@gnu.org>
21442
21443         Improve name: "count-one-bits" is better than "popcount".
21444         * MODULES.html.sh: Update name.
21445         * lib/popcount.h: Renamed lib/count-one-bits.h.
21446         (popcount): Renamed count_one_bits.
21447         (popcountl): Renamed count_one_bits_l.
21448         (popcountll): Renamed count_one_bits_ll.
21449         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
21450         * modules/popcount: Renamed module/count-one-bits.
21451         * modules/popcount-tests: Renamed module/count-one-bits-tests.
21452         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
21453
21454 2007-07-23  Ben Pfaff  <blp@gnu.org>
21455
21456         * lib/popcount.h (popcount32): Reduce size of constants, to allow
21457         better code generation, and add U to large constants to avoid
21458         warnings, in non-GCC case.
21459         Suggested by Bruno Haible.
21460
21461 2007-07-23  Ben Pfaff  <blp@gnu.org>
21462
21463         * lib/popcount.h: Use verify_true instead of if...abort.
21464         * modules/popcount: Depend on verify module.
21465         Suggested by Jim Meyering.
21466
21467 2007-07-23  Bruno Haible  <bruno@clisp.org>
21468
21469         * gnulib-tool (func_import): Create a .cvsignore file also when the
21470         directory is not yet in CVS but the toplevel directory is. When
21471         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
21472         Reported by Karl Berry.
21473
21474 2007-07-22  Ben Pfaff  <blp@gnu.org>
21475
21476         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
21477         case.
21478         Suggested by Eric Blake.
21479
21480 2007-07-22  Ben Pfaff  <blp@gnu.org>
21481
21482         New module: popcount.
21483         * MODULES.html.sh: Add popcount.
21484         * modules/popcount: New file.
21485         * modules/popcount-tests: New file.
21486         * tests/test-popcount.c: New file.
21487         * lib/popcount.h: New file.
21488         * m4/popcount.m4: New file.
21489
21490 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
21491
21492         * build-aux/announce-gen: Update to GPLv3.
21493
21494         * build-aux/config.guess: Update from config.
21495
21496 2007-07-21  Bruno Haible  <bruno@clisp.org>
21497
21498         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
21499         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
21500
21501 2007-07-20  Jim Meyering  <jim@meyering.net>
21502
21503         * check-module: Diagnose a self-dependency.
21504
21505 2007-07-19  Bruno Haible  <bruno@clisp.org>
21506
21507         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
21508         empty.
21509         Reported by Eric Blake.
21510
21511 2007-07-18  Bruno Haible  <bruno@clisp.org>
21512
21513         * gnulib-tool: New options --po-base, --po-domain.
21514         (func_usage): Document them.
21515         (pobase, po_domain): New variables.
21516         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
21517         DEFAULT_TEXT_DOMAIN.
21518         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
21519         (func_import): Consider pobase and po_domain. Create a po/ directory.
21520         (func_create_testdir): Set pobase and po_domain to empty.
21521         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
21522         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
21523
21524 2007-07-18  Bruno Haible  <bruno@clisp.org>
21525
21526         * gnulib-tool (func_get_automake_snippet): Synthesize also an
21527         EXTRA_DIST augmentation for files in build-aux/.
21528
21529 2007-07-16  Bruno Haible  <bruno@clisp.org>
21530
21531         * modules/lseek (License): Use the synonymous term "LGPLv2+".
21532         * modules/getdelim (License): Likewise.
21533
21534 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21535
21536         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
21537         * modules/d-type (License): Likewise.
21538         * modules/extensions (License): Likewise.
21539         * modules/fnmatch (License): Likewise.
21540         * modules/fseeko (License): Likewise.
21541         * modules/getaddrinfo (License): Likewise.
21542         * modules/getline (License): Likewise.
21543         * modules/getlogin_r (License): Likewise.
21544         * modules/getpass (License): Likewise.
21545         * modules/gettimeofday (License): Likewise.
21546         * modules/glob (License): Likewise.
21547         * modules/inet_ntop (License): Likewise.
21548         * modules/malloc (License): Likewise.
21549         * modules/malloca (License): Likewise.
21550         * modules/memmem (License): Likewise.
21551         * modules/mempcpy (License): Likewise.
21552         * modules/memset (License): Likewise.
21553         * modules/minmax (License): Likewise.
21554         * modules/mktime (License): Likewise.
21555         * modules/netinet_in (License): Likewise.
21556         * modules/pathmax (License): Likewise.
21557         * modules/poll (License): Likewise.
21558         * modules/regex (License): Likewise.
21559         * modules/snprintf (License): Likewise.
21560         * modules/stdbool (License): Likewise.
21561         * modules/stdint (License): Likewise.
21562         * modules/stdio (License): Likewise.
21563         * modules/strcase (License): Likewise.
21564         * modules/strcasestr (License): Likewise.
21565         * modules/strdup (License): Likewise.
21566         * modules/string (License): Likewise.
21567         * modules/strndup (License): Likewise.
21568         * modules/strnlen (License): Likewise.
21569         * modules/strpbrk (License): Likewise.
21570         * modules/strptime (License): Likewise.
21571         * modules/strsep (License): Likewise.
21572         * modules/sys_select (License): Likewise.
21573         * modules/sys_socket (License): Likewise.
21574         * modules/sys_stat (License): Likewise.
21575         * modules/sys_time (License): Likewise.
21576         * modules/time (License): Likewise.
21577         * modules/time_r (License): Likewise.
21578         * modules/timegm (License): Likewise.
21579         * modules/unistd (License): Likewise.
21580         * modules/vsnprintf (License): Likewise.
21581         * modules/wctype (License): Likewise.
21582
21583 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21584
21585         * modules/argz (License): LGPLv2+.
21586
21587 2007-07-15  Karl Berry  <karl@gnu.org>
21588
21589         * doc/gnulib.texi: revise node structure per new fdl.texi.
21590
21591 2007-07-14  Bruno Haible  <bruno@clisp.org>
21592
21593         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
21594         the output file.
21595         * lib/uniname/uninames.h: Regenerated.
21596
21597 2007-07-14  Karl Berry  <karl@gnu.org>
21598
21599         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
21600         omitting sectioning and index commands.
21601
21602 2007-07-13  Bruno Haible  <bruno@clisp.org>
21603
21604         New gnulib-tool option --more-symlinks.
21605         * gnulib-tool (func_usage): Document --more-symlinks.
21606         (do_copyrights): New variable.
21607         Recognize option --more-symlinks.
21608         (func_import): Don't add a copyright notice transform to
21609         sed_transform_lib_file if do_copyrights is empty.
21610
21611 2007-07-13  Bruno Haible  <bruno@clisp.org>
21612
21613         * lib/vasnprintf.c (decimal_point_char): Define also if
21614         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
21615         && !NEED_PRINTF_DIRECTIVE_A.
21616         Reported by Clemens Koller <clemens.koller@anagramm.de> via
21617         Gary V. Vaughan <gary@gnu.org>.
21618
21619 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
21620
21621         * lib/inttypes_.h: Undo previous change, since it was fixed
21622         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
21623
21624 2007-07-13  Bruno Haible  <bruno@clisp.org>
21625
21626         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
21627         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
21628
21629 2007-07-13  Jim Meyering  <jim@meyering.net>
21630
21631         df: Don't fail for Tru64's "file-on-file mount".
21632         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
21633         so we fall through and use statfs instead.  Details here:
21634         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
21635         Reported by Albert Chin.
21636
21637 2007-07-13  Bruno Haible  <bruno@clisp.org>
21638
21639         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
21640         * modules/configmake (License): Likewise.
21641         * modules/gettext (License): Likewise.
21642         * modules/gettext-h (License): Likewise.
21643         * modules/include_next (License): Likewise.
21644         * modules/link-warning (License): Likewise.
21645         * modules/localcharset (License): Likewise.
21646         * modules/localename (License): Likewise.
21647         * modules/lock (License): Likewise.
21648         * modules/relocatable-lib-lgpl (License): Likewise.
21649         * modules/size_max (License): Likewise.
21650         * modules/vasnprintf (License): Likewise.
21651         * modules/wchar (License): Likewise.
21652         * modules/xsize (License): Likewise.
21653
21654 2007-07-13  Bruno Haible  <bruno@clisp.org>
21655
21656         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
21657         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
21658
21659 2007-07-12  Bruno Haible  <bruno@clisp.org>
21660
21661         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
21662         in the modules files.
21663
21664 2007-07-11  Karl Berry  <karl@gnu.org>
21665
21666         * MODULES.html.sh (func_module): use
21667          sed -e '\|^'"${includefile}"'$|d'
21668          instead of /.../d, to avoid errors on $includefile's containing /.
21669
21670 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
21671
21672         * gnulib-tool (func_import): Avoid duplication of --avoid
21673         statements
21674         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
21675         names to `_' in variable names.
21676
21677 2007-07-10  Eric Blake  <ebb9@byu.net>
21678
21679         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
21680         * NEWS: Document this change.
21681
21682 2007-07-08  Bruno Haible  <bruno@clisp.org>
21683
21684         Update to Unicode 5.0.
21685         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
21686         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
21687         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
21688         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
21689         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
21690         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
21691         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
21692         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
21693         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
21694         U+10A3F, U+1D242..U+1D244.
21695         (nonspacing_table_ind): Update.
21696         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
21697         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
21698
21699 2007-07-08  Bruno Haible  <bruno@clisp.org>
21700
21701         Update to Unicode 5.0.
21702         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
21703         code transform. Extend the name index field of unicode_name_to_code and
21704         unicode_code_to_name from 16 to 24 bits.
21705         * lib/uniname/uniname.c (unicode_character_name,
21706         unicode_name_character): Add the range 0x12xxx to the code transform.
21707         * lib/uniname/uninames.h: Regenerated.
21708         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
21709
21710 2007-07-07  Bruno Haible  <bruno@clisp.org>
21711
21712         * modules/wcwidth-tests: New file.
21713         * tests/test-wcwidth.c: New file.
21714
21715         Work around MacOS X wcwidth() bug.
21716         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
21717         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
21718         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
21719         original wcwidth in non-UTF-8 locales.
21720         * modules/wcwidth (Depends-on): Add localcharset, streq,
21721         uniwidth/width.
21722         * doc/functions/wcwidth.texi: Update.
21723
21724 2007-07-07  Bruno Haible  <bruno@clisp.org>
21725
21726         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
21727         (wcwidth): New declaration.
21728         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
21729         macros.
21730         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
21731         here. Prepare for creating <wchar.h> unconditionally.
21732         * modules/wchar (Depends-on): Add link-warning.
21733         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
21734         REPLACE_WCWIDTH, and GL_LINK_WARNING.
21735         * lib/wcwidth.h: Remove file.
21736         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
21737         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
21738         * modules/wcwidth (Files): Remove lib/wcwidth.h.
21739         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
21740         (Include): Replace wcwidth.h with <wchar.h>.
21741         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
21742         * lib/mbchar.h: Don't include wcwidth.h.
21743         * lib/mbswidth.c: Likewise.
21744         * NEWS: Mention the change.
21745
21746 2007-07-07  Bruno Haible  <bruno@clisp.org>
21747
21748         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
21749         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
21750         definition with an external declaration.
21751         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
21752         defined as a function. Remove AC_C_INLINE requirement.
21753         * modules/wcwidth (Files): Add lib/wcwidth.c.
21754         (Makefile.am): Remove redundant statement.
21755
21756 2007-07-07  Bruno Haible  <bruno@clisp.org>
21757
21758         * MODULES.html.sh (Unicode string functions): Add the new modules.
21759
21760         * tests/uniwidth/test-u32-strwidth.c: New file.
21761         * modules/uniwidth/u32-strwidth-tests: New file.
21762
21763         * lib/uniwidth/u32-strwidth.c: New file.
21764         * modules/uniwidth/u32-strwidth: New file.
21765
21766         * tests/uniwidth/test-u16-strwidth.c: New file.
21767         * modules/uniwidth/u16-strwidth-tests: New file.
21768
21769         * lib/uniwidth/u16-strwidth.c: New file.
21770         * modules/uniwidth/u16-strwidth: New file.
21771
21772         * tests/uniwidth/test-u8-strwidth.c: New file.
21773         * modules/uniwidth/u8-strwidth-tests: New file.
21774
21775         * lib/uniwidth/u8-strwidth.c: New file.
21776         * modules/uniwidth/u8-strwidth: New file.
21777
21778         * tests/uniwidth/test-u32-width.c: New file.
21779         * modules/uniwidth/u32-width-tests: New file.
21780
21781         * lib/uniwidth/u32-width.c: New file.
21782         * modules/uniwidth/u32-width: New file.
21783
21784         * tests/uniwidth/test-u16-width.c: New file.
21785         * modules/uniwidth/u16-width-tests: New file.
21786
21787         * lib/uniwidth/u16-width.c: New file.
21788         * modules/uniwidth/u16-width: New file.
21789
21790         * tests/uniwidth/test-u8-width.c: New file.
21791         * modules/uniwidth/u8-width-tests: New file.
21792
21793         * lib/uniwidth/u8-width.c: New file.
21794         * modules/uniwidth/u8-width: New file.
21795
21796         * tests/uniwidth/test-uc_width.c: New file.
21797         * modules/uniwidth/width-tests: New file.
21798
21799         * lib/uniwidth/width.c: New file, from GNU libiconv.
21800         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
21801         * modules/uniwidth/width: New file.
21802
21803         * lib/uniwidth.h: New file, from GNU libiconv.
21804         * modules/uniwidth/base: New file.
21805
21806 2007-07-07  Bruno Haible  <bruno@clisp.org>
21807
21808         * lib/uniname.h: New file, from GNU gettext.
21809         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
21810         * lib/uniname/uninames.h: New file, from GNU gettext.
21811         * lib/uniname/uniname.c: New file, from GNU gettext.
21812         * tests/uniname/test-uninames.sh: New file.
21813         * tests/uniname/test-uninames.c: New file, from GNU gettext.
21814         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
21815         * modules/uniname/base: New file.
21816         * modules/uniname/uniname: New file.
21817         * modules/uniname/uniname-tests: New file.
21818         * MODULES.html.sh (Unicode string functions): Add the new modules.
21819
21820 2007-07-06  Bruno Haible  <bruno@clisp.org>
21821
21822         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
21823
21824 2007-07-06  Bruno Haible  <bruno@clisp.org>
21825
21826         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
21827         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
21828         includes <cygwin/sys_time.h> which includes <sys/select.h> which
21829         include <sys/time.h>.
21830         Reported by Eric Blake.
21831
21832 2007-07-06  Eric Blake  <ebb9@byu.net>
21833
21834         Fix testing canonicalize on cygwin.
21835         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
21836         Revert patch from 2007-06-19.
21837         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
21838         canonicalize module is also in use.
21839         * tests/test-canonicalize.c: New file.
21840         * tests/test-canonicalize.sh: Likewise.
21841         * modules/canonicalize-tests: Likewise.
21842
21843 2007-07-06  Jim Meyering  <jim@meyering.net>
21844
21845         * lib/getugroups.c (getugroups): Detect getgrent failure.
21846         Adjust comment to reflect reality: this function may return -1.
21847
21848 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
21849
21850         * build-aux/bootstrap (TP_URL,get_translations): Update to use
21851         the new TP address.
21852         (usage): Fix typo
21853         (gnulib_mk): New variable.
21854
21855 2007-07-05  Jim Meyering  <jim@meyering.net>
21856
21857         Don't let endgrent clobber errno, no matter how improbable.
21858         * lib/getugroups.c (getugroups): Save and restore errno around
21859         endgrent call.
21860
21861         Close the group DB even when failing with 2^31 or more members.
21862         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
21863
21864 2007-07-04  Jim Meyering  <jim@meyering.net>
21865
21866         * lib/getugroups.h: New file.
21867         * lib/getugroups.c: Include "getugroups.h".
21868         Remove uses of "register" keyword.
21869         Move local variable, "cp", down into scope where used.
21870         Give "username" parameter the "const" attribute.
21871         * modules/getugroups (Files): Add lib/getugroups.h
21872
21873 2007-07-04  Karl Berry  <karl@gnu.org>
21874
21875         * MODULES.html.sh (func_all_modules): Complete rename of
21876         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
21877
21878 2007-07-02  Bruno Haible  <bruno@clisp.org>
21879
21880         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
21881         mode, when inttypes.h comes from gnulib.
21882         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
21883
21884 2007-07-02  Simon Josefsson  <simon@josefsson.org>
21885
21886         * NEWS: Mention lgpl module name change.
21887
21888         * modules/lgpl-2.1: Renamed from lgpl.
21889
21890         * NEWS: Mention gpl module name change.
21891
21892         * modules/gpl-3.0: New file, based on gpl-2.0.
21893
21894         * modules/gpl-2.0: Renamed from gpl.
21895
21896         * modules/gpl: Fix filename, doc/gpl.texi is now found at
21897         doc/gpl-2.0.texi.
21898
21899 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21900
21901         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
21902         #define __STDC_LIMIT_MACROS temporarily while including
21903         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
21904         Problem reported by Joel E. Denny in
21905         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
21906
21907 2007-07-01  Bruno Haible  <bruno@clisp.org>
21908
21909         * lib/unistdio.h: New file.
21910         * lib/unistdio/u-asnprintf.h: New file.
21911         * lib/unistdio/u-asprintf.h: New file.
21912         * lib/unistdio/u-printf-args.c: New file.
21913         * lib/unistdio/u-printf-args.h: New file.
21914         * lib/unistdio/u-printf-parse.h: New file.
21915         * lib/unistdio/u-snprintf.h: New file.
21916         * lib/unistdio/u-sprintf.h: New file.
21917         * lib/unistdio/u-vasprintf.h: New file.
21918         * lib/unistdio/u-vsnprintf.h: New file.
21919         * lib/unistdio/u-vsprintf.h: New file.
21920         * lib/unistdio/ulc-asnprintf.c: New file.
21921         * lib/unistdio/ulc-asprintf.c: New file.
21922         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
21923         * lib/unistdio/ulc-printf-parse.c: New file.
21924         * lib/unistdio/ulc-snprintf.c: New file.
21925         * lib/unistdio/ulc-sprintf.c: New file.
21926         * lib/unistdio/ulc-vasnprintf.c: New file.
21927         * lib/unistdio/ulc-vasprintf.c: New file.
21928         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
21929         * lib/unistdio/ulc-vsnprintf.c: New file.
21930         * lib/unistdio/ulc-vsprintf.c: New file.
21931         * lib/unistdio/u8-asnprintf.c: New file.
21932         * lib/unistdio/u8-asprintf.c: New file.
21933         * lib/unistdio/u8-printf-parse.c: New file.
21934         * lib/unistdio/u8-snprintf.c: New file.
21935         * lib/unistdio/u8-sprintf.c: New file.
21936         * lib/unistdio/u8-vasnprintf.c: New file.
21937         * lib/unistdio/u8-vasprintf.c: New file.
21938         * lib/unistdio/u8-vsnprintf.c: New file.
21939         * lib/unistdio/u8-vsprintf.c: New file.
21940         * lib/unistdio/u8-u8-asnprintf.c: New file.
21941         * lib/unistdio/u8-u8-asprintf.c: New file.
21942         * lib/unistdio/u8-u8-snprintf.c: New file.
21943         * lib/unistdio/u8-u8-sprintf.c: New file.
21944         * lib/unistdio/u8-u8-vasnprintf.c: New file.
21945         * lib/unistdio/u8-u8-vasprintf.c: New file.
21946         * lib/unistdio/u8-u8-vsnprintf.c: New file.
21947         * lib/unistdio/u8-u8-vsprintf.c: New file.
21948         * lib/unistdio/u16-asnprintf.c: New file.
21949         * lib/unistdio/u16-asprintf.c: New file.
21950         * lib/unistdio/u16-printf-parse.c: New file.
21951         * lib/unistdio/u16-snprintf.c: New file.
21952         * lib/unistdio/u16-sprintf.c: New file.
21953         * lib/unistdio/u16-vasnprintf.c: New file.
21954         * lib/unistdio/u16-vasprintf.c: New file.
21955         * lib/unistdio/u16-vsnprintf.c: New file.
21956         * lib/unistdio/u16-vsprintf.c: New file.
21957         * lib/unistdio/u16-u16-asnprintf.c: New file.
21958         * lib/unistdio/u16-u16-asprintf.c: New file.
21959         * lib/unistdio/u16-u16-snprintf.c: New file.
21960         * lib/unistdio/u16-u16-sprintf.c: New file.
21961         * lib/unistdio/u16-u16-vasnprintf.c: New file.
21962         * lib/unistdio/u16-u16-vasprintf.c: New file.
21963         * lib/unistdio/u16-u16-vsnprintf.c: New file.
21964         * lib/unistdio/u16-u16-vsprintf.c: New file.
21965         * lib/unistdio/u32-asnprintf.c: New file.
21966         * lib/unistdio/u32-asprintf.c: New file.
21967         * lib/unistdio/u32-printf-parse.c: New file.
21968         * lib/unistdio/u32-snprintf.c: New file.
21969         * lib/unistdio/u32-sprintf.c: New file.
21970         * lib/unistdio/u32-vasnprintf.c: New file.
21971         * lib/unistdio/u32-vasprintf.c: New file.
21972         * lib/unistdio/u32-vsnprintf.c: New file.
21973         * lib/unistdio/u32-vsprintf.c: New file.
21974         * lib/unistdio/u32-u32-asnprintf.c: New file.
21975         * lib/unistdio/u32-u32-asprintf.c: New file.
21976         * lib/unistdio/u32-u32-snprintf.c: New file.
21977         * lib/unistdio/u32-u32-sprintf.c: New file.
21978         * lib/unistdio/u32-u32-vasnprintf.c: New file.
21979         * lib/unistdio/u32-u32-vasprintf.c: New file.
21980         * lib/unistdio/u32-u32-vsnprintf.c: New file.
21981         * lib/unistdio/u32-u32-vsprintf.c: New file.
21982         * tests/unistdio/test-ulc-asnprintf1.c: New file.
21983         * tests/unistdio/test-ulc-asnprintf1.h: New file.
21984         * tests/unistdio/test-ulc-printf1.h: New file.
21985         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
21986         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
21987         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
21988         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
21989         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
21990         * tests/unistdio/test-ulc-vasprintf1.c: New file.
21991         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
21992         * tests/unistdio/test-ulc-vsprintf1.c: New file.
21993         * tests/unistdio/test-u8-asnprintf1.c: New file.
21994         * tests/unistdio/test-u8-asnprintf1.h: New file.
21995         * tests/unistdio/test-u8-printf1.h: New file.
21996         * tests/unistdio/test-u8-vasnprintf1.c: New file.
21997         * tests/unistdio/test-u8-vasnprintf2.c: New file.
21998         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
21999         * tests/unistdio/test-u8-vasnprintf3.c: New file.
22000         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
22001         * tests/unistdio/test-u8-vasprintf1.c: New file.
22002         * tests/unistdio/test-u8-vsnprintf1.c: New file.
22003         * tests/unistdio/test-u8-vsprintf1.c: New file.
22004         * tests/unistdio/test-u16-asnprintf1.c: New file.
22005         * tests/unistdio/test-u16-asnprintf1.h: New file.
22006         * tests/unistdio/test-u16-printf1.h: New file.
22007         * tests/unistdio/test-u16-vasnprintf1.c: New file.
22008         * tests/unistdio/test-u16-vasnprintf2.c: New file.
22009         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
22010         * tests/unistdio/test-u16-vasnprintf3.c: New file.
22011         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
22012         * tests/unistdio/test-u16-vasprintf1.c: New file.
22013         * tests/unistdio/test-u16-vsnprintf1.c: New file.
22014         * tests/unistdio/test-u16-vsprintf1.c: New file.
22015         * tests/unistdio/test-u32-asnprintf1.c: New file.
22016         * tests/unistdio/test-u32-asnprintf1.h: New file.
22017         * tests/unistdio/test-u32-printf1.h: New file.
22018         * tests/unistdio/test-u32-vasnprintf1.c: New file.
22019         * tests/unistdio/test-u32-vasnprintf2.c: New file.
22020         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
22021         * tests/unistdio/test-u32-vasnprintf3.c: New file.
22022         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
22023         * tests/unistdio/test-u32-vasprintf1.c: New file.
22024         * tests/unistdio/test-u32-vsnprintf1.c: New file.
22025         * tests/unistdio/test-u32-vsprintf1.c: New file.
22026         * modules/unistdio/base: New file.
22027         * modules/unistdio/u-printf-args: New file.
22028         * modules/unistdio/ulc-asnprintf: New file.
22029         * modules/unistdio/ulc-asprintf: New file.
22030         * modules/unistdio/ulc-fprintf: New file.
22031         * modules/unistdio/ulc-printf-parse: New file.
22032         * modules/unistdio/ulc-snprintf: New file.
22033         * modules/unistdio/ulc-sprintf: New file.
22034         * modules/unistdio/ulc-vasnprintf: New file.
22035         * modules/unistdio/ulc-vasprintf: New file.
22036         * modules/unistdio/ulc-vfprintf: New file.
22037         * modules/unistdio/ulc-vsnprintf: New file.
22038         * modules/unistdio/ulc-vsprintf: New file.
22039         * modules/unistdio/u8-asnprintf: New file.
22040         * modules/unistdio/u8-asprintf: New file.
22041         * modules/unistdio/u8-printf-parse: New file.
22042         * modules/unistdio/u8-snprintf: New file.
22043         * modules/unistdio/u8-sprintf: New file.
22044         * modules/unistdio/u8-vasnprintf: New file.
22045         * modules/unistdio/u8-vasprintf: New file.
22046         * modules/unistdio/u8-vsnprintf: New file.
22047         * modules/unistdio/u8-vsprintf: New file.
22048         * modules/unistdio/u8-u8-asnprintf: New file.
22049         * modules/unistdio/u8-u8-asprintf: New file.
22050         * modules/unistdio/u8-u8-snprintf: New file.
22051         * modules/unistdio/u8-u8-sprintf: New file.
22052         * modules/unistdio/u8-u8-vasnprintf: New file.
22053         * modules/unistdio/u8-u8-vasprintf: New file.
22054         * modules/unistdio/u8-u8-vsnprintf: New file.
22055         * modules/unistdio/u8-u8-vsprintf: New file.
22056         * modules/unistdio/u16-asnprintf: New file.
22057         * modules/unistdio/u16-asprintf: New file.
22058         * modules/unistdio/u16-printf-parse: New file.
22059         * modules/unistdio/u16-snprintf: New file.
22060         * modules/unistdio/u16-sprintf: New file.
22061         * modules/unistdio/u16-vasnprintf: New file.
22062         * modules/unistdio/u16-vasprintf: New file.
22063         * modules/unistdio/u16-vsnprintf: New file.
22064         * modules/unistdio/u16-vsprintf: New file.
22065         * modules/unistdio/u16-u16-asnprintf: New file.
22066         * modules/unistdio/u16-u16-asprintf: New file.
22067         * modules/unistdio/u16-u16-snprintf: New file.
22068         * modules/unistdio/u16-u16-sprintf: New file.
22069         * modules/unistdio/u16-u16-vasnprintf: New file.
22070         * modules/unistdio/u16-u16-vasprintf: New file.
22071         * modules/unistdio/u16-u16-vsnprintf: New file.
22072         * modules/unistdio/u16-u16-vsprintf: New file.
22073         * modules/unistdio/u32-asnprintf: New file.
22074         * modules/unistdio/u32-asprintf: New file.
22075         * modules/unistdio/u32-printf-parse: New file.
22076         * modules/unistdio/u32-snprintf: New file.
22077         * modules/unistdio/u32-sprintf: New file.
22078         * modules/unistdio/u32-vasnprintf: New file.
22079         * modules/unistdio/u32-vasprintf: New file.
22080         * modules/unistdio/u32-vsnprintf: New file.
22081         * modules/unistdio/u32-vsprintf: New file.
22082         * modules/unistdio/u32-u32-asnprintf: New file.
22083         * modules/unistdio/u32-u32-asprintf: New file.
22084         * modules/unistdio/u32-u32-snprintf: New file.
22085         * modules/unistdio/u32-u32-sprintf: New file.
22086         * modules/unistdio/u32-u32-vasnprintf: New file.
22087         * modules/unistdio/u32-u32-vasprintf: New file.
22088         * modules/unistdio/u32-u32-vsnprintf: New file.
22089         * modules/unistdio/u32-u32-vsprintf: New file.
22090         * modules/unistdio/ulc-asnprintf-tests: New file.
22091         * modules/unistdio/ulc-vasnprintf-tests: New file.
22092         * modules/unistdio/ulc-vasprintf-tests: New file.
22093         * modules/unistdio/ulc-vsnprintf-tests: New file.
22094         * modules/unistdio/ulc-vsprintf-tests: New file.
22095         * modules/unistdio/u8-asnprintf-tests: New file.
22096         * modules/unistdio/u8-vasnprintf-tests: New file.
22097         * modules/unistdio/u8-vasprintf-tests: New file.
22098         * modules/unistdio/u8-vsnprintf-tests: New file.
22099         * modules/unistdio/u8-vsprintf-tests: New file.
22100         * modules/unistdio/u16-asnprintf-tests: New file.
22101         * modules/unistdio/u16-vasnprintf-tests: New file.
22102         * modules/unistdio/u16-vasprintf-tests: New file.
22103         * modules/unistdio/u16-vsnprintf-tests: New file.
22104         * modules/unistdio/u16-vsprintf-tests: New file.
22105         * modules/unistdio/u32-asnprintf-tests: New file.
22106         * modules/unistdio/u32-vasnprintf-tests: New file.
22107         * modules/unistdio/u32-vasprintf-tests: New file.
22108         * modules/unistdio/u32-vsnprintf-tests: New file.
22109         * modules/unistdio/u32-vsprintf-tests: New file.
22110         * MODULES.html.sh (Unicode string functions): Add the new modules.
22111
22112 2007-07-01  Bruno Haible  <bruno@clisp.org>
22113
22114         * lib/sprintf.c (sprintf): Limit the available length estimation,
22115         to avoid address wraparound.
22116         * lib/vsprintf.c (vsprintf): Likewise.
22117         * modules/sprintf-posix (Dependencies): Add stdint.
22118         * modules/vsprintf-posix (Dependencies): Likewise.
22119
22120 2007-07-01  Bruno Haible  <bruno@clisp.org>
22121
22122         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
22123         Windows PATH as well. Conservative double-quoting. Comments.
22124
22125 2007-07-01  Bruno Haible  <bruno@clisp.org>
22126             Eric Blake  <ebb9@byu.net>
22127             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22128
22129         * gnulib-tool (self_abspathname): Fix algorithm to cope with
22130         empty components in $PATH, denoting '.'.
22131
22132 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22133
22134         * gnulib-tool: Fix indentation.
22135         (func_create_megatestdir): Likewise.
22136         Report by Bruno Haible.
22137
22138 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22139
22140         Sync from Automake.
22141         * build-aux/gnupload: Fix shell portability issues with for loops.
22142         Report by Karl Berry.
22143
22144 2007-06-29  Simon Josefsson  <simon@josefsson.org>
22145
22146         * build-aux/maint.mk (POURL): Use translationproject.org.
22147
22148 2007-06-27  Simon Josefsson  <simon@josefsson.org>
22149             Bruno Haible  <bruno@clisp.org>
22150
22151         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
22152         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
22153         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
22154         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
22155         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
22156
22157 2007-06-27  Bruno Haible  <bruno@clisp.org>
22158
22159         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
22160         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
22161
22162 2007-06-26  Karl Berry  <karl@gnu.org>
22163
22164         * MODULES.html.sh: remove xreadlink-with-size.
22165
22166 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
22167
22168         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
22169         method that I hope also handles the double-include problem noted
22170         by Bruno Haible in
22171         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
22172
22173 2007-06-23  Bruno Haible  <bruno@clisp.org>
22174
22175         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
22176         Don't let the 'mostlyclean' target fail if the last subdirectory could
22177         not be removed.
22178         Reported by Karl Berry.
22179
22180 2007-06-23  Bruno Haible  <bruno@clisp.org>
22181
22182         * gnulib-tool (echo): Add a speedier workaround for ksh.
22183         * tests/test-echo.sh: Likewise.
22184
22185 2007-06-23  Bruno Haible  <bruno@clisp.org>
22186
22187         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
22188         * tests/test-echo.sh: Likewise.
22189
22190 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22191
22192         * gnulib-tool (IFS): Initialize early, so we don't set it to
22193         empty later.
22194         (self_abspathname): Rewrite algorithm to set it, reindent.
22195         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
22196         (func_create_megatestdir): Merge some sed scripts.
22197
22198 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
22199
22200         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
22201         exposed by Sun Studio 11 cc on Solaris 8.
22202
22203 2007-06-22  Bruno Haible  <bruno@clisp.org>
22204
22205         * gnulib-tool (echo): Ensure the echo primitive does not interpret
22206         backslashes.
22207         * tests/test-echo.sh: New file.
22208
22209 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22210
22211         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
22212         simplify `sed_replace_build_aux' scripts, they are portable but
22213         echoing them with `echo' is not.
22214         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
22215
22216 2007-06-21  Karl Berry  <karl@gnu.org>
22217
22218         * config/srclist.txt: guess we can't handle the licenses via
22219         srclist at the moment.
22220
22221 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
22222
22223         * MODULES.html.sh: Add include_next.
22224         * modules/include_next: New file.
22225
22226 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
22227
22228         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
22229         INCLUDE_NEXT.
22230         (gl_CHECK_NEXT_HEADERS): New macro.
22231         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
22232         the obsolescent gl_ABSOLUTE_HEADER.
22233         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
22234         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
22235         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
22236         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
22237         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
22238         * m4/math_h.m4 (gl_MATH_H): Likewise.
22239         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
22240         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22241         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
22242         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22243         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
22244         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
22245         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
22246         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22247         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22248         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
22249         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
22250         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
22251         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
22252         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22253         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22254         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
22255         * m4/inttypes.m4 (gl_INTTYPES_H): Define
22256         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
22257         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
22258         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
22259         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
22260         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
22261         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
22262         * lib/float_.h: Likewise.
22263         * lib/inttypes_.h: Likewise.
22264         * lib/math_.h: Likewise.
22265         * lib/search_.h: Likewise.
22266         * lib/signal_.h: Likewise.
22267         * lib/stdint_.h: Likewise.
22268         * lib/stdio_.h: Likewise.
22269         * lib/stdlib_.h: Likewise.
22270         * lib/string_.h: Likewise.
22271         * lib/sys_stat_.h: Likewise.
22272         * lib/sys_time_.h: Likewise.
22273         * lib/time_.h: Likewise.
22274         * lib/unistd_.h: Likewise.
22275         * lib/wchar_.h: Likewise.
22276         * lib/wctype_.h: Likewise.
22277         * lib/dirent_.h: Likewise.
22278         * lib/iconv_.h: Likewise.
22279         * lib/locale_.h: Likewise.
22280         * lib/netinet_in_.h: Likewise.
22281         * lib/sys_select_.h: Likewise.
22282         * lib/sys_socket_.h: Likewise.
22283         * lib/sysexits_.h: Likewise.
22284         * modules/fcntl (Depends-on): Depend on include_next, not
22285         absolute_header.
22286         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
22287         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
22288         * modules/fchdir: Likewise.
22289         * modules/float: Likewise.
22290         * modules/iconv_open: Likewise.
22291         * modules/inttypes: Likewise.
22292         * modules/locale: Likewise.
22293         * modules/math: Likewise.
22294         * modules/netinet_in: Likewise.
22295         * modules/search: Likewise.
22296         * modules/signal: Likewise.
22297         * modules/stdint: Likewise.
22298         * modules/stdio: Likewise.
22299         * modules/stdlib: Likewise.
22300         * modules/string: Likewise.
22301         * modules/sys_select: Likewise.
22302         * modules/sys_socket: Likewise.
22303         * modules/sys_stat: Likewise.
22304         * modules/sys_time: Likewise.
22305         * modules/sysexits: Likewise.
22306         * modules/time: Likewise.
22307         * modules/unistd: Likewise.
22308         * modules/wchar: Likewise.
22309         * modules/wctype: Likewise.
22310         * modules/sys_stat: Change maintainer to "all".
22311         * modules/unistd: Likewise.
22312
22313 2007-06-20  Karl Berry  <karl@gnu.org>
22314
22315         * config/srclist.txt: track www changes in license files.
22316
22317 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
22318
22319         * build-aux/bootstrap: Remove stray dot.
22320         Make sure build_aux settings are honored when linking
22321         gnulib_extra_files.
22322
22323 2007-06-19  Eric Blake  <ebb9@byu.net>
22324
22325         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
22326         Allow compilation on cygwin.
22327
22328 2007-06-19  Jim Meyering  <jim@meyering.net>
22329
22330         xreadlink-with-size: Remove module.  No longer used.
22331         Ex-callers now use xreadlink or mreadlink-with-size.
22332         * modules/xreadlink-with-size: Remove module.
22333         * lib/xreadlink-with-size.c: Remove file.
22334         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
22335         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
22336         just before the function definition *is* accurate.
22337
22338         Eliminate one way canonicalize_filename_mode could exit.
22339         * lib/canonicalize.c (canonicalize_filename_mode):
22340         Use mreadlink_with_size, not xreadlink_with_size.
22341
22342 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
22343
22344         Detect porting problems to FreeBSD/arm, which has time_t wider than
22345         long int.  Original problem reported for GNU diff by Xin Li in
22346         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
22347         * modules/getdate (Depends-on): Add intprops, verify.
22348         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
22349         is an integer type no wider than long int.
22350
22351 2007-06-18  Jim Meyering  <jim@meyering.net>
22352
22353         New module: mreadlink-with-size.
22354         * MODULES.html.sh: Add mreadlink-with-size.
22355         * modules/mreadlink-with-size: New module
22356         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
22357         not xreadlink-with-size.
22358         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
22359
22360 2007-06-16  Bruno Haible  <bruno@clisp.org>
22361
22362         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
22363         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
22364         Reported by Gary V. Vaughan <gary@gnu.org>.
22365
22366 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
22367
22368         Revamp lchown so that it lives in unistd.h where it belongs.
22369         * lib/lchown.h: Remove.
22370         * lib/dirchownmod.c: Don't include lib/lchown.h.
22371         * lib/fchownat.c: Likewise.
22372         * lib/openat.c: Likewise.
22373         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
22374         does not follow symlinks.
22375         (EOPNOTSUPP): Define if not defined.
22376         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
22377         is defined to 0.
22378         (lchown): New decl.
22379         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
22380         Do not check for lchown decl.
22381         Set REPLACE_LCHOWN.
22382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
22383         REPLACE_LCHOWN.
22384         * modules/chown: Make it clear it follows symlinks.
22385         * modules/lchown: Make it clear it doesn't follow symlinks.
22386         (Files): Remove lib/lchown.h
22387         (Depends-on): Add unistd.
22388         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
22389         (Include): Include <unistd.h>, not "lchown.h".
22390         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
22391         REPLACE_LCHOWN.
22392
22393 2007-06-15  Jim Meyering  <jim@meyering.net>
22394
22395         Change license (GPL to LGPL) of fsusage and dependents.
22396         * modules/fsusage (License): Change to LGPL.
22397         * modules/full-read (License): Likewise.
22398         * modules/full-write (License): Likewise.
22399         * modules/safe-read (License): Likewise.
22400         * modules/safe-write (License): Likewise.
22401
22402 2007-06-14  Ben Pfaff  <blp@gnu.org>
22403
22404         Missing part of allocsa -> malloca transition.
22405         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
22406         gl_MALLOCA.
22407
22408 2007-06-12  Bruno Haible  <bruno@clisp.org>
22409
22410         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
22411         to ia64, x86_64, i386.
22412         Reported by Eric Blake.
22413
22414 2007-06-12  Bruno Haible  <bruno@clisp.org>
22415
22416         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
22417         cross-compiling to x86_64.
22418
22419 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
22420
22421         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
22422         glitch reported by Ralf Wildenhues in
22423         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
22424
22425         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
22426         Vin Shelton.
22427
22428 2007-06-11  Bruno Haible  <bruno@clisp.org>
22429
22430         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
22431         replacement string.
22432         Reported by Eric Blake.
22433
22434 2007-06-10  Bruno Haible  <bruno@clisp.org>
22435
22436         Prepare vasnprintf code for use with Unicode strings.
22437         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
22438         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
22439         TYPE_U32_STRING.
22440         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
22441         a_u32_string variants.
22442         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
22443         * lib/printf-args.c: Don't include config.h and the specification
22444         header if PRINTF_FETCHARGS is already defined.
22445         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
22446         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
22447         TYPE_U16_STRING, TYPE_U32_STRING.
22448         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
22449         u16_directive, u16_directives, u32_directive, u32_directives): New
22450         types.
22451         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
22452         New declarations.
22453         * lib/printf-parse.c: Don't include config.h and the specification
22454         header if PRINTF_PARSE is already defined. Eliminate the set of
22455         parameters for WIDE_CHAR_VERSION; the user of this file must provide
22456         them now. Include c-ctype.h.
22457         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
22458         directive and CHAR_T_ONLY_ASCII.
22459         * lib/vasnprintf.c: Don't include config.h and the specification header
22460         if VASNPRINTF is already defined.
22461         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
22462         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
22463         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
22464         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
22465         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
22466         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
22467         code accordingly.
22468         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
22469         pad_ourselves also in this case, with the 'c' and 's' directives, and
22470         with a different notion of "width".
22471         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
22472
22473 2007-06-10  Bruno Haible  <bruno@clisp.org>
22474
22475         * modules/unistr/u32-mbsnlen: New file.
22476         * lib/unistr/u32-mbsnlen.c: New file.
22477
22478         * modules/unistr/u16-mbsnlen: New file.
22479         * lib/unistr/u16-mbsnlen.c: New file.
22480
22481         * modules/unistr/u8-mbsnlen: New file.
22482         * lib/unistr/u8-mbsnlen.c: New file.
22483
22484         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
22485         declarations.
22486
22487 2007-06-10  Bruno Haible  <bruno@clisp.org>
22488
22489         * lib/string_.h (mbsnlen): New declaration.
22490         * lib/mbsnlen.c: New file.
22491         * m4/mbsnlen.m4: New file.
22492         * modules/mbsnlen: New file.
22493         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
22494         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
22495         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
22496
22497 2007-06-10  Bruno Haible  <bruno@clisp.org>
22498
22499         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
22500
22501 2007-06-10  Bruno Haible  <bruno@clisp.org>
22502
22503         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
22504         * lib/mbuiter.h: Likewise.
22505
22506 2007-06-10  Bruno Haible  <bruno@clisp.org>
22507
22508         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
22509         declaration.
22510
22511 2007-06-10  Karl Berry  <karl@gnu.org>
22512
22513         * config/srclist.txt: remove gettext entries, Bruno prefers
22514         to update individually.
22515
22516 2007-06-10  Bruno Haible  <bruno@clisp.org>
22517
22518         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
22519         'maxlen'. Ensure only length + width bytes are allocated, not
22520         length + 1 + width.
22521
22522 2007-06-09  Bruno Haible  <bruno@clisp.org>
22523
22524         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
22525         (CHAR_T): Remove macro.
22526         (VASNPRINTF): Update.
22527
22528 2007-06-09  Bruno Haible  <bruno@clisp.org>
22529
22530         * MODULES.html.sh (Unicode string functions): Add the new modules.
22531
22532         * modules/uniconv/u32-conv-to-enc: New file.
22533         * lib/uniconv/u32-conv-to-enc.c: New file.
22534         * modules/uniconv/u32-conv-to-enc-tests: New file.
22535         * tests/uniconv/test-u32-conv-to-enc.c: New file.
22536
22537         * modules/uniconv/u16-conv-to-enc: New file.
22538         * lib/uniconv/u16-conv-to-enc.c: New file.
22539         * lib/uniconv/u-conv-to-enc.h: New file.
22540         * modules/uniconv/u16-conv-to-enc-tests: New file.
22541         * tests/uniconv/test-u16-conv-to-enc.c: New file.
22542
22543         * modules/uniconv/u8-conv-to-enc: New file.
22544         * lib/uniconv/u8-conv-to-enc.c: New file.
22545         * modules/uniconv/u8-conv-to-enc-tests: New file.
22546         * tests/uniconv/test-u8-conv-to-enc.c: New file.
22547
22548         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
22549         u32_conv_to_encoding): New declarations.
22550
22551 2007-06-09  Bruno Haible  <bruno@clisp.org>
22552
22553         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
22554
22555 2007-06-09  Bruno Haible  <bruno@clisp.org>
22556
22557         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
22558         * modules/malloca: Renamed from modules/allocsa, updated.
22559         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
22560         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
22561         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
22562         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
22563         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
22564         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
22565         * modules/xmalloca: Renamed from modules/xallocsa, updated.
22566         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
22567         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
22568         * modules/c-strcasestr (Depends-on): Update.
22569         * lib/c-strcasestr.c: Update.
22570         * modules/c-strstr (Depends-on): Update.
22571         * lib/c-strstr.c: Update.
22572         * modules/canonicalize-lgpl (Depends-on): Update.
22573         * lib/canonicalize-lgpl.c: Update.
22574         * modules/clean-temp (Depends-on): Update.
22575         * lib/clean-temp.c: Update.
22576         * modules/csharpcomp (Depends-on): Update.
22577         * lib/csharpcomp.c: Update.
22578         * modules/csharpexec (Depends-on): Update.
22579         * lib/csharpexec.c: Update.
22580         * modules/javacomp (Depends-on): Update.
22581         * lib/javacomp.c: Update.
22582         * modules/javaexec (Depends-on): Update.
22583         * lib/javaexec.c: Update.
22584         * modules/mbscasestr (Depends-on): Update.
22585         * lib/mbscasestr.c: Update.
22586         * modules/mbsstr (Depends-on): Update.
22587         * lib/mbsstr.c: Update.
22588         * modules/setenv (Depends-on): Update.
22589         * lib/setenv.c: Update.
22590         * modules/strcasestr (Depends-on): Update.
22591         * lib/strcasestr.c: Update.
22592         * modules/striconveha (Depends-on): Update.
22593         * lib/striconveha.c: Update.
22594         * modules/relocatable-prog-wrapper (Files): Update.
22595         * lib/relocwrapper.c: Update.
22596         * build-aux/install-reloc: Update.
22597         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
22598
22599 2007-06-08  Bruno Haible  <bruno@clisp.org>
22600
22601         Port to uClibc.
22602         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
22603         * lib/fpurge.c (fpurge): Likewise.
22604         * lib/freading.c (freading): Likewise.
22605         * lib/fseeko.c (rpl_fseeko): Likewise.
22606         * lib/fseterr.c (fseterr): Likewise.
22607         * lib/fwriting.c (fwriting): Likewise.
22608         * tests/test-fflush.c (main): Avoid a failure on uClibc.
22609
22610 2007-06-08  Bruno Haible  <bruno@clisp.org>
22611
22612         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
22613         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
22614         * modules/gettext (Files): Add m4/intlmacosx.m4.
22615
22616 2007-06-07  Bruno Haible  <bruno@clisp.org>
22617
22618         * modules/localename-tests: New file.
22619         * tests/test-localename.c: New file.
22620
22621         New module 'localename'.
22622         * lib/localename.h: New file.
22623         * lib/localename.c: New file, from GNU gettext.
22624         * m4/localename.m4: New file.
22625         * modules/localename: New file.
22626
22627 2007-06-07  Bruno Haible  <bruno@clisp.org>
22628
22629         Work around the lack of <wchar.h> on some builds of uClibc.
22630         * doc/headers/wchar.texi: Update.
22631         * lib/wchar_.h: Include <wchar.h> only if it exists.
22632         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
22633         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
22634         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
22635         doesn't exist.
22636         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
22637         * modules/mbfile (Depends-on): Add wchar.
22638         * modules/mbiter (Depends-on): Likewise.
22639         * modules/mbuiter (Depends-on): Likewise.
22640         Reported by Simon Josefsson.
22641
22642 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
22643
22644         Work around problem reported by Steven M. Schweda in
22645         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
22646         Tru64 5.1B with the Compaq compiler environment installed declares
22647         an 'isblank' function but does not define it in the C library.
22648         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
22649         * lib/regex_internal.h (isblank): Likewise.
22650         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
22651         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
22652
22653 2007-06-05  Bruno Haible  <bruno@clisp.org>
22654
22655         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
22656         ia64.
22657         * modules/printf-safe: New file.
22658         * modules/fprintf-posix (Depends-on): Add printf-safe.
22659         * modules/printf-posix (Depends-on): Likewise.
22660         * modules/snprintf-posix (Depends-on): Likewise.
22661         * modules/sprintf-posix (Depends-on): Likewise.
22662         * modules/vasnprintf-posix (Depends-on): Likewise.
22663         * modules/vasprintf-posix (Depends-on): Likewise.
22664         * modules/vfprintf-posix (Depends-on): Likewise.
22665         * modules/vprintf-posix (Depends-on): Likewise.
22666         * modules/vsnprintf-posix (Depends-on): Likewise.
22667         * modules/vsprintf-posix (Depends-on): Likewise.
22668         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
22669         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
22670         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
22671         "no" on i386, x86_64, ia64.
22672         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
22673         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
22674         on i386, x86_64, ia64.
22675         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
22676         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
22677         on i386, x86_64, ia64.
22678         * tests/test-vasnprintf-posix.c: Include float.h.
22679         (LDBL80_WORDS): New macro.
22680         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
22681         on i386, x86_64, ia64.
22682         * tests/test-vasprintf-posix.c: Include float.h.
22683         (LDBL80_WORDS): New macro.
22684         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
22685         on i386, x86_64, ia64.
22686         * tests/test-snprintf-posix.c: Include float.h.
22687         * tests/test-sprintf-posix.c: Likewise.
22688         * tests/test-vsnprintf-posix.c: Likewise.
22689         * tests/test-vsprintf-posix.c: Likewise.
22690
22691 2007-06-05  Bruno Haible  <bruno@clisp.org>
22692
22693         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
22694         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
22695         non-IEEE numbers on i386, x86_64, ia64.
22696         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
22697         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
22698         * tests/test-isnanl.h: Include float.h.
22699         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
22700
22701 2007-06-05  Bruno Haible  <bruno@clisp.org>
22702
22703         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
22704         also the %a / %A. Handle the %a / %A code before this extra handling.
22705
22706 2007-06-05  Bruno Haible  <bruno@clisp.org>
22707
22708         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
22709         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
22710
22711 2007-06-05  Bruno Haible  <bruno@clisp.org>
22712
22713         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
22714         typo in variable name.
22715
22716 2007-06-05  Eric Blake  <ebb9@byu.net>
22717
22718         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
22719         Reported by Simon Josefsson.
22720
22721 2007-06-04  Bruno Haible  <bruno@clisp.org>
22722
22723         Avoid test failures on some PowerPC platforms.
22724         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
22725         Define differently for PowerPC.
22726         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
22727         Reported by Gary V. Vaughan <gary@gnu.org>.
22728
22729 2007-06-02  Bruno Haible  <bruno@clisp.org>
22730
22731         Fix test-stdint failure on FreeBSD/ia64.
22732         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
22733         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
22734         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
22735         * doc/headers/stdint.texi: Update.
22736
22737 2007-06-01  Bruno Haible  <bruno@clisp.org>
22738
22739         * tests/test-binary-io.c (main): Pass a third argument to open().
22740         Reported by Gary V. Vaughan <gary@gnu.org>.
22741
22742 2007-06-01  Bruno Haible  <bruno@clisp.org>
22743
22744         * doc/functions/frexpl.texi: Update for mingw.
22745
22746 2007-06-01  Bruno Haible  <bruno@clisp.org>
22747
22748         * tests/test-lseek.c (main): Disable test of errno for invalid third
22749         argument.
22750         * doc/functions/lseek.texi: Update.
22751         Reported by Gary V. Vaughan <gary@gnu.org>.
22752
22753 2007-05-28  Bruno Haible  <bruno@clisp.org>
22754
22755         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
22756
22757 2007-05-31  Eric Blake  <ebb9@byu.net>
22758
22759         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
22760         cross compiling.
22761
22762 2007-05-30  Eric Blake  <ebb9@byu.net>
22763         and Bruno Haible  <bruno@clisp.org>
22764
22765         Work around mingw test failures exposed by m4-1.4.9b.
22766         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
22767         * tests/test-unistd.c: Disable uid_t and git_t tests for the
22768         moment.
22769
22770 2007-05-30  Bruno Haible  <bruno@clisp.org>
22771
22772         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
22773         assuming that they are closed. Needed on HP-UX 11.
22774
22775 2007-05-29  Bruno Haible  <bruno@clisp.org>
22776
22777         Fix a problem with #include_next.
22778         * lib/dirent_.h: Split the double-inclusion guard.
22779         * lib/fcntl_.h: Likewise.
22780         * lib/float_.h: Likewise.
22781         * lib/iconv_.h: Likewise.
22782         * lib/inttypes_.h: Likewise.
22783         * lib/locale_.h: Likewise.
22784         * lib/math_.h: Likewise.
22785         * lib/netinet_in_.h: Likewise.
22786         * lib/search_.h: Likewise.
22787         * lib/signal_.h: Likewise.
22788         * lib/stdint_.h: Likewise.
22789         * lib/stdio_.h: Likewise.
22790         * lib/stdlib_.h: Likewise.
22791         * lib/string_.h: Likewise.
22792         * lib/sys_select_.h: Likewise.
22793         * lib/sys_socket_.h: Likewise.
22794         * lib/sys_stat_.h: Likewise.
22795         * lib/sys_time_.h: Likewise.
22796         * lib/sysexits_.h: Likewise.
22797         * lib/time_.h: Likewise.
22798         * lib/unistd_.h: Likewise.
22799         * lib/wchar_.h: Likewise.
22800         * lib/wctype_.h: Likewise.
22801
22802 2007-05-29  Bruno Haible  <bruno@clisp.org>
22803
22804         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
22805         for the moment.
22806
22807 2007-05-29  Bruno Haible  <bruno@clisp.org>
22808
22809         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
22810         invocation.
22811         Reported by Eric Blake.
22812
22813 2007-05-29  Bruno Haible  <bruno@clisp.org>
22814
22815         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
22816         compiling case.
22817
22818 2007-05-29  Eric Blake  <ebb9@byu.net>
22819             Bruno Haible  <bruno@clisp.org>
22820
22821         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
22822         cross compiles.
22823
22824 2007-05-28  Eric Blake  <ebb9@byu.net>
22825
22826         * modules/closein-tests (test_closein_LDADD): Support test on
22827         cygwin with libtool.
22828
22829 2007-05-28  Bruno Haible  <bruno@clisp.org>
22830
22831         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
22832         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
22833         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
22834         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
22835         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
22836         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
22837         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
22838         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
22839         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
22840
22841 2007-05-28  Eric Blake  <ebb9@byu.net>
22842
22843         Unconditionally include <config.h> in unit tests.
22844         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
22845         * tests/test-allocsa.c, tests/test-arcfour.c,
22846         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
22847         tests/test-array_list.c, tests/test-array_oset.c,
22848         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
22849         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
22850         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
22851         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
22852         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
22853         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
22854         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
22855         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
22856         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
22857         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
22858         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
22859         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
22860         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
22861         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
22862         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
22863         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
22864         test-md5.c, test-memmem.c, test-printf-posix.c,
22865         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
22866         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
22867         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
22868         test-strcasestr.c, test-striconv.c, test-striconveh.c,
22869         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
22870         test-vasnprintf-posix2.c, test-vasnprintf.c,
22871         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
22872         test-vfprintf-posix.c, test-vprintf-posix.c,
22873         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
22874         test-xvasprintf.c: Likewise.
22875
22876 2007-05-28  Bruno Haible  <bruno@clisp.org>
22877
22878         * gnulib-tool (func_import): Remember the --with-tests command-line
22879         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
22880         Reported by Eric Blake.
22881
22882 2007-05-28  Bruno Haible  <bruno@clisp.org>
22883
22884         * modules/ftell-tests: New file.
22885         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
22886         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
22887
22888         * lib/ftell.c: New file.
22889         * modules/ftell: New file.
22890         * m4/ftell.m4: New file.
22891         * doc/functions/ftell.texi: Update.
22892         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
22893         REPLACE_FTELL.
22894         * lib/stdio_.h (rpl_ftell): New declaration.
22895         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
22896         REPLACE_FTELL.
22897
22898 2007-05-28  Eric Blake  <ebb9@byu.net>
22899
22900         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
22901
22902 2007-05-28  Bruno Haible  <bruno@clisp.org>
22903
22904         * modules/fseek-tests: New file.
22905         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
22906         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
22907
22908         * lib/fseek.c: New file.
22909         * modules/fseek: New file.
22910         * m4/fseek.m4: New file.
22911         * doc/functions/fseek.texi: Update.
22912         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
22913         REPLACE_FSEEK.
22914         * lib/stdio_.h (rpl_fseek): New declaration.
22915         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
22916         REPLACE_FSEEK.
22917
22918 2007-05-28  Bruno Haible  <bruno@clisp.org>
22919
22920         * lib/stdio_.h (fflush): More comments.
22921
22922 2007-05-28  Bruno Haible  <bruno@clisp.org>
22923
22924         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
22925         runtime test.
22926
22927 2007-05-28  Eric Blake  <ebb9@byu.net>
22928
22929         Improve lseek module.
22930         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
22931         * lib/unistd_.h (lseek): Scale back link warning message.
22932         * tests/test-lseek.c: Beef up test.
22933         * tests/test-lseek.sh: Exercise more facets of lseek.
22934         Reported by Bruno Haible.
22935
22936 2007-05-28  Bruno Haible  <bruno@clisp.org>
22937
22938         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
22939         to define.
22940
22941 2007-05-27  Bruno Haible  <bruno@clisp.org>
22942
22943         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
22944
22945 2007-05-27  Bruno Haible  <bruno@clisp.org>
22946
22947         * modules/openmp: New file.
22948         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
22949         Noah Misch.
22950
22951 2007-05-26  Bruno Haible  <bruno@clisp.org>
22952
22953         * modules/chdir-long (Depends-on): Add fchdir.
22954         * modules/chdir-safer (Depends-on): Likewise.
22955         * modules/fts (Depends-on): Likewise.
22956         * modules/fts-lgpl (Depends-on): Likewise.
22957         * modules/openat (Depends-on): Likewise.
22958         * modules/savewd (Depends-on): Likewise.
22959
22960 2007-05-24  Eric Blake  <ebb9@byu.net>
22961
22962         Fix lseek on mingw.
22963         * modules/lseek: New module.
22964         * m4/lseek.m4: New file.
22965         * lib/lseek.c: New file.
22966         * modules/lseek-tests: New file.
22967         * tests/test-lseek.c: New file.
22968         * tests/test-lseek.sh: New file.
22969         * MODULES.html.sh: Document lseek module.
22970         * modules/fflush (Depends-on): Add lseek, fseeko.
22971         * modules/fseeko (Depends-on): Likewise.
22972         * modules/ftello (Depends-on): Likewise.
22973         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
22974         broken.
22975         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
22976         broken.
22977         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
22978         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
22979         * lib/ftello.c (rpl_ftello): Likewise.
22980         * tests/test-fseeko.c (main): Test this.
22981         * tests/test-fseeko.sh: Likewise.
22982         * tests/test-ftello.c (main): Likewise.
22983         * tests/test-ftello.sh: Likewise.
22984         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
22985         implies replacing fseek.
22986         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
22987         HAVE_FTELLO.
22988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
22989         * modules/unistd (Makefile.am): Likewise.
22990         * lib/unistd_.h (lseek): Declare a replacement.
22991         * doc/functions/lseek.texi (lseek): Document this fix.
22992         * doc/functions/fseek.texi (fseek): Likewise.
22993         * doc/functions/ftell.texi (ftell): Likewise.
22994
22995 2007-05-24  Bruno Haible  <bruno@clisp.org>
22996
22997         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
22998         in the printed representation of a NaN.
22999         * tests/test-vasprintf-posix.c (test_function): Likewise.
23000         * tests/test-snprintf-posix.h (test_function): Likewise.
23001         * tests/test-sprintf-posix.h (test_function): Likewise.
23002         Reported by Eric Blake.
23003
23004 2007-05-23  Eric Blake  <ebb9@byu.net>
23005
23006         Fix fseeko/ftello on cygwin 1.5.24.
23007         * doc/functions/fseeko.texi (fseeko): Document the fix.
23008         * doc/functions/ftello.texi (ftello): Document the fix.
23009         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
23010         * doc/functions/stdout.text (stdout): New file.
23011         * doc/functions/stderr.text (stderr): New file.
23012         * doc/gnulib.texi (Function Substitutes): Use new files.
23013         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
23014         prior to 1.7.0.
23015         * tests/test-ftello.c (main): Likewise for ftello.
23016         * tests/test-fseeko.sh: New file.
23017         * tests/test-ftello.sh: New file.
23018         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
23019         with seekable stdin.
23020         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
23021         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
23022         (gl_REPLACE_FSEEKO): New macro.
23023         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
23024         * modules/fseeko (Files): Distribute fseeko.c.
23025         * modules/ftello (Files): Distribute ftello.c.
23026         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
23027         mode.
23028         * lib/ftello.c (rpl_ftello): New file.
23029         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
23030         fseeko, ftello.
23031         (gl_STDIN_LARGE_OFFSET): New macro.
23032         * modules/stdio (Makefile.am): Perform the replacement.
23033         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
23034
23035 2007-05-23  Bruno Haible  <bruno@clisp.org>
23036
23037         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
23038         GNULIB_POSIXCHECK is defined.
23039
23040 2007-05-21  Bruno Haible  <bruno@clisp.org>
23041
23042         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
23043         Check also the output for NaN arguments. When cross-compiling, guess
23044         no on IRIX.
23045         * lib/vasnprintf.c: Update comments.
23046         * tests/test-vasnprintf-posix.c (strisnan): New function.
23047         (test_function): Use it.
23048         * tests/test-vasprintf-posix.c (strisnan): New function.
23049         (test_function): Use it.
23050         * tests/test-snprintf-posix.h (strisnan): New function.
23051         (test_function): Use it.
23052         * tests/test-sprintf-posix.h (strisnan): New function.
23053         (test_function): Use it.
23054         Reported by Eric Blake.
23055
23056 2007-05-20  Bruno Haible  <bruno@clisp.org>
23057
23058         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
23059         numbers that fails on BeOS.
23060         * doc/functions/frexpl.texi: Update.
23061
23062 2007-05-20  Jim Meyering  <jim@meyering.net>
23063
23064         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
23065         forced upon us by glibc-2.6.
23066
23067 2007-05-20  Bruno Haible  <bruno@clisp.org>
23068
23069         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
23070         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
23071         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
23072         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
23073         NEED_PRINTF_INFINITE.
23074         (is_infinitel): New function.
23075         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
23076         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
23077         gl_PREREQ_VASNPRINTF_INFINITE.
23078         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
23079         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
23080         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
23081         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
23082         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
23083         gl_PREREQ_VASNPRINTF_INFINITE.
23084         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
23085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23086         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23087         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23088         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23089         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23090         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23091         * doc/functions/fprintf.texi: Update.
23092         * doc/functions/printf.texi: Update.
23093         * doc/functions/snprintf.texi: Update.
23094         * doc/functions/sprintf.texi: Update.
23095         * doc/functions/vfprintf.texi: Update.
23096         * doc/functions/vprintf.texi: Update.
23097         * doc/functions/vsnprintf.texi: Update.
23098         * doc/functions/vsprintf.texi: Update.
23099
23100 2007-05-20  Bruno Haible  <bruno@clisp.org>
23101
23102         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
23103         was not found in libc.
23104         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23105
23106 2007-05-20  Bruno Haible  <bruno@clisp.org>
23107
23108         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
23109         printed as "-nan" instead of "nan".
23110         * tests/test-vasprintf-posix.c (test_function): Likewise.
23111         * tests/test-snprintf-posix.h (test_function): Likewise.
23112         * tests/test-sprintf-posix.h (test_function): Likewise.
23113         Needed for HP-UX 11.
23114
23115 2007-05-20  Jim Meyering  <jim@meyering.net>
23116
23117         Fix buggy test for the fchownat-deref bug.
23118         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
23119         symlink required for the run-test.  Without it, this test would
23120         always declare that fchownat doesn't work, and client code would
23121         unnecessarily use the replacement function with fixed libc.
23122         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
23123         Reported by Greg Schafer.
23124
23125 2007-05-19  Bruno Haible  <bruno@clisp.org>
23126
23127         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
23128         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
23129         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
23130         Needed for IRIX 6.5 and Solaris 2.5.1.
23131
23132 2007-05-19  Bruno Haible  <bruno@clisp.org>
23133
23134         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
23135         (test_function): Skip tests involving -0.0 on platforms where
23136         -0.0 = 0.0.
23137         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
23138         (test_function): Skip tests involving -0.0 on platforms where
23139         -0.0 = 0.0.
23140         * tests/test-snprintf-posix.h (have_minus_zero): New function.
23141         (test_function): Skip tests involving -0.0 on platforms where
23142         -0.0 = 0.0.
23143         * tests/test-sprintf-posix.h (have_minus_zero): New function.
23144         (test_function): Skip tests involving -0.0 on platforms where
23145         -0.0 = 0.0.
23146         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
23147         tests.
23148         * tests/test-printf-posix.h (test_function): Likewise.
23149         * tests/test-printf-posix.output: Remove all -0.0 related results.
23150         Needed for IRIX 6.5.
23151
23152 2007-05-19  Bruno Haible  <bruno@clisp.org>
23153
23154         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
23155         printed as "nan0x7fffffff" instead of "nan".
23156         * tests/test-vasprintf-posix.c (test_function): Likewise.
23157         * tests/test-snprintf-posix.h (test_function): Likewise.
23158         * tests/test-sprintf-posix.h (test_function): Likewise.
23159         * tests/test-fprintf-posix.h (NaN): Remove macro.
23160         (test_function): Remove all NaN related tests.
23161         * tests/test-printf-posix.h (NaN): Remove macro.
23162         (test_function): Remove all NaN related tests.
23163         * tests/test-printf-posix.output: Remove all NaN related results.
23164         Needed for IRIX 6.5.
23165
23166 2007-05-19  Bruno Haible  <bruno@clisp.org>
23167
23168         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
23169         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23170
23171 2007-05-19  Bruno Haible  <bruno@clisp.org>
23172
23173         * lib/float_.h: New file.
23174         * m4/float_h.m4: New file.
23175         * modules/float: New file.
23176         * modules/isnanl (Dependencies): Add float.
23177         * modules/isnanl-nolibm (Dependencies): Likewise.
23178         * modules/mathl (Dependencies): Likewise.
23179         * modules/printf-frexpl (Dependencies): Likewise.
23180         * modules/signbit (Dependencies): Likewise.
23181         * modules/vasnprintf (Dependencies): Likewise.
23182         * doc/headers/float.texi: Update.
23183
23184 2007-05-19  Jim Meyering  <jim@meyering.net>
23185
23186         * lib/utimens.c (gl_futimens): Rename from futimens,
23187         now that glibc-2.6 declares futimens.
23188         * lib/utimens.h: Likewise.
23189
23190 2007-05-19  Bruno Haible  <bruno@clisp.org>
23191
23192         Avoid test failures on mingw.
23193         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
23194         * tests/test-printf-posix.sh: Likewise.
23195         * tests/test-vfprintf-posix.sh: Likewise.
23196         * tests/test-vprintf-posix.sh: Likewise.
23197
23198 2007-05-19  Bruno Haible  <bruno@clisp.org>
23199
23200         Fix *printf result for NaN, Inf, -0.0 on mingw.
23201         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
23202         * lib/vasnprintf.c: Include math.h and isnan.h.
23203         (is_infinite_or_zero): New function.
23204         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
23205         values in the %f, %F, %e, %E, %g, %G directives.
23206         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
23207         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
23208         gl_PRINTF_INFINITE and test its result. Invoke
23209         gl_PREREQ_VASNPRINTF_INFINITE.
23210         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
23211         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23212         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23213         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23214         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23215         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23216         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23217         * doc/functions/fprintf.texi: Update.
23218         * doc/functions/printf.texi: Update.
23219         * doc/functions/snprintf.texi: Update.
23220         * doc/functions/sprintf.texi: Update.
23221         * doc/functions/vfprintf.texi: Update.
23222         * doc/functions/vprintf.texi: Update.
23223         * doc/functions/vsnprintf.texi: Update.
23224         * doc/functions/vsprintf.texi: Update.
23225
23226 2007-05-19  Bruno Haible  <bruno@clisp.org>
23227
23228         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
23229         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
23230         Instead of multiplying with 10^k, set extra_zeroes to k.
23231         (scale10_round_long_double): Remove function.
23232
23233 2007-05-18  Bruno Haible  <bruno@clisp.org>
23234
23235         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
23236         introduced on 2007-05-06.
23237
23238 2007-05-18  Bruno Haible  <bruno@clisp.org>
23239
23240         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
23241         %g directives.
23242         * tests/test-vasprintf-posix.c (test_function): Likewise.
23243         * tests/test-snprintf-posix.h (test_function): Likewise.
23244         * tests/test-sprintf-posix.h (test_function): Likewise.
23245
23246 2007-05-18  Bruno Haible  <bruno@clisp.org>
23247
23248         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
23249         (strmatch): New function.
23250         (test_function): Test the %f directive on numbers of various exponents.
23251         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
23252         (strmatch): New function.
23253         (test_function): Test the %f directive on numbers of various exponents.
23254         * tests/test-snprintf-posix.h (strmatch): New function.
23255         (test_function): Test the %f directive on numbers of various exponents.
23256         * tests/test-sprintf-posix.h (strmatch): New function.
23257         (test_function): Test the %f directive on numbers of various exponents.
23258         * tests/test-snprintf-posix.c (SIZEOF): New macro.
23259         * tests/test-sprintf-posix.c (SIZEOF): New macro.
23260         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
23261         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
23262
23263 2007-05-18  Bruno Haible  <bruno@clisp.org>
23264
23265         Add support for 'long double' number output.
23266         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
23267         * lib/vasnprintf.c: Include math.h and float+.h.
23268         (mp_limb_t): New type.
23269         (GMP_LIMB_BITS): New macro.
23270         (mp_twolimb_t): New type.
23271         (GMP_TWOLIMB_BITS): New macro.
23272         (mpn_t): New type.
23273         (multiply, divide, convert_to_decimal, decode_long_double,
23274         scale10_round_long_double, scale10_round_decimal_long_double,
23275         floorlog10l): New functions.
23276         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
23277         for the %f, %F, %e, %E, %g, %G directives.
23278         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
23279         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
23280         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
23281         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
23282         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
23283         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23284         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23285         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23286         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23287         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23288         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23289         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
23290         * modules/snprintf-posix (Depends-on): Likewise.
23291         * modules/sprintf-posix (Depends-on): Likewise.
23292         * modules/vasnprintf-posix (Depends-on): Likewise.
23293         * modules/vasprintf-posix (Depends-on): Likewise.
23294         * modules/vfprintf-posix (Depends-on): Likewise.
23295         * modules/vsnprintf-posix (Depends-on): Likewise.
23296         * modules/vsprintf-posix (Depends-on): Likewise.
23297         * modules/vasnprintf (Files): Add lib/float+.h.
23298         * doc/functions/fprintf.texi: Update.
23299         * doc/functions/printf.texi: Update.
23300         * doc/functions/snprintf.texi: Update.
23301         * doc/functions/sprintf.texi: Update.
23302         * doc/functions/vfprintf.texi: Update.
23303         * doc/functions/vprintf.texi: Update.
23304         * doc/functions/vsnprintf.texi: Update.
23305         * doc/functions/vsprintf.texi: Update.
23306
23307 2007-05-18  Bruno Haible  <bruno@clisp.org>
23308
23309         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
23310
23311 2007-05-18  Bruno Haible  <bruno@clisp.org>
23312
23313         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
23314         for printing 64-bit integers. Needed for mingw.
23315
23316 2007-05-18  Bruno Haible  <bruno@clisp.org>
23317
23318         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
23319         gl_FUNC_FREXPL_WORKS.
23320         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
23321
23322 2007-05-18  Bruno Haible  <bruno@clisp.org>
23323
23324         * modules/frexpl-nolibm-tests: New file.
23325
23326         * modules/frexpl-nolibm: New file.
23327         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
23328
23329 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
23330
23331         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
23332         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
23333         GCC 4.2, which otherwise issues a lot of warnings.
23334         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
23335         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
23336         Likewise.
23337         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
23338         * modules/iconv_open (iconv.h): Likewise.
23339         * modules/locale (locale.h): Likewise.
23340         * modules/netinet_in (netinet/in.h): Likewise.
23341         * modules/sys_select (sys_select.h): Likewise.
23342         * modules/sys_socket (sys/socket.h): Likewise.
23343         * modules/sys_stat (sys/stat.h): Likewise.
23344         * modules/sysexits (sysexits.h): Likewise.
23345         * modules/unistd (unistd.h): Likewise.
23346
23347 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23348
23349         * modules/closein-tests (Makefile.am): Distribute
23350         `test-closein.sh'.
23351
23352 2007-05-17  Bruno Haible  <bruno@clisp.org>
23353
23354         * tests/test-printf-posix.output: Renamed from
23355         tests/test-fprintf-posix.out.
23356         * modules/fprintf-posix-tests: Update.
23357         * modules/printf-posix-tests: Update.
23358         * modules/vfprintf-posix-tests: Update.
23359         * modules/vprintf-posix-tests: Update.
23360         * tests/test-fprintf-posix.sh: Update.
23361         * tests/test-printf-posix.sh: Update.
23362         * tests/test-vfprintf-posix.sh: Update.
23363         * tests/test-vprintf-posix.sh: Update.
23364         Reported by Ralf Wildenhues.
23365
23366 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
23367
23368         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
23369         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
23370         GCC 4.2, which otherwise issues a lot of warnings.
23371         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
23372         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
23373         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
23374         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
23375         it should no longer be needed.
23376         * lib/string_.h: Likewise.
23377         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
23378         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
23379         * modules/inttypes (inttypes.h): Likewise.
23380         * modules/math (math.h): Likewise.
23381         * modules/search (search.h): Likewise.
23382         * modules/signal (signal.h): Likewise.
23383         * modules/stdint (stdint.h): Likewise.
23384         * modules/stdio (stdio.h): Likewise.
23385         * modules/stdlib (stdlib.h): Likewise.
23386         * modules/string (string.h): Likewise.
23387         * modules/sys_time (sys/time.h): Likewise.
23388         * modules/time (time.h): Likewise.
23389         * modules/wchar (wchar.h): Likewise.
23390         * modules/wctype (wtype.h): Likewise.
23391
23392 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23393
23394         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
23395
23396 2007-05-13  Bruno Haible  <bruno@clisp.org>
23397
23398         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
23399         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23400         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
23401         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
23402         (gl_PREREQ_STRTOK_R): Don't require it here.
23403
23404 2007-05-13  Bruno Haible  <bruno@clisp.org>
23405
23406         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
23407         when used in C++ mode.
23408
23409 2007-05-12  Bruno Haible  <bruno@clisp.org>
23410
23411         * lib/linebuffer.h: Tweak doc.
23412         * lib/linebuffer.c: Likewise.
23413
23414 2007-05-12  James Youngman  <jay@gnu.org>
23415
23416         * lib/linebuffer.c (readlinebuffer_delim): New function,
23417         like readlinebuffer, but use a caller-specified delimiter.
23418         (readlinebuffer): Just call readlinebuffer_delim with '\n'
23419         as the delimiter.
23420         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
23421
23422 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
23423
23424         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
23425         * modules/openat (Files): Remove openat-die.c.
23426         (Depends-on): Add openat-die.
23427         * modules/openat-die: New module.
23428
23429 2007-05-06  Bruno Haible  <bruno@clisp.org>
23430
23431         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
23432         Update with info about Cygwin.
23433         * doc/functions/fprintf.texi: Update.
23434         * doc/functions/printf.texi: Update.
23435         * doc/functions/snprintf.texi: Update.
23436         * doc/functions/sprintf.texi: Update.
23437         * doc/functions/vfprintf.texi: Update.
23438         * doc/functions/vprintf.texi: Update.
23439         * doc/functions/vsnprintf.texi: Update.
23440         * doc/functions/vsprintf.texi: Update.
23441         Reported by Eric Blake.
23442
23443 2007-05-06  Bruno Haible  <bruno@clisp.org>
23444
23445         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
23446         padding ourselves for the floating-point directives.
23447         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
23448         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
23449         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
23450         gl_PRINTF_FLAG_ZERO and test its result. Invoke
23451         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
23452         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23453         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
23454         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23455         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23456         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23457         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23458         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23459         * tests/test-snprintf-posix.h (test_function): Also check the width
23460         and some flags in the %f directive.
23461         * tests/test-sprintf-posix.h (test_function): Likewise.
23462         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23463         * tests/test-vasprintf-posix.c (test_function): Likewise.
23464         * doc/functions/fprintf.texi: Update.
23465         * doc/functions/printf.texi: Update.
23466         * doc/functions/snprintf.texi: Update.
23467         * doc/functions/sprintf.texi: Update.
23468         * doc/functions/vfprintf.texi: Update.
23469         * doc/functions/vprintf.texi: Update.
23470         * doc/functions/vsnprintf.texi: Update.
23471         * doc/functions/vsprintf.texi: Update.
23472
23473 2007-05-06  Bruno Haible  <bruno@clisp.org>
23474
23475         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
23476         pass the ' flag character to sprintf or snprintf.
23477         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
23478         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
23479         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
23480         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
23481         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
23482         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23483         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
23484         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23485         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23486         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23487         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23488         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23489         * tests/test-snprintf-posix.h (test_function): Also check the grouping
23490         flag.
23491         * tests/test-sprintf-posix.h (test_function): Likewise.
23492         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23493         * tests/test-vasprintf-posix.c (test_function): Likewise.
23494         * doc/functions/fprintf.texi: Update.
23495         * doc/functions/printf.texi: Update.
23496         * doc/functions/snprintf.texi: Update.
23497         * doc/functions/sprintf.texi: Update.
23498         * doc/functions/vfprintf.texi: Update.
23499         * doc/functions/vprintf.texi: Update.
23500         * doc/functions/vsnprintf.texi: Update.
23501         * doc/functions/vsprintf.texi: Update.
23502
23503 2007-05-01  Bruno Haible  <bruno@clisp.org>
23504
23505         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
23506
23507 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
23508
23509         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
23510         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
23511
23512 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23513
23514         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
23515         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
23516         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
23517
23518 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
23519
23520         * lib/argp-help.c (struct hol_entry): New member `ord'.
23521         (HOL_ENTRY_PTRCMP): Use ord for comparison
23522         (hol_sort): Initialize ord.
23523
23524 2007-05-01  Bruno Haible  <bruno@clisp.org>
23525
23526         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
23527         Reported by Eric Blake.
23528         * doc/gnulib.texi (Function Substitutes): Update.
23529
23530 2007-05-01  Bruno Haible  <bruno@clisp.org>
23531
23532         * doc/functions.texi: Remove file, now redundant through
23533         doc/functions/*.texi.
23534
23535 2007-05-01  Bruno Haible  <bruno@clisp.org>
23536
23537         * modules/argp (Depends-on): Add sleep.
23538
23539 2007-05-01  Bruno Haible  <bruno@clisp.org>
23540
23541         * modules/sleep-tests: New file.
23542         * tests/test-sleep.c: New file.
23543
23544         * modules/sleep: New file.
23545         * lib/sleep.c: New file.
23546         * m4/sleep.m4: New file.
23547         * lib/unistd_.h (sleep): New declaration.
23548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
23549         HAVE_SLEEP.
23550         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
23551         * doc/functions/sleep.texi: Document the sleep module.
23552
23553 2007-05-01  Bruno Haible  <bruno@clisp.org>
23554
23555         * lib/sigprocmask.h: Remove file.
23556         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
23557         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
23558         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
23559         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
23560         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
23561         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
23562         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
23563         HAVE_SIGSET_T as a shell variable.
23564         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
23565         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
23566         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
23567         (Depends-on): Add signal. Remove verify.
23568         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
23569         (Include): Mention <signal.h> instead of sigprocmask.h.
23570         * NEWS: Mention the change.
23571         * lib/fatal-signal.c: Don't include sigprocmask.h.
23572
23573 2007-05-01  Bruno Haible  <bruno@clisp.org>
23574
23575         * modules/signal: New file.
23576         * lib/signal_.h: New file.
23577         * m4/signal_h.m4: New file.
23578
23579 2007-05-01  Bruno Haible  <bruno@clisp.org>
23580
23581         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
23582         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
23583         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
23584         HAVE_WCTYPE_CTMP_BUG into wctype.h.
23585
23586 2007-05-01  Bruno Haible  <bruno@clisp.org>
23587
23588         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
23589         configure time.
23590         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
23591         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
23592         * modules/sys_stat (Makefile.am): Substitute their values into
23593         sys/stat.h.
23594
23595 2007-05-01  Bruno Haible  <bruno@clisp.org>
23596
23597         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
23598         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
23599         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
23600
23601 2007-05-01  Bruno Haible  <bruno@clisp.org>
23602
23603         * doc/header/assert.texi: Undo last change: don't mention the gnulib
23604         'assert' module here.
23605
23606 2007-05-01  Bruno Haible  <bruno@clisp.org>
23607
23608         * doc/functions/*.texi: New files.
23609         * doc/functions/google-ranking.txt: New file.
23610         * doc/gnulib.texi (Function Substitutes): New chapter.
23611         (ctime, inet_ntoa): Remove sections.
23612         * doc/ctime.texi: Remove file.
23613         * doc/inet_ntoa.texi: Remove file.
23614         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
23615         dependencies.
23616         (%.info): New rule, specifying a --reference-limit.
23617
23618 2007-05-01  Bruno Haible  <bruno@clisp.org>
23619
23620         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
23621
23622 2007-05-01  Bruno Haible  <bruno@clisp.org>
23623
23624         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
23625         the portability of 'mkdir' to mingw systems.
23626
23627 2007-05-01  Bruno Haible  <bruno@clisp.org>
23628
23629         * doc/headers/google-ranking.txt: New file.
23630
23631 2007-04-30  Eric Blake  <ebb9@byu.net>
23632
23633         Prefer fseeko to fseek.
23634         * modules/getpass (Depends-on): Add fseeko.
23635         * lib/getpass.c (getpass): Use fseeko, not fseek.
23636
23637 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
23638
23639         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
23640         assumes the sorting is stable, while most qsort implementations
23641         are not.  Use argument addresses to ensure they never compare as
23642         equal.
23643
23644         * tests/test-argp-2.sh (usage-indent test): Fix output
23645         (func_compare): Restore diff options
23646         * tests/test-argp.c: Restore #include "progname.h"
23647
23648 2007-04-29  Bruno Haible  <bruno@clisp.org>
23649
23650         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
23651         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
23652         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
23653         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23654         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
23655         (configure.ac): Define CHECK_SNPRINTF_POSIX.
23656         (TESTS, check_PROGRAMS): Add test-snprintf.
23657         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
23658         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
23659         (TESTS, check_PROGRAMS): Add test-vsnprintf.
23660         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
23661         assertions that fail on HP-UX, OSF/1, or IRIX.
23662         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
23663
23664 2007-04-29  Bruno Haible  <bruno@clisp.org>
23665
23666         * MODULES.html.sh (posix_functions): Remove 'contents'.
23667
23668 2007-04-29  Karl Berry  <karl@gnu.org>
23669
23670         * config/srclist.txt (gendocs_template_min): new entry.
23671
23672 2007-04-29  Bruno Haible  <bruno@clisp.org>
23673
23674         Work around fpurge bug on BSD systems.
23675         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
23676         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
23677         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
23678         fpurge to rpl_fpurge if the system already has this function.
23679         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
23680         the case where the system already has this function. Correct invariants
23681         on BSD systems.
23682         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
23683         BSD systems.
23684
23685 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
23686
23687         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
23688         proposed by Sven Verdoolaege.
23689
23690         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
23691         options.
23692         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
23693         (usage and help tests): Update
23694
23695 2007-04-29  Bruno Haible  <bruno@clisp.org>
23696
23697         * tests/test-fflush.c (main): Use a file of size 17, not 10.
23698         Print more information in case of failure. Disable a test on BeOS.
23699
23700 2007-04-29  Bruno Haible  <bruno@clisp.org>
23701
23702         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
23703         This helps debugging on systems on which no gdb is available.
23704
23705 2007-04-29  Bruno Haible  <bruno@clisp.org>
23706
23707         * lib/freading.h: Improve comments.
23708         * lib/fwriting.h: Likewise.
23709         * tests/test-freading.c (main): Don't check freading immediately after
23710         repositioning. Needed for glibc.
23711
23712 2007-04-29  Bruno Haible  <bruno@clisp.org>
23713
23714         * lib/freading.c (freading): Trivial simplification.
23715
23716 2007-04-28  Bruno Haible  <bruno@clisp.org>
23717
23718         * tests/test-fwriting.c (main): Also test the interaction between
23719         fflush and fwriting.
23720         * modules/fwriting-tests (Depends-on): Add fflush.
23721
23722         * tests/test-freading.c (main): Also test the interaction between
23723         fflush and freading.
23724         * modules/freading-tests (Depends-on): Add fflush.
23725
23726 2007-04-28  Bruno Haible  <bruno@clisp.org>
23727
23728         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
23729         fseeko and ftello.
23730         Suggested by Eric Blake.
23731
23732 2007-04-28  Jim Meyering  <jim@meyering.net>
23733
23734         Avoid false-negative in gl_STDINT_H's C99 conformance test.
23735         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
23736         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
23737
23738 2007-04-27  Eric Blake  <ebb9@byu.net>
23739
23740         * doc/headers/assert.texi (assert.h): Document assert module use.
23741
23742 2007-04-27  Bruno Haible  <bruno@clisp.org>
23743
23744         * doc/headers/*.texi: New files.
23745         * doc/gnulib.texi (Header File Substitutes): New chapter.
23746         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
23747         dependencies.
23748         (standards.info ,standards.html, standards.dvi): Update dependencies.
23749         (mostlyclean, clean): New targets.
23750
23751 2007-04-27  Bruno Haible  <bruno@clisp.org>
23752
23753         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
23754         * modules/sysexits (Files, Makefile.am): Update.
23755
23756         * lib/sys_socket_.h: Renamed from lib/socket_.h.
23757         * modules/sys_socket (Files, Makefile.am): Update.
23758
23759         * lib/sys_stat_.h: Renamed from lib/stat_.h.
23760         * modules/sys_stat (Files, Makefile.am): Update.
23761
23762 2007-04-27  Eric Blake  <ebb9@byu.net>
23763
23764         * lib/freading.h: Improve comments.
23765         * lib/fwriting.h: Likewise.
23766         * lib/fflush.c: Likewise.
23767
23768         Fix closein for mingw.
23769         * modules/closein-tests: Add tests for closein.
23770         * tests/test-closein.c: New file.
23771         * tests/test-closein.sh: Likewise.
23772         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
23773         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
23774
23775 2007-04-27  Bruno Haible  <bruno@clisp.org>
23776
23777         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
23778         version is < 6.
23779         * lib/math_.h [__DECC]: Likewise.
23780         * lib/stdio_.h [__DECC]: Likewise.
23781         * lib/stdlib_.h [__DECC]: Likewise.
23782         * lib/string_.h [__DECC]: Likewise.
23783         * lib/time_.h [__DECC]: Likewise.
23784         * lib/wchar_.h [__DECC]: Likewise.
23785         * lib/wctype_.h [__DECC]: Likewise.
23786
23787 2007-04-27  Bruno Haible  <bruno@clisp.org>
23788
23789         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
23790
23791 2007-04-27  Bruno Haible  <bruno@clisp.org>
23792
23793         * lib/fflush.c: Add comments.
23794         * modules/fpurge-tests (Depends-on): Add fflush.
23795         * modules/freadable-tests (Depends-on): Likewise.
23796         * modules/fwritable-tests (Depends-on): Likewise.
23797
23798 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
23799
23800         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
23801         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
23802         Report by Bruno Haible <bruno@clisp.org>.
23803
23804 2007-04-26  Eric Blake  <ebb9@byu.net>
23805
23806         Fix fflush on mingw.
23807         * modules/fflush (Depends-on): Add freading.
23808         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
23809         but unread data.
23810
23811 2007-04-26  Eric Blake  <ebb9@byu.net>
23812         and Bruno Haible  <bruno@clisp.org>
23813
23814         Implement freading and fwriting.
23815         * lib/freading.c: New file.
23816         * lib/freading.h: Likewise.
23817         * m4/freading.m4: Likewise.
23818         * modules/freading: Likewise.
23819         * modules/freading-tests: Likewise.
23820         * tests/test-freading.c: Likewise.
23821         * lib/fwriting.c: New file.
23822         * lib/fwriting.h: Likewise.
23823         * m4/fwriting.m4: Likewise.
23824         * modules/fwriting: Likewise.
23825         * modules/fwriting-tests: Likewise.
23826         * tests/test-fwriting.c: Likewise.
23827         * MODULES.html.sh (File stream based Input/Output): Mention them.
23828
23829 2007-04-26  Bruno Haible  <bruno@clisp.org>
23830
23831         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
23832         'long' when we assume it.
23833         Suggested by Eric Blake.
23834
23835 2007-04-26  Bruno Haible  <bruno@clisp.org>
23836
23837         Ensure fseeko, ftello are declared on glibc systems.
23838         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
23839         * modules/fseeko (configure.ac-early): Likewise.
23840         * modules/ftello (configure.ac-early): Likewise.
23841         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
23842         AC_FUNC_FSEEKO for this.
23843         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
23844         (gl_CHECK_FSEEKO): Remove macro.
23845
23846 2007-04-26  Bruno Haible  <bruno@clisp.org>
23847
23848         * tests/test-fflush.c (main): Also check the ftell result after
23849         fflush and fseek/fseeko.
23850         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
23851         file descriptor position cache in the stream.
23852         * lib/fseeko.c (rpl_fseeko): Likewise.
23853
23854 2007-04-26  Bruno Haible  <bruno@clisp.org>
23855
23856         * modules/fflush-tests (Depends-on): Add fseeko.
23857
23858 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
23859             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23860
23861         * lib/argz_.h: ensure error_t definition is obtained in same
23862         mechanism system argz.h would have.
23863         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
23864         argz facilities are known bad.  Err on the side of caution if
23865         cross-compiling.
23866
23867 2007-04-25  Eric Blake  <ebb9@byu.net>
23868
23869         * lib/fpurge.c (includes): Use stdlib.h for free.
23870         * tests/test-fflush.c (main): Also test fflush-fseeko.
23871
23872 2007-04-25  Bruno Haible  <bruno@clisp.org>
23873
23874         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
23875         * lib/fseeko.c: New file.
23876         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
23877         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
23878         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
23879         gl_FUNC_FSEEKO.
23880         (gl_FUNC_FSEEKO): Invoke it.
23881         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
23882         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
23883         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
23884
23885 2007-04-25  Bruno Haible  <bruno@clisp.org>
23886
23887         * modules/fflush (Depends-on): Add ftello.
23888
23889 2007-04-25  Bruno Haible  <bruno@clisp.org>
23890
23891         * modules/ftello-tests: New file.
23892         * tests/test-ftello.c: New file.
23893
23894         * modules/ftello: New file.
23895         * m4/ftello.m4: New file.
23896         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
23897         HAVE_FTELLO.
23898         * lib/stdio_.h (ftello): New declaration.
23899         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
23900         HAVE_FTELLO.
23901
23902 2007-04-25  Bruno Haible  <bruno@clisp.org>
23903
23904         * modules/fseeko-tests: New file.
23905         * tests/test-fseeko.c: New file.
23906
23907         * modules/fseeko: New file.
23908         * m4/fseeko.m4: New file.
23909         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
23910         HAVE_FSEEKO.
23911         * lib/stdio_.h (fseeko): New declaration.
23912         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
23913         HAVE_FSEEKO.
23914
23915 2007-04-25  Bruno Haible  <bruno@clisp.org>
23916
23917         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
23918
23919 2007-04-25  Bruno Haible  <bruno@clisp.org>
23920
23921         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
23922         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
23923         * tests/test-unistd.c: Likewise.
23924         * tests/test-fcntl.c: Likewise.
23925
23926 2007-04-23  Eric Blake  <ebb9@byu.net>
23927
23928         * lib/fflush.c: Fix missing include.
23929         Reported by Bruno Haible.
23930
23931 2007-04-23  Bruno Haible  <bruno@clisp.org>
23932
23933         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
23934         Reported by Eric Blake.
23935
23936 2007-04-23  Bruno Haible  <bruno@clisp.org>
23937
23938         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
23939
23940 2007-04-23  Bruno Haible  <bruno@clisp.org>
23941
23942         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
23943
23944 2007-04-23  Bruno Haible  <bruno@clisp.org>
23945
23946         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
23947         Needed on HP-UX 11.
23948
23949 2007-04-16  Eric Blake  <ebb9@byu.net>
23950
23951         Make fflush rely on fpurge.
23952         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
23953         open coding all variants.
23954         * modules/fflush (Depends-on): Add fpurge and unistd.
23955         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
23956         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
23957
23958         Fix --with-tests compilation on cygwin.
23959         * modules/argmatch-tests (Makefile.am): List gnulib library first
23960         in LDADD.
23961         * modules/argp-tests (Makefile.am): Likewise.
23962         * modules/array-list-tests (Makefile.am): Likewise.
23963         * modules/array-oset-tests (Makefile.am): Likewise.
23964         * modules/avltree-list-tests (Makefile.am): Likewise.
23965         * modules/avltree-oset-tests (Makefile.am): Likewise.
23966         * modules/avltreehash-list-tests (Makefile.am): Likewise.
23967         * modules/carray-list-tests (Makefile.am): Likewise.
23968         * modules/dirname-tests (Makefile.am): Likewise.
23969         * modules/frexp-tests (Makefile.am): Likewise.
23970         * modules/isnanl-tests (Makefile.am): Likewise.
23971         * modules/linked-list-tests (Makefile.am): Likewise.
23972         * modules/linkedhash-list-tests (Makefile.am): Likewise.
23973         * modules/lock-tests (Makefile.am): Likewise.
23974         * modules/rbtree-list-tests (Makefile.am): Likewise.
23975         * modules/rbtree-oset-tests (Makefile.am): Likewise.
23976         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
23977         * modules/tls-tests (Makefile.am): Likewise.
23978         * modules/tsearch-tests (Makefile.am): Likewise.
23979         * modules/xvasprintf-tests (Makefile.am): Likewise.
23980
23981         Fix fpurge for cygwin.
23982         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
23983         value.
23984         * modules/fpurge-tests (Depends-on): Clean up trash.
23985
23986 2007-04-16  Simon Josefsson  <simon@josefsson.org>
23987
23988         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
23989
23990         * m4/autobuild.m4: Re-indent.
23991
23992 2007-04-13  Bruno Haible  <bruno@clisp.org>
23993
23994         * modules/fpurge-tests: New file.
23995         * tests/test-fpurge.c: New file.
23996
23997         * modules/fpurge: New file.
23998         * lib/fpurge.h: New file.
23999         * lib/fpurge.c: New file.
24000         * m4/fpurge.m4: New file.
24001
24002 2007-04-13  Bruno Haible  <bruno@clisp.org>
24003
24004         * modules/fbufmode-tests: New file.
24005         * tests/test-fbufmode.c: New file.
24006
24007         * modules/fbufmode: New file.
24008         * lib/fbufmode.h: New file.
24009         * lib/fbufmode.c: New file.
24010         * m4/fbufmode.m4: New file.
24011
24012 2007-04-13  Bruno Haible  <bruno@clisp.org>
24013
24014         * modules/fwritable-tests: New file.
24015         * tests/test-fwritable.c: New file.
24016
24017         * modules/fwritable: New file.
24018         * lib/fwritable.h: New file.
24019         * lib/fwritable.c: New file.
24020         * m4/fwritable.m4: New file.
24021
24022 2007-04-13  Bruno Haible  <bruno@clisp.org>
24023
24024         * modules/freadable-tests: New file.
24025         * tests/test-freadable.c: New file.
24026
24027         * modules/freadable: New file.
24028         * lib/freadable.h: New file.
24029         * lib/freadable.c: New file.
24030         * m4/freadable.m4: New file.
24031
24032 2007-04-13  Bruno Haible  <bruno@clisp.org>
24033
24034         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
24035         MOSTLYCLEANFILES.
24036
24037 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
24038
24039         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
24040         gzip bootstrap.conf to avoid dragging in i18n machinery.
24041         (gnulib_tool_option): Use it.
24042
24043 2007-04-13  Bruno Haible  <bruno@clisp.org>
24044
24045         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
24046         %F directives.
24047         * tests/test-vasprintf-posix.c (test_function): Likewise.
24048         * tests/test-snprintf-posix.h (test_function): Likewise.
24049         * tests/test-sprintf-posix.h (test_function): Likewise.
24050         * tests/test-fprintf-posix.h (test_function): Likewise.
24051         * tests/test-printf-posix.h (test_function): Likewise.
24052         * tests/test-fprintf-posix.out: Likewise.
24053
24054 2007-04-13  Bruno Haible  <bruno@clisp.org>
24055
24056         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
24057         * modules/tls-tests (configure.ac): Likewise.
24058         Reported by Arto C. Nirkko <anirkko@insel.ch>.
24059
24060 2007-04-13  Bruno Haible  <bruno@clisp.org>
24061
24062         * lib/tls.c (glthread_tls_get): Fix return type.
24063         Patch by Arto C. Nirkko <anirkko@insel.ch>.
24064
24065 2007-04-12  Eric Blake  <ebb9@byu.net>
24066
24067         * modules/gettime (Depends-on): Remove gettime.
24068         Reported by Dmitry V. Levin.
24069
24070 2007-04-12  Bruno Haible  <bruno@clisp.org>
24071
24072         * modules/fflush (Include): Mention <stdio.h>.
24073         * modules/strtoimax (Include): Mention <inttypes.h>.
24074         * modules/strtoumax (Include): Likewise.
24075
24076 2007-04-12  Eric Blake  <ebb9@byu.net>
24077
24078         * .cvsignore: New file.
24079         * .gitignore: Likewise.
24080
24081 2007-04-12  Bruno Haible  <bruno@clisp.org>
24082
24083         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
24084         not before, since $(LDADD) often contains libgnu.a.
24085         * modules/striconv-tests (test_striconv_LDADD): Likewise.
24086         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
24087         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
24088         Needed on Cygwin.
24089
24090 2007-04-12  Eric Blake  <ebb9@byu.net>
24091
24092         Work around glibc's failure to flush stdin on fclose.
24093         * lib/closein.c (close_stdin): Flush stdin before closing.
24094
24095         Work around glibc's failure to reset seekable stdin on exit.
24096         * modules/closein: New module.
24097         * lib/closein.c: New file.
24098         * lib/closein.h: Likewise.
24099         * m4/closein.m4: Likewise.
24100         * MODULES.html.sh (File stream based Input/Output): Document it.
24101
24102 2007-04-12  Simon Josefsson  <simon@josefsson.org>
24103
24104         * gnulib-tool: Rename generated 'autobuild' script to
24105         'do-autobuild' in --create-megatestdir output.
24106
24107         * doc/gnulib.texi (Build robot for gnulib): Fix.
24108
24109 2007-04-12  Simon Josefsson  <simon@josefsson.org>
24110
24111         * modules/sysexits (Depends-on): Add absolute-header.
24112
24113 2007-04-12  Eric Blake  <ebb9@byu.net>
24114
24115         No need to preserve errno on success.
24116         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
24117         Reported by Bruno Haible.
24118
24119 2007-04-12  Simon Josefsson  <simon@josefsson.org>
24120
24121         * MODULES.html.sh (Support for maintaining and releasing
24122         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
24123
24124 2007-04-12  Simon Josefsson  <simon@josefsson.org>
24125
24126         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
24127
24128 2007-04-12  Simon Josefsson  <simon@josefsson.org>
24129
24130         * modules/autobuild: New module.
24131
24132         * m4/autobuild.m4: New file.
24133
24134 2007-04-11  Bruno Haible  <bruno@clisp.org>
24135
24136         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
24137         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
24138         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
24139         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
24140         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24141         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24142         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
24143         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
24144         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24145         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
24146         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
24147         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24148         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
24149         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
24150         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24151         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
24152         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
24153         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24154         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
24155         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
24156         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24157         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
24158         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
24159         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24160         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
24161         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
24162         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
24163         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
24164         Reported by Eric Blake.
24165
24166 2007-04-11  Bruno Haible  <bruno@clisp.org>
24167
24168         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
24169
24170 2007-04-10  Bruno Haible  <bruno@clisp.org>
24171
24172         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
24173         for NaN and Infinity. Needed on FreeBSD 6.1.
24174         * tests/test-vasnprintf-posix.c (test_function): Undo last change
24175         regarding results for "%010a" of Infinity and NaN.
24176         * tests/test-vasprintf-posix.c (test_function): Likewise.
24177         * tests/test-snprintf-posix.h (test_function): Likewise.
24178         * tests/test-sprintf-posix.h (test_function): Likewise.
24179         * tests/test-fprintf-posix.h (test_function): Likewise.
24180         * tests/test-printf-posix.h (test_function): Likewise.
24181         * tests/test-fprintf-posix.out: Likewise.
24182
24183 2007-04-10  Bruno Haible  <bruno@clisp.org>
24184
24185         * modules/locale-tests: New file.
24186         * tests/test-locale.c: New file.
24187
24188         * modules/locale: New file.
24189         * lib/locale_.h: New file.
24190         * m4/locale_h.m4: New file.
24191
24192 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
24193             Bruno Haible  <bruno@clisp.org>
24194
24195         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
24196         be determined, test for availability of the copysignf, copysign,
24197         copysignl functions.
24198         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
24199         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
24200         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
24201
24202 2007-04-09  Eric Blake  <ebb9@byu.net>
24203
24204         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
24205         * modules/stdio (Makefile.am): Support fflush.
24206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24207         * modules/fflush: New file.
24208         * lib/fflush.c: Likewise.
24209         * m4/fflush.m4: Likewise.
24210         * modules/fflush-tests: New test.
24211         * tests/test-fflush.c: Likewise.
24212         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
24213
24214 2007-04-06  Bruno Haible  <bruno@clisp.org>
24215
24216         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
24217         (VASNPRINTF): Use signbit for faster determination whether to print a
24218         minus sign.
24219         * modules/vasnprintf (Files): Remove lib/float+.h.
24220         * modules/fprintf-posix (Depends-on): Add signbit.
24221         * modules/snprintf-posix (Depends-on): Likewise.
24222         * modules/sprintf-posix (Depends-on): Likewise.
24223         * modules/vasnprintf-posix (Depends-on): Likewise.
24224         * modules/vasprintf-posix (Depends-on): Likewise.
24225         * modules/vfprintf-posix (Depends-on): Likewise.
24226         * modules/vsnprintf-posix (Depends-on): Likewise.
24227         * modules/vsprintf-posix (Depends-on): Likewise.
24228
24229 2007-04-06  Bruno Haible  <bruno@clisp.org>
24230
24231         * tests/test-frexp.c (main): Test also the sign bit of zero results.
24232         * tests/test-frexpl.c (main): Likewise.
24233         * tests/test-ldexpl.c (main): Likewise.
24234         * modules/frexp-tests (Depends-on): Add signbit.
24235         * modules/frexpl-tests (Depdends-on): Likewise.
24236         * modules/ldexpl-tests (Depdends-on): Likewise.
24237
24238 2007-04-06  Bruno Haible  <bruno@clisp.org>
24239
24240         * modules/signbit-tests: New file.
24241         * tests/test-signbit.c: New file.
24242
24243         * modules/signbit: New file.
24244         * lib/signbitf.c: New file.
24245         * lib/signbitd.c: New file.
24246         * lib/signbitl.c: New file.
24247         * m4/signbit.m4: New file.
24248         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
24249         (signbit): New macro.
24250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
24251         REPLACE_SIGNBIT.
24252         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
24253         REPLACE_FREXPL into math.h.
24254
24255 2007-04-06  Bruno Haible  <bruno@clisp.org>
24256
24257         * modules/isnanf-nolibm-tests: New file.
24258         * tests/test-isnanf.c: New file.
24259
24260         * modules/isnanf-nolibm: New file.
24261         * lib/isnanf.h: New file.
24262         * lib/isnanf.c: New file.
24263         * lib/isnan.c: Consider the USE_FLOAT macro.
24264         * m4/isnanf.m4: New file.
24265
24266 2007-04-06  Bruno Haible  <bruno@clisp.org>
24267
24268         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
24269         (Link): New section.
24270
24271         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
24272
24273 2007-04-06  Bruno Haible  <bruno@clisp.org>
24274
24275         Assume the 'long double' type.
24276         * m4/longdouble.m4: Remove file.
24277         * config/srclist.txt: Don't mention longdouble.m4.
24278         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
24279         * lib/float+.h: Likewise.
24280         * lib/frexp.c: Likewise.
24281         * lib/printf-args.h: Likewise.
24282         * lib/printf-args.c: Likewise.
24283         * lib/printf-frexp.c: Likewise.
24284         * lib/printf-parse.c: Likewise.
24285         * lib/vasnprintf.c: Likewise.
24286         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
24287         * m4/intl.m4: Likewise.
24288         * m4/isnanl.m4: Likewise.
24289         * m4/printf.m4: Likewise.
24290         * m4/printf-frexpl.m4: Likewise.
24291         * m4/vasnprintf.m4: Likewise.
24292         * modules/allocsa (Files): Remove m4/longdouble.m4.
24293         * modules/gettext (Files): Likewise.
24294         * modules/relocatable-prog-wrapper (Files): Likewise.
24295         * modules/vasnprintf (Files): Likewise.
24296         * modules/isnanl (Files): Likewise.
24297         (Include): Simplify.
24298         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
24299         (Include): Simplify.
24300         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
24301         (Include): Simplify.
24302         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
24303         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
24304         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
24305         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
24306         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
24307         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
24308         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
24309         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
24310         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
24311         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
24312         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
24313         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
24314         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
24315         * tests/test-isnanl.c: Likewise.
24316         * tests/test-snprintf-posix.h: Likewise.
24317         * tests/test-sprintf-posix.h: Likewise.
24318         * tests/test-vasnprintf-posix.c: Likewise.
24319         * tests/test-vasnprintf-posix2.c: Likewise.
24320         * tests/test-vasprintf-posix.c: Likewise.
24321
24322 2007-04-06  Bruno Haible  <bruno@clisp.org>
24323
24324         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
24325         * lib/math_.h [__DECC]: Include the overridden include file through
24326         #include_next, outside the double-inclusion guard.
24327         * lib/stdio_.h [__DECC]: Likewise.
24328         * lib/stdlib_.h [__DECC]: Likewise.
24329         * lib/string_.h [__DECC]: Likewise.
24330         * lib/time_.h [__DECC]: Likewise.
24331         * lib/wchar_.h [__DECC]: Likewise.
24332         * lib/wctype_.h [__DECC]: Likewise.
24333         * lib/inttypes_.h [__DECC]: Likewise.
24334         Reported by Albert Chin <china@thewrittenword.com> in
24335         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
24336
24337 2007-04-04  Eric Blake  <ebb9@byu.net>
24338
24339         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
24340         1.5.x.
24341
24342 2007-04-04  Bruno Haible  <bruno@clisp.org>
24343
24344         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
24345         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
24346
24347 2007-04-04  Bruno Haible  <bruno@clisp.org>
24348
24349         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
24350         results for "%010a" of Infinity and NaN.
24351         * tests/test-vasprintf-posix.c (test_function): Likewise.
24352         * tests/test-snprintf-posix.h (test_function): Likewise.
24353         * tests/test-sprintf-posix.h (test_function): Likewise.
24354         * tests/test-fprintf-posix.h (test_function): Remove these tests.
24355         * tests/test-printf-posix.h (test_function): Likewise.
24356         * tests/test-fprintf-posix.out: Update.
24357         Needed for FreeBSD 6.1.
24358
24359 2007-04-04  Bruno Haible  <bruno@clisp.org>
24360
24361         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
24362         directly used by the gnulib modules nor by gnulib-tool.
24363
24364 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
24365
24366         * DEPENDENCIES: Give overall description of version dependency
24367         desirability.  Use more-typical names for apps.
24368         Add shell, coreutils, diffutils, grep, tar, gzip.
24369
24370 2007-04-04  Simon Josefsson  <simon@josefsson.org>
24371
24372         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
24373
24374 2007-04-04  Karl Berry  <karl@gnu.org>
24375
24376         * MODULES.html.sh (func_module): missing '.
24377
24378 2007-04-03  Bruno Haible  <bruno@clisp.org>
24379
24380         * modules/argmatch-tests (Makefile.am): New variable
24381         test_argmatch_LDADD.
24382         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
24383         * modules/array-list-tests (Makefile.am): New variable
24384         test_array_list_LDADD.
24385         * modules/array-oset-tests (Makefile.am): New variable
24386         test_array_oset_LDADD.
24387         * modules/avltree-list-tests (Makefile.am): New variable
24388         test_avltree_list_LDADD.
24389         * modules/avltree-oset-tests (Makefile.am): New variable
24390         test_avltree_oset_LDADD.
24391         * modules/avltreehash-list-tests (Makefile.am): New variable
24392         test_avltreehash_list_LDADD.
24393         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
24394         test_canonicalize_lgpl_LDADD.
24395         * modules/carray-list-tests (Makefile.am): New variable
24396         test_carray_list_LDADD.
24397         * modules/dirname-tests (Makefile.am): New variable
24398         test_dirname_LDADD.
24399         * modules/linked-list-tests (Makefile.am): New variable
24400         test_linked_list_LDADD.
24401         * modules/linkedhash-list-tests (Makefile.am): New variable
24402         test_linkedhash_list_LDADD.
24403         * modules/rbtree-list-tests (Makefile.am): New variable
24404         test_rbtree_list_LDADD.
24405         * modules/rbtree-oset-tests (Makefile.am): New variable
24406         test_rbtree_oset_LDADD.
24407         * modules/rbtreehash-list-tests (Makefile.am): New variable
24408         test_rbtreehash_list_LDADD.
24409         * modules/xvasprintf-tests (Makefile.am): New variable
24410         test_xvasprintf_LDADD.
24411         Reported by Eric Blake.
24412
24413 2007-04-03  Eric Blake  <ebb9@byu.net>
24414
24415         * DEPENDENCIES: Weaken m4 requirements.
24416
24417 2007-04-03  Bruno Haible  <bruno@clisp.org>
24418
24419         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
24420         * modules/isnanl-tests (configure.ac): Likewise.
24421
24422 2007-04-03  Ben Pfaff  <blp@gnu.org>
24423
24424         * modules/iconv_open: Add $(srcdir)/ to source directory
24425         references in Makefile fragments that call gperf, to fix VPATH
24426         builds.
24427
24428 2007-04-03  Bruno Haible  <bruno@clisp.org>
24429
24430         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
24431         * lib/ldexpl.c: Undo last change.
24432
24433 2007-04-03  Bruno Haible  <bruno@clisp.org>
24434
24435         * modules/printf-frexpl (Depends-on): Undo last change.
24436         (Files): Add m4/ldexpl.m4.
24437
24438 2007-04-03  Bruno Haible  <bruno@clisp.org>
24439
24440         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
24441         * modules/isnanl (Link): New section.
24442
24443         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
24444         * modules/frexp (Link): New section.
24445
24446         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
24447         * modules/frexpl (Link): New section.
24448
24449         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
24450         * modules/ldexpl (Link): New section.
24451
24452 2007-04-03  Bruno Haible  <bruno@clisp.org>
24453
24454         * modules/TEMPLATE-EXTENDED: New file.
24455         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
24456
24457 2007-04-03  Bruno Haible  <bruno@clisp.org>
24458
24459         * DEPENDENCIES: New file.
24460         Suggested by Simon Josefsson.
24461
24462 2007-04-03  Bruno Haible  <bruno@clisp.org>
24463
24464         * doc/gnulib.texi: Escape @.
24465
24466 2007-04-03  James Youngman  <jay@gnu.org>
24467         and Paul Eggert  <eggert@cs.ucla.edu>
24468
24469         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
24470         birthtime on all systems that have birthtime, not just those which
24471         use st_birthtimensec rather than st_birthtim.  Putting zero in
24472         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
24473         that the birth time is not available for files on an NFS mount.
24474
24475 2007-04-03  Simon Josefsson  <simon@josefsson.org>
24476
24477         * modules/memxor: Move back from crypto/, suggested by Bruno.
24478         * modules/crypto/hmac-sha1: Fix memxor dependency.
24479
24480         * modules/crypto/gc: Moved from ../.
24481
24482 2007-04-02  Eric Blake  <ebb9@byu.net>
24483
24484         * lib/ldexpl.c (includes): Avoid libm.
24485
24486         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
24487
24488 2007-04-02  Bruno Haible  <bruno@clisp.org>
24489
24490         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
24491         on IRIX.
24492
24493 2007-04-02  Bruno Haible  <bruno@clisp.org>
24494
24495         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
24496         x86 or x86_64 platforms running MacOS X.
24497         Reported by Ryan Schmidt <@ryandesign.com>.
24498
24499 2007-04-02  Bruno Haible  <bruno@clisp.org>
24500
24501         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
24502         i386.
24503
24504 2007-04-01  Simon Josefsson  <simon@josefsson.org>
24505
24506         * modules/crypto/arcfour: Moved from ../.
24507         * modules/crypto/arcfour-tests: Moved from ../.
24508         * modules/crypto/arctwo: Moved from ../.
24509         * modules/crypto/arctwo-tests: Moved from ../.
24510         * modules/crypto/des: Moved from ../.
24511         * modules/crypto/des-tests: Moved from ../.
24512         * modules/crypto/gc-arcfour: Moved from ../.
24513         * modules/crypto/gc-arcfour-tests: Moved from ../.
24514         * modules/crypto/gc-arctwo: Moved from ../.
24515         * modules/crypto/gc-arctwo-tests: Moved from ../.
24516         * modules/crypto/gc-des: Moved from ../.
24517         * modules/crypto/gc-des-tests: Moved from ../.
24518         * modules/crypto/gc-hmac-md5: Moved from ../.
24519         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
24520         * modules/crypto/gc-hmac-sha1: Moved from ../.
24521         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
24522         * modules/crypto/gc-md2: Moved from ../.
24523         * modules/crypto/gc-md2-tests: Moved from ../.
24524         * modules/crypto/gc-md4: Moved from ../.
24525         * modules/crypto/gc-md4-tests: Moved from ../.
24526         * modules/crypto/gc-md5: Moved from ../.
24527         * modules/crypto/gc-md5-tests: Moved from ../.
24528         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
24529         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
24530         * modules/crypto/gc-random: Moved from ../.
24531         * modules/crypto/gc-rijndael: Moved from ../.
24532         * modules/crypto/gc-rijndael-tests: Moved from ../.
24533         * modules/crypto/gc-sha1: Moved from ../.
24534         * modules/crypto/gc-sha1-tests: Moved from ../.
24535         * modules/crypto/gc-tests: Moved from ../.
24536         * modules/crypto/hmac-md5: Moved from ../.
24537         * modules/crypto/hmac-md5-tests: Moved from ../.
24538         * modules/crypto/hmac-sha1: Moved from ../.
24539         * modules/crypto/hmac-sha1-tests: Moved from ../.
24540         * modules/crypto/md2: Moved from ../.
24541         * modules/crypto/md2-tests: Moved from ../.
24542         * modules/crypto/md4: Moved from ../.
24543         * modules/crypto/md4-tests: Moved from ../.
24544         * modules/crypto/md5: Moved from ../.
24545         * modules/crypto/md5-tests: Moved from ../.
24546         * modules/crypto/memxor: Moved from ../.
24547         * modules/crypto/rijndael: Moved from ../.
24548         * modules/crypto/rijndael-tests: Moved from ../.
24549         * modules/crypto/sha1: Moved from ../.
24550
24551 2007-03-30  James Youngman  <jay@gnu.org>
24552
24553         * tests/test-stat-time.c (prepare_test): use chmod() rather than
24554         rename() to change the ctime of a file (because ctime is unaffected
24555         by rename on jfs2 on AIX 5.1).
24556         (main): Start by doing cleanup, in case a previous run failed leaving
24557         test files behind.
24558
24559 2007-03-31  Bruno Haible  <bruno@clisp.org>
24560
24561         Support old proprietary implementations of iconv.
24562         * modules/iconv_open: New file.
24563         * lib/iconv_.h: New file.
24564         * m4/iconv_h.m4: New file.
24565         * lib/iconv_open.c: New file.
24566         * lib/iconv_open-aix.gperf: New file.
24567         * lib/iconv_open-hpux.gperf: New file.
24568         * lib/iconv_open-irix.gperf: New file.
24569         * lib/iconv_open-osf.gperf: New file.
24570         * m4/iconv_open.m4: New file.
24571         * modules/linebreak (Depends-on): Add iconv_open.
24572         * modules/striconv (Depends-on): Likewise.
24573         * modules/striconveh (Depends-on): Likewise.
24574         * modules/unicodeio (Depends-on): Likewise.
24575         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
24576         (iconv_t)(-1).
24577         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
24578         conversion if cd is (iconv_t)(-1).
24579         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
24580         is not possible.
24581
24582 2007-03-31  Bruno Haible  <bruno@clisp.org>
24583
24584         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
24585         work on Solaris either. Protect also second use of "autodetect_jp".
24586
24587 2007-03-31  Bruno Haible  <bruno@clisp.org>
24588
24589         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
24590         the function is not present.
24591
24592 2007-03-31  Bruno Haible  <bruno@clisp.org>
24593
24594         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
24595         the function is not present.
24596
24597 2007-03-31  Bruno Haible  <bruno@clisp.org>
24598
24599         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
24600         a bug in HP-UX iconv_open().
24601
24602 2007-03-31  Bruno Haible  <bruno@clisp.org>
24603
24604         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
24605         (Mathematics <math.h>): New section, add fpieee.
24606         (Input/output <stdio.h>): Add fseterr.
24607         (Mathematics <math.h>): New section, add printf-frexp.
24608         (Container data structures): Add sublist.
24609         (Core language properties): Add fpucw, inline.
24610         (Functions for greatest-width integer types <inttypes.h>): Add
24611         imaxabs, imaxdiv, inttypes.
24612         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
24613         isnanl-nolibm, ldexp.
24614         (Mathematics <math.h>): New section, add printf-frexpl.
24615         (Support for systems lacking POSIX:2001): Add fprintf-posix,
24616         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
24617         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
24618         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
24619         (Unicode string functions): Add unistr/u*-mbtoucr.
24620         (Java): Add javacomp-script, javaexec-script.
24621         (C#): Add csharpcomp-script, csharpexec-script.
24622         (Support for building libraries and executables): Add havelib,
24623         relocatable-*.
24624         (Support for maintaining and releasing projects): Renamed from
24625         'Support for maintaining and release projects'. Add announce-gen.
24626
24627 2007-03-31  Bruno Haible  <bruno@clisp.org>
24628
24629         * README: Talk primarily about git.
24630         (git and CVS): Renamed from CVS.
24631         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
24632         gnulib is available through git.
24633         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
24634
24635 2007-03-30  Bruno Haible  <bruno@clisp.org>
24636
24637         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
24638         * lib/poll_.h: Likewise.
24639         * lib/stat_.h: Likewise.
24640         * lib/sys_time_.h: Likewise.
24641         * lib/sysexit_.h: Likewise.
24642         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
24643         * lib/stdbool_.h: Likewise.
24644         * lib/byteswap_.h: Add double-inclusion guard.
24645
24646 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
24647
24648         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
24649
24650 2007-03-30  Karl Berry  <karl@gnu.org>
24651
24652         * config/srclist-update: double space after USA in the license
24653         substitution, since that's how it's usually (?) written.
24654
24655 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
24656
24657         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
24658         reported by Bruno Haible.
24659
24660 2007-03-29  Bruno Haible  <bruno@clisp.org>
24661
24662         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
24663         a bug in AIX iconv().
24664
24665 2007-03-29  Bruno Haible  <bruno@clisp.org>
24666
24667         * modules/ldexpl-tests: New file.
24668         * tests/test-ldexpl.c: New file.
24669
24670 2007-03-29  Bruno Haible  <bruno@clisp.org>
24671
24672         * lib/ldexpl.c: Include fpucw.h.
24673         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
24674         multiplication.
24675         * modules/ldexpl (Depends-on): Add fpucw.
24676
24677 2007-03-29  Bruno Haible  <bruno@clisp.org>
24678
24679         * modules/ldexpl: New file.
24680         * m4/ldexpl.m4: New file.
24681         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
24682         set.
24683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
24684         REPLACE_LDEXPL.
24685         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
24686         REPLACE_LDEXPL.
24687         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
24688         gl_FUNC_LDEXPL_WORKS.
24689         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
24690         * modules/mathl (Files): Remove lib/ldexpl.c.
24691         (Depends-on): Add ldexpl.
24692
24693 2007-03-29  Bruno Haible  <bruno@clisp.org>
24694
24695         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
24696
24697 2007-03-29  Bruno Haible  <bruno@clisp.org>
24698
24699         * tests/test-striconveh.c (main): Don't assume that a direct conversion
24700         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
24701         and possibly also HP-UX.
24702         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
24703         work on AIX, IRIX, HP-UX, OSF/1.
24704         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
24705         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
24706         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
24707         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
24708         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
24709         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
24710
24711 2007-03-29  Bruno Haible  <bruno@clisp.org>
24712
24713         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
24714
24715 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
24716
24717         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
24718         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
24719
24720 2007-03-29  Eric Blake  <ebb9@byu.net>
24721
24722         * lib/acl-internal.h: Remove redundant include.
24723         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
24724         Cygwin when a file is locked.
24725
24726 2007-03-29  Bruno Haible  <bruno@clisp.org>
24727
24728         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
24729         file.
24730         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
24731
24732 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
24733
24734         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
24735         try to remove a parent directory if the child couldn't be removed
24736         (except for the first rmdir, which could fail because the child
24737         doesn't exist).  Problem reported by Jeff Blaine in
24738         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
24739
24740 2007-03-28  Bruno Haible  <bruno@clisp.org>
24741
24742         * lib/striconveh.c (utf8conv_carefully): New function.
24743         (mem_cd_iconveh_internal): Invoke it.
24744
24745 2007-03-28  Bruno Haible  <bruno@clisp.org>
24746
24747         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
24748         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
24749         input.
24750         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
24751         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
24752         unistr/u8-uctomb.
24753
24754 2007-03-28  Bruno Haible  <bruno@clisp.org>
24755
24756         * modules/unistr/u8-mbtoucr: New file.
24757         * lib/unistr/u8-mbtoucr.c: New file.
24758         * modules/unistr/u16-mbtoucr: New file.
24759         * lib/unistr/u16-mbtoucr.c: New file.
24760         * modules/unistr/u16-mbtoucr: New file.
24761         * lib/unistr/u16-mbtoucr.c: New file.
24762         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
24763
24764 2007-03-27  Simon Josefsson  <simon@josefsson.org>
24765             Bruno Haible  <bruno@clisp.org>
24766
24767         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
24768         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
24769         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
24770
24771         * m4/stdio_h.m4: Add stubs for vasprintf too.
24772
24773         * modules/stdio: Support vasprintf in sed command.
24774
24775         * modules/vasprintf: Depend on stdio for prototypes.  Remove
24776         vasprintf.h.  Add stdio module indicator.
24777
24778         * lib/stdio_.h: Declare asprintf and vasprintf, based on
24779         vasprintf.h.
24780
24781         * lib/vasprintf.h: File removed.
24782
24783         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
24784         * lib/vasprintf.c: Ditto.
24785         * lib/xvasprintf.c: Ditto.
24786         * tests/test-vasprintf-posix.c: Ditto.
24787         * tests/test-vasprintf.c: Ditto.
24788
24789 2007-03-27  Bruno Haible  <bruno@clisp.org>
24790
24791         Make vasnprintf multithread-safe.
24792         * lib/vasnprintf.c (decimal_point_char): New function.
24793         (VASNPRINTF): Use it.
24794         Suggested by Simon Josefsson.
24795
24796 2007-03-27  Eric Blake  <ebb9@byu.net>
24797
24798         Support sub-second birthtime on cygwin.
24799         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
24800         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
24801         (get_stat_birthtime): Also work with st_birthtim.
24802
24803 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
24804
24805         * lib/stat-time.h (USE_BIRTHTIME): Remove.
24806         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
24807         (get_stat_birthtime_ns): Do not try to use "spare" fields.
24808         (get_stat_birthtime_ns): Simplify compile-time tests.
24809         (get_stat_birthtime): Change the API to look like
24810         get_stat_mtime etc., except return a negative tv_nsec on error.
24811         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
24812         Don't check for "spare" fields.
24813         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
24814         or for struct stat.st_birthtime, as these tests aren't used.
24815         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
24816
24817 2007-03-27  Bruno Haible  <bruno@clisp.org>
24818
24819         * lib/stat-time.h: Include <sys/stat.h>.
24820
24821 2007-03-27  James Youngman  <jay@gnu.org>
24822
24823         * lib/stat-time.h (get_stat_birthtime): New function for
24824           retrieving st_birthtime as provided by UFS2 (hence *BSD).
24825         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
24826           and its variants.
24827         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
24828         * modules/stat-time-test: New file.
24829         * tests/test-stat-time.c: New test, devised by Bruno Haible.
24830
24831 2007-03-26  Bruno Haible  <bruno@clisp.org>
24832
24833         Better support of signalling NaNs.
24834         * lib/atanl.c: Include isnanl.h.
24835         (atanl): Perform test for NaN at the beginning of the function and
24836         through a call to isnanl.
24837         * lib/cosl.c: Include isnanl.h.
24838         (cosl): Perform test for NaN at the beginning of the function and
24839         through a call to isnanl.
24840         * lib/ldexpl.c: Include isnanl.h.
24841         (ldexpl): Perform test for NaN through a call to isnanl.
24842         * lib/logl.c: Include isnanl.h.
24843         (logl): Perform test for NaN at the beginning of the function and
24844         through a call to isnanl.
24845         * lib/sinl.c: Include isnanl.h.
24846         (sinl): Perform test for NaN at the beginning of the function and
24847         through a call to isnanl.
24848         * lib/sqrtl.c: Include isnanl.h.
24849         (sqrtl): Perform test for NaN at the beginning of the function and
24850         through a call to isnanl.
24851         * lib/tanl.c: Include isnanl.h.
24852         (tanl): Perform test for NaN at the beginning of the function and
24853         through a call to isnanl.
24854         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
24855         * modules/mathl (Depends-on): Add isnanl.
24856
24857 2007-03-26  Eric Blake  <ebb9@byu.net>
24858
24859         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
24860         regression in logic sense of previous patch.
24861
24862 2007-03-26  Bruno Haible  <bruno@clisp.org>
24863
24864         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
24865         unportable shell command "if ! ...".
24866         Reported by Ralf Wildenhues.
24867
24868 2007-03-25  Bruno Haible  <bruno@clisp.org>
24869
24870         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
24871         <sysexits.h> file, and only add EX_CONFIG.
24872         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
24873         absolute file name and whether it is sufficient. Substitute also
24874         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
24875         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
24876         ABSOLUTE_SYSEXITS_H into sysexits.h.
24877
24878 2007-03-25  Bruno Haible  <bruno@clisp.org>
24879
24880         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
24881         hints is NULL.
24882
24883 2007-03-25  Bruno Haible  <bruno@clisp.org>
24884
24885         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
24886         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
24887
24888 2007-03-25  Bruno Haible  <bruno@clisp.org>
24889
24890         * lib/vasnprintf.c: Include langinfo.h.
24891         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
24892         multithread-safe.
24893         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
24894         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
24895         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24896         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24897         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24898         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24899         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24900         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
24901         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24902         Reported by Simon Josefsson.
24903
24904 2007-03-25  Bruno Haible  <bruno@clisp.org>
24905
24906         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
24907         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
24908         * modules/vasnprintf (Depends-on): Add stdint.
24909
24910 2007-03-25  Bruno Haible  <bruno@clisp.org>
24911
24912         * modules/fpieee: New file.
24913         * m4/fpieee.m4: New file.
24914         * modules/isnan-nolibm (Depends-on): Add fpieee.
24915         * modules/isnanl-nolibm (Depends-on): Add fpieee.
24916         * modules/isnanl (Depends-on): Add fpieee.
24917
24918 2007-03-25  Bruno Haible  <bruno@clisp.org>
24919
24920         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
24921
24922 2007-03-25  Bruno Haible  <bruno@clisp.org>
24923
24924         Avoid test failures on IRIX 6.5.
24925         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
24926         (main): Use it.
24927         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
24928         macros.
24929         (main): Use them.
24930
24931 2007-03-25  Bruno Haible  <bruno@clisp.org>
24932
24933         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
24934         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
24935         exists but doesn't work.
24936         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
24937         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
24938         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
24939         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
24940
24941 2007-03-25  Bruno Haible  <bruno@clisp.org>
24942
24943         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
24944         returns inf. Needed on IRIX 6.5.
24945
24946 2007-03-25  Bruno Haible  <bruno@clisp.org>
24947
24948         * tests/test-frexpl.c: Include isnanl-nolibm.h.
24949         (main): Use isnanl instead of x != x idiom.
24950         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
24951
24952         * tests/test-frexp.c: Include isnan.h.
24953         (main): Use isnan instead of x != x idiom.
24954         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
24955
24956 2007-03-25  Bruno Haible  <bruno@clisp.org>
24957
24958         * tests/test-frexp.c (NaN): New function/macro.
24959         (main): Use it instead of 0.0 / 0.0.
24960         * tests/test-isnan.c (NaN): New function/macro.
24961         (main): Use it instead of 0.0 / 0.0.
24962         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
24963         (test_function): Use it instead of 0.0 / 0.0.
24964         * tests/test-vasprintf-posix.c (NaN): New function/macro.
24965         (test_function): Use it instead of 0.0 / 0.0.
24966         * tests/test-snprintf-posix.h (NaN): New function/macro.
24967         (test_function): Use it instead of 0.0 / 0.0.
24968         * tests/test-sprintf-posix.h (NaN): New function/macro.
24969         (test_function): Use it instead of 0.0 / 0.0.
24970         * tests/test-fprintf-posix.h (NaN): New function/macro.
24971         (test_function): Use it instead of 0.0 / 0.0.
24972         * tests/test-printf-posix.h (NaN): New function/macro.
24973         (test_function): Use it instead of 0.0 / 0.0.
24974
24975         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
24976
24977 2007-03-25  Bruno Haible  <bruno@clisp.org>
24978
24979         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
24980
24981 2007-03-25  Bruno Haible  <bruno@clisp.org>
24982
24983         * lib/regexec.c (merge_state_with_log): Make static.
24984
24985 2007-03-25  Bruno Haible  <bruno@clisp.org>
24986
24987         * lib/trigl.c (kernel_rem_pio2): Make static.
24988
24989 2007-03-25  Bruno Haible  <bruno@clisp.org>
24990
24991         * lib/sincosl.c (sincosl_table): Make static.
24992
24993 2007-03-25  Bruno Haible  <bruno@clisp.org>
24994
24995         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
24996         if the compiler does not support C99.
24997
24998 2007-03-25  Bruno Haible  <bruno@clisp.org>
24999
25000         * modules/time (Makefile.am): Ensure all rule action lines start with a
25001         tab.
25002
25003 2007-03-24  Bruno Haible  <bruno@clisp.org>
25004
25005         * modules/tsearch-tests: New file.
25006         * tests/test-tsearch.sh: New file.
25007         * tests/test-tsearch.c: New file, mostly copied from glibc.
25008
25009         * modules/search-tests: New file.
25010         * tests/test-search.c: New file.
25011
25012         * modules/search: New file.
25013         * lib/search_.h: New file, incorporating lib/tsearch.h.
25014         * m4/search_h.m4: New file.
25015         * lib/tsearch.h: Remove file.
25016         * lib/tsearch.c: Include search.h instead of tsearch.h.
25017         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
25018         HAVE_TSEARCH.
25019         * modules/tsearch (Files): Remove lib/tsearch.h.
25020         (Depends-on): Add search.
25021         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
25022         (Include): Change tsearch.h into search.h.
25023
25024 2007-03-24  Bruno Haible  <bruno@clisp.org>
25025
25026         * modules/fpucw: New file.
25027         * lib/fpucw.h: New file.
25028         * lib/frexp.c: Include fpucw.h.
25029         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
25030         (FUNC): Use them.
25031         * lib/printf-frexp.c: Include fpucw.h.
25032         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
25033         (FUNC): Use them.
25034         * lib/vasnprintf.c: Include fpucw.h.
25035         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
25036         'long double' calculations.
25037         * tests/test-frexpl.c: Include fpucw.h.
25038         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
25039         * tests/test-printf-frexpl.c: Include fpucw.h.
25040         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
25041         * modules/frexpl (Depends-on): Add fpucw.
25042         * modules/printf-frexpl (Depends-on): Likewise.
25043         * modules/fprintf-posix (Depends-on): Likewise.
25044         * modules/snprintf-posix (Depends-on): Likewise.
25045         * modules/sprintf-posix (Depends-on): Likewise.
25046         * modules/vasnprintf-posix (Depends-on): Likewise.
25047         * modules/vasprintf-posix (Depends-on): Likewise.
25048         * modules/vfprintf-posix (Depends-on): Likewise.
25049         * modules/vsnprintf-posix (Depends-on): Likewise.
25050         * modules/vsprintf-posix (Depends-on): Likewise.
25051         * modules/frexpl-tests (Depends-on): Likewise.
25052         * modules/printf-frexpl-tests (Depends-on): Likewise.
25053
25054 2007-03-24  Bruno Haible  <bruno@clisp.org>
25055
25056         * lib/float+.h: New file.
25057         * lib/isnan.c: Include float+.h.
25058         (SIZE): New macro.
25059         (FUNC): Compare only SIZE bytes of the value.
25060         * lib/vasnprintf.c: Include float+.h.
25061         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
25062         SIZEOF_LDBL or SIZEOF_DBL bytes.
25063         * modules/isnan-nolibm (Files): Add lib/float+.h.
25064         * modules/isnanl-nolibm (Files): Add lib/float+.h.
25065         * modules/isnanl (Files): Add lib/float+.h.
25066         * modules/vasnprintf (Files): Add lib/float+.h.
25067
25068 2007-03-24  Bruno Haible  <bruno@clisp.org>
25069
25070         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
25071         include isnanl-nolibm.h.
25072
25073 2007-03-24  Bruno Haible  <bruno@clisp.org>
25074
25075         * tests/test-read-file.c (main): Don't produce spurious output for
25076         expected situations. Make the test fail if it encountered unexpected
25077         results.
25078
25079 2007-03-24  Bruno Haible  <bruno@clisp.org>
25080
25081         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
25082         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
25083
25084 2007-03-24  Bruno Haible  <bruno@clisp.org>
25085
25086         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
25087
25088 2007-03-24  Bruno Haible  <bruno@clisp.org>
25089
25090         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
25091         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
25092
25093         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
25094         * modules/utf8-ucs4: Turn into a symbolic link to module
25095         unistr/u8-mbtouc.
25096
25097         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
25098         utf8-ucs4-unsafe.
25099         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
25100         unistr/u8-mbtouc-unsafe.
25101
25102         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
25103         * modules/utf16-ucs4: Turn into a symbolic link to module
25104         unistr/u16-mbtouc.
25105
25106         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
25107         utf16-ucs4-unsafe.
25108         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
25109         unistr/u16-mbtouc-unsafe.
25110
25111         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
25112         * modules/ucs4-utf8: Turn into a symbolic link to module
25113         unistr/u8-ubtomb.
25114
25115         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
25116         * modules/ucs4-utf16: Turn into a symbolic link to module
25117         unistr/u16-ubtomb.
25118
25119 2007-03-24  Bruno Haible  <bruno@clisp.org>
25120
25121         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
25122         Enable the function only if HAVE_INLINE.
25123         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
25124         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
25125         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
25126         Enable the function only if HAVE_INLINE.
25127         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
25128         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
25129         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
25130         Enable the function only if HAVE_INLINE.
25131         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
25132         Enable the function only if HAVE_INLINE.
25133         * modules/utf8-ucs4: Update.
25134         * modules/utf8-ucs4-unsafe: Update.
25135         * modules/utf16-ucs4: Update.
25136         * modules/utf16-ucs4-unsafe: Update.
25137         * modules/ucs4-utf8: Update.
25138         * modules/ucs4-utf16: Update.
25139
25140 2007-03-24  Bruno Haible  <bruno@clisp.org>
25141
25142         * lib/utf8-ucs4.h: Remove file.
25143         * lib/utf8-ucs4-unsafe.h: Remove file.
25144         * lib/utf16-ucs4.h: Remove file.
25145         * lib/utf16-ucs4-unsafe.h: Remove file.
25146         * lib/ucs4-utf8.h: Remove file.
25147         * lib/ucs4-utf16.h: Remove file.
25148         * lib/unistr.h: Include their previous contents.
25149         * m4/utf-ucs4.m4: Remove file.
25150         * m4/ucs4-utf.m4: Remove file.
25151         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
25152         (Depends-on): Add unistr/base.
25153         (configure.ac): Remove gl_UTF_UCS4.
25154         (Makefile.am): Update.
25155         (Include): Change to unistr.h.
25156         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
25157         (Depends-on): Add unistr/base.
25158         (configure.ac): Remove gl_UTF_UCS4.
25159         (Makefile.am): Update.
25160         (Include): Change to unistr.h.
25161         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
25162         (Depends-on): Add unistr/base.
25163         (configure.ac): Remove gl_UTF_UCS4.
25164         (Makefile.am): Update.
25165         (Include): Change to unistr.h.
25166         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
25167         (Depends-on): Add unistr/base.
25168         (configure.ac): Remove gl_UTF_UCS4.
25169         (Makefile.am): Update.
25170         (Include): Change to unistr.h.
25171         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
25172         (Depends-on): Add unistr/base.
25173         (configure.ac): Remove gl_UCS4_UTF.
25174         (Makefile.am): Update.
25175         (Include): Change to unistr.h.
25176         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
25177         (Depends-on): Add unistr/base.
25178         (configure.ac): Remove gl_UCS4_UTF.
25179         (Makefile.am): Update.
25180         (Include): Change to unistr.h.
25181         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
25182         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
25183         utf8-ucs4-unsafe.h.
25184         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
25185         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
25186         utf16-ucs4-unsafe.h.
25187         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
25188         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
25189         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
25190         * lib/unistr/u8-strchr.c: Likewise.
25191         * lib/unistr/u8-strrchr.c: Likewise.
25192         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
25193         * lib/unistr/u16-strchr.c: Likewise.
25194         * lib/unistr/u16-strrchr.c: Likewise.
25195         * lib/striconveh.c: Update.
25196         * lib/linebreak.c: Update.
25197
25198 2007-03-24  Bruno Haible  <bruno@clisp.org>
25199
25200         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
25201         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
25202
25203 2007-03-22  Bruno Haible  <bruno@clisp.org>
25204
25205         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
25206
25207 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
25208
25209         * MODULES.html.sh (File system functions): New module write-any-file.
25210         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
25211         * m4/write-any-file.m4: New files.
25212
25213 2007-03-23  Eric Blake  <ebb9@byu.net>
25214
25215         * gnulib-tool: Rearrange space-tab sequences, since some editors
25216         like to eat them.
25217
25218 2007-03-23  Eric Blake  <ebb9@byu.net>
25219
25220         * lib/version-etc.c (version_etc_va): Update license wording to
25221         be more concise.  Recommended by Richard Stallman.
25222
25223 2007-03-22  Bruno Haible  <bruno@clisp.org>
25224
25225         * lib/poll.c (MSG_PEEK): New fallback definition.
25226
25227 2007-03-22  Bruno Haible  <bruno@clisp.org>
25228
25229         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
25230         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
25231         (main): Update.
25232         Fixes a compilation error on BeOS.
25233
25234 2007-03-22  Bruno Haible  <bruno@clisp.org>
25235
25236         * modules/frexpl-tests: New file.
25237         * tests/test-frexpl.c: New file.
25238
25239         * modules/frexpl: New file.
25240         * m4/frexpl.m4: New file.
25241         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
25242         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
25243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
25244         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
25245         (Depends-on): Add frexpl. Remove isnanl-nolibm.
25246         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
25247
25248 2007-03-22  Bruno Haible  <bruno@clisp.org>
25249
25250         * lib/frexpl.c: Share code with lib/frexp.c.
25251         * modules/mathl (Files): Add lib/frexp.c.
25252         (Depends-on): Add isnanl-nolibm.
25253
25254 2007-03-22  Bruno Haible  <bruno@clisp.org>
25255
25256         * modules/printf-frexp (Files): Add m4/frexp.m4.
25257         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
25258         only if the found frexp function actually works.
25259
25260 2007-03-22  Bruno Haible  <bruno@clisp.org>
25261
25262         * lib/frexp.c: Remove older implementation that uses divisions.
25263
25264 2007-03-21  Bruno Haible  <bruno@clisp.org>
25265
25266         * modules/frexp-tests: New file.
25267         * tests/test-frexp.c: New file.
25268
25269         * modules/frexp: New file.
25270         * lib/frexp.c: New file.
25271         * m4/frexp.m4: New file.
25272         * lib/math_.h (frexp): New declaration.
25273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
25274         REPLACE_FREXP.
25275         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
25276
25277 2007-03-21  Bruno Haible  <bruno@clisp.org>
25278
25279         * modules/isnanl-tests: New file.
25280         * tests/test-isnanl.c: New file.
25281
25282         * modules/isnanl: New file.
25283         * lib/isnanl.h: New file.
25284         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
25285         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
25286         gl_FUNC_ISNANL_WORKS.
25287         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
25288         New macros.
25289
25290 2007-03-21  Bruno Haible  <bruno@clisp.org>
25291
25292         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
25293         lib/isnanl.h.
25294         (Include): Update.
25295         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
25296         * lib/vasnprintf.c: Update.
25297         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
25298         tests/test-isnanl.h, remove tests/test-isnanl.c.
25299         (Makefile.am): Update.
25300         * tests/test-isnanl-nolibm.c: New file.
25301         * tests/test-isnanl.h: New file.
25302         * tests/test-isnanl.c: Remove file.
25303
25304 2007-03-21  Jim Meyering  <jim@meyering.net>
25305
25306         When trying to open ".", treat ESTALE like EACCES.
25307         * lib/savewd.c (savewd_save): Resort to forking not just upon
25308         failure with EACCES, but also when errno is ESTALE.
25309
25310 2007-03-20  Bruno Haible  <bruno@clisp.org>
25311
25312         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
25313         Needed on AIX 5.1. Reported by Matthew Woehlke.
25314
25315 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25316
25317         Suggestions by Bruno Haible:
25318         * lib/acl-internal.h: Include "gettext.h" rather than rolling
25319         our own.
25320         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
25321         * modules/acl (Depends-on): Add gettext.
25322
25323 2007-03-19  Bruno Haible  <bruno@clisp.org>
25324
25325         * modules/iconvme: Remove file.
25326         * lib/iconvme.h: Remove file.
25327         * lib/iconvme.c: Remove file.
25328         * m4/iconvme.m4: Remove file.
25329
25330 2007-03-19  Bruno Haible  <bruno@clisp.org>
25331
25332         * doc/relocatable-maint.texi: Break long shell script line.
25333         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
25334
25335 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25336
25337         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
25338         handle file_has_acl.
25339         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
25340         * lib/acl.c: Move header inclusions and related macro defns into
25341         lib/acl-internal.h.
25342         (S_ISLNK): Remove defn, since that's now done for us.
25343         (file_has_acl): Move to lib/file-has-acl.c.
25344         Call acl_trivial if available.  This is the crucial part of the fix.
25345         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
25346         shared within the library.  Rewrite a bit, partly to make it compatible
25347         with the GNU coding style.
25348         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
25349         Remove unnecessary double-quotes.
25350         Don't test for acl_to_text; the build will catch that.
25351         Replace acl_entries if it doesn't exist and it is needed.
25352         Check for -lsec and acl_trivial (as used on Solaris 10).
25353         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
25354         lib/file-has-acl.c.
25355         (Depends-on): Add sys_stat, for S_ISLNK.
25356
25357 2007-03-19  Ben Pfaff  <blp@gnu.org>
25358
25359         * doc/gnulib.texi: Fix typos.
25360         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
25361
25362 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25363
25364         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
25365         If size is zero here, buf must be zero.
25366
25367 2007-03-19  Simon Josefsson  <simon@josefsson.org>
25368
25369         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
25370         <bruno@clisp.org>.
25371
25372 2007-03-18  Bruno Haible  <bruno@clisp.org>
25373
25374         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
25375         Suggested by Eric Blake.
25376
25377 2007-03-18  Ben Pfaff  <blp@gnu.org>
25378
25379         * doc/relocatable.texi: Recommend using as prefix a directory
25380         that does not exist and will never be created.  Based on
25381         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
25382         and others.
25383
25384 2007-03-17  Bruno Haible  <bruno@clisp.org>
25385
25386         * lib/fchownat.c: Include lchown.h.
25387
25388 2007-03-17  Bruno Haible  <bruno@clisp.org>
25389
25390         Fix endless loop when the given allocated size was > INT_MAX.
25391         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
25392         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
25393         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
25394         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
25395         * lib/sprintf.c (sprintf): Likewise.
25396
25397 2007-03-17  Bruno Haible  <bruno@clisp.org>
25398
25399         * tests/test-argp-2.sh (func_compare): Output a context diff.
25400
25401 2007-03-17  Bruno Haible  <bruno@clisp.org>
25402
25403         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
25404         locale's decimal-point character.
25405
25406 2007-03-17  Bruno Haible  <bruno@clisp.org>
25407
25408         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
25409         before comparing it. Needed because on some platforms (e.g. x86) a
25410         'long double' occupies less bytes than sizeof (long double).
25411
25412 2007-03-17  Bruno Haible  <bruno@clisp.org>
25413
25414         * tests/test-crc.c (main): Make printf statements 64-bit clean.
25415         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
25416         * tests/test-getaddrinfo.c (simple): Likewise.
25417         * tests/test-read-file.c (main): Likewise.
25418
25419 2007-03-17  Bruno Haible  <bruno@clisp.org>
25420
25421         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
25422
25423 2007-03-17  Bruno Haible  <bruno@clisp.org>
25424
25425         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
25426         unused variable.
25427
25428 2007-03-17  Bruno Haible  <bruno@clisp.org>
25429
25430         * tests/test-c-strcasecmp.c: Include c-strcase.h.
25431         * tests/test-c-strncasecmp.c: Likewise.
25432
25433 2007-03-17  Bruno Haible  <bruno@clisp.org>
25434
25435         * modules/stdlib (Depends-on): Add unistd.
25436         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
25437         Needed for MacOS X 10.3.
25438
25439 2007-03-17  Bruno Haible  <bruno@clisp.org>
25440
25441         * lib/unistr/u-strdup.h: Include <stdlib.h>.
25442
25443 2007-03-17  Bruno Haible  <bruno@clisp.org>
25444
25445         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
25446
25447 2007-03-17  Bruno Haible  <bruno@clisp.org>
25448
25449         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
25450         to reflect files copied from gnulib (with or without modifications).
25451         Suggested by Jim Meyering.
25452
25453 2007-03-17  Eric Blake  <ebb9@byu.net>
25454
25455         * NEWS: Document stdlib change from 2007-02-18.
25456
25457 2007-03-17  Jim Meyering  <jim@meyering.net>
25458
25459         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
25460         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
25461         someone uses a name containing shell meta-characters.
25462         Reported by Alfred M. Szmidt.
25463
25464         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
25465
25466 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
25467
25468         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
25469         and copy gettext configuration files only if configure.ac contains
25470         a use of AM_GNU_GETTEXT_VERSION.
25471
25472 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
25473
25474         * build-aux/bootstrap (gnulib_name): New variable.
25475         (gnulib_tool_options): Use it.
25476
25477 2007-03-13  Simon Josefsson  <simon@josefsson.org>
25478
25479         * tests/test-des.c: Use new namespace.
25480
25481 2007-03-15  Bruno Haible  <bruno@clisp.org>
25482
25483         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
25484         Reported by James Youngman <jay@gnu.org>.
25485
25486 2007-03-15  Bruno Haible  <bruno@clisp.org>
25487
25488         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
25489         declared prototype. Needed with cc on OSF/1 5.1.
25490
25491 2007-03-15  Bruno Haible  <bruno@clisp.org>
25492
25493         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
25494         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
25495         (struct gl_list_implementation): Add dispose_fn argument to the
25496         'create_empty', 'create' methods.
25497         (struct gl_list_impl_base): Add field 'dispose_fn'.
25498         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
25499         argument.
25500         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
25501         dispose_fn argument.
25502         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
25503         dispose_fn on the dropped values.
25504         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
25505         dispose_fn argument.
25506         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
25507         dropped values.
25508         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
25509         (gl_tree_remove_node): Call dispose_fn on the dropped value.
25510         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
25511         (gl_tree_remove_node): Call dispose_fn on the dropped value.
25512         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
25513         argument.
25514         (gl_tree_list_free): Call dispose_fn on the dropped values.
25515         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
25516         the dropped values.
25517         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
25518         Add dispose_fn argument.
25519         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
25520         Call dispose_fn on the dropped values.
25521         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
25522         Add dispose_fn argument.
25523         (gl_sublist_create): Initialize the 'dispose_fn' field.
25524         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
25525         * tests/test-array_list.c (main): Update.
25526         * tests/test-carray_list.c (main): Update.
25527         * tests/test-avltree_list.c (main): Update.
25528         * tests/test-rbtree_list.c (main): Update.
25529         * tests/test-avltreehash_list.c (main): Update.
25530         * tests/test-rbtreehash_list.c (main): Update.
25531         * tests/test-linked_list.c (main): Update.
25532         * tests/test-linkedhash_list.c (main): Update.
25533         * tests/test-array_oset.c (main): Update.
25534
25535 2007-03-15  Bruno Haible  <bruno@clisp.org>
25536
25537         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
25538         (gl_oset_create_empty): Add dispose_fn argument.
25539         (struct gl_oset_implementation): Add dispose_fn argument to
25540         'create_empty' method.
25541         (struct gl_oset_impl_base): Add dispose_fn field.
25542         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
25543         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
25544         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
25545         values.
25546         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
25547         (gl_tree_oset_free): Call dispose_fn on the dropped values.
25548         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
25549         dropped value.
25550         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
25551         dropped value.
25552         * tests/test-array_oset.c (main): Update.
25553         * tests/test-avltree_oset.c (main): Update.
25554         * tests/test-rbtree_oset.c (main): Update.
25555         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
25556
25557 2007-03-13  Bruno Haible  <bruno@clisp.org>
25558
25559         * tests/test-stdbool.c (i): Update after last patch.
25560
25561 2007-03-12  Bruno Haible  <bruno@clisp.org>
25562
25563         * lib/quotearg.c: Include <wctype.h> early, before the definition of
25564         the iswprint macro. Needed on Solaris 2.5.1.
25565
25566 2007-03-12  Bruno Haible  <bruno@clisp.org>
25567
25568         * tests/test-printf-frexp.c (main): Declare x as volatile.
25569
25570 2007-03-12  Simon Josefsson  <simon@josefsson.org>
25571
25572         * doc/gnulib.texi (Build robot for gnulib): New section.
25573
25574 2007-03-12  Jim Meyering  <jim@meyering.net>
25575
25576         * build-aux/bootstrap: New file.
25577         * build-aux/bootstrap.conf: New file, from coreutils.
25578
25579 2007-03-11  Bruno Haible  <bruno@clisp.org>
25580
25581         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
25582
25583 2007-03-12  Simon Josefsson  <simon@josefsson.org>
25584
25585         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
25586         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
25587         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
25588
25589 2007-03-11  Bruno Haible  <bruno@clisp.org>
25590
25591         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
25592         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
25593
25594 2007-03-11  Bruno Haible  <bruno@clisp.org>
25595
25596         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
25597         formula. Needed for SunPRO C 5.0.
25598
25599 2007-03-11  Bruno Haible  <bruno@clisp.org>
25600
25601         * modules/long-options (Depends-on): Add getopt.
25602
25603 2007-03-11  Bruno Haible  <bruno@clisp.org>
25604
25605         * modules/modechange (Depends-on): Add stdbool.
25606
25607 2007-03-11  Bruno Haible  <bruno@clisp.org>
25608
25609         * modules/i-ring (Depends-on): Add stdbool.
25610
25611 2007-03-11  Bruno Haible  <bruno@clisp.org>
25612
25613         * modules/gc-des (Depends-on): Add stdbool.
25614
25615 2007-03-11  Bruno Haible  <bruno@clisp.org>
25616
25617         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
25618
25619 2007-03-11  Bruno Haible  <bruno@clisp.org>
25620
25621         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
25622
25623 2007-03-11  Bruno Haible  <bruno@clisp.org>
25624
25625         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
25626
25627 2007-03-11  Bruno Haible  <bruno@clisp.org>
25628
25629         * lib/vasnprintf.c (sprintf): Undefine.
25630
25631 2007-03-11  Bruno Haible  <bruno@clisp.org>
25632
25633         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
25634         initializers in SunPRO C and Compaq C compilers.
25635
25636 2007-03-11  Bruno Haible  <bruno@clisp.org>
25637
25638         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
25639         decrementing code ANSI C compliant.
25640
25641 2007-03-11  Bruno Haible  <bruno@clisp.org>
25642
25643         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
25644         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
25645
25646 2007-03-11  Bruno Haible  <bruno@clisp.org>
25647
25648         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
25649         <stdbool.h> substitute doesn't pass.
25650
25651 2007-03-11  Bruno Haible  <bruno@clisp.org>
25652
25653         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
25654
25655 2007-03-11  Bruno Haible  <bruno@clisp.org>
25656
25657         * gnulib-tool (func_create_megatestdir): Create also an autobuild
25658         script, for submission to autobuild.josefsson.org.
25659
25660 2007-03-10  Bruno Haible  <bruno@clisp.org>
25661
25662         * modules/canonicalize-lgpl-tests: New file.
25663         * tests/test-canonicalize-lgpl.sh: New file.
25664         * tests/test-canonicalize-lgpl.c: New file.
25665
25666         * modules/c-strcase-tests: New file.
25667         * tests/test-c-strcase.sh: New file.
25668         * tests/test-c-strcasecmp.c: New file.
25669         * tests/test-c-strncasecmp.c: New file.
25670
25671         * modules/atexit-tests: New file.
25672         * tests/test-atexit.sh: New file.
25673         * tests/test-atexit.c: New file.
25674
25675 2007-03-10  Bruno Haible  <bruno@clisp.org>
25676
25677         * tests/test-binary-io.sh: Use temporary filenames that are not so
25678         likely to clash with those of other tests (in a parallel make).
25679         * tests/test-binary-io.c: Likewise.
25680
25681 2007-03-10  Bruno Haible  <bruno@clisp.org>
25682
25683         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
25684         fallback; use #error instead.
25685         Suggested by Simon Josefsson.
25686
25687 2007-03-10  Bruno Haible  <bruno@clisp.org>
25688
25689         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
25690         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
25691         first and the last.
25692
25693 2007-03-10  Bruno Haible  <bruno@clisp.org>
25694
25695         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
25696
25697 2007-03-10  Bruno Haible  <bruno@clisp.org>
25698
25699         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
25700         "make distcheck".
25701         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
25702         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
25703         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
25704
25705 2007-03-10  Bruno Haible  <bruno@clisp.org>
25706
25707         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
25708         variable.
25709         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
25710         variable.
25711
25712 2007-03-09  Eric Blake  <ebb9@byu.net>
25713         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
25714
25715         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
25716         types are not being provided by gnulib.
25717         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
25718         types are supported.
25719
25720 2007-03-10  Bruno Haible  <bruno@clisp.org>
25721
25722         * lib/stdio_.h (__attribute__): New macro.
25723         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
25724         vsprintf): Specify __attribute__ __format__ for GCC.
25725         Suggested by Eric Blake.
25726
25727 2007-03-09  Bruno Haible  <bruno@clisp.org>
25728
25729         * modules/printf-posix-tests: New file.
25730         * tests/test-printf-posix.sh: New file.
25731         * tests/test-printf-posix.c: New file.
25732
25733         * modules/printf-posix: New file.
25734         * lib/printf.c: New file.
25735         * m4/printf-posix-rpl.m4: New file.
25736         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
25737         REPLACE_PRINTF.
25738         * lib/stdio_.h (printf): New declaration.
25739         (format, __format__, ____printf____, ____scanf____, ____strftime____,
25740         ____strfmon____): New macros.
25741         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
25742         REPLACE_PRINTF.
25743
25744 2007-03-09  Bruno Haible  <bruno@clisp.org>
25745
25746         * tests/test-vasnprintf-posix2.sh: New file.
25747         * tests/test-vasnprintf-posix2.c: New file.
25748         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
25749         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
25750         (Makefile.am): Activate test-vasnprintf-posix2.sh.
25751
25752         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
25753         a locale dependent decimal point, rather than always '.'.
25754
25755 2007-03-09  Eric Blake  <ebb9@byu.net>
25756
25757         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
25758         spite of platforms like Tandem/NSK that define it to -1.
25759
25760 2007-03-08  Bruno Haible  <bruno@clisp.org>
25761
25762         * modules/vprintf-posix-tests: New file.
25763         * tests/test-vprintf-posix.sh: New file.
25764         * tests/test-vprintf-posix.c: New file.
25765         * tests/test-printf-posix.h: New file.
25766
25767         * modules/vprintf-posix: New file.
25768         * lib/vprintf.c: New file.
25769         * m4/vprintf-posix.m4: New file.
25770         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
25771         REPLACE_VPRINTF.
25772         * lib/stdio_.h (vprintf): New declaration.
25773         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
25774         REPLACE_VPRINTF.
25775
25776 2007-03-08  Bruno Haible  <bruno@clisp.org>
25777
25778         * modules/fprintf-posix-tests: New file.
25779         * tests/test-fprintf-posix.sh: New file.
25780         * tests/test-fprintf-posix.c: New file.
25781
25782         * modules/fprintf-posix: New file.
25783         * lib/fprintf.c: New file.
25784         * m4/fprintf-posix.m4: New file.
25785         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
25786         REPLACE_FPRINTF.
25787         * lib/stdio_.h (fprintf): New declaration.
25788         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
25789         REPLACE_FPRINTF.
25790
25791 2007-03-08  Bruno Haible  <bruno@clisp.org>
25792
25793         * modules/vfprintf-posix-tests: New file.
25794         * tests/test-vfprintf-posix.sh: New file.
25795         * tests/test-vfprintf-posix.c: New file.
25796         * tests/test-fprintf-posix.h: New file.
25797         * tests/test-fprintf-posix.out: New file.
25798
25799         * modules/vfprintf-posix: New file.
25800         * lib/vfprintf.c: New file.
25801         * m4/vfprintf-posix.m4: New file.
25802         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
25803         REPLACE_VFPRINTF.
25804         * lib/stdio_.h (vfprintf): New declaration.
25805         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
25806         REPLACE_VFPRINTF.
25807
25808 2007-03-08  Bruno Haible  <bruno@clisp.org>
25809
25810         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
25811
25812 2007-03-08  Bruno Haible  <bruno@clisp.org>
25813
25814         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
25815         instead of 'expr' invocations.
25816         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25817         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25818         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25819         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25820         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25821         Suggested by Paul Eggert.
25822
25823 2007-03-08  Bruno Haible  <bruno@clisp.org>
25824
25825         * modules/fseterr-tests: New file.
25826         * tests/test-fseterr.c: New file.
25827
25828         * modules/fseterr: New file.
25829         * lib/fseterr.h: New file.
25830         * lib/fseterr.c: New file.
25831
25832 2007-03-08  Bruno Haible  <bruno@clisp.org>
25833
25834         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
25835         * lib/getopt_.h: Likewise.
25836         * lib/mbswidth.h: Likewise.
25837         * lib/setenv.h: Likewise.
25838         * lib/vasnprintf.h: Likewise.
25839         * lib/vasprintf.h: Likewise.
25840         * lib/verror.h: Likewise.
25841         * lib/xsetenv.h: Likewise.
25842         * lib/xvasprintf.h: Likewise.
25843
25844 2007-03-08  Jim Meyering  <jim@meyering.net>
25845
25846         * users.txt: Add parted.
25847
25848         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
25849
25850 2007-03-07  Bruno Haible  <bruno@clisp.org>
25851
25852         * m4/printf.m4: Make the shell script snippets copy&pastable.
25853
25854 2007-03-02  Bruno Haible  <bruno@clisp.org>
25855
25856         * lib/netinet_in_.h: New file.
25857         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
25858         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
25859         * modules/netinet_in (Files): Add lib/netinet_in_.h.
25860         (Depends-on): Add absolute-header.
25861         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
25862         into netinet/in.h.
25863
25864 2007-03-03  Bruno Haible  <bruno@clisp.org>
25865
25866         * lib/sys_select_.h: New file.
25867         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
25868         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
25869         * modules/sys_select (Files): Add lib/sys_select_.h.
25870         (Depends-on): Add absolute-header.
25871         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
25872         into sys/select.h.
25873
25874 2007-03-02  Bruno Haible  <bruno@clisp.org>
25875
25876         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
25877         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
25878         values.
25879         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
25880         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
25881         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
25882         * modules/sys_socket (Depends-on): Add absolute-header.
25883         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
25884         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
25885         (Include): Remove requirement of inclusion of <sys/types.h>.
25886
25887 2007-03-02  Bruno Haible  <bruno@clisp.org>
25888
25889         * lib/byteswap_.h (bswap_32): Fix formula.
25890
25891 2007-03-06  Bruno Haible  <bruno@clisp.org>
25892
25893         * modules/sprintf-posix-tests: New file.
25894         * tests/test-sprintf-posix.c: New file.
25895
25896         * modules/sprintf-posix: New file.
25897         * lib/sprintf.c: New file.
25898         * m4/sprintf-posix.m4: New file.
25899         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
25900         REPLACE_SPRINTF.
25901         * lib/stdio_.h (sprintf): New declaration.
25902         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
25903         REPLACE_SPRINTF.
25904
25905 2007-03-06  Bruno Haible  <bruno@clisp.org>
25906
25907         * modules/vsprintf-posix-tests: New file.
25908         * tests/test-vsprintf-posix.c: New file.
25909         * tests/test-sprintf-posix.h: New file.
25910
25911         * modules/vsprintf-posix: New file.
25912         * lib/vsprintf.c: New file.
25913         * m4/vsprintf-posix.m4: New file.
25914         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
25915         REPLACE_VSPRINTF.
25916         * lib/stdio_.h (vsprintf): New declaration.
25917         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
25918         REPLACE_VSPRINTF.
25919
25920 2007-03-06  Bruno Haible  <bruno@clisp.org>
25921
25922         * modules/vsnprintf (Depend-on): Remove minmax.
25923
25924 2007-03-06  Bruno Haible  <bruno@clisp.org>
25925
25926         * modules/snprintf-posix-tests: New file.
25927         * tests/test-snprintf-posix.c: New file.
25928
25929         * modules/snprintf-posix: New file.
25930         * m4/snprintf-posix.m4: New file.
25931         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
25932         gl_FUNC_SNPRINTF.
25933         (gl_FUNC_SNPRINTF): Invoke it.
25934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
25935         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
25936         is set.
25937         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
25938
25939 2007-03-06  Bruno Haible  <bruno@clisp.org>
25940
25941         * modules/vsnprintf-posix-tests: New file.
25942         * tests/test-vsnprintf-posix.c: New file.
25943         * tests/test-snprintf-posix.h: New file.
25944
25945         * modules/vsnprintf-posix: New file.
25946         * m4/vsnprintf-posix.m4: New file.
25947         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
25948         gl_FUNC_VSNPRINTF.
25949         (gl_FUNC_VSNPRINTF): Invoke it.
25950         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
25951         * lib/stdio_.h (vsnprintf): Define as a replacement if
25952         REPLACE_VSNPRINTF is set.
25953         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
25954
25955 2007-03-06  Bruno Haible  <bruno@clisp.org>
25956
25957         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
25958         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
25959
25960 2007-03-06  Bruno Haible  <bruno@clisp.org>
25961
25962         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
25963         (asinl): Declare also if HAVE_DECL_ASINL is set.
25964         (atanl): Declare also if HAVE_DECL_ATANL is set.
25965         (ceill): Declare also if HAVE_DECL_CEILL is set.
25966         (cosl): Declare also if HAVE_DECL_COSL is set.
25967         (expl): Declare also if HAVE_DECL_EXPL is set.
25968         (floorl): Declare also if HAVE_DECL_FLOORL is set.
25969         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
25970         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
25971         (logl): Declare also if HAVE_DECL_LOGL is set.
25972         (sinl): Declare also if HAVE_DECL_SINL is set.
25973         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
25974         (tanl): Declare also if HAVE_DECL_TANL is set.
25975         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
25976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
25977         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
25978         declaration of frexpl, ldexpl.
25979         * modules/printf-frexpl (Depends-on): Add math.
25980         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
25981
25982 2007-03-05  Bruno Haible  <bruno@clisp.org>
25983
25984         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
25985         frexpl and ldexpl are declared.
25986         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
25987
25988 2007-03-05  Bruno Haible  <bruno@clisp.org>
25989
25990         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
25991         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
25992
25993 2007-03-05  Bruno Haible  <bruno@clisp.org>
25994
25995         * lib/stdio_.h: Include <stddef.h>.
25996
25997 2007-03-05  Bruno Haible  <bruno@clisp.org>
25998
25999         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
26000
26001 2007-03-05  Bruno Haible  <bruno@clisp.org>
26002
26003         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
26004         NetBSD 4, from Ralf Wildenhues.
26005
26006 2007-03-04  Bruno Haible  <bruno@clisp.org>
26007
26008         * lib/vasprintf.h: Update #if logic for the case when the functions
26009         exist but are overridden.
26010
26011 2007-03-04  Bruno Haible  <bruno@clisp.org>
26012
26013         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
26014         implementations: glibc-2.4 and MacOS X 10.3.
26015         * tests/test-vasnprintf-posix.c (test_function): Test also the case
26016         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
26017         * tests/test-vasprintf-posix.c (test_function): Likewise.
26018
26019 2007-03-04  Bruno Haible  <bruno@clisp.org>
26020
26021         * modules/vasprintf-posix-tests: New file.
26022         * tests/test-vasprintf-posix.c: New file.
26023
26024         * modules/vasprintf-posix: New file.
26025         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
26026         defined.
26027         * m4/vasprintf-posix.m4: New file.
26028         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
26029         gl_FUNC_VASPRINTF.
26030         (gl_FUNC_VASPRINTF): Invoke it.
26031         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
26032         here.
26033         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
26034
26035 2007-03-04  Bruno Haible  <bruno@clisp.org>
26036
26037         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
26038         REPLACE_GETTIMEOFDAY.
26039         * modules/sys_time (Makefile.am): Likewise.
26040         * m4/sys_time_h.m4: Likewise.
26041         * m4/gettimeofday.m4: Likewise.
26042
26043 2007-03-04  Bruno Haible  <bruno@clisp.org>
26044
26045         * modules/vasnprintf-posix-tests: New file.
26046         * tests/test-vasnprintf-posix.c: New file.
26047
26048         * modules/vasnprintf-posix: New file.
26049         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
26050         printf-frexpl.h.
26051         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
26052         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
26053         REPLACE_VASNPRINTF is defined.
26054         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
26055         gl_FUNC_VASNPRINTF.
26056         (gl_FUNC_VASNPRINTF): Invoke it.
26057         * m4/vasnprintf-posix.m4: New file.
26058         * m4/printf.m4: New file.
26059
26060 2007-03-04  Bruno Haible  <bruno@clisp.org>
26061
26062         Compile progreloc.c only if --enable-relocatable is specified.
26063         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
26064         if --enable-relocatable was specified.
26065         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
26066         lib_SOURCES.
26067
26068 2007-03-04  Jim Meyering  <jim@meyering.net>
26069
26070         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
26071         Use it consistently, rather than enumerating errno constants.
26072
26073 2007-03-04  Bruno Haible  <bruno@clisp.org>
26074
26075         * modules/xvasprintf-tests: New file.
26076         * tests/test-xvasprintf.c: New file.
26077
26078         * modules/vasprintf-tests: New file.
26079         * tests/test-vasprintf.c: New file.
26080
26081         * modules/vasnprintf-tests: New file.
26082         * tests/test-vasnprintf.c: New file.
26083
26084         * modules/vsnprintf-tests: New file.
26085         * tests/test-vsnprintf.c: New file.
26086
26087         * modules/snprintf-tests: New file.
26088         * tests/test-snprintf.c: New file.
26089
26090 2007-03-04  Bruno Haible  <bruno@clisp.org>
26091
26092         Compile relocatable.c only if --enable-relocatable is specified.
26093         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
26094         gl_RELOCATABLE_LIBRARY.
26095         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
26096         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
26097         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
26098         gl_RELOCATABLE_LIBRARY.
26099         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
26100         (Makefile.am): Remove lib_SOURCES.
26101         * modules/relocatable-lib-lgpl (configure.ac): Invoke
26102         gl_RELOCATABLE_LIBRARY.
26103         (Makefile.am): Remove lib_SOURCES.
26104         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
26105         always.
26106         * modules/relocatable-prog-wrapper (configure.ac): Invoke
26107         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
26108
26109 2007-03-04  Bruno Haible  <bruno@clisp.org>
26110
26111         * modules/argmatch-tests: New file.
26112         * tests/test-argmatch.c: New file.
26113
26114         * tests/test-allocsa.c (main): Halve the number of loop runs.
26115
26116         * modules/alloca-opt-tests: New file.
26117         * tests/test-alloca-opt.c: New file.
26118
26119 2007-03-04  Jim Meyering  <jim@meyering.net>
26120
26121         Work around difference between Linux ACLs and Solaris 10 ZFS.
26122         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
26123         for EINVAL.
26124
26125 2007-03-03  Bruno Haible  <bruno@clisp.org>
26126
26127         * modules/relocatable-prog (Depends-on): Add back progreloc's
26128         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
26129
26130 2007-03-03  Bruno Haible  <bruno@clisp.org>
26131
26132         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
26133         * modules/relocatable-lib: New file.
26134
26135 2007-03-03  Bruno Haible  <bruno@clisp.org>
26136
26137         * modules/relocatable-prog: Renamed from modules/relocatable.
26138         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
26139
26140 2007-03-03  Bruno Haible  <bruno@clisp.org>
26141
26142         * modules/relocatable-script (Files): Add doc/relocatable.texi,
26143         m4/relocatable-lib.m4.
26144         (Depends-on): Remove 'relocatable'.
26145         (configure.ac): Add gl_RELOCATABLE_NOP.
26146
26147 2007-03-03  Bruno Haible  <bruno@clisp.org>
26148
26149         * modules/relocatable-prog-wrapper: New file.
26150         * modules/relocatable (Depends-on): Add it. Remove all other
26151         dependencies except progname.
26152         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
26153
26154         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
26155         (gl_FUNC_STRERROR): Nop.
26156         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
26157
26158         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
26159         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
26160
26161         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
26162         (gl_FUNC_READLINK): Update.
26163
26164         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
26165
26166 2007-03-03  Bruno Haible  <bruno@clisp.org>
26167
26168         * lib/xreadlink.c: Include <unistd.h> unconditionally.
26169         * modules/xreadlink (Depends-on): Add unistd.
26170         * modules/xreadlink-with-size (Depends-on): Likewise.
26171
26172 2007-03-03  Bruno Haible  <bruno@clisp.org>
26173
26174         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
26175         extracted from gt_FUNC_SETENV.
26176         (gt_FUNC_SETENV): Remove macro.
26177         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
26178         remove gt_FUNC_SETENV.
26179
26180 2007-03-03  Bruno Haible  <bruno@clisp.org>
26181
26182         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
26183         ENABLE_RELOCATABLE here.
26184         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
26185
26186 2007-03-03  Bruno Haible  <bruno@clisp.org>
26187
26188         * modules/rbtreehash-list-tests (Depends-on): Add progname.
26189         * tests/test-rbtreehash_list.c: Include progname.h.
26190         (main): Call set_program_name.
26191
26192         * modules/rbtree-oset-tests (Depends-on): Add progname.
26193         * tests/test-rbtree_oset.c: Include progname.h.
26194         (main): Call set_program_name.
26195
26196         * modules/rbtree-list-tests (Depends-on): Add progname.
26197         * tests/test-rbtree_list.c: Include progname.h.
26198         (main): Call set_program_name.
26199
26200         * modules/linked-list-tests (Depends-on): Add progname.
26201         * tests/test-linked_list.c: Include progname.h.
26202         (main): Call set_program_name.
26203
26204 2007-03-03  Bruno Haible  <bruno@clisp.org>
26205
26206         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
26207         All uses of __restrict changed to _Restrict_.
26208         * lib/glob_.h (__restrict): Remove macro.
26209
26210 2007-03-02  Bruno Haible  <bruno@clisp.org>
26211
26212         * modules/gettext (configure.ac): Require gettext infrastructure
26213         from version 0.16.1.
26214
26215 2007-03-02  Bruno Haible  <bruno@clisp.org>
26216
26217         * modules/linkedhash-list-tests (Depends-on): Add progname.
26218         * tests/test-linkedhash_list.c: Include progname.h.
26219         (main): Call set_program_name.
26220
26221         * modules/carray-list-tests (Depends-on): Add progname.
26222         * tests/test-carray_list.c: Include progname.h.
26223         (main): Call set_program_name.
26224
26225         * modules/avltreehash-list-tests (Depends-on): Add progname.
26226         * tests/test-avltreehash_list.c: Include progname.h.
26227         (main): Call set_program_name.
26228
26229         * modules/avltree-oset-tests (Depends-on): Add progname.
26230         * tests/test-avltree_oset.c: Include progname.h.
26231         (main): Call set_program_name.
26232
26233         * modules/avltree-list-tests (Depends-on): Add progname.
26234         * tests/test-avltree_list.c: Include progname.h.
26235         (main): Call set_program_name.
26236
26237         * modules/array-oset-tests (Depends-on): Add progname.
26238         * tests/test-array_oset.c: Include progname.h.
26239         (main): Call set_program_name.
26240
26241         * modules/array-list-tests (Depends-on): Add progname.
26242         * tests/test-array_list.c: Include progname.h.
26243         (main): Call set_program_name.
26244
26245         * modules/argp-tests (Depends-on): Add progname.
26246         * tests/test-argp.c: Include argp.h first. Include progname.h.
26247         (main): Call set_program_name.
26248
26249 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
26250
26251         * doc/gnulib-tool.texi (Initial import): Reword description of
26252         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
26253         limited effect even if defined after the first system include.
26254
26255 2007-03-01  Bruno Haible  <bruno@clisp.org>
26256
26257         * build-aux/config.libpath: Update to libtool-1.5.22.
26258         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26259
26260 2007-03-01  Bruno Haible  <bruno@clisp.org>
26261
26262         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
26263         foo_CFLAGS.
26264         Reported by Ralf Wildenhues.
26265
26266 2007-03-01  Bruno Haible  <bruno@clisp.org>
26267
26268         * build-aux/install-reloc: Remove object files left over by some
26269         compilers.
26270         Reported by Ralf Wildenhues.
26271
26272 2007-03-01  Bruno Haible  <bruno@clisp.org>
26273
26274         * build-aux/install-reloc: Break long lines.
26275
26276 2007-03-01  Bruno Haible  <bruno@clisp.org>
26277
26278         * doc/relocatable.texi: Document that it may not work on OpenBSD.
26279         Reported by Ralf Wildenhues.
26280
26281 2007-03-01  Bruno Haible  <bruno@clisp.org>
26282
26283         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
26284         include ordering constraints.
26285
26286 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
26287
26288         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
26289         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
26290         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
26291         as another example.
26292         * lib/time_.h: Fix misspelling.
26293         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
26294         Require gl_HEADER_TIME_H_DEFAULTS.
26295         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
26296         * m4/time_r.m4 (gl_TIME_R): Likewise.
26297         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
26298
26299 2007-03-01  Bruno Haible  <bruno@clisp.org>
26300
26301         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
26302         * m4/utimens.m4 (gl_UTIMENS): Likewise.
26303
26304 2007-03-01  Jim Meyering  <jim@meyering.net>
26305
26306         * modules/xreadlink (Maintainer): Add my name.
26307         * modules/xreadlink-with-size (Depends-on): Alphabetize.
26308
26309 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
26310             Bruno Haible  <bruno@clisp.org>
26311
26312         * build-aux/install-reloc: Compile also c-ctype.c.
26313         * build-aux/relocatable.sh.in: New file.
26314         * doc/relocatable.texi: New file.
26315         * doc/relocatable-maint.texi: New file.
26316         * doc/gnulib.texi: Include relocatable-maint.texi.
26317         * lib/progreloc.c: Include unistd.h unconditionally.
26318         * lib/relocwrapper.c: Include unistd.h unconditionally.
26319         Include c-ctype.h.
26320         (add_dotbin): Use c_tolower.
26321         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
26322         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
26323         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
26324         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
26325         to m4/relocatable-lib.m4.
26326         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
26327         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
26328         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
26329         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
26330         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
26331         * modules/relocatable: New file.
26332         * modules/relocatable-lib: New file.
26333         * modules/relocatable-script: New file.
26334
26335 2007-02-28  Bruno Haible  <bruno@clisp.org>
26336
26337         Import --enable-relocatable infrastructure.
26338         * build-aux/config.libpath: New file, from GNU gettext.
26339         * build-aux/install-reloc: New file, from GNU gettext.
26340         * build-aux/reloc-ldflags: New file, from GNU gettext.
26341         * lib/relocatable.h: New file, from GNU gettext.
26342         * lib/relocatable.c: New file, from GNU gettext.
26343         * lib/relocwrapper.c: New file, from GNU gettext.
26344         * m4/relocatable.m4: New file, from GNU gettext.
26345
26346 2007-02-28  Bruno Haible  <bruno@clisp.org>
26347
26348         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
26349
26350         * modules/xreadlink: New file, from GNU gettext with modifications.
26351         * lib/xreadlink.c: New file, from GNU gettext.
26352         * lib/xreadlink.h: Add comments.
26353         (xreadlink): New declaration.
26354
26355         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
26356         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
26357         lib/xreadlink-with-size.c.
26358         (configure.ac): Remove gl_XREADLINK invocation.
26359         (Makefile.am): Augment lib_SOURCES.
26360         * m4/xreadlink.m4: Remove file.
26361         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
26362         (xreadlink_with_size): Renamed from xreadink.
26363         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
26364         * modules/canonicalize (Depends-on): Replace xreadlink with
26365         xreadlink-with-size.
26366         * lib/canonicalize.c (canonicalize_filename_mode): Update.
26367
26368 2007-02-25  Jim Meyering  <jim@meyering.net>
26369
26370         * build-aux/announce-gen: When complaining about excess arguments,
26371         list them.
26372
26373 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
26374
26375         * README: Document signed integer overflow situation more
26376         accurately.
26377
26378 2007-02-25  Bruno Haible  <bruno@clisp.org>
26379
26380         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
26381         'a' or 'A' conversion.
26382
26383 2007-02-25  Bruno Haible  <bruno@clisp.org>
26384
26385         * modules/filename: Renamed from modules/pathname.
26386         (Files): Replace lib/pathname.h with lib/filename.h. Replace
26387         lib/concatpath.c with lib/concat-filename.c.
26388         (Makefile.am): Update.
26389         (Include): Replace pathname.h with filename.h.
26390         * lib/filename.h: Renamed from lib/pathname.h.
26391         (concatenated_filename): Renamed from concatenated_pathname.
26392         * lib/concat-filename.c: Renamed from lib/concatpath.c.
26393         (concatenated_filename): Renamed from concatenated_pathname.
26394         * lib/findprog.c: Include filename.h instead of pathname.h.
26395         (find_in_path): Update.
26396         * lib/javacomp.c: Include filename.h instead of pathname.h.
26397         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
26398         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
26399         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
26400         is_oldgcj_14_13_usable, is_javac_usable): Update.
26401         * lib/javaexec.c: Include filename.h instead of pathname.h.
26402         (execute_java_class): Update.
26403         * modules/findprog: Update.
26404         * modules/javacomp: Update.
26405         * modules/javaexec: Update.
26406         * MODULES.html.sh (File system functions): Add 'filename', remove
26407         'pathname'.
26408
26409 2007-02-25  Bruno Haible  <bruno@clisp.org>
26410
26411         * modules/printf-frexpl-tests: New file.
26412         * tests/test-printf-frexpl.c: New file.
26413
26414         * modules/printf-frexpl: New file.
26415         * lib/printf-frexpl.h: New file.
26416         * lib/printf-frexpl.c: New file.
26417         * m4/printf-frexpl.m4: New file.
26418
26419 2007-02-25  Bruno Haible  <bruno@clisp.org>
26420
26421         * modules/printf-frexp-tests: New file.
26422         * tests/test-printf-frexp.c: New file.
26423
26424         * modules/printf-frexp: New file.
26425         * lib/printf-frexp.h: New file.
26426         * lib/printf-frexp.c: New file.
26427         * m4/printf-frexp.m4: New file.
26428
26429 2007-02-25  Bruno Haible  <bruno@clisp.org>
26430
26431         Assume automake >= 1.10 for the tests.
26432         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
26433         * modules/arctwo-tests: Likewise.
26434         * modules/argp-tests: Likewise.
26435         * modules/avltree-list-tests: Likewise.
26436         * modules/avltree-oset-tests: Likewise.
26437         * modules/avltreehash-list-tests: Likewise.
26438         * modules/carray-list-tests: Likewise.
26439         * modules/crc-tests: Likewise.
26440         * modules/des-tests: Likewise.
26441         * modules/gc-arcfour-tests: Likewise.
26442         * modules/gc-arctwo-tests: Likewise.
26443         * modules/gc-des-tests: Likewise.
26444         * modules/gc-hmac-md5-tests: Likewise.
26445         * modules/gc-hmac-sha1-tests: Likewise.
26446         * modules/gc-md2-tests: Likewise.
26447         * modules/gc-md4-tests: Likewise.
26448         * modules/gc-md5-tests: Likewise.
26449         * modules/gc-pbkdf2-sha1-tests: Likewise.
26450         * modules/gc-rijndael-tests: Likewise.
26451         * modules/gc-sha1-tests: Likewise.
26452         * modules/gc-tests: Likewise.
26453         * modules/getaddrinfo-tests: Likewise.
26454         * modules/hmac-md5-tests: Likewise.
26455         * modules/hmac-sha1-tests: Likewise.
26456         * modules/linked-list-tests: Likewise.
26457         * modules/linkedhash-list-tests: Likewise.
26458         * modules/lock-tests: Likewise.
26459         * modules/md2-tests: Likewise.
26460         * modules/md4-tests: Likewise.
26461         * modules/md5-tests: Likewise.
26462         * modules/rbtree-list-tests: Likewise.
26463         * modules/rbtree-oset-tests: Likewise.
26464         * modules/rbtreehash-list-tests: Likewise.
26465         * modules/read-file-tests: Likewise.
26466         * modules/rijndael-tests: Likewise.
26467         * modules/stdint-tests: Likewise.
26468         * modules/tls-tests: Likewise.
26469
26470 2007-02-24  Bruno Haible  <bruno@clisp.org>
26471
26472         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
26473         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
26474         function; instead check whether isnan with a double argument links.
26475         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
26476         function; instead check whether isnan with a 'long double' argument
26477         links.
26478         Reported by Eric Blake <ebb9@byu.net>.
26479
26480 2007-02-24  Bruno Haible  <bruno@clisp.org>
26481
26482         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
26483         defined.
26484         * lib/isnanl.c: Remove all code. Just include isnan.c.
26485         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
26486
26487 2007-02-25  Jim Meyering  <jim@meyering.net>
26488
26489         Avoid conflicting types for 'unsetenv' on FreeBSD.
26490         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
26491         conflicting with FreeBSD's (5.0 and 6.1) function declaration
26492         in stdlib.h.
26493
26494 2007-02-24  Bruno Haible  <bruno@clisp.org>
26495
26496         * modules/isnanl-nolibm-tests: New file.
26497         * tests/test-isnanl.c: New file.
26498
26499         * modules/isnanl-nolibm: New file.
26500         * lib/isnanl.h: New file.
26501         * lib/isnanl.c: New file.
26502         * m4/isnanl.m4: New file.
26503
26504 2007-02-24  Bruno Haible  <bruno@clisp.org>
26505
26506         * modules/isnan-nolibm-tests: New file.
26507         * tests/test-isnan.c: New file.
26508
26509         * modules/isnan-nolibm: New file.
26510         * lib/isnan.h: New file.
26511         * lib/isnan.c: New file.
26512         * m4/isnan.m4: New file.
26513
26514 2007-02-24  Bruno Haible  <bruno@clisp.org>
26515
26516         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
26517         assume that an exponent fits in 20 bits.
26518
26519 2007-02-24  Jim Meyering  <jim@meyering.net>
26520
26521         * m4/regex.m4: Update the description of the configure-time option,
26522         --without-included-regex, to state accurately what the defaults are,
26523         and perhaps to give people an idea why using this option is risky.
26524
26525 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26526
26527         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
26528         loops on small arguments.  This attempts to avoid the problem
26529         Bruno Haible reported for AIX 4.3.2 in
26530         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
26531
26532 2007-02-23  Bruno Haible  <bruno@clisp.org>
26533
26534         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
26535         Needed for help2man.
26536
26537 2007-02-23  Karl Berry  <karl@gnu.org>
26538
26539         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
26540         exists, foo.h should be cvs-ignored, not committed.
26541
26542 2007-02-23  Eric Blake  <ebb9@byu.net>
26543
26544         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
26545         * lib/stat-time.h (includes): Likewise.
26546         * lib/utimecmp.c (includes): Likewise.
26547         * lib/utimens.h (includes): Likewise.
26548         * lib/getdate.y (includes): Also include "timespec.h" for use
26549         internal to the module.
26550         * modules/utimens (Depends-on): Revert yesterday's patch.
26551         * modules/nanosleep (Depends-on): Add missing dependency.
26552
26553 2007-02-22  Bruno Haible  <bruno@clisp.org>
26554
26555         * lib/glob.c: Don't include getlogin_r.h.
26556
26557 2007-02-22  Jim Meyering  <jim@meyering.net>
26558
26559         * modules/utimens (Depends-on): Add timespec, required for
26560         utimens.h's inclusion of timespec.h.
26561
26562 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
26563
26564         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
26565         long unreadable paths in GNU/Linux.  Problem reported by Andreas
26566         Schwab in
26567         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
26568         I'll try to think of a better way to fix the Solaris problem.
26569
26570         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
26571         like glibc; on Solaris 10, it fails with errno == EINVAL.
26572         POSIX says the behavior is unspecified if the first argument is NULL,
26573         so play it safe and never pass NULL to the system getcwd.
26574
26575 2007-02-21  Jim Meyering  <jim@meyering.net>
26576
26577         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
26578         of gettimeofday.  It would conflict with the one now always
26579         provided via sys_time_.h.  Reported by Matthew Woehlke, as
26580         an IRIX 6.5 build failure.
26581
26582 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26583
26584         Minor fixups to port to Solaris 10 with Sun C 5.8.
26585         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
26586         * modules/getcwd (Depends-on): Add dirfd.
26587         * lib/putenv.c (putenv): #undef it.
26588         (rpl_putenv): New decl.
26589         (malloc, free): Include <stdlib.h> rather than prototyping separately.
26590
26591 2007-02-20  Bruno Haible  <bruno@clisp.org>
26592
26593         * modules/stdio-tests: New file.
26594         * tests/test-stdio.c: New file.
26595
26596         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
26597         (Depends-on): Add stdio.
26598         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
26599         (Include): Use <stdio.h> instead of vsnprintf.h.
26600         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
26601         HAVE_DECL_VSNPRINTF.
26602         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
26603
26604         * modules/snprintf (Files): Remove lib/snprintf.h.
26605         (Depends-on): Add stdio.
26606         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
26607         (Include): Use <stdio.h> instead of snprintf.h.
26608         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
26609         HAVE_DECL_SNPRINTF.
26610         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
26611         * lib/getaddrinfo.c: Likewise.
26612
26613         * modules/stdio: New file.
26614         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
26615         * lib/snprintf.h: Remove file.
26616         * lib/vsnprintf.h: Remove file.
26617         * lib/.cppi-disable: Remove snprintf.h.
26618         * m4/stdio_h.m4: New file.
26619         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
26620
26621 2007-02-20  Jim Meyering  <jim@meyering.net>
26622
26623         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
26624         used by e.g., mingw.  From Bruno Haible.
26625
26626 2007-02-19  Bruno Haible  <bruno@clisp.org>
26627
26628         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
26629         warnings.
26630         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26631
26632 2007-02-19  Bruno Haible  <bruno@clisp.org>
26633
26634         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
26635         from mingw users.
26636
26637 2007-02-19  Bruno Haible  <bruno@clisp.org>
26638
26639         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
26640         warnings.
26641         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
26642
26643 2007-02-19  Jim Meyering  <jim@meyering.net>
26644
26645         Don't use FD after a successful "fdopendir (fd)".
26646         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
26647         Reset it by calling dirfd on the just-obtained DIR*.
26648
26649         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
26650         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
26651
26652 2007-02-18  Bruno Haible  <bruno@clisp.org>
26653
26654         * lib/readlink.c: Include <unistd.h>.
26655         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
26656         HAVE_READLINK.
26657         * modules/readlink (Depends-on): Add unistd.
26658         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26659         (Include): Add <unistd.h>.
26660
26661         * lib/getlogin_r.h: Remove file.
26662         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
26663         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
26664         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
26665         HAVE_DECL_GETLOGIN_R.
26666         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
26667         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26668         (Include): Use <unistd.h> instead of getlogin_r.h.
26669
26670         * lib/getcwd.h: Remove file.
26671         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
26672         * lib/xgetcwd.c: Likewise.
26673         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
26674         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
26675         * modules/getcwd (Files): Remove lib/getcwd.h.
26676         (Depends-on): Add unistd.
26677         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26678         (Include): Use <unistd.h> instad of getcwd.h.
26679
26680         * lib/ftruncate.c: Include <unistd.h> first.
26681         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
26682         Set HAVE_FTRUNCATE.
26683         * modules/ftruncate (Depends-on): Add unistd.
26684         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26685
26686         * lib/fchdir.c: Include <unistd.h> first.
26687         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
26688         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
26689         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
26690         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26691         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
26692
26693         * lib/dup2.c: Include <unistd.h> first.
26694         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
26695         HAVE_DUP2.
26696         * modules/dup2 (Depends-on): Add unistd.
26697         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26698
26699         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
26700         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
26701         REPLACE_CHOWN. Don't define chown as a macro here.
26702         * modules/chown (Depends-on): Add unistd.
26703         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26704
26705         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
26706         Add definition for GL_LINK_WARNING.
26707         (chown, dup2): New declarations.
26708         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
26709         link warning.
26710         (ftruncate): New declaration.
26711         (getcwd): New declaration, taken from old getcwd.h.
26712         (getlogin_r): New declaration, taken from old getlogin_r.h.
26713         (readlink): New declaration.
26714         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
26715         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
26716         (gl_PREREQ_UNISTD): Remove macro.
26717         (gl_UNISTD_MODULE_INDICATOR): New macro.
26718         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
26719         many new variables. Don't set UNISTD_H.
26720         * modules/unistd (Description): Change.
26721         (Depends-on): Add link-warning.
26722         (configure.ac): Update.
26723         (Makefile.am): Create unistd.h always. Substitute many new variables
26724         into it.
26725
26726 2007-02-18  Bruno Haible  <bruno@clisp.org>
26727
26728         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
26729         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
26730         HAVE_GETSUBOPT.
26731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
26732         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
26733         * lib/getsubopt.h: Remove file.
26734         * modules/getsubopt (Files): Remove lib/getsubopt.h.
26735         (Depends-on): Add stdlib.
26736         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26737         (Includes): Use <stdlib.h> instead of getsubopt.h.
26738         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
26739         Set HAVE_GETSUBOPT.
26740         * lib/getsubopt.c: Don't include getsubopt.h.
26741
26742 2007-02-18  Bruno Haible  <bruno@clisp.org>
26743
26744         * modules/fchdir (Depends-on): Add dup2.
26745
26746 2007-02-18  Bruno Haible  <bruno@clisp.org>
26747
26748         * lib/stdlib_.h: Handle glibc's special invocation convention
26749         specially.
26750
26751 2007-02-18  Bruno Haible  <bruno@clisp.org>
26752
26753         * modules/stdlib-tests: New file.
26754         * tests/test-stdlib.c: New file.
26755
26756         * modules/mkstemp (Files): Remove lib/mkstemp.h.
26757         (Depends-on): Add stdlib.
26758         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26759         (Includes): Use <stdlib.h> instead of mkstemp.h.
26760         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
26761         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
26762         * lib/mkstemp.c: Don't include mkstemp.h.
26763         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
26764         * lib/stdlib--.h: Don't include mkstemp.h.
26765
26766         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
26767         (Depends-on): Add stdlib.
26768         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26769         (Includes): Use <stdlib.h> instead of mkdtemp.h.
26770         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
26771         HAVE_MKDTEMP.
26772         * lib/mkdtemp.c: Don't include mkdtemp.h.
26773         * lib/clean-temp.c: Don't include mkdtemp.h.
26774
26775         * modules/exit (Files): Remove lib/exit.h.
26776         (Depends-on): Add stdlib.
26777         (Makefile.am): Remove lib_SOURCES.
26778         (Include): Use <stdlib.h> instead of exit.h.
26779         * lib/argmatch.c: Don't include exit.h.
26780         * lib/execute.c: Likewise.
26781         * lib/pagealign_alloc.c: Likewise.
26782         * lib/pipe.c: Likewise.
26783         * lib/wait-process.c: Likewise.
26784         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
26785         * lib/exitfail.c: Likewise.
26786         * lib/savewd.c: Likewise.
26787         * lib/xsetenv.c: Likewise.
26788
26789         * modules/stdlib: New file.
26790         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
26791         and extra comments about mkstemp().
26792         * lib/exit.h: Remove file.
26793         * lib/mkdtemp.h: Remove file.
26794         * lib/mkstemp.h: Remove file.
26795         * m4/stdlib_h.m4: New file.
26796         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
26797
26798 2007-02-18  Bruno Haible  <bruno@clisp.org>
26799
26800         * modules/math-tests: New file.
26801         * tests/test-math.c: New file.
26802
26803         * modules/math: New file.
26804         * modules/mathl (Files): Remove lib/mathl.h.
26805         (Depends-on): Add math.
26806         (Makefile.am): Don't mention mathl.h.
26807         (Include): Use <math.h> instead of mathl.h.
26808         * lib/math_.h: New file.
26809         * lib/mathl.h: Remove file.
26810         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
26811         mathl.h.
26812         * lib/asinl.c: Likewise.
26813         * lib/atanl.c: Likewise.
26814         * lib/ceill.c: Likewise.
26815         * lib/cosl.c: Likewise.
26816         * lib/expl.c: Likewise.
26817         * lib/floorl.c: Likewise.
26818         * lib/frexpl.c: Likewise.
26819         * lib/ldexpl.c: Likewise.
26820         * lib/logl.c: Likewise.
26821         * lib/sincosl.c: Likewise.
26822         * lib/sinl.c: Likewise.
26823         * lib/sqrtl.c: Likewise.
26824         * lib/tanl.c: Likewise.
26825         * lib/trigl.c: Likewise.
26826         * m4/math_h.m4: New file.
26827         * MODULES.html.sh (Mathematics): Add math.
26828
26829 2007-02-17  Bruno Haible  <bruno@clisp.org>
26830
26831         * modules/wctype-tests: New file.
26832         * tests/test-wctype.c: New file.
26833
26834         * modules/wchar-tests: New file.
26835         * tests/test-wchar.c: New file.
26836
26837         * modules/unistd-tests: New file.
26838         * tests/test-unistd.c: New file.
26839
26840         * modules/time-tests: New file.
26841         * tests/test-time.c: New file.
26842
26843         * modules/sysexits-tests: New file.
26844         * tests/test-sysexits.c: New file.
26845
26846         * modules/sys_time-tests: New file.
26847         * tests/test-sys_time.c: New file.
26848
26849         * modules/sys_stat-tests: New file.
26850         * tests/test-sys_stat.c: New file.
26851
26852         * modules/sys_socket-tests: New file.
26853         * tests/test-sys_socket.c: New file.
26854
26855         * modules/sys_select-tests: New file.
26856         * tests/test-sys_select.c: New file.
26857
26858         * modules/string-tests: New file.
26859         * tests/test-string.c: New file.
26860
26861         * modules/stdbool-tests: New file.
26862         * tests/test-stdbool.c: New file.
26863
26864         * modules/netinet_in-tests: New file.
26865         * tests/test-netinet_in.c: New file.
26866
26867         * modules/inttypes-tests: New file.
26868         * tests/test-inttypes.c: New file.
26869
26870         * modules/fcntl-tests: New file.
26871         * tests/test-fcntl.c: New file.
26872
26873         * modules/byteswap-tests: New file.
26874         * tests/test-byteswap.c: New file.
26875
26876         * modules/arpa_inet-tests: New file.
26877         * tests/test-arpa_inet.c: New file.
26878
26879 2007-02-17  Bruno Haible  <bruno@clisp.org>
26880
26881         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
26882         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
26883         if the corresponding module is not enabled. Emit link warnings if
26884         the function is used nevertheless.
26885         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
26886         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
26887         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
26888         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
26889         * modules/inttypes (Depends-on): Add link-warning.
26890         (Makefile.am): Copy the contents of build-aux/link-warning.h into
26891         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
26892         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
26893         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
26894         * modules/imaxdiv (configure.ac): Likewise.
26895         * modules/strtoimax (configure.ac): Likewise.
26896         * modules/strtoumax (configure.ac): Likewise.
26897
26898 2007-02-17  Bruno Haible  <bruno@clisp.org>
26899
26900         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
26901         gl_STRING_MODULE_INDICATOR_DEFAULTS.
26902         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
26903         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
26904
26905 2007-02-17  Bruno Haible  <bruno@clisp.org>
26906
26907         * modules/link-warning: New file.
26908         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
26909         * lib/string_.h (GL_LINK_WARNING): Remove definition.
26910         * modules/string (Depends-on): Add link-warning.
26911         (Makefile.am): Copy the contents of build-aux/link-warning.h into
26912         string.h.
26913         * MODULES.html.sh (Support for building libraries and executables): Add
26914         link-warning.
26915
26916 2007-02-17  Bruno Haible  <bruno@clisp.org>
26917
26918         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
26919         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
26920         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
26921         long lines.
26922
26923 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
26924             Bruno Haible  <bruno@clisp.org>
26925
26926         * modules/tmpfile: New file.
26927         * lib/tmpfile.c: New file.
26928         * m4/tmpfile.m4: New file.
26929         * MODULES.html.sh (func_all_modules): New section "Input/output".
26930
26931 2007-02-15  Bruno Haible  <bruno@clisp.org>
26932
26933         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
26934         (supports_delete_on_close): New function.
26935         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
26936
26937 2007-02-14  Bruno Haible  <bruno@clisp.org>
26938
26939         * modules/mbspcasecmp-tests: New file.
26940         * tests/test-mbspcasecmp.sh: New file.
26941         * tests/test-mbspcasecmp.c: New file.
26942
26943         New module mbspcasecmp.
26944         * modules/mbspcasecmp: New file.
26945         * lib/mbspcasecmp.c: New file.
26946         * lib/string_.h (strncasecmp): Change warning message.
26947         (mbspcasecmp): New declaration.
26948         * m4/mbspcasecmp.m4: New file.
26949         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26950         GNULIB_MBSPCASECMP.
26951         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
26952         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
26953
26954 2007-02-14  Bruno Haible  <bruno@clisp.org>
26955
26956         * modules/mbsncasecmp-tests: New file.
26957         * tests/test-mbsncasecmp.sh: New file.
26958         * tests/test-mbsncasecmp.c: New file.
26959
26960         New module mbsncasecmp.
26961         * modules/mbsncasecmp: New file.
26962         * lib/mbsncasecmp.c: New file.
26963         * lib/string_.h (mbsncasecmp): New declaration.
26964         * m4/mbsncasecmp.m4: New file.
26965         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
26966         GNULIB_MBSNCASECMP.
26967         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
26968         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
26969
26970 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
26971
26972         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
26973         Verify that it doesn't overlap with our flags.
26974         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
26975         do not have the desired effect in multibyte locales; instead, use
26976         mbscasecmp.
26977         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
26978         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
26979         we don't require GNU fnmatch ourselves (if our users require it, they
26980         should do so explicitly).
26981
26982         Fix regex code so it doesn't rely on strcasecmp.
26983         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
26984         Otherwise, include gnulib's langinfo.h.
26985         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
26986         undesirable behavior in non-C locales.  Instead, rely on localecharset.
26987         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
26988         * modules/regex (FILES): Remove m4/codeset.m4.
26989         (Depends-on): Add localcharset.  Remove strcase.
26990
26991 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26992
26993         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
26994         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
26995
26996 2007-02-13  Bruno Haible  <bruno@clisp.org>
26997
26998         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
26999         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27000
27001 2007-02-12  Bruno Haible  <bruno@clisp.org>
27002
27003         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
27004         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
27005         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
27006         time warning rather than a link error.
27007
27008 2007-02-12  Bruno Haible  <bruno@clisp.org>
27009
27010         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
27011         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
27012         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27013
27014 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
27015
27016         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
27017         args, not 2.
27018
27019 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
27020
27021         New module 'time', so that apps can include <time.h> as per
27022         POSIX and GNU instead of separate include files like time_r.h
27023         and timegm.h.  This implementation tries out a simpler approach
27024         for replacing decls in standard include files (as compared to
27025         the string module), somewhat as an experiment.
27026
27027         * config/srclist.txt: Comment out mktime.c for now.
27028         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
27029         since it doesn't apply any more.  Use generic wording instead.
27030         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
27031         'time'.
27032         * lib/time_.h, m4/time_h.m4, modules/time: New files.
27033         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
27034         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
27035         Don't include <sys/types.h>; no longer needed since we assume C89.
27036         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
27037         * lib/strftime.c: Likewise.
27038         * lib/time_r.c: Likewise.
27039         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
27040         * lib/nanosleep.c: Include <time.h> first, to check interface.
27041         * lib/strptime.c: Likewise.
27042         * lib/time_r.c: Likewise.
27043         * lib/timegm.c: Likewise.
27044         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
27045         needed.
27046         * lib/timegm.c: Don't include timegm.h; no longer needed.
27047         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
27048         time.h now handles any problems in that area.
27049         (struct timespec, nanosleep): Remove; time.h now arranges for these.
27050         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
27051         that time.h defines struct timespec.
27052         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
27053         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
27054         handles that.
27055         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
27056         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
27057         needed.  Set REPLACE_LOCALTIME.
27058         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
27059         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
27060         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
27061         nanosleep; time_h.m4 now does that.  Don't require
27062         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
27063         module handles this now.
27064         * modules/getdate (Depends-on): Remove timespec.  Add time.
27065         * modules/nanosleep (Depends-on): Likewise.
27066         * modules/stat-time (Depends-on): Likewise.
27067         * modules/nanosleep (Include): Include time.h, not timespec.h.
27068         * modules/strptime (Files): Remove lib/strptime.h.
27069         (Depends-on): Add extensions, time.
27070         (Include): Include time.h, not strptime.h.
27071         * modules/time_r (Files): Remove lib/time_r.h.
27072         (Depends-on): Add time.
27073         (Include): Include time.h, not time_r.h.
27074         * modules/timegm: Likewise.
27075         * modules/timespec (Description): Now does timespec-related decls
27076         of our own, instead of struct timespec itself.
27077         (Depends-on): Add time; remove extensions.
27078         (Maintainer): Add self.
27079         * modules/utimecmp (Depends-on): Add time; remove timespec.
27080         * modules/utimens (Depends-on): Likewise.
27081         * modules/xnanosleep (Depends-on): Likewise.
27082
27083 2007-02-11  Bruno Haible  <bruno@clisp.org>
27084
27085         * lib/c-strstr.c: Include allocsa.h.
27086         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
27087         * lib/c-strcasestr.c: Include allocsa.h.
27088         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
27089         * lib/strcasestr.c: Include allocsa.h.
27090         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
27091         * lib/mbsstr.c: Include allocsa.h.
27092         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
27093         allocsa/freesa instead of malloc/free.
27094         * lib/mbscasestr.c: Include allocsa.h.
27095         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
27096         allocsa/freesa instead of malloc/free.
27097         * modules/c-strstr (Depends-on): Add allocsa.
27098         * modules/c-strcasestr (Depends-on): Likewise.
27099         * modules/strcasestr (Depends-on): Likewise.
27100         * modules/mbsstr (Depends-on): Likewise.
27101         * modules/mbscasestr (Depends-on): Likewise.
27102
27103 2007-02-11  Bruno Haible  <bruno@clisp.org>
27104
27105         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
27106
27107         * modules/mbsspn-tests: New file.
27108         * tests/test-mbsspn.sh: New file.
27109         * tests/test-mbsspn.c: New file.
27110
27111 2007-02-11  Bruno Haible  <bruno@clisp.org>
27112
27113         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
27114
27115         * modules/mbspbrk-tests: New file.
27116         * tests/test-mbspbrk.sh: New file.
27117         * tests/test-mbspbrk.c: New file.
27118
27119 2007-02-11  Bruno Haible  <bruno@clisp.org>
27120
27121         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
27122         unneeded cast.
27123
27124         * modules/mbscspn-tests: New file.
27125         * tests/test-mbscspn.sh: New file.
27126         * tests/test-mbscspn.c: New file.
27127
27128 2007-02-11  Bruno Haible  <bruno@clisp.org>
27129
27130         * modules/mbscasecmp-tests: New file.
27131         * tests/test-mbscasecmp.sh: New file.
27132         * tests/test-mbscasecmp.c: New file.
27133
27134 2007-02-11  Bruno Haible  <bruno@clisp.org>
27135
27136         Ensure O(n) worst-case complexity of mbscasestr.
27137         * lib/mbscasestr.c: Include stdbool.h.
27138         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
27139         functions.
27140         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
27141         the bookkeeping indicates that it's worth it.
27142         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
27143
27144         * modules/mbscasestr-tests: New file.
27145         * tests/test-mbscasestr1.c: New file.
27146         * tests/test-mbscasestr2.sh: New file.
27147         * tests/test-mbscasestr2.c: New file.
27148         * tests/test-mbscasestr3.sh: New file.
27149         * tests/test-mbscasestr3.c: New file.
27150         * tests/test-mbscasestr4.sh: New file.
27151         * tests/test-mbscasestr4.c: New file.
27152         * m4/locale-tr.m4: New file.
27153
27154 2007-02-11  Bruno Haible  <bruno@clisp.org>
27155
27156         Ensure O(n) worst-case complexity of mbsstr.
27157         * lib/mbsstr.c: Include stdbool.h.
27158         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
27159         functions.
27160         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
27161         bookkeeping indicates that it's worth it.
27162         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
27163
27164         * modules/mbsstr-tests: New file.
27165         * tests/test-mbsstr1.c: New file.
27166         * tests/test-mbsstr2.sh: New file.
27167         * tests/test-mbsstr2.c: New file.
27168         * tests/test-mbsstr3.sh: New file.
27169         * tests/test-mbsstr3.c: New file.
27170         * m4/locale-fr.m4: New file.
27171
27172 2007-02-11  Bruno Haible  <bruno@clisp.org>
27173
27174         * lib/mbsrchr.c (mbsrchr): Fix bug.
27175
27176         * modules/mbsrchr-tests: New file.
27177         * tests/test-mbsrchr.sh: New file.
27178         * tests/test-mbsrchr.c: New file.
27179
27180 2007-02-11  Bruno Haible  <bruno@clisp.org>
27181
27182         * lib/mbschr.c (mbschr): Fix bug.
27183
27184         * modules/mbschr-tests: New file.
27185         * tests/test-mbschr.sh: New file.
27186         * tests/test-mbschr.c: New file.
27187         * m4/locale-zh.m4: New file.
27188
27189 2007-02-11  Bruno Haible  <bruno@clisp.org>
27190
27191         Support for copying multibyte string iterators.
27192         * lib/mbiter.h: Include <string.h>.
27193         (mbiter_multi_copy): New function.
27194         (mbi_copy): New macro.
27195         * lib/mbuiter.h: Include <string.h>.
27196         (mbuiter_multi_copy): New function.
27197         (mbui_copy): New macro.
27198
27199 2007-02-11  Bruno Haible  <bruno@clisp.org>
27200
27201         New module mbslen.
27202         * modules/mbslen: New file.
27203         * lib/mbslen.c: New file.
27204         * lib/string_.h (mbslen): New declaration.
27205         * m4/mbslen.m4: New file.
27206         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27207         GNULIB_MBSLEN.
27208         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
27209         * MODULES.html.sh (Internationalization functions): Add mbslen.
27210
27211 2007-02-11  Bruno Haible  <bruno@clisp.org>
27212
27213         Ensure O(n) worst-case complexity of strcasestr substitute.
27214         * lib/strcasestr.c: Include stdbool.h.
27215         (knuth_morris_pratt): New function.
27216         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
27217         bookkeeping indicates that it's worth it.
27218         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
27219
27220         * modules/strcasestr-tests: New file.
27221         * tests/test-strcasestr.c: New file.
27222
27223 2007-02-11  Bruno Haible  <bruno@clisp.org>
27224
27225         Ensure O(n) worst-case complexity of c_strcasestr.
27226         * lib/c-strcasestr.c: Include stdbool.h, string.h.
27227         (knuth_morris_pratt): New function.
27228         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
27229         the bookkeeping indicates that it's worth it.
27230         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
27231
27232         * modules/c-strcasestr-tests: New file.
27233         * tests/test-c-strcasestr.c: New file.
27234
27235 2007-02-11  Bruno Haible  <bruno@clisp.org>
27236
27237         Ensure O(n) worst-case complexity of c_strstr.
27238         * lib/c-strstr.c: Include stdbool.h, string.h.
27239         (knuth_morris_pratt): New function.
27240         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
27241         bookkeeping indicates that it's worth it.
27242         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
27243
27244         * lib/c-strstr.c: Complete rewrite for maintainability.
27245
27246         * modules/c-strstr-tests: New file.
27247         * tests/test-c-strstr.c: New file.
27248
27249 2007-02-11  Bruno Haible  <bruno@clisp.org>
27250
27251         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
27252         5.2.1 and earlier, whereby \055 was treated just like the range
27253         delimiter '-'.
27254         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
27255
27256 2007-02-08  Bruno Haible  <bruno@clisp.org>
27257
27258         * modules/regex (Depends-on): Add stdbool.
27259         Reported by Dalibor Topic <robilad@kaffe.org>.
27260
27261 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
27262
27263         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
27264         Prefer returning from main to exiting from it.
27265         Remove unnecessary parens after sizeof.
27266
27267 2007-02-05  Bruno Haible  <bruno@clisp.org>
27268
27269         New module mbssep.
27270         * modules/mbssep: New file.
27271         * lib/mbssep.c: New file.
27272         * lib/string_.h (strsep): Add a conditional link warning.
27273         (mbssep): New declaration.
27274         * m4/mbssep.m4: New file.
27275         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27276         GNULIB_MBSSEP.
27277         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
27278         * MODULES.html.sh (Internationalization functions): Add mbssep.
27279
27280 2007-02-05  Bruno Haible  <bruno@clisp.org>
27281
27282         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
27283         Optimize search in case of 1 delimiter.
27284
27285 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
27286
27287         * lib/acl.h: Include sys/types.h before sys/acl.h.
27288
27289 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
27290
27291         Merge upstream fix for glibc bugzilla #3957:
27292
27293         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
27294
27295         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
27296         bit for RE_HAT_LISTS_NOT_NEWLINE.
27297         (build_charclass_op): Remove bogus comment.
27298
27299 2007-02-05  Simon Josefsson  <simon@josefsson.org>
27300
27301         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
27302
27303 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
27304
27305         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
27306         * lib/memmem.c [!defined _LIBC]: Include config.h.
27307
27308 2007-02-04  Bruno Haible  <bruno@clisp.org>
27309
27310         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
27311         warning message.
27312
27313 2007-02-04  Bruno Haible  <bruno@clisp.org>
27314
27315         New module mbstok_r.
27316         * modules/mbstok_r: New file.
27317         * lib/mbstok_r.c: New file.
27318         * lib/string_.h (strtok_r): Change argument names to match the
27319         comments. Add a conditional link warning.
27320         (mbstok_r): New declaration.
27321         * m4/mbstok_r.m4: New file.
27322         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27323         GNULIB_MBSTOK_R.
27324         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
27325         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
27326
27327 2007-02-04  Bruno Haible  <bruno@clisp.org>
27328
27329         New module mbsspn.
27330         * modules/mbsspn: New file.
27331         * lib/mbsspn.c: New file.
27332         * lib/string_.h (strspn): Add a conditional link warning.
27333         (mbsspn): New declaration.
27334         * m4/mbsspn.m4: New file.
27335         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27336         GNULIB_MBSSPN.
27337         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
27338         * MODULES.html.sh (Internationalization functions): Add mbsspn.
27339
27340 2007-02-04  Bruno Haible  <bruno@clisp.org>
27341
27342         New module mbspbrk.
27343         * modules/mbspbrk: New file.
27344         * lib/mbspbrk.c: New file.
27345         * lib/string_.h (strpbrk): Add a conditional link warning.
27346         (mbspbrk): New declaration.
27347         * m4/mbspbrk.m4: New file.
27348         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27349         GNULIB_MBSPBRK.
27350         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
27351         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
27352
27353 2007-02-04  Bruno Haible  <bruno@clisp.org>
27354
27355         New module mbscspn.
27356         * modules/mbscspn: New file.
27357         * lib/mbscspn.c: New file.
27358         * lib/string_.h (strcspn): Add a conditional link warning.
27359         (mbscspn): New declaration.
27360         * m4/mbscspn.m4: New file.
27361         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27362         GNULIB_MBSCSPN.
27363         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
27364         * MODULES.html.sh (Internationalization functions): Add mbscspn.
27365
27366 2007-02-04  Bruno Haible  <bruno@clisp.org>
27367
27368         New module mbscasestr, reduced goal of strcasestr.
27369         * modules/mbscasestr: New file.
27370         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
27371         (mbscasestr): Renamed from strcasestr.
27372         * lib/strcasestr.c: Don't include mbuiter.h.
27373         (strcasestr): Remove support for multibyte locales.
27374         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
27375         Change the conditional link warning.
27376         (mbscasestr): New declaration.
27377         * m4/mbscasestr.m4: New file.
27378         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
27379         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
27380         REPLACE_STRCASESTR.
27381         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
27382         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27383         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
27384         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
27385         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
27386         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
27387         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
27388         (Depends-on): Remove mbuiter.
27389         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
27390
27391 2007-02-04  Bruno Haible  <bruno@clisp.org>
27392
27393         Simplify handling of strncasecmp.
27394         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
27395         the conditional link warning.
27396         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27397         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
27398         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
27399         * modules/strcase (configure.ac): Don't invoke
27400         gl_STRING_MODULE_INDICATOR.
27401         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
27402
27403 2007-02-04  Bruno Haible  <bruno@clisp.org>
27404
27405         New module mbscasecmp, reduced goal of strcasecmp.
27406         * modules/mbscasecmp: New file.
27407         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
27408         (mbscasecmp): Renamed from strcasecmp.
27409         * lib/strcasecmp.c: Don't include mbuiter.h.
27410         (strcasecmp): Remove support for multibyte locales.
27411         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
27412         Change the conditional link warning.
27413         (mbscasecmp): New declaration.
27414         * m4/mbscasecmp.m4: New file.
27415         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
27416         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
27417         REPLACE_STRCASECMP.
27418         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
27419         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27420         GNULIB_MBSCASECMP.
27421         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
27422         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
27423         * modules/strcase (Files): Remove m4/mbrtowc.m4.
27424         (Depends-on): Remove mbuiter.
27425         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
27426
27427 2007-02-04  Bruno Haible  <bruno@clisp.org>
27428
27429         New module mbsstr. Remove module strstr.
27430         * modules/mbsstr: New file.
27431         * modules/strstr: Remove file.
27432         * lib/mbsstr.c: Renamed from lib/strstr.c.
27433         (mbsstr): Renamed from strstr.
27434         * lib/string_.h (strstr): Remove declaration. Change the conditional
27435         link warning.
27436         (mbsstr): New declaration.
27437         * m4/mbsstr.m4: New file.
27438         * m4/strstr.m4: Remove file.
27439         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
27440         REPLACE_STRSTR.
27441         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
27442         Don't initialize GNULIB_STRSTR.
27443         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
27444         substitute GNULIB_STRSTR and REPLACE_STRSTR.
27445         * MODULES.html.sh (Internationalization functions): Add mbsstr.
27446         (Support for systems lacking ANSI C 89): Remove strstr.
27447
27448 2007-02-04  Bruno Haible  <bruno@clisp.org>
27449
27450         New module mbsrchr.
27451         * modules/mbsrchr: New file.
27452         * lib/mbsrchr.c: New file.
27453         * lib/string_.h (strrchr): Add a conditional link warning.
27454         (mbsrchr): New declaration.
27455         * m4/mbsrchr.m4: New file.
27456         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27457         GNULIB_MBSRCHR.
27458         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
27459         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
27460
27461 2007-02-04  Bruno Haible  <bruno@clisp.org>
27462
27463         New module mbschr.
27464         * modules/mbschr: New file.
27465         * lib/mbschr.c: New file.
27466         * lib/string_.h (strchr): Add a conditional link warning.
27467         (mbschr): New declaration.
27468         * m4/mbschr.m4: New file.
27469         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
27470         GNULIB_MBSCHR.
27471         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
27472         * MODULES.html.sh (Internationalization functions): Add mbschr.
27473
27474 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
27475
27476         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
27477
27478         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
27479
27480 2007-02-04  Bruno Haible  <bruno@clisp.org>
27481
27482         New module description section 'configure.ac-early'.
27483         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
27484         (func_get_autoconf_early_snippet): New function.
27485         (func_import, func_create_testdir): Use it. Remove special cases for
27486         modules 'extensions' and 'lock'.
27487         * modules/extensions (configure.ac-early): Require
27488         gl_USE_SYSTEM_EXTENSIONS.
27489         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
27490
27491 2007-02-04  Bruno Haible  <bruno@clisp.org>
27492
27493         Make use of gcj-4.3's -fsource and -ftarget option.
27494         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
27495         and if so try the options -fsource and -ftarget.
27496         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
27497         source_version, ftarget_option, target_version arguments.
27498         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
27499         (is_envjavac_oldgcj_14_14_usable): Renamed from
27500         is_envjavac_gcj_14_14_usable.
27501         (is_envjavac_oldgcj_14_13_usable): Renamed from
27502         is_envjavac_gcj_14_13_usable.
27503         (is_gcj_present): Update.
27504         (is_gcj_43, is_gcj43_usable): New functions.
27505         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
27506         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
27507         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
27508         try the options -fsource and -ftarget.
27509
27510 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
27511
27512         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
27513         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
27514         larger value.
27515
27516 2007-02-03  Jim Meyering  <jim@meyering.net>
27517
27518         Give tools a better chance to allocate space for very large buffers.
27519         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
27520
27521         Make pwd and readlink work also when run with an unreadable parent dir
27522         on systems with openat support.
27523         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
27524         provided getcwd function, even when we have openat support.
27525         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
27526
27527 2007-02-02  Bruno Haible  <bruno@clisp.org>
27528
27529         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
27530         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
27531         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
27532         portability problems if one of these functions is only used on specific
27533         platforms.
27534         Reported by Paul Eggert.
27535
27536 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
27537
27538         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
27539         is causing more trouble than it's curing.
27540         * lib/regex_internal.h (__mempcpy): Remove.
27541         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
27542         (and make the code a tad smaller to boot).
27543         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
27544
27545 2007-02-02  Jim Meyering  <jim@meyering.net>
27546
27547         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
27548         section, not in the Makefile.am: one.
27549
27550 2007-02-02  Eric Blake  <ebb9@byu.net>
27551
27552         * lib/strchrnul.c: Always include config.h first.
27553
27554         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
27555         gnulib strstr is not necessary here.
27556
27557 2007-02-02  Simon Josefsson  <simon@josefsson.org>
27558
27559         * m4/socklen.m4: Fix typo.
27560
27561 2007-02-02  Eric Blake  <ebb9@byu.net>
27562
27563         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
27564         * modules/netinet_in (Makefile.am): Likewise.
27565
27566 2007-02-01  Bruno Haible  <bruno@clisp.org>
27567
27568         * lib/string_.h (GL_LINK_WARNING): New macro.
27569         (strcasecmp, strstr, strcasestr): If provided by the system,
27570         conditionally define as a macro that leads to a warning instead of to
27571         an error.
27572         (strncasecmp): Conditionally define as a macro that leads to a warning.
27573
27574 2007-02-01  Karl Berry  <karl@gnu.org>
27575
27576         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
27577
27578 2007-02-01  Bruno Haible  <bruno@clisp.org>
27579
27580         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
27581         renamings.
27582
27583 2007-02-01  Eric Blake  <ebb9@byu.net>
27584
27585         * modules/regex (Depends-on): Revert dependence on mempcpy.
27586         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
27587         module's definition of mempcpy.
27588         Reported by Paul Eggert.
27589
27590 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
27591
27592         * lib/string_.h: If the gnulib module XYZ is not present, undefine
27593         the symbol XYZ before redefining it.  This fixes a problem with
27594         programs that don't use XYZ, when compiled on systems that define
27595         XYZ to something else.
27596
27597 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
27598
27599         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
27600         occurs when "mkdir -m foo" creates a setgid directory that is (1)
27601         writeable to group or other and (2) is intended to have a special
27602         mode bit that is set or cleared.  In such a case, the directory
27603         should be neither group- nor other-writeable until the special
27604         mode bits are right.
27605
27606 2007-01-31  Eric Blake  <ebb9@byu.net>
27607
27608         * modules/mountlist (Depends-on): Add strstr.
27609
27610         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
27611         bug.
27612         * modules/string (Makefile.am): Remove redundant replacement.
27613         * modules/regex (Depends-on): Add mempcpy.
27614
27615 2007-01-31  Bruno Haible  <bruno@clisp.org>
27616
27617         New module description field 'Link'.
27618         * gnulib-tool (func_usage): Document --extract-link-directive.
27619         (sed_extract_prog): Recognize 'Link' directive.
27620         (func_get_link_directive): New function.
27621         (func_import): Show summary of link directives.
27622         Handle --extract-link-directive option.
27623         * modules/acl (Link): New section.
27624         * modules/clock-time (Link): New section.
27625         * modules/euidaccess (Link): New section.
27626         * modules/gettext (Link): New section.
27627         * modules/iconv (Link): New section.
27628         * modules/lock (Link): New section.
27629         * modules/nanosleep (Link): New section.
27630         * modules/readline (Link): New section.
27631
27632 2007-01-27  Bruno Haible  <bruno@clisp.org>
27633
27634         Enforce the use of gnulib modules for unportable <string.h> functions.
27635         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
27636         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
27637         (gl_HEADER_STRING_H_BODY): Require it.
27638         * lib/string_.h: If the gnulib module XYZ is not present, redefine
27639         the symbol XYZ to one that gives a link error.
27640         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
27641         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
27642         * modules/mempcpy (configure.ac): Likewise.
27643         * modules/memrchr (configure.ac): Likewise.
27644         * modules/stpcpy (configure.ac): Likewise.
27645         * modules/stpncpy (configure.ac): Likewise.
27646         * modules/strcase (configure.ac): Likewise.
27647         * modules/strcasestr (configure.ac): Likewise.
27648         * modules/strchrnul (configure.ac): Likewise.
27649         * modules/strdup (configure.ac): Likewise.
27650         * modules/strndup (configure.ac): Likewise.
27651         * modules/strnlen (configure.ac): Likewise.
27652         * modules/strpbrk (configure.ac): Likewise.
27653         * modules/strsep (configure.ac): Likewise.
27654         * modules/strstr (configure.ac): Likewise.
27655         * modules/strtok_r (configure.ac): Likewise.
27656
27657 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
27658
27659         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
27660
27661 2007-01-30  Jim Meyering  <jim@meyering.net>
27662
27663         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
27664
27665 2007-01-29  Bruno Haible  <bruno@clisp.org>
27666
27667         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
27668         * lib/execute.c: Likewise.
27669         * lib/pipe.c: Likewise.
27670         * lib/printf-args.h: Likewise.
27671         * lib/printf-args.c: Likewise.
27672         * lib/printf-parse.c: Likewise.
27673         * lib/vasnprintf.c: Likewise.
27674
27675 2007-01-29  Eric Blake  <ebb9@byu.net>
27676
27677         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
27678         declaration.
27679
27680 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
27681
27682         * lib/strptime.h (strptime): Use 'restrict' for args where
27683         POSIX requires this.
27684         * lib/strptime.c (strptime): Likewise.
27685         Change license notice from LGPL to GPL, since gnulib-tool will
27686         change this as needed.
27687         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
27688         defined.
27689         Include "strptime.h" first, to check interface.
27690         Do not #undef _LIBC and _NL_CURRENT.
27691         Do not include <stdlib.h>; no longer needed.
27692         Include "time_r.h" and declare ptime_locale_status
27693         only if _LIBC is not defined.
27694         (__P): Remove unused macro.
27695         (match_string): Bring back glibc version, but use it only if _LIBC
27696         is defined.
27697         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
27698         Remove unnecessary assertion and abort() call.
27699         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
27700         * m4/strptime.m4: Fix serial number comment.
27701         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
27702         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
27703         (Depends-on): Add time_r.
27704
27705 2007-01-29  Bruno Haible  <bruno@clisp.org>
27706
27707         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27708         strptime.
27709         * modules/strptime (Depends-on): Add stdbool.
27710         * lib/strptime.h: Include <time.h> always. Add comments.
27711
27712 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27713
27714         * modules/strptime: New file.
27715         * lib/strptime.h: New file.
27716         * lib/strptime.c: New file.
27717         * m4/strptime.m4: New file.
27718
27719 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
27720
27721         * MODULES.html.sh: New module mpsort.
27722         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
27723
27724         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
27725         a circularity problem with HP-UX ia64 reported by Bob Proulx in
27726         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
27727         All uses changed.
27728         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
27729         All uses changed.
27730         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
27731         to _Restrict_.
27732         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
27733         the parameter matches the prototype.
27734
27735 2007-01-28  Jim Meyering  <jim@meyering.net>
27736
27737         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
27738         sys/time.h here, reverting that part of the previous patch:
27739         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
27740
27741 2007-01-28  Bruno Haible  <bruno@clisp.org>
27742
27743         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
27744         value of $(SYS_TIME_H).
27745         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
27746         remove it conditionally, too. [added by Jim Meyering]
27747         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
27748         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
27749         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
27750         GETTIMEOFDAY_REPLACEMENT to 1.
27751
27752 2007-01-28  Bruno Haible  <bruno@clisp.org>
27753
27754         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
27755         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
27756         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
27757         Set UNISTD_H instead of UNISTD_H2.
27758         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
27759
27760 2007-01-28  Bruno Haible  <bruno@clisp.org>
27761
27762         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
27763         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
27764
27765 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27766
27767         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
27768         (func_create_testdir): Ensure C locale for `grep' and `tr'
27769         character ranges.
27770         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
27771         ACLOCAL_AMFLAGS parsing state machine.
27772
27773 2007-01-27  Bruno Haible  <bruno@clisp.org>
27774
27775         * modules/unistr/base: Update.
27776
27777 2007-01-27  Bruno Haible  <bruno@clisp.org>
27778
27779         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
27780         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
27781         * modules/unistr/u32-mbtouc-unsafe: Renamed from
27782         modules/unistr/u32-mbtouc.
27783         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
27784         * lib/unistr.h: Update.
27785         * lib/linebreak.c: Update.
27786         * modules/unistr/u32-mbtouc: Renamed from
27787         modules/unistr/u32-mbtouc-safe.
27788         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
27789         * lib/unistr.h: Update.
27790         * lib/unistr/u32-to-u8.c: Update.
27791         * lib/unistr/u32-to-u16.c: Update.
27792
27793 2007-01-27  Bruno Haible  <bruno@clisp.org>
27794
27795         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
27796         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
27797         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
27798         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
27799         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
27800         * modules/unistr/u16-mbtouc-unsafe: Renamed from
27801         modules/unistr/u16-mbtouc.
27802         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
27803         * lib/unistr.h: Update.
27804         * lib/linebreak.c: Update.
27805         * modules/linebreak: Update.
27806         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
27807         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
27808         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
27809         * modules/unistr/u16-mbtouc: Renamed from
27810         modules/unistr/u16-mbtouc-safe.
27811         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
27812         * lib/unistr.h: Update.
27813         * lib/unistr/u16-to-u8.c: Update.
27814         * modules/unistr/u16-to-u8: Update.
27815         * lib/unistr/u16-to-u32.c: Update.
27816         * modules/unistr/u16-to-u32: Update.
27817
27818 2007-01-27  Bruno Haible  <bruno@clisp.org>
27819
27820         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
27821         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
27822         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
27823         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
27824         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
27825         * modules/unistr/u8-mbtouc-unsafe: Renamed from
27826         modules/unistr/u8-mbtouc.
27827         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
27828         * lib/unistr.h: Update.
27829         * lib/striconveh.c: Update.
27830         * modules/striconveh: Update.
27831         * lib/linebreak.c: Update.
27832         * modules/linebreak: Update.
27833         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
27834         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
27835         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
27836         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
27837         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
27838         * lib/unistr.h: Update.
27839         * lib/striconveh.c: Update.
27840         * modules/striconveh: Update.
27841         * lib/unistr/u8-to-u16.c: Update.
27842         * modules/unistr/u8-to-u16: Update.
27843         * lib/unistr/u8-to-u32.c: Update.
27844         * modules/unistr/u8-to-u32: Update.
27845
27846 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27847
27848         Sync from Libtool.
27849         * lib/argz.c: Do not include strings.h nor memory.h, include
27850         string.h unconditionally.  Patch by Simon Josefsson.
27851
27852 2007-01-27  Bruno Haible  <bruno@clisp.org>
27853
27854         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
27855         from gl_HEADER_STRING_H_BODY.
27856         (gl_HEADER_STRING_H_BODY): Require it.
27857         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
27858         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
27859         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
27860         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
27861         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27862         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
27863         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27864         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
27865         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
27866         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
27867         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
27868         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
27869         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
27870         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27871         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
27872
27873 2007-01-27  Bruno Haible  <bruno@clisp.org>
27874
27875         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
27876         check_PROGRAMS into noinst_PROGRAMS.
27877         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
27878         check_PROGRAMS in this case.
27879         (func_import): Set for_test to false.
27880         (func_create_testdir): Set for_test to true.
27881
27882 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
27883             Bruno Haible  <bruno@clisp.org>
27884
27885         * modules/strcasestr (Files): Remove lib/strcasestr.h.
27886         (Depends-on): Add string.
27887         (Includes): Use <string.h> instead of strcasestr.h.
27888         * modules/string (Makefile.am): Also substitute the value of
27889         REPLACE_STRCASESTR.
27890         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
27891         assume strcasestr is declared in <string.h> not <strings.h>. Also
27892         set REPLACE_STRCASESTR.
27893         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
27894         REPLACE_STRCASESTR.
27895         * lib/strcasestr.h: Remove file.
27896         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
27897         * lib/string_.h (strcasestr): New declaration.
27898
27899 2007-01-27  Bruno Haible  <bruno@clisp.org>
27900
27901         * lib/string_.h: Use 'extern'.
27902
27903 2007-01-27  Jim Meyering  <jim@meyering.net>
27904
27905         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
27906         of set-but-not-used local, "q".
27907
27908         * lib/mempcpy.c: Include <config.h> before <string.h>.
27909         This fixes a compilation error on HP-UX, due to the system's
27910         "restrict"-using mempcpy prototype.
27911
27912 2007-01-26  Bruno Haible  <bruno@clisp.org>
27913
27914         Small optimization.
27915         * lib/javacomp.c: Include c-strstr.h.
27916          (is_envjavac_gcj): Use c_strstr instead of strstr.
27917         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
27918
27919 2007-01-26  Bruno Haible  <bruno@clisp.org>
27920
27921         * MODULES.html.sh (Unicode string functions): Add the new modules.
27922
27923         * modules/uniconv/u32-strconv-to-locale: New file.
27924         * lib/uniconv/u32-strconv-to-locale.c: New file.
27925
27926         * modules/uniconv/u16-strconv-to-locale: New file.
27927         * lib/uniconv/u16-strconv-to-locale.c: New file.
27928
27929         * modules/uniconv/u8-strconv-to-locale: New file.
27930         * lib/uniconv/u8-strconv-to-locale.c: New file.
27931
27932         * modules/uniconv/u32-strconv-from-locale: New file.
27933         * lib/uniconv/u32-strconv-from-locale.c: New file.
27934
27935         * modules/uniconv/u16-strconv-from-locale: New file.
27936         * lib/uniconv/u16-strconv-from-locale.c: New file.
27937
27938         * modules/uniconv/u8-strconv-from-locale: New file.
27939         * lib/uniconv/u8-strconv-from-locale.c: New file.
27940
27941         * modules/uniconv/u32-strconv-to-enc: New file.
27942         * lib/uniconv/u32-strconv-to-enc.c: New file.
27943         * modules/uniconv/u32-strconv-to-enc-tests: New file.
27944         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
27945
27946         * modules/uniconv/u16-strconv-to-enc: New file.
27947         * lib/uniconv/u16-strconv-to-enc.c: New file.
27948         * lib/uniconv/u-strconv-to-enc.h: New file.
27949         * modules/uniconv/u16-strconv-to-enc-tests: New file.
27950         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
27951
27952         * modules/uniconv/u8-strconv-to-enc: New file.
27953         * lib/uniconv/u8-strconv-to-enc.c: New file.
27954         * modules/uniconv/u8-strconv-to-enc-tests: New file.
27955         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
27956
27957         * modules/uniconv/u32-strconv-from-enc: New file.
27958         * lib/uniconv/u32-strconv-from-enc.c: New file.
27959         * modules/uniconv/u32-strconv-from-enc-tests: New file.
27960         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
27961
27962         * modules/uniconv/u16-strconv-from-enc: New file.
27963         * lib/uniconv/u16-strconv-from-enc.c: New file.
27964         * modules/uniconv/u16-strconv-from-enc-tests: New file.
27965         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
27966
27967         * modules/uniconv/u8-strconv-from-enc: New file.
27968         * lib/uniconv/u8-strconv-from-enc.c: New file.
27969         * lib/uniconv/u-strconv-from-enc.h: New file.
27970         * modules/uniconv/u8-strconv-from-enc-tests: New file.
27971         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
27972
27973         * modules/uniconv/u32-conv-from-enc: New file.
27974         * lib/uniconv/u32-conv-from-enc.c: New file.
27975         * modules/uniconv/u32-conv-from-enc-tests: New file.
27976         * tests/uniconv/test-u32-conv-from-enc.c: New file.
27977
27978         * modules/uniconv/u16-conv-from-enc: New file.
27979         * lib/uniconv/u16-conv-from-enc.c: New file.
27980         * lib/uniconv/u-conv-from-enc.h: New file.
27981         * modules/uniconv/u16-conv-from-enc-tests: New file.
27982         * tests/uniconv/test-u16-conv-from-enc.c: New file.
27983
27984         * modules/uniconv/u8-conv-from-enc: New file.
27985         * lib/uniconv/u8-conv-from-enc.c: New file.
27986         * modules/uniconv/u8-conv-from-enc-tests: New file.
27987         * tests/uniconv/test-u8-conv-from-enc.c: New file.
27988
27989         * modules/uniconv/base: New file.
27990         * lib/uniconv.h: New file.
27991
27992 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
27993
27994         * doc/gnulib-tool.texi (Initial import): Update to match current
27995         behavior with strdup module.
27996         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
27997         * lib/memmem.h: Remove; all uses removed.  This is now done
27998         by <string.h>.
27999         * lib/mempcpy.h: Likewise.
28000         * lib/memrchr.h: Likewise.
28001         * lib/stpcpy.h: Likewise.
28002         * lib/stpncpy.h: Likewise.
28003         * lib/strcase.h: Likewise.
28004         * lib/strchrnul.h: Likewise.
28005         * lib/strdup.h: Likewise.
28006         * lib/strndup.h: Likewise.
28007         * lib/strnlen.h: Likewise.
28008         * lib/strpbrk.h: Likewise.
28009         * lib/strsep.h: Likewise.
28010         * lib/strstr.h: Likewise.
28011         * lib/strtok_r.h: Likewise.
28012         * lib/string_.h: New file.
28013         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
28014         Rely on <string.h> instead.
28015         * lib/canon-host.c: Likewise.
28016         * lib/chdir-long.c: Likewise.
28017         * lib/concatpath.c: Likewise.
28018         * lib/exclude.c: Likewise.
28019         * lib/fchdir.c: Likewise.
28020         * lib/getaddrinfo.c: Likewise.
28021         * lib/getcwd.c: Likewise.
28022         * lib/getsubopt.c: Likewise.
28023         * lib/glob.c: Likewise.
28024         * lib/hard-locale.c: Likewise.
28025         * lib/iconvme.c: Likewise.
28026         * lib/javacomp.c: Likewise.
28027         * lib/mempcpy.c: Likewise.
28028         * lib/memrchr.c: Likewise.
28029         * lib/regex_internal.h: Likewise.
28030         * lib/stpncpy.c: Likewise.
28031         * lib/strcasecmp.c: Likewise.
28032         * lib/strchrnul.c: Likewise.
28033         * lib/strdup.c: Likewise.
28034         * lib/striconv.c: Likewise.
28035         * lib/striconveh.c: Likewise.
28036         * lib/striconveha.c: Likewise.
28037         * lib/strncasecmp.c: Likewise.
28038         * lib/strndup.c: Likewise.
28039         * lib/strnlen.c: Likewise.
28040         * lib/strsep.c: Likewise.
28041         * lib/strstr.c: Likewise.
28042         * lib/strtok_r.c: Likewise.
28043         * lib/userspec.c: Likewise.
28044         * lib/w32spawn.h: Likewise.
28045         * lib/xstrndup.c: Likewise.
28046         * lib/mountlist.c (strstr): Remove decl.
28047         * m4/string_h.m4: New file.
28048         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
28049         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
28050         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
28051         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
28052         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
28053         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
28054         Set REPLACE_STRCASECMP if necessary.
28055         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
28056         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
28057         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
28058         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
28059         HAVE_DECL_STRDUP if necessary.
28060         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
28061         since gl_FUNC_STRNDUP does that now.
28062         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
28063         Check for decl here...
28064         (gl_PREREQ_STRNLEN): ... not here.
28065         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
28066         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
28067         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
28068         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
28069         necessary.
28070         * modules/string: New file.
28071         * modules/memmem (Files): Remove special-purpose include file.
28072         (Depends-on): Add string.
28073         (Include): Include <string.h>, not the removed file.
28074         * modules/mempcpy: Likewise.
28075         * modules/memrchr: Likewise.
28076         * modules/stpcpy: Likewise.
28077         * modules/stpncpy: Likewise.
28078         * modules/strcase: Likewise.
28079         * modules/strchrnul: Likewise.
28080         * modules/strdup: Likewise.
28081         * modules/strndup: Likewise.
28082         * modules/strnlen: Likewise.
28083         * modules/strpbrk: Likewise.
28084         * modules/strsep: Likewise.
28085         * modules/strstr: Likewise.
28086         * modules/strtok_r: Likewise.
28087         * tests/test-dirname.c: Don't include "strdup.h", since
28088         <string.h> now suffices.
28089         * tests/test-memmem.c: Don't include "memmem.h", since
28090         <string.h> now suffices.
28091
28092 2007-01-25  Bruno Haible  <bruno@clisp.org>
28093
28094         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
28095         *resultp is 0.
28096
28097         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
28098         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
28099         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
28100         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
28101
28102         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
28103         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
28104         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
28105         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
28106         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
28107         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
28108
28109 2007-01-24  Bruno Haible  <bruno@clisp.org>
28110
28111         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
28112         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
28113         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
28114         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
28115         gl_FUNC_FTS_CORE.
28116         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
28117         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
28118         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
28119         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
28120         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
28121         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
28122         gl_FUNC_FCHOWNAT.
28123         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
28124         gl_FUNC_STRFTIME.
28125         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
28126         Reported by Ralf Wildenhues.
28127
28128 2007-01-24  Bruno Haible  <bruno@clisp.org>
28129
28130         Drop AC_REQUIRE calls that are redundant with the module dependencies.
28131         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
28132         gl_GETADDRINFO.
28133         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
28134         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
28135         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
28136
28137 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28138
28139         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
28140         Don't use 'exit'; just return from 'main'.
28141         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
28142
28143         * lib/fnmatch_.h: Readjust white space and comments to match
28144         glibc, to avoid spurious diffs.
28145
28146 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
28147
28148         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
28149         2004-12-01 change by Jakub Jelinek, since this code won't compile
28150         if !LIBC.  Problem reported by Bob Proulx.
28151
28152 2007-01-23  Bruno Haible  <bruno@clisp.org>
28153
28154         * lib/striconveh.c: Include c-strcaseeq.h.
28155         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
28156         * modules/striconveh (Depends-on): Add c-strcaseeq.
28157
28158 2007-01-23  Bruno Haible  <bruno@clisp.org>
28159
28160         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
28161
28162         * modules/c-strcaseeq: New file.
28163         * lib/c-strcaseeq.h: New file.
28164
28165         * modules/streq: New file.
28166         * lib/streq.h: New file.
28167
28168 2007-01-23  Bruno Haible  <bruno@clisp.org>
28169
28170         * modules/striconveha-tests: New file.
28171         * tests/test-striconveha.c: New file.
28172
28173         * lib/striconveha.h: Include <stdbool.h>.
28174         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
28175         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
28176         (mem_iconveha_notranslit): Renamed from mem_iconveha.
28177         (mem_iconveha): New function.
28178         (str_iconveha_notranslit): Renamed from str_iconveha.
28179         (str_iconveha): New function.
28180         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
28181         c-strcase.
28182
28183 2007-01-23  Bruno Haible  <bruno@clisp.org>
28184
28185         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
28186         encodings without forgiving before trying any encoding with handler.
28187         (str_iconveha): Try all encodings without forgiving before trying any
28188         encoding with handler.
28189
28190 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
28191
28192         Import the following changes from libc.
28193
28194         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
28195
28196         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
28197
28198         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
28199
28200         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
28201         normal_bracket label.
28202
28203         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
28204
28205         [BZ #361]
28206         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
28207         to normal_bracket after fetching the next character.
28208
28209 2007-01-22  Bruno Haible  <bruno@clisp.org>
28210
28211         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
28212         argument.
28213         * lib/striconveh.c (iconv_carefully_1): New function.
28214         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
28215         argument.
28216         (str_cd_iconveh): Update.
28217         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
28218         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
28219         * tests/test-striconveh.c (MAGIC): New macro.
28220         (new_offsets): New function.
28221         (main): Test call with and without offsets.
28222
28223 2007-01-22  Bruno Haible  <bruno@clisp.org>
28224
28225         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
28226         * modules/sys_select (Makefile.am): Likewise.
28227         * modules/sys_socket (Makefile.am): Likewise.
28228         * modules/sys_time (Makefile.am): Likewise.
28229
28230 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
28231
28232         * modules/gettimeofday (License): Change from GPL to LGPL, since
28233         gettimeofday is a library function.
28234
28235 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28236
28237         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
28238
28239 2007-01-21  Bruno Haible  <bruno@clisp.org>
28240
28241         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
28242
28243 2007-01-21  Bruno Haible  <bruno@clisp.org>
28244
28245         * modules/striconveha: New file.
28246         * lib/striconveha.h: New file.
28247         * lib/striconveha.c: New file.
28248         * MODULES.html.sh (Internationalization functions): Add striconveha.
28249         * lib/striconv.c (str_iconv): Optimize the case of an empty input
28250         string.
28251         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
28252
28253 2007-01-21  Bruno Haible  <bruno@clisp.org>
28254
28255         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
28256         * lib/striconveh.c (str_iconveh): Likewise.
28257
28258 2007-01-21  Bruno Haible  <bruno@clisp.org>
28259
28260         * lib/striconveh.h (mem_iconveh): New declaration.
28261         * lib/striconveh.c (mem_iconveh): New function.
28262         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
28263
28264 2007-01-21  Bruno Haible  <bruno@clisp.org>
28265
28266         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
28267
28268         * lib/striconveh.h (mem_cd_iconveh): Change specification.
28269         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
28270         original result buffer.
28271         (str_cd_iconveh): Update.
28272         * tests/test-striconveh.c (main): Update.
28273
28274         * lib/striconv.h (mem_cd_iconv): Change specification.
28275         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
28276         result buffer.
28277         (str_cd_iconv): Update.
28278         * tests/test-striconv.c (main): Update.
28279
28280 2007-01-21  Bruno Haible  <bruno@clisp.org>
28281
28282         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
28283
28284 2007-01-20  Jim Meyering  <jim@meyering.net>
28285
28286         * lib/userspec.c (parse_with_separator): If a user or group string
28287         starts with "+", skip the corresponding name-to-ID look-up, since
28288         such a look-up must fail: user and group names may not include "+".
28289
28290 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
28291
28292         * lib/poll.c: Include sys/time.h and time.h unconditionally,
28293         since we now assume the sys_time module.
28294         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
28295         check for sys/time.h; no longer needed.
28296         * modules/poll (Depends-on): Depend on sys_time.
28297
28298 2007-01-18  Bruno Haible  <bruno@clisp.org>
28299
28300         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
28301         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
28302
28303         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
28304         gettimeofday.
28305
28306         * tests/test-gettimeofday.c: Include <time.h>.
28307         (dummy): Remove variable.
28308
28309         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
28310         gl_HEADER_SYS_TIME_H.
28311         (gl_HEADER_SYS_TIME_H): New macro.
28312
28313         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
28314         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
28315         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
28316         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
28317         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
28318         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
28319         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
28320         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
28321         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
28322         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
28323         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
28324
28325         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
28326         last change; it caused a compilation error when cross-compiling to
28327         Cygwin.
28328
28329 2007-01-18  Jim Meyering  <jim@meyering.net>
28330
28331         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
28332         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
28333         than the race-prone "test -d sys || mkdir sys".
28334         (configure.ac): Use AC_PROG_MKDIR_P.
28335         * modules/sys_select: Likewise.
28336         * modules/sys_socket: Likewise.
28337         * modules/sys_time: Likewise.
28338
28339 2007-01-18  Eric Blake  <ebb9@byu.net>
28340
28341         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
28342         replace gettimeofday.
28343         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
28344         name, to avoid infinite recursion.
28345
28346 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
28347
28348         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
28349         module sys_time.
28350         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
28351         assume timespec.h defines struct timeval.
28352         * lib/settime.c: Likewise.
28353         * lib/utimens.c: Likewise.
28354         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
28355         since we now assume the gettimeofday module.
28356         * lib/tempname.c (__gen_tempname): Likewise.
28357         * lib/gettimeofday.h: Remove.
28358         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
28359         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
28360         Include <time.h>, for 'time()'.
28361         (localtime_buffer_addr): Also use this workaround if
28362         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
28363         to simplify the uses.  All uses changed.
28364         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
28365         that #undef is inside {}, and 'const' follows type name consistently.
28366         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
28367         (gettimeofday): Do not use the maximum possible value for
28368         tv->tv_usec, since that might break usages other than ls.c.
28369         Instead, we'll leave ls.c alone.  This undoes today's patch
28370         by Bruno.  Add a compile-time warning for 1s-clock resolution;
28371         we've never observed the problem but might as well keep the
28372         canary.
28373         * lib/nanosleep.c: Include timespec.h first, for interface check.
28374         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
28375         now assume the sys_time module.
28376         * lib/tempname.c: Likewise.
28377         * lib/timespec.h: Likewise.
28378         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
28379         needed.
28380         * lib/strftime.c: Likewise.
28381         * lib/timespec.h: Likewise.
28382         * lib/posixtm.c: Include posixtm.h first, for interface check.
28383         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
28384         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
28385         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
28386         * lib/sys_time_.h: New file.
28387         * lib/timespec.h (struct timespec): Use long int, not long.
28388         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
28389         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
28390         Remove obsolescent call to AC_HEADER_TIME.
28391         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28392         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28393         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
28394         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
28395         Likewise.
28396         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
28397         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
28398         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
28399         into the sys_time module.  Check for gettimeofday just once.
28400         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
28401         for gettimeofday signature to just check the signature.  Merely
28402         compile it, since linking doesn't test signature.  Improve test for
28403         whether gettimeofday.o is actually needed.
28404         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
28405         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
28406         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
28407         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
28408         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
28409         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
28410         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
28411         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
28412         than worrying about sys/time.h.
28413         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
28414         Don't bother worrying about TIME_WITH_SYS_TIME.
28415         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
28416         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
28417         * m4/sys_time_h.m4: New file.
28418         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
28419         Don't include sys/time.h.  Return from main rather than exiting.
28420         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
28421         all uses changed.
28422         * modules/gethrxtime (Depends-on): Add sys_time.
28423         * modules/gettime (Depends-on): Likewise.
28424         * modules/gettimeofday (Depends-on): Likewise.
28425         * modules/nanosleep (Depends-on): Likewise.
28426         * modules/settime (Depends-on): Likewise.
28427         * modules/tempname (Depends-on): Likewise.
28428         * modules/utimens (Depends-on): Likewise.
28429         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
28430         (Include:) Change back to <sys/time.h>.
28431         (Maintainer:) Add self.
28432         * modules/sys_time: New file.
28433         * modules/tempname (Depends-on): Add gettimeofday.
28434         * tests/test-gettimeofday.c: Include <sys/time.h>
28435         rather than gettimeofday.h.
28436
28437 2007-01-17  Bruno Haible  <bruno@clisp.org>
28438
28439         * gnulib-tool (func_get_license): Revert last patch. Instead, let
28440         the license default to GPL.
28441         (func_create_testdir): Don't complain if a module is LGPL and its
28442         tests module depends on GPLed modules.
28443
28444 2007-01-17  Bruno Haible  <bruno@clisp.org>
28445
28446         * lib/gettimeofday.c (gettimeofday): Add code for the case
28447         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
28448         maximum possible value for tv->tv_usec, rather than the minimum one.
28449
28450 2005-10-08  Martin Lambers  <marlam@marlam.de>
28451 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28452 2007-01-16  Bruno Haible  <bruno@clisp.org>
28453
28454         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
28455         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
28456         gl_FUNC_GETTIMEOFDAY.
28457         (Include): Add gettimeofday.h.
28458         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
28459         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
28460         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
28461         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
28462         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
28463         * lib/gettimeofday.h: New file.
28464         * lib/gettimeofday.c: Include <sys/timeb.h>.
28465         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
28466         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
28467         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
28468         fall back on time().
28469
28470         * tests/test-gettimeofday.c: New file.
28471         * modules/gettimeofday-tests: New file.
28472
28473 2007-01-16  Eric Blake  <ebb9@byu.net>
28474
28475         * modules/fnmatch (Depends-on): Depend on wchar.
28476         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
28477         * m4/fnmatch.m4: Likewise.
28478         * modules/mbchar (Makefile.am): Assume <wchar.h>.
28479         * m4/mbchar.m4: Likewise.
28480         * modules/mbswidth (Depends-on): Depend on wchar.
28481         * lib/mbswidth.c: Assume <wchar.h>.
28482         * m4/mbswidth.m4: Likewise.
28483         * modules/quotearg (Depends-on): Depend on wchar.
28484         * lib/quotearg.c: Assume <wchar.h>.
28485         * m4/quotearg.m4: Likewise.
28486         * modules/regex (Depends-on): Depend on wchar.
28487         * lib/regex_internal.h: Assume <wchar.h>.
28488         * m4/regex.m4: Likewise.
28489         * modules/stdint (Depends-on): Depend on wchar.
28490         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
28491         * m4/stdint.m4: Likewise.
28492         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
28493         * modules/strftime (Depends-on): Depend on wchar.
28494         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
28495         * modules/strtol (Depends-on): Depend on wchar.
28496         * lib/strtol.c: Assume <wchar.h>.
28497         * modules/wcwidth (Depends-on): Depend on wchar.
28498         * lib/wcwidth.h: Assume <wchar.h>.
28499         * m4/wcwidth.m4: Likewise.
28500
28501 2007-01-16  Bruno Haible  <bruno@clisp.org>
28502
28503         * modules/csharpexec-script: New, created from...
28504         * modules/csharpexec: ... this.
28505
28506 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
28507
28508         * modules/javaexec-script: New, created from...
28509         * modules/javaexec: ... this.
28510
28511 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28512
28513         * modules/poll (Dependencies): Add sys_select.
28514
28515 2007-01-15  Jim Meyering  <jim@meyering.net>
28516
28517         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
28518         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
28519         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
28520         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
28521
28522 2007-01-15  Bruno Haible  <bruno@clisp.org>
28523
28524         * modules/striconveh: New file.
28525         * lib/striconveh.h: New file.
28526         * lib/striconveh.c: New file.
28527         * MODULES.html.sh (Internationalization functions): Add striconveh.
28528
28529         * modules/striconveh-tests: New file.
28530         * tests/test-striconveh.c: New file.
28531
28532 2007-01-15  Bruno Haible  <bruno@clisp.org>
28533
28534         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
28535         not from GNU libiconv or GNU libc.
28536
28537 2007-01-15  Bruno Haible  <bruno@clisp.org>
28538
28539         * doc/gnulib-intro.texi (Copyright): Explain the different license
28540         terms for module descriptions, autoconf macros, tests, documentation.
28541
28542 2007-01-14  Bruno Haible  <bruno@clisp.org>
28543
28544         * modules/striconv-tests: New file.
28545         * tests/test-striconv.c: New file.
28546
28547 2007-01-14  Bruno Haible  <bruno@clisp.org>
28548
28549         * modules/iconv-tests: New file.
28550         * tests/test-iconv.c: New file.
28551
28552 2007-01-14  Bruno Haible  <bruno@clisp.org>
28553
28554         * gnulib-tool (func_get_license): For test modules, use the license of
28555         the main module.
28556
28557 2007-01-14  Bruno Haible  <bruno@clisp.org>
28558
28559         * modules/iconv (Include): Clarify that <iconv.h> can only be included
28560         if iconv is found to exist.
28561
28562 2007-01-14  Bruno Haible  <bruno@clisp.org>
28563
28564         * modules/c-ctype-tests: New file.
28565         * tests/test-c-ctype.c: New file.
28566
28567 2007-01-14  Bruno Haible  <bruno@clisp.org>
28568
28569         * modules/binary-io-tests: New file.
28570         * tests/test-binary-io.sh: New file.
28571         * tests/test-binary-io.c: New file.
28572
28573 2007-01-14  Bruno Haible  <bruno@clisp.org>
28574
28575         * modules/array-oset-tests: New file.
28576         * tests/test-array_oset.c: New file.
28577
28578 2007-01-14  Bruno Haible  <bruno@clisp.org>
28579
28580         * modules/array-list-tests: New file.
28581         * tests/test-array_list.c: New file.
28582
28583 2007-01-14  Bruno Haible  <bruno@clisp.org>
28584
28585         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
28586         and make.
28587         Reported by Simon Josefsson in
28588         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
28589
28590 2007-01-14  Bruno Haible  <bruno@clisp.org>
28591
28592         * modules/allocsa-tests: New file.
28593         * tests/test-allocsa.c: New file.
28594
28595 2007-01-14  Bruno Haible  <bruno@clisp.org>
28596
28597         * modules/fchdir (Depends-on): Add absolute-header.
28598         * modules/unistd (Depends-on): Likewise.
28599
28600 2006-12-30  Bruno Haible  <bruno@clisp.org>
28601
28602         * modules/fchdir: New file.
28603         * modules/unistd (Files): Add lib/unistd_.h.
28604         (Makefile.am): Generate unistd.h from unistd_.h.
28605         * lib/fchdir.c: New file.
28606         * lib/dirent_.h: New file.
28607         * lib/unistd_.h: New file.
28608         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
28609         * m4/fchdir.m4: New file.
28610         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
28611         (gl_HEADER_UNISTD): Invoke it.
28612         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
28613         function.
28614         * lib/backupfile.c (opendir, closedir): Undefine.
28615         * lib/chown.c (open, close): Undefine.
28616         * lib/clean-temp.c (open, close): Undefine.
28617         * lib/copy-file.c (open, close): Undefine.
28618         * lib/execute.c (open, close): Undefine.
28619         * lib/fsusage.c (open, close): Undefine.
28620         * lib/gc-gnulib.c (open, close): Undefine.
28621         * lib/getcwd.c (opendir, closedir): Undefine.
28622         * lib/glob.c (opendir, closedir): Undefine.
28623         * lib/javacomp.c (open, close): Undefine.
28624         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
28625         * lib/openat-proc.c (open, close): Undefine.
28626         * lib/pagealign_alloc.c (open, close): Undefine.
28627         * lib/pipe.c (open, close): Undefine.
28628         * lib/progreloc.c (open, close): Undefine.
28629         * lib/savedir.c (opendir, closedir): Undefine.
28630         * lib/utime.c (open, close): Undefine.
28631         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
28632
28633 2007-01-10  Bruno Haible  <bruno@clisp.org>
28634
28635         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
28636
28637 2007-01-12  Eric Blake  <ebb9@byu.net>
28638
28639         Provide a robust <wchar.h>.  Further simplifications are now
28640         possible in other modules, but not included here.
28641         * modules/wchar: New module.
28642         * m4/wchar.m4: New file.
28643         * lib/wchar_.h: Likewise.
28644         * modules/mbchar (Depends-on): Depend on wchar, as the first use
28645         of the new module.
28646         * MODULES.html.sh (Extended multibyte and wide character utilities):
28647         New section.
28648
28649 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
28650
28651         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
28652         to a reasonable default for memory allocation.
28653         (xreadlink): Don't allocate a huge buffer, to work around a buggy
28654         file system that reports garbage st_size values for symlinks.
28655         Problem reported by Liyang Hu.
28656
28657 2007-01-11  Simon Josefsson  <simon@josefsson.org>
28658
28659         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
28660         Emacs .#* auto-save files).
28661
28662 2007-01-11  Bruno Haible  <bruno@clisp.org>
28663
28664         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
28665         directory.
28666
28667 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
28668
28669         Use @...@ consistently in lib/wctype_.h.
28670         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
28671         on it being set to 1 or 0.
28672         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
28673         go back to AC_SUBSTing it.
28674         * modules/wctype (Makefile.am): Undo previous change.
28675
28676 2007-01-10  Eric Blake  <ebb9@byu.net>
28677
28678         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
28679         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
28680         * modules/wctype (Makefile.am): Likewise.
28681         Reported by Chris McGuire.
28682
28683 2007-01-10  Jim Meyering  <jim@meyering.net>
28684
28685         fts.c: a small readability/maintainability improvement
28686         * lib/fts.c (fts_read): Make this code slightly more readable and
28687         maintainable by hoisting the "sp->fts_cur = p" assignments to
28688         immediately follow the statements that set P.  Derived from
28689         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
28690
28691 2007-01-10  Eric Blake  <ebb9@byu.net>
28692
28693         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
28694         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
28695         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28696         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28697         Reported by Chris McGuire.
28698
28699 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28700
28701         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
28702         in sed script.
28703
28704 2007-01-09  Bruno Haible  <bruno@clisp.org>
28705
28706         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
28707         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
28708         variables.
28709         (func_module): Use them.
28710
28711 2007-01-09  Bruno Haible  <bruno@clisp.org>
28712
28713         * modules/unistr/base: New file.
28714         * lib/unistr.h: New file.
28715
28716         * modules/unistr/u8-to-u16: New file.
28717         * lib/unistr/u8-to-u16.c: New file.
28718
28719         * modules/unistr/u8-to-u32: New file.
28720         * lib/unistr/u8-to-u32.c: New file.
28721
28722         * modules/unistr/u16-to-u8: New file.
28723         * lib/unistr/u16-to-u8.c: New file.
28724
28725         * modules/unistr/u16-to-u32: New file.
28726         * lib/unistr/u16-to-u32.c: New file.
28727
28728         * modules/unistr/u32-to-u8: New file.
28729         * lib/unistr/u32-to-u8.c: New file.
28730
28731         * modules/unistr/u32-to-u16: New file.
28732         * lib/unistr/u32-to-u16.c: New file.
28733
28734         * modules/unistr/u8-check: New file.
28735         * modules/unistr/u16-check: New file.
28736         * modules/unistr/u32-check: New file.
28737         * lib/unistr/u8-check.c: New file.
28738         * lib/unistr/u16-check.c: New file.
28739         * lib/unistr/u32-check.c: New file.
28740
28741         * modules/unistr/u8-chr: New file.
28742         * modules/unistr/u16-chr: New file.
28743         * modules/unistr/u32-chr: New file.
28744         * lib/unistr/u8-chr.c: New file.
28745         * lib/unistr/u16-chr.c: New file.
28746         * lib/unistr/u32-chr.c: New file.
28747
28748         * modules/unistr/u8-cmp: New file.
28749         * modules/unistr/u16-cmp: New file.
28750         * modules/unistr/u32-cmp: New file.
28751         * lib/unistr/u8-cmp.c: New file.
28752         * lib/unistr/u16-cmp.c: New file.
28753         * lib/unistr/u32-cmp.c: New file.
28754
28755         * modules/unistr/u8-cpy: New file.
28756         * modules/unistr/u16-cpy: New file.
28757         * modules/unistr/u32-cpy: New file.
28758         * lib/unistr/u8-cpy.c: New file.
28759         * lib/unistr/u16-cpy.c: New file.
28760         * lib/unistr/u32-cpy.c: New file.
28761         * lib/unistr/u-cpy.h: New file.
28762
28763         * modules/unistr/u8-cpy-alloc: New file.
28764         * modules/unistr/u16-cpy-alloc: New file.
28765         * modules/unistr/u32-cpy-alloc: New file.
28766         * lib/unistr/u8-cpy-alloc.c: New file.
28767         * lib/unistr/u16-cpy-alloc.c: New file.
28768         * lib/unistr/u32-cpy-alloc.c: New file.
28769         * lib/unistr/u-cpy-alloc.h: New file.
28770
28771         * modules/unistr/u8-endswith: New file.
28772         * modules/unistr/u16-endswith: New file.
28773         * modules/unistr/u32-endswith: New file.
28774         * lib/unistr/u8-endswith.c: New file.
28775         * lib/unistr/u16-endswith.c: New file.
28776         * lib/unistr/u32-endswith.c: New file.
28777         * lib/unistr/u-endswith.h: New file.
28778
28779         * modules/unistr/u8-mblen: New file.
28780         * modules/unistr/u16-mblen: New file.
28781         * modules/unistr/u32-mblen: New file.
28782         * lib/unistr/u8-mblen.c: New file.
28783         * lib/unistr/u16-mblen.c: New file.
28784         * lib/unistr/u32-mblen.c: New file.
28785
28786         * modules/unistr/u8-mbtouc: New file.
28787         * modules/unistr/u16-mbtouc: New file.
28788         * modules/unistr/u32-mbtouc: New file.
28789         * lib/unistr/u8-mbtouc.c: New file.
28790         * lib/unistr/u16-mbtouc.c: New file.
28791         * lib/unistr/u32-mbtouc.c: New file.
28792
28793         * modules/unistr/u8-mbtouc-safe: New file.
28794         * modules/unistr/u16-mbtouc-safe: New file.
28795         * modules/unistr/u32-mbtouc-safe: New file.
28796         * lib/unistr/u8-mbtouc-safe.c: New file.
28797         * lib/unistr/u16-mbtouc-safe.c: New file.
28798         * lib/unistr/u32-mbtouc-safe.c: New file.
28799
28800         * modules/unistr/u8-move: New file.
28801         * modules/unistr/u16-move: New file.
28802         * modules/unistr/u32-move: New file.
28803         * lib/unistr/u8-move.c: New file.
28804         * lib/unistr/u16-move.c: New file.
28805         * lib/unistr/u32-move.c: New file.
28806         * lib/unistr/u-move.h: New file.
28807
28808         * modules/unistr/u8-next: New file.
28809         * modules/unistr/u16-next: New file.
28810         * modules/unistr/u32-next: New file.
28811         * lib/unistr/u8-next.c: New file.
28812         * lib/unistr/u16-next.c: New file.
28813         * lib/unistr/u32-next.c: New file.
28814
28815         * modules/unistr/u8-prev: New file.
28816         * modules/unistr/u16-prev: New file.
28817         * modules/unistr/u32-prev: New file.
28818         * lib/unistr/u8-prev.c: New file.
28819         * lib/unistr/u16-prev.c: New file.
28820         * lib/unistr/u32-prev.c: New file.
28821
28822         * modules/unistr/u8-set: New file.
28823         * modules/unistr/u16-set: New file.
28824         * modules/unistr/u32-set: New file.
28825         * lib/unistr/u8-set.c: New file.
28826         * lib/unistr/u16-set.c: New file.
28827         * lib/unistr/u32-set.c: New file.
28828         * lib/unistr/u-set.h: New file.
28829
28830         * modules/unistr/u8-startswith: New file.
28831         * modules/unistr/u16-startswith: New file.
28832         * modules/unistr/u32-startswith: New file.
28833         * lib/unistr/u8-startswith.c: New file.
28834         * lib/unistr/u16-startswith.c: New file.
28835         * lib/unistr/u32-startswith.c: New file.
28836         * lib/unistr/u-startswith.h: New file.
28837
28838         * modules/unistr/u8-stpcpy: New file.
28839         * modules/unistr/u16-stpcpy: New file.
28840         * modules/unistr/u32-stpcpy: New file.
28841         * lib/unistr/u8-stpcpy.c: New file.
28842         * lib/unistr/u16-stpcpy.c: New file.
28843         * lib/unistr/u32-stpcpy.c: New file.
28844         * lib/unistr/u-stpcpy.h: New file.
28845
28846         * modules/unistr/u8-stpncpy: New file.
28847         * modules/unistr/u16-stpncpy: New file.
28848         * modules/unistr/u32-stpncpy: New file.
28849         * lib/unistr/u8-stpncpy.c: New file.
28850         * lib/unistr/u16-stpncpy.c: New file.
28851         * lib/unistr/u32-stpncpy.c: New file.
28852         * lib/unistr/u-stpncpy.h: New file.
28853
28854         * modules/unistr/u8-strcat: New file.
28855         * modules/unistr/u16-strcat: New file.
28856         * modules/unistr/u32-strcat: New file.
28857         * lib/unistr/u8-strcat.c: New file.
28858         * lib/unistr/u16-strcat.c: New file.
28859         * lib/unistr/u32-strcat.c: New file.
28860         * lib/unistr/u-strcat.h: New file.
28861
28862         * modules/unistr/u8-strchr: New file.
28863         * modules/unistr/u16-strchr: New file.
28864         * modules/unistr/u32-strchr: New file.
28865         * lib/unistr/u8-strchr.c: New file.
28866         * lib/unistr/u16-strchr.c: New file.
28867         * lib/unistr/u32-strchr.c: New file.
28868
28869         * modules/unistr/u8-strcmp: New file.
28870         * modules/unistr/u16-strcmp: New file.
28871         * modules/unistr/u32-strcmp: New file.
28872         * lib/unistr/u8-strcmp.c: New file.
28873         * lib/unistr/u16-strcmp.c: New file.
28874         * lib/unistr/u32-strcmp.c: New file.
28875
28876         * modules/unistr/u8-strcpy: New file.
28877         * modules/unistr/u16-strcpy: New file.
28878         * modules/unistr/u32-strcpy: New file.
28879         * lib/unistr/u8-strcpy.c: New file.
28880         * lib/unistr/u16-strcpy.c: New file.
28881         * lib/unistr/u32-strcpy.c: New file.
28882         * lib/unistr/u-strcpy.h: New file.
28883
28884         * modules/unistr/u8-strcspn: New file.
28885         * modules/unistr/u16-strcspn: New file.
28886         * modules/unistr/u32-strcspn: New file.
28887         * lib/unistr/u8-strcspn.c: New file.
28888         * lib/unistr/u16-strcspn.c: New file.
28889         * lib/unistr/u32-strcspn.c: New file.
28890         * lib/unistr/u-strcspn.h: New file.
28891
28892         * modules/unistr/u8-strdup: New file.
28893         * modules/unistr/u16-strdup: New file.
28894         * modules/unistr/u32-strdup: New file.
28895         * lib/unistr/u8-strdup.c: New file.
28896         * lib/unistr/u16-strdup.c: New file.
28897         * lib/unistr/u32-strdup.c: New file.
28898         * lib/unistr/u-strdup.h: New file.
28899
28900         * modules/unistr/u8-strlen: New file.
28901         * modules/unistr/u16-strlen: New file.
28902         * modules/unistr/u32-strlen: New file.
28903         * lib/unistr/u8-strlen.c: New file.
28904         * lib/unistr/u16-strlen.c: New file.
28905         * lib/unistr/u32-strlen.c: New file.
28906         * lib/unistr/u-strlen.h: New file.
28907
28908         * modules/unistr/u8-strmblen: New file.
28909         * modules/unistr/u16-strmblen: New file.
28910         * modules/unistr/u32-strmblen: New file.
28911         * lib/unistr/u8-strmblen.c: New file.
28912         * lib/unistr/u16-strmblen.c: New file.
28913         * lib/unistr/u32-strmblen.c: New file.
28914
28915         * modules/unistr/u8-strmbtouc: New file.
28916         * modules/unistr/u16-strmbtouc: New file.
28917         * modules/unistr/u32-strmbtouc: New file.
28918         * lib/unistr/u8-strmbtouc.c: New file.
28919         * lib/unistr/u16-strmbtouc.c: New file.
28920         * lib/unistr/u32-strmbtouc.c: New file.
28921
28922         * modules/unistr/u8-strncat: New file.
28923         * modules/unistr/u16-strncat: New file.
28924         * modules/unistr/u32-strncat: New file.
28925         * lib/unistr/u8-strncat.c: New file.
28926         * lib/unistr/u16-strncat.c: New file.
28927         * lib/unistr/u32-strncat.c: New file.
28928         * lib/unistr/u-strncat.h: New file.
28929
28930         * modules/unistr/u8-strncmp: New file.
28931         * modules/unistr/u16-strncmp: New file.
28932         * modules/unistr/u32-strncmp: New file.
28933         * lib/unistr/u8-strncmp.c: New file.
28934         * lib/unistr/u16-strncmp.c: New file.
28935         * lib/unistr/u32-strncmp.c: New file.
28936
28937         * modules/unistr/u8-strncpy: New file.
28938         * modules/unistr/u16-strncpy: New file.
28939         * modules/unistr/u32-strncpy: New file.
28940         * lib/unistr/u8-strncpy.c: New file.
28941         * lib/unistr/u16-strncpy.c: New file.
28942         * lib/unistr/u32-strncpy.c: New file.
28943         * lib/unistr/u-strncpy.h: New file.
28944
28945         * modules/unistr/u8-strnlen: New file.
28946         * modules/unistr/u16-strnlen: New file.
28947         * modules/unistr/u32-strnlen: New file.
28948         * lib/unistr/u8-strnlen.c: New file.
28949         * lib/unistr/u16-strnlen.c: New file.
28950         * lib/unistr/u32-strnlen.c: New file.
28951         * lib/unistr/u-strnlen.h: New file.
28952
28953         * modules/unistr/u8-strpbrk: New file.
28954         * modules/unistr/u16-strpbrk: New file.
28955         * modules/unistr/u32-strpbrk: New file.
28956         * lib/unistr/u8-strpbrk.c: New file.
28957         * lib/unistr/u16-strpbrk.c: New file.
28958         * lib/unistr/u32-strpbrk.c: New file.
28959         * lib/unistr/u-strpbrk.h: New file.
28960
28961         * modules/unistr/u8-strrchr: New file.
28962         * modules/unistr/u16-strrchr: New file.
28963         * modules/unistr/u32-strrchr: New file.
28964         * lib/unistr/u8-strrchr.c: New file.
28965         * lib/unistr/u16-strrchr.c: New file.
28966         * lib/unistr/u32-strrchr.c: New file.
28967
28968         * modules/unistr/u8-strspn: New file.
28969         * modules/unistr/u16-strspn: New file.
28970         * modules/unistr/u32-strspn: New file.
28971         * lib/unistr/u8-strspn.c: New file.
28972         * lib/unistr/u16-strspn.c: New file.
28973         * lib/unistr/u32-strspn.c: New file.
28974         * lib/unistr/u-strspn.h: New file.
28975
28976         * modules/unistr/u8-strstr: New file.
28977         * modules/unistr/u16-strstr: New file.
28978         * modules/unistr/u32-strstr: New file.
28979         * lib/unistr/u8-strstr.c: New file.
28980         * lib/unistr/u16-strstr.c: New file.
28981         * lib/unistr/u32-strstr.c: New file.
28982         * lib/unistr/u-strstr.h: New file.
28983
28984         * modules/unistr/u8-strtok: New file.
28985         * modules/unistr/u16-strtok: New file.
28986         * modules/unistr/u32-strtok: New file.
28987         * lib/unistr/u8-strtok.c: New file.
28988         * lib/unistr/u16-strtok.c: New file.
28989         * lib/unistr/u32-strtok.c: New file.
28990         * lib/unistr/u-strtok.h: New file.
28991
28992         * modules/unistr/u8-uctomb: New file.
28993         * modules/unistr/u16-uctomb: New file.
28994         * modules/unistr/u32-uctomb: New file.
28995         * lib/unistr/u8-uctomb.c: New file.
28996         * lib/unistr/u16-uctomb.c: New file.
28997         * lib/unistr/u32-uctomb.c: New file.
28998
28999         * MODULES.html.sh (Unicode string functions): Add the new modules.
29000
29001 2007-01-08  Bruno Haible  <bruno@clisp.org>
29002
29003         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
29004         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
29005         subdirectories.
29006
29007 2007-01-08  Karl Berry  <karl@gnu.org>
29008
29009         * doc/error.texi: mention that main() fns must set program_name
29010         when progname is used.
29011
29012 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
29013
29014         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
29015         WCTYPE_H is empty, for the benefit of builds from non-distclean
29016         directories.  Problem reported by Eric Blake in
29017         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
29018
29019 2007-01-08  Bruno Haible  <bruno@clisp.org>
29020
29021         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
29022         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
29023         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
29024         PROVIDE_CANONICALIZE_FILENAME_MODE.
29025         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
29026
29027 2007-01-08  Bruno Haible  <bruno@clisp.org>
29028
29029         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
29030         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
29031         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
29032         * lib/fts.c: Likewise.
29033         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
29034
29035 2006-12-25  Bruno Haible  <bruno@clisp.org>
29036
29037         * modules/utf8-ucs4-safe: New file.
29038         * lib/utf8-ucs4-safe.h: New file.
29039         * lib/unistr/utf8-ucs4-safe.c: New file.
29040
29041         * modules/utf16-ucs4-safe: New file.
29042         * lib/utf16-ucs4-safe.h: New file.
29043         * lib/unistr/utf16-ucs4-safe.c: New file.
29044
29045         * MODULES.html.sh (Unicode string functions): Add the new modules.
29046
29047 2007-01-08  Bruno Haible  <bruno@clisp.org>
29048
29049         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
29050         (Depends-on): Add unitypes.
29051         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
29052         (u8_mbtouc_aux): Move out to separate file.
29053         (u8_mbtouc): Use ucs4_t, uint8_t types.
29054         * lib/unistr/utf8-ucs4.c: New file.
29055
29056         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
29057         (Depends-on): Add unitypes.
29058         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
29059         (u16_mbtouc_aux): Move out to separate file.
29060         (u16_mbtouc): Use ucs4_t, uint16_t types.
29061         * lib/unistr/utf16-ucs4.c: New file.
29062
29063         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
29064         (Depends-on): Add unitypes.
29065         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
29066         (u8_uctomb_aux): Move out to separate file.
29067         (u8_uctomb): Use ucs4_t, uint8_t types.
29068         * lib/unistr/ucs4-utf8.c: New file.
29069
29070         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
29071         (Depends-on): Add unitypes.
29072         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
29073         (u16_uctomb_aux): Move out to separate file.
29074         (u16_uctomb): Use ucs4_t, uint16_t types.
29075         * lib/unistr/ucs4-utf16.c: New file.
29076
29077 2006-12-25  Bruno Haible  <bruno@clisp.org>
29078
29079         * modules/unitypes: New file.
29080         * lib/unitypes.h: New file.
29081         * MODULES.html.sh (func_all_modules): New section "Unicode string
29082         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
29083         this section. Add unitypes.
29084
29085 2007-01-08  Bruno Haible  <bruno@clisp.org>
29086
29087         Avoid variable names that conflict with those from libtool.
29088         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
29089         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
29090         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
29091         library_names_spec to acl_library_names_spec, hardcode_* to
29092         acl_hardcode_*.
29093         Reported by Ralf Wildenhues.
29094
29095 2007-01-08  Bruno Haible  <bruno@clisp.org>
29096
29097         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
29098         definition.
29099         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
29100         definition.
29101         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
29102         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
29103         definition.
29104         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
29105         definition.
29106         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
29107         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
29108         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
29109         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
29110         definition.
29111         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
29112         definition.
29113         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
29114         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
29115         GC_USE_<algorithm>.
29116         * lib/gc-libgcrypt.c: Likewise.
29117         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
29118         * modules/gc-arctwo (configure.ac): Likewise.
29119         * modules/gc-des (configure.ac): Likewise.
29120         * modules/gc-hmac-md5 (configure.ac): Likewise.
29121         * modules/gc-hmac-sha1 (configure.ac): Likewise.
29122         * modules/gc-md2 (configure.ac): Likewise.
29123         * modules/gc-md4 (configure.ac): Likewise.
29124         * modules/gc-md5 (configure.ac): Likewise.
29125         * modules/gc-random (configure.ac): Likewise.
29126         * modules/gc-rijndael (configure.ac): Likewise.
29127         * modules/gc-sha1 (configure.ac): Likewise.
29128
29129 2007-01-08  Bruno Haible  <bruno@clisp.org>
29130
29131         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
29132         macro definition.
29133         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
29134         definition.
29135         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
29136         definition.
29137         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
29138         * modules/fcntl-safer (configure.ac): Likewise.
29139         * modules/fopen-safer (configure.ac): Likewise.
29140         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
29141         GNULIB_FWRITEERROR macro definition.
29142
29143 2007-01-08  Bruno Haible  <bruno@clisp.org>
29144
29145         * m4/gnulib-common.m4: New file.
29146         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
29147         (func_get_filelist): Add m4/gnulib-common.m4.
29148
29149 2007-01-08  Bruno Haible  <bruno@clisp.org>
29150
29151         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
29152         command.
29153
29154 2007-01-08  Jim Meyering  <jim@meyering.net>
29155
29156         Use a more robust test for a "can't happen" condition.
29157         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
29158         narrowed the st_size value.  Presuming the "can't happen" condition
29159         is true, that narrowing could conceivably convert an invalid st_size
29160         value into a valid one.  Instead, use a change based on Matthew
29161         Woehlke's original patch.
29162
29163         Slight readability improvement: use an assert-like macro
29164         in place of literal "abort ()" uses.
29165         * lib/fts.c (fts_assert): Define.
29166         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
29167         Use this macro instead of a bare 'abort'.
29168
29169 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
29170
29171         Don't worry about using IRIX 5.3's wctype.h broken definitions;
29172         simply work around them.
29173         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
29174         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
29175         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
29176         declaring.
29177         Don't bother to define as macros, since the standard doesn't require it.
29178         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
29179         longer worry about IRIX 5.3.
29180         (HAVE_WCTYPE_CTMP_BUG): Remove.
29181
29182 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
29183
29184         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
29185         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
29186         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
29187         Problems reported by Georg Schwarz for IRIX 5.3.
29188
29189         * gnulib-tool (autoconf_minversion): Take the maximum version number
29190         found, not the minimum.  Problem reported by James Youngman.
29191
29192 2007-01-03  Karl Berry  <karl@gnu.org>
29193
29194         * doc/error.texi: new file, explaining interaction with progname.
29195         * doc/gnulib.texi: include it.  Update copyright.
29196
29197 2007-01-03  Simon Josefsson  <simon@josefsson.org>
29198
29199         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
29200         AC_CANONICAL_HOST, to improve autobuild outputs.
29201
29202 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
29203             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
29204
29205         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
29206         sockets, server sockets, and other file descriptors.  Count errors
29207         to compute the return value.  Reorder the code a bit to be easier
29208         to follow.  Don't set event bits that were not requested (except
29209         POLLERR and POLLHUP).
29210
29211 2007-01-01  Bruno Haible  <bruno@clisp.org>
29212
29213         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
29214
29215 2007-01-03  Jim Meyering  <jim@meyering.net>
29216
29217         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
29218
29219 2007-01-02  Bruno Haible  <bruno@clisp.org>
29220
29221         * modules/settime (Include): Require timespec.h.
29222         * modules/nanosleep (Include): Likewise.
29223
29224 2007-01-01  Bruno Haible  <bruno@clisp.org>
29225
29226         * gnulib-tool (func_emit_copyright_notice): Bump year.
29227         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
29228
29229 2007-01-01  Bruno Haible  <bruno@clisp.org>
29230
29231         Improve support for OpenBSD.
29232         * build-aux/config.rpath (libname_spec): Export.
29233         (library_names_spec): New variable. Export.
29234         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
29235         library_names_spec from the config.rpath output. Locate shared library
29236         through the name pattern in library_names_spec.
29237
29238 2007-01-01  Eric Blake  <ebb9@byu.net>
29239
29240         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
29241
29242 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
29243
29244         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
29245         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
29246         assume the C locale, and avoid an "eval" that could cause trouble.
29247         Problem with SORT reported by Bob Proulx.
29248
29249         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
29250         Define.  Trivial patch from Henning Nielsen Lund, originally
29251         sent to bug-grep@gnu.org today.
29252
29253 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
29254
29255         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
29256         struct stat.  Problem reported by Henning Nielsen Lund.
29257         * lib/acl.c: Include acl.h first, to check interface.  Don't
29258         bother to include sys/types.h and sys/stat.h again.
29259
29260 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
29261
29262         Import the following change from libc; problem reported by
29263         Sven Verdoolaege.
29264
29265         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
29266
29267         [BZ #1373]
29268         * lib/argp.h: Remove __NTH for __argp_usage inline function.
29269
29270 2006-12-28  Jim Meyering  <jim@meyering.net>
29271
29272         * build-aux/announce-gen: Do not assume that the package
29273         builds any of tar.gz, tar.bz2, and .xdelta files.
29274         Suggestion from Simon Josefsson.
29275
29276 2006-12-28  Simon Josefsson  <simon@josefsson.org>
29277
29278         * modules/announce-gen: New file.
29279
29280 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
29281
29282         * lib/mbchar.h: Just include <wctype.h>; the wctype module
29283         handles its gotchas now.
29284         * lib/mbswidth.c: Likewise.
29285         * lib/wcwidth.h: Likewise.
29286         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
29287         and iswcntrl; the wctype module does this stuff now.
29288         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
29289         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
29290         * modules/mbchar (Depends-on): Add wctype.
29291         * modules/mbswidth (Depends-on): Likewise.
29292         * modules/wcwidth (Depends-on): Likewise.
29293
29294 2006-12-27  Eric Blake  <ebb9@byu.net>
29295
29296         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
29297         module uses more than what <wctype.h> is required to provide.
29298
29299 2006-12-26  Eric Blake  <ebb9@byu.net>
29300
29301         * gnulib-tool (sed_extract_prog): Avoid space-tab.
29302
29303 2006-12-26  Eric Blake  <ebb9@byu.net>
29304
29305         * modules/absolute-header: New module.
29306         * modules/fcntl (Depends-on): Depend on it.
29307         * modules/inttypes (Depends-on): Likewise.
29308         * modules/stdint (Depends-on): Likewise.
29309         * modules/sys_stat (Depends-on): Likewise.
29310         * modules/wctype (Depends-on): Likewise.
29311         * MODULES.html.sh (Support for building libraries and
29312         executables): Document it.
29313
29314 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
29315
29316         * gnulib-tool (SED): Remove, undoing previous change.
29317         The problem was that it broke coreutils on Solaris, because
29318         "sed --posix" leaked into a makefile.
29319         (sed): New alias, if 'alias' and GNU sed.
29320
29321 2006-12-24  Jim Meyering  <jim@meyering.net>
29322
29323         Work around an fchownat bug in glibc-2.4:
29324         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
29325         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
29326         in spite of the -P option.
29327         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
29328         New macros.
29329         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
29330         * modules/openat (Files): Add lib/fchownat.c.
29331         * lib/openat.c (fchownat): Don't define here.  Move to...
29332         * lib/fchownat.c: ...this new file.
29333
29334 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
29335
29336         Fix bug reported by Bruno Haible in
29337         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
29338         where quotearg.c didn't compile on Mac OS X 10.2 because it
29339         lacks <wchar.h> and wint_t.
29340         * lib/wctype_.h (__wctype_wint_t): New type.
29341         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
29342         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
29343         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
29344         Arg is now of type __wctype_wint_t, not wint_t.
29345         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
29346         substitute HAVE_WINT_T.
29347         * modules/wctype (Files): Add m4/wint_t.m4.
29348         (wctype.h): Substitute HAVE_WINT_T.
29349
29350 2006-12-23  Bruno Haible  <bruno@clisp.org>
29351
29352         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
29353
29354 2006-12-23  Bruno Haible  <bruno@clisp.org>
29355
29356         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
29357         S_ISLNK.
29358         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
29359         mingw.
29360
29361 2006-12-22  Bruno Haible  <bruno@clisp.org>
29362
29363         * lib/copy-file.c: Include acl.h.
29364         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
29365         Close the file descriptors only after being done with copy_acl.
29366         * modules/copy-file (Depends-on): Add acl.
29367
29368 2006-12-22  Bruno Haible  <bruno@clisp.org>
29369
29370         * gnulib-tool (SED): New variable.
29371         Use $SED instead of sed everywhere.
29372
29373 2006-12-22  Bruno Haible  <bruno@clisp.org>
29374
29375         * modules/no-c++: New file.
29376         * m4/no-c++.m4: New file.
29377         * MODULES.html.sh (Support for building libraries and executables):
29378         Add no-c++.
29379
29380 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
29381
29382         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
29383         Include <limits.h>, and use its INT_MAX to rewrite the
29384         j loop so that it does not overflow 'int'.  Problem reported by
29385         Ralf Wildenhues in
29386         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
29387         Play it safe by shifting left by 1 rather than multiplying by 2,
29388         as GCC is less likely to optimize this away when the value
29389         is signed (when it assumes overflow leads to undefined behavior).
29390         Also, don't assume time_t uses two's complement.
29391
29392 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
29393
29394         * MODULES.html.sh: New module wctype.
29395         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
29396         * lib/fnmatch.c: Don't bother to include <wchar.h> before
29397         <wctype.h>, since the new wctype module should fix this.
29398         * lib/quotearg.c: Include <wctype.h> unconditionally, since
29399         the wctype module should arrange for it.
29400         * lib/regex_internal.h: Likewise.
29401         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
29402         since the wctype module should handle this now.
29403         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
29404         * modules/fnmatch (Depends-on): Add wctype.
29405         * modules/quotearg (Depends-on): Likewise.
29406         * modules/regex (Depends-on): Likewise.
29407
29408 2006-12-19  Bruno Haible  <bruno@clisp.org>
29409
29410         * lib/strdup.h [C++]: Wrap definitions in extern "C".
29411         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
29412
29413 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29414
29415         * modules/savewd (Depends-on): Fix dependency on fcntl.
29416
29417 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
29418
29419         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
29420         conforms to C99, rather than relying on the user's environment
29421         setting of STDINT_H.
29422
29423 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
29424         and Eric Blake  <ebb9@byu.net>
29425
29426         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
29427         This is more consistent with the other defines here.
29428         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
29429         Port to z/OS.  Problem reported by Paul Gilmartin.
29430         Change local vars to use gl_ prefix rather than ac_.
29431         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
29432         with other defines.
29433         * modules/double-slash-root: New module.
29434         * modules/dirname (Files): Remove m4/double-slash-root.m4.
29435         (Depends-on): Add double-slash-root.
29436         * MODULES.html.sh (File system functions): Mention new module.
29437
29438 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
29439
29440         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
29441         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
29442         This is for the benefit of gzip, which doesn't do i18n.
29443
29444 2006-12-12  Jim Meyering  <jim@meyering.net>
29445
29446         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
29447         Reported by Andreas Schwab <schwab@suse.de>.
29448
29449 2006-12-12  Bruno Haible  <bruno@clisp.org>
29450
29451         Merge these changes.
29452         2006-09-05  Bruno Haible  <bruno@clisp.org>
29453         * lib/iconvme.c (iconv_string): No need to save and restore errno when
29454         iconv_alloc succeeded.
29455         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
29456         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
29457         test for " && dest " at the end - dest is always != NULL there. Call
29458         iconv with 4xNULL arguments initially, to reset the state. Call iconv
29459         with 2xNULL arguments, also to flush the state storage. Handle the
29460         IRIX iconv behaviour. Realloc the final result, to throw away unused
29461         memory.
29462
29463 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
29464
29465         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
29466         and fchmodat unconditionally, since glibc 2.4 has them.
29467         Problem reported by Arkadiusz Miskiewicz.
29468
29469 2006-12-10  Bruno Haible  <bruno@clisp.org>
29470
29471         * gnulib-tool (func_import): Show the include files only for those
29472         modules that are copied and specified.
29473         Reported by Karl Berry.
29474
29475 2006-12-08  Jim Meyering  <jim@meyering.net>
29476
29477         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
29478         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
29479
29480         * build-aux/announce-gen: Add two new options, both optional:
29481         --bootstrap-tools=TOOL_LIST
29482               a comma-separated list of tools, e.g.,
29483               autoconf,automake,bison,gnulib
29484         --gnulib-snapshot-date=DATE
29485               if gnulib is in the bootstrap tool list,
29486               then report this as the snapshot date.
29487               If not specified, use the current date/time.
29488               If you specify a date here, be sure it's UTC.
29489
29490 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29491
29492         * tests/test-argp-2.sh: Fix test to match actual output.
29493         (func_compare): Fix sed script to be portable.
29494
29495 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
29496
29497         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
29498         workaround for this case.  It is not autoconfigured now; offhand
29499         it's hard to see how to autoconfigure it.
29500
29501 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
29502
29503         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
29504         a directory that is about to be chowned.  Such a directory's
29505         initial file permissions should permit the owner only and this
29506         should not be changed until after the chown, since the group and
29507         other bits would be incorrect if they granted permission before
29508         the chown.
29509
29510         Fix porting problem for iswctype reported by Georg Schwarz in:
29511         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
29512         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
29513         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
29514         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
29515         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
29516
29517 2006-12-03  Jim Meyering  <jim@meyering.net>
29518
29519         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
29520         p->fts_statp may not yet be defined.
29521         (fts_read): Instead, set it in the caller, once p->fts_statp is
29522         sure to be defined, and corresponds to a top-level directory.
29523         This bug made du -x fail.  Here's the coreutils test case:
29524         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
29525         Reported by Mike Frysinger.
29526
29527 2006-12-01  Jim Meyering  <jim@meyering.net>
29528
29529         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
29530         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
29531         Reported by Simon Josefsson.
29532
29533 2006-11-30  Jim Meyering  <jim@meyering.net>
29534
29535         * m4/warning.m4: Use the all-permissive copyright notice
29536         recommended by RMS (rather than LGPL).
29537         * m4/vararrays.m4: Likewise.
29538         * m4/flexmember.m4: Likewise.
29539
29540 2006-11-29  Bruno Haible  <bruno@clisp.org>
29541
29542         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
29543         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
29544         using +=.
29545         Reported by Simon Josefsson <simon@josefsson.org>.
29546
29547 2006-11-28  James Youngman <jay@gnu.org>
29548
29549         * README: Advise users that they might find the bug-gnulib@gnu.org
29550         and autotools-announce@gnu.org mailing lists useful.
29551
29552 2006-11-28  Bruno Haible  <bruno@clisp.org>
29553
29554         * m4/ptrdiff_max.m4: Remove file.
29555
29556 2006-11-21  Bruno Haible  <bruno@clisp.org>
29557
29558         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
29559         _AC_COMPUTE_INT.
29560         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
29561         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
29562         _AC_COMPUTE_INT.
29563         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
29564         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
29565         _AC_COMPUTE_INT.
29566         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
29567
29568 2006-11-28  Jim Meyering  <jim@meyering.net>
29569
29570         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
29571         warning from "gcc -Wshadow" about shadowing the builtin.
29572
29573 2006-11-27  Bruno Haible  <bruno@clisp.org>
29574
29575         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
29576         _AC_COMPUTE_INT.
29577         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
29578
29579 2006-11-27  Bruno Haible  <bruno@clisp.org>
29580             Paul Eggert  <eggert@cs.ucla.edu>
29581
29582         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
29583
29584 2006-11-26  Bruno Haible  <bruno@clisp.org>
29585
29586         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
29587         noinst_LTLIBRARIES.
29588
29589 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
29590             Bruno Haible  <bruno@clisp.org>
29591
29592         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
29593         if compiling with "gcc -ansi".
29594
29595 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
29596
29597         Fix some incompatibilities with gcc -ansi -pedantic.
29598         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
29599         if compiling pedantically with GCC, unless it's C99 or later.
29600         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
29601         it mishandles gcc -ansi -pedantic as well.
29602         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
29603         if gcc -pedantic.
29604         * lib/regexec.c (check_node_accept_bytes): Don't use auto
29605         initializers for struct if -pedantic, unless it's C99 or later.
29606
29607 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
29608
29609         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
29610         Don't close an fd more than once. Identical atimes indicate
29611         success, not failure.
29612
29613 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
29614
29615         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
29616
29617 2006-11-23  Jim Meyering  <jim@meyering.net>
29618
29619         * build-aux/announce-gen: New file.  From coreutils.
29620
29621 2006-11-22  Jim Meyering  <jim@meyering.net>
29622
29623         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
29624         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
29625         (fts_read): Use a temporary to narrow the overused st_size member
29626         before using it in a switch statement.  Reported by Matthew Woehlke.
29627
29628         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
29629         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
29630
29631 2006-11-20  Bruno Haible  <bruno@clisp.org>
29632
29633         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
29634         changequote instead of pairs of brackets.
29635         Reported by Andreas Schwab <schwab@suse.de>.
29636
29637 2006-11-21  Jim Meyering  <jim@meyering.net>
29638
29639         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
29640         so as to remain compatible with older compilers.
29641         Patch from Michael Deutschmann.
29642
29643 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
29644
29645         * MODULES.html.sh (File system functions): Add openat.
29646
29647         * lib/openat.h (rpl_fstatat): New macro, if
29648         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
29649         (fstatat): Define to rpl_fstatat under the same conditions,
29650         unless COMPILING_FSTATAT.
29651         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
29652         seems to have the bug.
29653         * lib/fstatat.c: New file.
29654         * modules/openat (Files): Add it.
29655
29656 2006-11-20  Bruno Haible  <bruno@clisp.org>
29657
29658         * Makefile: New file.
29659
29660 2006-11-20  Jim Meyering  <jim@meyering.net>
29661
29662         The beginnings of syntax-related checks for gnulib.
29663         * lib/Makefile: New file.
29664         * lib/t-idcache: New script.  Ensure that the two halves of
29665         idcache.c stay in sync.
29666
29667         * lib/idcache.c: Adjust comments in user- and group- portions to
29668         be more accurate, and to be consistent with one another.
29669
29670 2006-11-20  Jim Meyering  <jim@meyering.net>
29671
29672         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
29673         continue using the flexible array member (thus, this module performs
29674         half as many malloc calls), with the addition that...
29675         (getgroup, getuser): Consistently record a non-match via an empty
29676         "name" string, and map an empty string match to a NULL return value.
29677         * modules/idcache (Depends-on): Re-add flexmember.
29678
29679         * lib/idcache.c (getuser): Remove all uses of the register keyword.
29680         (getuidbyname, getgroup, getgidbyname): Likewise.
29681
29682         Use cleaner syntax: NULL rather than 0.
29683         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
29684
29685 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
29686
29687         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
29688         It mishandled the case where the group was missing.
29689         Problem reported by Greg Schafer.
29690         * modules/idcache: Likewise.
29691
29692 2006-11-18  Jim Meyering  <jim@meyering.net>
29693
29694         * check-module (%exempt_header): Add exception for some
29695         conditionally-included headers.
29696
29697         * modules/i-ring (Depends-on): Add verify.
29698         (License): Change to LGPL.
29699
29700 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29701
29702         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
29703         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
29704         and inttostr.h.  Use snprintf rather than uinttostr, so that
29705         LGPLed code doesn't depend on GPLed.
29706
29707 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
29708
29709         * modules/inline (License): Change from GPL to LGPL.
29710
29711 2006-11-17  Jim Meyering  <jim@meyering.net>
29712
29713         * modules/d-type (License): Switch to LGPL.
29714
29715 2006-11-15  Bruno Haible  <bruno@clisp.org>
29716
29717         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
29718
29719 2006-11-15  Eric Blake  <ebb9@byu.net>
29720
29721         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
29722         the module dependency.
29723
29724 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29725             Bruno Haible  <bruno@clisp.org>
29726
29727         * gnulib-tool (func_create_testdir): Add license consistency check.
29728
29729 2006-11-15  Eric Blake  <ebb9@byu.net>
29730
29731         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
29732         random "(cached)" in configure output.
29733
29734 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29735
29736         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
29737         test for conforming inttypes.h is both announced and cached.
29738
29739         * MODULES.html.sh (seen_modules, seen_files): New variables.
29740         (func_module): Rewrite to use a few less gnulib-tool and sed
29741         invocations.  Avoid a couple of quadratic algorithms for ...
29742         (missed_modules, missed_files): ... these, with ...
29743         (func_append, func_tmpdir): ... these new functions, from
29744         gnulib-tool.  Analogously, install traps for cleanup.
29745
29746         * tests/test-gc.c (main): Remove unused variables.
29747         * tests/test-read-file.c: Include stdlib.h, for 'free'.
29748
29749 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
29750
29751         * modules/inttostr (License): Change to LGPL.
29752
29753 2006-11-14  Eric Blake  <ebb9@byu.net>
29754
29755         * modules/tempname (License): Change to LGPL.
29756
29757 2006-11-14  Eric Blake  <ebb9@byu.net>
29758
29759         * doc/functions.texi (Function Portability): *printf functions on
29760         Cygwin now understand all POSIX size specifiers.
29761
29762 2006-11-14  Bruno Haible  <bruno@clisp.org>
29763
29764         * modules/c-ctype (License): Change to LGPL.
29765
29766 2006-11-12  Bruno Haible  <bruno@clisp.org>
29767
29768         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29769         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
29770         for GNOME libraries, for which the include files are installed in
29771         subdirectories of $prefix/include.
29772
29773 2006-11-12  Bruno Haible  <bruno@clisp.org>
29774
29775         * m4/lib-link.m4: Require at least autoconf-2.54.
29776         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
29777         name to underscores for the --with option.
29778
29779 2006-11-13  Bruno Haible  <bruno@clisp.org>
29780
29781         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
29782         the tests directory.
29783         Reported by Ralf Wildenhues.
29784
29785 2006-11-13  Bruno Haible  <bruno@clisp.org>
29786
29787         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
29788         (func_emit_initmacro_end): Undo the override here.
29789         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
29790         Works around the famous automake error in coreutils.
29791
29792 2006-11-13  Eric Blake  <ebb9@byu.net>
29793
29794         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
29795         element, not its node.
29796
29797 2006-11-12  Bruno Haible  <bruno@clisp.org>
29798
29799         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
29800         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
29801
29802 2006-11-12  Bruno Haible  <bruno@clisp.org>
29803
29804         * gnulib-tool: New option --local-symlink.
29805         (func_usage): Document it.
29806         (lsymbolic): New variable.
29807         (func_import, func_create_testdir): If --symlink was not specified,
29808         test whether --local-symlink was specified and the file comes from
29809         the local_gnulib_dir.
29810
29811 2006-11-12  Bruno Haible  <bruno@clisp.org>
29812
29813         * gnulib-tool (func_ln): New function.
29814         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
29815
29816 2006-11-12  Bruno Haible  <bruno@clisp.org>
29817
29818         Finish support for source files in subdirectories.
29819         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
29820         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
29821         AUTOMAKE_OPTIONS.
29822         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
29823
29824 2006-11-12  Bruno Haible  <bruno@clisp.org>
29825
29826         * gnulib-tool (func_get_automake_snippet): Synthesize also an
29827         EXTRA_lib_SOURCES augmentation.
29828         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
29829
29830 2006-11-12  Jim Meyering  <jim@meyering.net>
29831
29832         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
29833         file descriptors.  This also averts a failure on systems with
29834         native openat support when a traversed directory lacks "x" access.
29835         * lib/fts_.h: Include "i-ring.h"
29836         (struct FTS) [fts_fd_ring]: New member.
29837         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
29838         (FCHDIR): Add parentheses.
29839         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
29840         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
29841         When descending, rather than simply closing the previous
29842         fts_cwd_fd value, push that file descriptor onto the ring.
29843         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
29844         (fts_open): Initialize the new fd_ring member.
29845         (fts_close): Clear the ring.
29846         (fts_safe_changedir): When possible, use our new fd_ring to skip
29847         the diropen and fstat and dev/ino comparison that would normally
29848         accompany a virtual `chdir ("..")'.
29849
29850         * modules/fts (Depends-on): Add i-ring.
29851         * modules/i-ring: New module.
29852         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
29853         * m4/i-ring.m4: New file.
29854
29855 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29856
29857         * gnulib-tool (func_create_testdir): Fix replacement of
29858         `build-aux' in configure.ac.  Run autotools in gltests
29859         subdirectory.
29860         (func_create_testdir, func_create_megatestdir, test): There is
29861         no need for '--force' in most autotool invocations in a new
29862         tree.  Actually fail the whole test if any of the tools, or the
29863         configure or make stages fail.
29864
29865         Sync from Automake.
29866         * build-aux/gnupload: Revert last change.  Add pointer to upload
29867         instructions of the GNU Maintenance Instructions.
29868         Suggestion by Karl Berry.
29869
29870 2006-11-10  Jim Meyering  <jim@meyering.net>
29871
29872         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
29873
29874 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
29875
29876         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
29877         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
29878         (bind_textdomain_codeset) [! ENABLE_NLS]:
29879         Evaluate all the arguments.  That way, callers get compatible behavior
29880         if the arguments have side effects.  Also, it avoids some GCC
29881         diagnostics in some cases; Joel E. Denny reported problems when Bison
29882         was configured with --enable-gcc-warnigs.
29883
29884 2006-11-10  Jim Meyering  <jim@meyering.net>
29885
29886         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
29887         relevant options in CFLAGS (like -O, -fno-inline) are taken into
29888         account.
29889
29890 2006-11-10  Jim Meyering  <jim@meyering.net>
29891
29892         * modules/inline: New file/module.
29893         * modules/xalloc (Files): Remove m4/inline.m4.
29894         (Depends-on): Add inline, instead.
29895         * modules/oset: Likewise.
29896         * modules/list: Likewise.
29897
29898 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
29899
29900         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
29901         Problem reported by Matthew Woehlke.
29902
29903 2006-11-09  Bruno Haible  <bruno@clisp.org>
29904
29905         * lib/tempname.c (gen_tempname): Remove variant that invokes
29906         __gen_tempname.
29907         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
29908         __gen_tempname.
29909
29910 2006-11-08  Bruno Haible  <bruno@clisp.org>
29911
29912         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
29913         to 'yes' instead of 'cross-compiling'.
29914
29915 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
29916
29917         * lib/quotearg.h (quotearg_free): New decl.
29918         * lib/quotearg.c (quotearg_free): New function.
29919         (slot0, nslots, slotvec0, slotvec):
29920         Now file-scope so that quotearg_free can get at them.
29921
29922 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29923
29924         Sync from Automake.
29925         * build-aux/gnupload: Add missing 'gnu' to example URL.
29926         Report by Karl Berry.
29927
29928 2006-11-08  Bruno Haible  <bruno@clisp.org>
29929
29930         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
29931         Suggested by Paul Eggert.
29932
29933 2006-11-08  Jim Meyering  <jim@meyering.net>
29934
29935         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
29936         It's already included if !_LIBC.
29937         (fts_safe_changedir): Add a comment.
29938
29939 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
29940
29941         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
29942         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
29943         Matthew Woehlke.
29944
29945         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
29946         definitions up, to avoid colliding with change below.
29947         (static_inline) [HAVE_INLINE]: New macro.
29948         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
29949         Provide extern decls when !HAVE_INLINE.  Do not define unless
29950         static_inline is defined, either by us or by xmalloc.c.  Use
29951         static_inline rather than static inline.
29952         (XCALLOC): Optimize sizeof(T) = 1 case.
29953         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
29954
29955 2006-11-07  Bruno Haible  <bruno@clisp.org>
29956
29957         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
29958         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
29959         AC_C_INLINE.
29960         * modules/xalloc (Files): Add m4/inline.m4.
29961
29962 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29963
29964         * README: Fix typo.
29965         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
29966         (Miscellanous Notes): ...from this.
29967
29968 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
29969
29970         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
29971         Mention that offsetof should be used instead of sizeof.
29972         From Bruno Haible.
29973
29974 2006-11-07  Bruno Haible  <bruno@clisp.org>
29975
29976         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
29977
29978 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
29979
29980         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
29981         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
29982         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
29983         (gl_tree_add_before, gl_tree_add_after):
29984         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
29985         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
29986         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
29987         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
29988         (gl_linked_add_after, gl_linked_add_at): Likewise.
29989         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
29990         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
29991         (gl_tree_add_before, gl_tree_add_after): Likewise.
29992         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
29993         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
29994         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
29995
29996 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29997
29998         * lib/gl_oset.h: Use C comment style, not C++ comment style.
29999
30000 2006-11-06  Bruno Haible  <bruno@clisp.org>
30001
30002         * m4/inline.m4: New file.
30003         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
30004         * modules/list (Files): Add m4/inline.m4.
30005         * modules/oset (Files): Likewise.
30006
30007 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
30008
30009         * lib/idcache.c: Include <stddef.h>, for offsetof.
30010         (struct userid.name): Change from char * to a flexible array member.
30011         All uses changed.
30012         * modules/idcache (Depends-on): Add flexmember.
30013
30014         * MODULES.html.sh (Core language properties): New module flexmember.
30015         * modules/flexmember, m4/flexmember.m4: New files.
30016
30017         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
30018         inline functions that are identical with the old xnmalloc_inline,
30019         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
30020         that we can avoid some unnecessary integer multiplications and
30021         divisions in the common case where the element size is known at
30022         compile time.
30023         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
30024         needed.
30025         (xnboundedmalloc): Remove.
30026         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
30027         arguments, for consistency with rest of this header.
30028         (xcharalloc): Rewrite using XNMALLOC.
30029         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
30030         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
30031         versions have been moved to lib/xalloc.h and renamed to be the
30032         non-*_inline versions.
30033         (xmalloc, xrealloc): Implement without reference to the xnmalloc
30034         and xnrealloc functions, since those functions are now inline and
30035         now call us.
30036         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
30037         renaming described above.
30038         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
30039         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
30040         captures the dependency in AC_C_INLINE.
30041
30042         New module canonicalize-lgpl, proposed by Charles Wilson in
30043         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
30044         with a few small changes afterwards.
30045         * MODULES.html.sh (File system functions): New module
30046         canonicalize-lgpl.
30047         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
30048         and canonicalize_file_name.
30049         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
30050         * modules/canonicalize-lgpl: New files.
30051
30052 2006-11-05  Bruno Haible  <bruno@clisp.org>
30053
30054         * gnulib-tool (func_import, func_create_testdir): Create directories
30055         also for files in subdirectories of lib/.
30056
30057 2006-11-05  Bruno Haible  <bruno@clisp.org>
30058
30059         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
30060         ANSI C compliant.
30061
30062 2006-11-03  Bruno Haible  <bruno@clisp.org>
30063
30064         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
30065         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
30066         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
30067         (xnboundedmalloc): New inline function.
30068         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
30069         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
30070         xmalloc.
30071         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
30072         xmalloc.
30073         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
30074         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
30075         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
30076         xmalloc.
30077         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
30078         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
30079         xmalloc.
30080         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
30081         gl_tree_add_after): Use XMALLOC instead of xmalloc.
30082         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
30083         xmalloc.
30084         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
30085         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
30086         gl_tree_add_after): Use XMALLOC instead of xmalloc.
30087         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
30088         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
30089         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
30090         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
30091
30092 2006-11-03  Bruno Haible  <bruno@clisp.org>
30093
30094         * lib/c-ctype.h [C++]: Define functions without name mangling.
30095         * lib/fwriteerror.h [C++]: Likewise.
30096         * lib/gcd.h [C++]: Likewise.
30097         * lib/linebreak.h [C++]: Likewise.
30098
30099 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
30100
30101         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
30102         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
30103         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
30104         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
30105         Check for functions and headers just once.
30106         Check for declaration of canonicalize_file_name.
30107         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
30108
30109 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
30110
30111         * gnulib-tool (func_import): Fix typo in actioncmd.
30112
30113 2006-11-02  Bruno Haible  <bruno@clisp.org>
30114
30115         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
30116         newline sequence in the Makefile.am snippet as a space, like "make"
30117         does.
30118         Reported by Roger Persson <perrog@gmail.com>.
30119
30120 2006-11-01  Bruno Haible  <bruno@clisp.org>
30121
30122         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
30123         already declared in <string.h>.
30124         * lib/strcase.h (strncasecmp): Don't declare it if yes.
30125
30126 2006-11-01  Bruno Haible  <bruno@clisp.org>
30127
30128         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
30129         * lib/strcase.h: Include <string.h>.
30130         (strcasecmp): Define to rpl_strcasecmp here.
30131
30132 2006-11-01  Bruno Haible  <bruno@clisp.org>
30133
30134         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
30135
30136 2006-11-01  Eric Blake  <ebb9@byu.net>
30137
30138         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
30139
30140         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
30141
30142 2006-10-29  Bruno Haible  <bruno@clisp.org>
30143
30144         Make it compile in C++ mode.
30145         * lib/full-write.c (full_rw): Add a cast.
30146
30147 2006-11-01  Bruno Haible  <bruno@clisp.org>
30148
30149         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
30150         be POSIX compliant.
30151         Reported by Roger Persson <perrog@gmail.com>.
30152
30153 2006-11-01  Eric Blake  <ebb9@byu.net>
30154
30155         * lib/getopt_.h: Fix comments.
30156
30157 2006-10-31  Eric Blake  <ebb9@byu.net>
30158
30159         * modules/tmpdir (Depends-on): Add sys_stat.
30160         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
30161         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
30162         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
30163         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
30164         tempname.
30165
30166 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
30167
30168         Avoid some C++ diagnostics reported by Bruno Haible.
30169         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
30170         xmalloc.
30171         (quotearg_alloc): Use xcharalloc rather than xmalloc.
30172         (struct slotvec): Move to top level.
30173         (quotearg_n_options): Rewrite to avoid xmalloc.
30174         * lib/xalloc.h (xcharalloc): New function.
30175         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
30176         [defined __cplusplus]: Add function template that provides result
30177         type propagation.  This part of the change is from Bruno Haible.
30178
30179 2006-10-29  Bruno Haible  <bruno@clisp.org>
30180
30181         Make it compile in C++ mode.
30182         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
30183         * lib/strnlen1.c (strnlen1): Cast memchr result.
30184         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
30185         * lib/clean-temp.c (string_equals, string_hash): Add casts.
30186         (create_temp_dir): Rename local variable 'template'.
30187         (compile_csharp_using_sscli): Add cast.
30188         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
30189         * lib/findprog.c (find_in_path): Likewise.
30190         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
30191         * lib/wait-process.c (register_slave_subprocess): Likewise.
30192
30193 2006-10-22  Bruno Haible  <bruno@clisp.org>
30194
30195         * modules/tsearch: New file.
30196         * lib/tsearch.h: New file.
30197         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
30198         * m4/tsearch.m4: New file.
30199         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
30200
30201 2006-10-29  Eric Blake  <ebb9@byu.net>
30202
30203         * lib/arcfour.c: Assume config.h.
30204         * lib/arctwo.c: Likewise.
30205         * lib/base64.c: Likewise.
30206         * lib/check-version.c: Likewise.
30207         * lib/crc.c: Likewise.
30208         * lib/des.c: Likewise.
30209         * lib/gc-gnulib.c: Likewise.
30210         * lib/gc-libgcrypt.c: Likewise.
30211         * lib/gc-pbkdf2-sha1.c: Likewise.
30212         * lib/getaddrinfo.c: Likewise.
30213         * lib/getdelim.c: Likewise.
30214         * lib/getline.c: Likewise.
30215         * lib/hmac-md5.c: Likewise.
30216         * lib/hmac-sha1.c: Likewise.
30217         * lib/iconvme.c: Likewise.
30218         * lib/md2.c: Likewise.
30219         * lib/md4.c: Likewise.
30220         * lib/memxor.c: Likewise.
30221         * lib/read-file.c: Likewise.
30222         * lib/readline.c: Likewise.
30223         * lib/rijndael-alg-fst.c: Likewise.
30224         * lib/rijndael-api-fst.c: Likewise.
30225         * lib/xgetdomainname.c: Likewise.
30226
30227 2006-10-28  Eric Blake  <ebb9@byu.net>
30228
30229         * lib/xstrndup.c: Assume config.h.
30230
30231 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
30232
30233         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
30234         stat-macros.h is now for our own macros, whereas stat_h is for
30235         macros in the <sys/stat.h> name space.
30236         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
30237         (STAT_MACROS_H): Remove.
30238         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
30239         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
30240         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
30241         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
30242         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
30243         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
30244         Move these macros to ...
30245         * lib/stat_.h: here.  Don't include stat-macros.h.
30246         * lib/canonicalize.c: Don't include stat-macros.h.
30247         * lib/chown.c: Likewise.
30248         * lib/euidaccess.c: Likewise.
30249         * lib/file-type.c: Likewise.
30250         * lib/filemode.c: Likewise.
30251         * lib/glob.c: Likewise.
30252         * lib/isapipe.c: Likewise.
30253         * lib/lchown.c: Likewise.
30254         * lib/lstat.c: Likewise.
30255         * lib/mkdir-p.c: Likewise.
30256         * lib/rmdir.c: Likewise.
30257         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
30258         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
30259         unless mkdir isn't declared, to speed up 'configure'.
30260         Always create sys/stat.h, since it's unlikely any real sys/stat.h
30261         would define all the S_* symbols.
30262         * modules/canonicalize (Depends-on):
30263         Depend on sys_stat, not stat-macros.
30264         * modules/chown: Likewise.
30265         * modules/euidaccess: Likewise.
30266         * modules/filemode: Likewise.
30267         * modules/file-type: Likewise.
30268         * modules/glob: Likewise.
30269         * modules/isapipe: Likewise.
30270         * modules/lchown: Likewise.
30271         * modules/lstat: Likewise.
30272         * modules/mkancesdirs: Likewise.
30273         * modules/rmdir: Likewise.
30274         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
30275         * modules/modechange: Likewise.
30276         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
30277         (configure.ac): Remove gl_STAT_MACROS.
30278         * modules/sys_stat (Depends-on): Remove stat-macros.
30279
30280 2006-10-27  Bruno Haible  <bruno@clisp.org>
30281
30282         * m4/signed.m4: Remove file.
30283         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
30284         invocation.
30285         * modules/vasnprintf (Files): Remove m4/signed.m4.
30286
30287 2006-10-27  Bruno Haible  <bruno@clisp.org>
30288
30289         Update to GNU gettext 0.16.
30290         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
30291         m4/inttypes-h.m4, m4/signed.m4.
30292         * m4/gettext.m4: Update to GNU gettext 0.16.
30293         * m4/intl.m4: New file, from GNU gettext.
30294         * m4/intldir.m4: New file, from GNU gettext.
30295         * config/srclist.txt: Update
30296
30297 2006-10-27  Eric Blake  <ebb9@byu.net>
30298
30299         * MODULES.html.sh: Document tempname.
30300         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
30301         dependencies.
30302         (Files): Move lib/tempname.c...
30303         * modules/tempname: ...to this new module.
30304         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
30305         (gl_PREREQ_TEMPNAME): Move...
30306         * m4/tempname.m4: ...to this new file.
30307         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
30308         * modules/sys_stat (Depends-on): Add stat-macros.
30309         * lib/stat_.h (includes): Pick up stat macros.
30310         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
30311         if stat macros are broken.
30312         * lib/tempname.c (includes): No need to include "stat-macros.h".
30313         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
30314         (direxists, __path_search) [!_LIBC]: Don't compile these in
30315         gnulib; the tmpdir module covers that.
30316         * lib/tempname.h: New file.
30317
30318 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
30319
30320         * COPYING: Explain how gnulib-tool converts licence headers.
30321         Almost all wording by Eric Blake.
30322
30323 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
30324
30325         * lib/mbchar.h (is_basic_table): Make read-only.
30326         * lib/mbchar.c (is_basic_table): Likewise.
30327         Reported by John Darrington.
30328
30329 2006-10-25  Bruno Haible  <bruno@clisp.org>
30330
30331         * lib/progname.h (set_program_name): Undefine before defining.
30332
30333 2006-10-25  Bruno Haible  <bruno@clisp.org>
30334
30335         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
30336         false for non-gcc C++ compilers.
30337         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
30338
30339 2006-10-24  Bruno Haible  <bruno@clisp.org>
30340
30341         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
30342         iconv implementations like Irix iconv.
30343
30344 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30345
30346         * modules/vararrays: New file.
30347         * m4/vararrays.m4: New file, taken from diffutils.
30348         * MODULES.html.sh: New module vararrays.
30349
30350 2006-10-24  Karl Berry  <karl@gnu.org>
30351
30352         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
30353         Don't call GNU Unix.
30354
30355 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30356
30357         * users.txt: Add Libtool.
30358
30359         Sync from Libtool:
30360
30361         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30362
30363         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
30364         to gnulib's policy of including config.h unconditionally.
30365
30366 2006-10-24  Bruno Haible  <bruno@clisp.org>
30367
30368         * modules/wcwidth (Files): Add m4/wint_t.m4.
30369         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
30370         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
30371
30372 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30373
30374         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
30375         to pacify GCC with some -W flags enabled.  Problem reported by
30376         Bruno Haible.
30377
30378 2006-10-24  Jim Meyering  <jim@meyering.net>
30379
30380         * MODULES.html.sh: Remove uinttostr.  It's not a module.
30381         Reported by Karl Berry.
30382
30383 2006-10-23  Bruno Haible  <bruno@clisp.org>
30384
30385         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
30386
30387 2006-10-24  Bruno Haible  <bruno@clisp.org>
30388
30389         * lib/gl_list.h: Use C comment style, not C++ comment style.
30390
30391 2006-10-23  Eric Blake  <ebb9@byu.net>
30392
30393         * lib/getaddrinfo.c (includes): Add missing include.
30394
30395 2006-10-23  Bruno Haible  <bruno@clisp.org>
30396             Paul Eggert  <eggert@cs.ucla.edu>
30397
30398         Ability to rename obstack_free.
30399         * lib/obstack.h (__obstack_free): New macro. Declare instead of
30400         obstack_free.
30401         (obstack_free): Invoke the __obstack_free macro.
30402         * lib/obstack.c (obstack_free): Use __obstack_free macro.
30403
30404 2006-10-23  Bruno Haible  <bruno@clisp.org>
30405             Paul Eggert  <eggert@cs.ucla.edu>
30406
30407         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
30408         __argc, __argv from the declaration. (They are defined as macros on
30409         mingw.)
30410
30411 2006-10-22  Bruno Haible  <bruno@clisp.org>
30412
30413         * doc/gnulib-intro.texi: New file.
30414         * doc/gnulib.texi: Include it.
30415
30416 2006-10-21  Bruno Haible  <bruno@clisp.org>
30417
30418         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
30419         "Introduction", "Miscellanous Notes", "Particular Modules".
30420
30421 2006-10-21  Bruno Haible  <bruno@clisp.org>
30422
30423         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30424         Change mostlyclean-local rule to avoid sh syntax error from bash
30425         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
30426
30427 2006-10-23  Jim Meyering  <jim@meyering.net>
30428
30429         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
30430         in place of snprintf.
30431
30432         * modules/inttostr (Files): Add lib/uinttostr.c.
30433         * lib/uinttostr.c (inttostr): New file/function.
30434         * lib/inttostr.h (uinttostr): Declare.
30435         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
30436         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
30437         Add uinttostr.
30438         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
30439
30440 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
30441
30442         * lib/canonicalize.c (ELOOP): Define if not already defined.
30443         Problem reported by Bruno Haible in
30444         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
30445
30446 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
30447
30448         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
30449         Problem reported by Perry Smith and Ville Laurikari.
30450
30451         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
30452         uses.
30453
30454 2006-10-19  Bruno Haible  <bruno@clisp.org>
30455
30456         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
30457         for mingw.
30458
30459 2006-10-19  Bruno Haible  <bruno@clisp.org>
30460
30461         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
30462         Needed for mingw.
30463
30464 2006-10-19  Bruno Haible  <bruno@clisp.org>
30465
30466         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
30467
30468 2006-10-19  Bruno Haible  <bruno@clisp.org>
30469
30470         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
30471         it.
30472
30473 2006-10-19  Bruno Haible  <bruno@clisp.org>
30474
30475         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
30476         invocation.
30477
30478 2006-10-19  Bruno Haible  <bruno@clisp.org>
30479
30480         * gnulib-tool (func_create_testdir): Don't include ftruncate and
30481         mountlist by default.
30482
30483 2006-10-16  Bruno Haible  <bruno@clisp.org>
30484
30485         * lib/c-strstr.c: Include c-strstr.h.
30486
30487 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
30488
30489         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
30490         in a slash.
30491
30492 2006-10-18  Bruno Haible  <bruno@clisp.org>
30493
30494         * lib/lock.h [C++]: Wrap definitions in extern "C".
30495
30496 2006-10-18  Bruno Haible  <bruno@clisp.org>
30497
30498         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
30499         gl_LIBOBJS list.
30500
30501 2006-10-18  Bruno Haible  <bruno@clisp.org>
30502
30503         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
30504
30505 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
30506
30507         * lib/xstrtol.h: Include gettext.h.
30508         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
30509         Problem reported by Eric Blake.
30510         * modules/xstrtol (Depends-on): Add gettext-h.
30511
30512 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
30513
30514         * lib/strftime.c (advance): New macro.
30515         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
30516         incomplete type, so you can't add 0 to it.  Problem and patch
30517         reported by Eelco Dolstra for dietlibc.
30518
30519 2006-10-18  Jim Meyering  <jim@meyering.net>
30520
30521         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
30522         type for a local, and rename it: s/up/user_proc/.
30523
30524 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
30525
30526         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
30527         READ_UTMP_USER_PROCESS.
30528         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
30529
30530 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
30531
30532         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
30533         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
30534
30535 2006-10-17  Eric Blake  <ebb9@byu.net>
30536
30537         * lib/sigprocmask.c (sigprocmask): Fix typo.
30538
30539         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
30540
30541         * modules/clean-temp (Makefile.am): Don't add to make output...
30542         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
30543         config.h.
30544
30545 2006-10-17  Bruno Haible  <bruno@clisp.org>
30546
30547         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
30548         differently if DEFAULT_TEXT_DOMAIN is set.
30549
30550 2006-10-16  Bruno Haible  <bruno@clisp.org>
30551
30552         * lib/clean-temp.c: Include fwriteerror.h.
30553
30554 2006-10-16  Bruno Haible  <bruno@clisp.org>
30555
30556         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
30557
30558 2006-10-16  Bruno Haible  <bruno@clisp.org>
30559
30560         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
30561         * lib/sigprocmask.h: Include <sys/types.h>.
30562         (sigset_t): Use the system's definition if present.
30563
30564 2006-10-17  Eric Blake  <ebb9@byu.net>
30565
30566         * lib/xvasprintf.c (includes): Assume config.h.
30567         * lib/xasprintf.c (includes): Likewise.
30568
30569 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
30570
30571         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
30572         at least as wide as intmax_t.
30573
30574 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
30575
30576         (Imported from Automake.)
30577         * build-aux/gnupload: Update to version 1.1 of directive file.
30578
30579 2006-10-16  Eric Blake  <ebb9@byu.net>
30580
30581         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
30582         match Automake 1.10a.
30583
30584 2006-10-14  Bruno Haible  <bruno@clisp.org>
30585
30586         * modules/sigprocmask: New file.
30587         * lib/sigprocmask.h: New file.
30588         * lib/sigprocmask.c: New file.
30589         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
30590         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
30591         request sigprocmask.o.
30592         (gl_PREREQ_SIGPROCMASK): New macro.
30593         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
30594         (Depends-on): Add sigprocmask.
30595         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
30596         gt_SIGNALBLOCKING. Test for 'raise' only once.
30597         * lib/fatal-signal.c: Include sigprocmask.h.
30598         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
30599         unblock_fatal_signals): Define always.
30600         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
30601         sigprocmask.
30602
30603 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
30604
30605         Sync from Automake.
30606         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
30607         which incorrectly sets the mode of an existing destination
30608         directory.  In some cases the unpatched install-sh could do the
30609         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
30610         system.  We hope this is rare in practice, but it's clearly worth
30611         fixing.  Problem reported by Alex Unleashed in
30612         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
30613         Also, don't bother to check for -m bugs unless we're using -m;
30614         suggested by Stepan Kasal.
30615
30616 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30617
30618         Sync from Automake.
30619         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
30620         `-c' flag, so they appear at the same position as in %FASTDEP%
30621         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
30622         which ignores unknown options only after the first non-option.
30623         Bug report against M4 by Nelson H. F. Beebe.
30624
30625 2006-10-13  Jim Meyering  <jim@meyering.net>
30626
30627         Fix a bug in yesterday's change.
30628         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
30629         p->fts_statp->st_dev would be used uninitialized.
30630         Ensures that we always call fts_stat on the very first entry.
30631         Miklos Szeredi reported that find -xdev stopped working.
30632
30633 2006-10-12  Bruno Haible  <bruno@clisp.org>
30634
30635         * gnulib-tool (func_get_automake_snippet): Append an automatically
30636         computed EXTRA_DIST augmentation.
30637         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
30638         * modules/alloca-opt (Makefile.am): Likewise.
30639         * modules/allocsa (Makefile.am): Likewise.
30640         * modules/arcfour (Makefile.am): Likewise.
30641         * modules/arctwo (Makefile.am): Likewise.
30642         * modules/argmatch (Makefile.am): Likewise.
30643         * modules/argz (Makefile.am): Likewise.
30644         * modules/atexit (Makefile.am): Likewise.
30645         * modules/backupfile (Makefile.am): Likewise.
30646         * modules/byteswap (Makefile.am): Likewise.
30647         * modules/c-strtod (Makefile.am): Likewise.
30648         * modules/c-strtold (Makefile.am): Likewise.
30649         * modules/calloc (Makefile.am): Likewise.
30650         * modules/canon-host (Makefile.am): Likewise.
30651         * modules/canonicalize (Makefile.am): Likewise.
30652         * modules/chdir-long (Makefile.am): Likewise.
30653         * modules/chdir-safer (Makefile.am): Likewise.
30654         * modules/check-version (Makefile.am): Likewise.
30655         * modules/chown (Makefile.am): Likewise.
30656         * modules/cloexec (Makefile.am): Likewise.
30657         * modules/close-stream (Makefile.am): Likewise.
30658         * modules/closeout (Makefile.am): Likewise.
30659         * modules/crc (Makefile.am): Likewise.
30660         * modules/csharpexec (Makefile.am): Likewise.
30661         * modules/cycle-check (Makefile.am): Likewise.
30662         * modules/des (Makefile.am): Likewise.
30663         * modules/dev-ino (Makefile.am): Likewise.
30664         * modules/dirfd (Makefile.am): Likewise.
30665         * modules/dirname (Makefile.am): Likewise.
30666         * modules/dup2 (Makefile.am): Likewise.
30667         * modules/eealloc (Makefile.am): Likewise.
30668         * modules/error (Makefile.am): Likewise.
30669         * modules/euidaccess (Makefile.am): Likewise.
30670         * modules/exclude (Makefile.am): Likewise.
30671         * modules/exitfail (Makefile.am): Likewise.
30672         * modules/fcntl-safer (Makefile.am): Likewise.
30673         * modules/fcntl (Makefile.am): Likewise.
30674         * modules/file-type (Makefile.am): Likewise.
30675         * modules/fileblocks (Makefile.am): Likewise.
30676         * modules/filemode (Makefile.am): Likewise.
30677         * modules/filenamecat (Makefile.am): Likewise.
30678         * modules/fnmatch (Makefile.am): Likewise.
30679         * modules/fopen-safer (Makefile.am): Likewise.
30680         * modules/fpending (Makefile.am): Likewise.
30681         * modules/fprintftime (Makefile.am): Likewise.
30682         * modules/free (Makefile.am): Likewise.
30683         * modules/fsusage (Makefile.am): Likewise.
30684         * modules/ftruncate (Makefile.am): Likewise.
30685         * modules/fts (Makefile.am): Likewise.
30686         * modules/gc-arcfour (Makefile.am): Likewise.
30687         * modules/gc-des (Makefile.am): Likewise.
30688         * modules/gc-hmac-md5 (Makefile.am): Likewise.
30689         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
30690         * modules/gc-md4 (Makefile.am): Likewise.
30691         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
30692         * modules/gc-sha1 (Makefile.am): Likewise.
30693         * modules/gc (Makefile.am): Likewise.
30694         * modules/getaddrinfo (Makefile.am): Likewise.
30695         * modules/getcwd (Makefile.am): Likewise.
30696         * modules/getdelim (Makefile.am): Likewise.
30697         * modules/getdomainname (Makefile.am): Likewise.
30698         * modules/getgroups (Makefile.am): Likewise.
30699         * modules/gethostname (Makefile.am): Likewise.
30700         * modules/gethrxtime (Makefile.am): Likewise.
30701         * modules/getline (Makefile.am): Likewise.
30702         * modules/getloadavg (Makefile.am): Likewise.
30703         * modules/getlogin_r (Makefile.am): Likewise.
30704         * modules/getndelim2 (Makefile.am): Likewise.
30705         * modules/getopt (Makefile.am): Likewise.
30706         * modules/getpagesize (Makefile.am): Likewise.
30707         * modules/getpass-gnu (Makefile.am): Likewise.
30708         * modules/getpass (Makefile.am): Likewise.
30709         * modules/getsubopt (Makefile.am): Likewise.
30710         * modules/gettime (Makefile.am): Likewise.
30711         * modules/gettimeofday (Makefile.am): Likewise.
30712         * modules/getugroups (Makefile.am): Likewise.
30713         * modules/getusershell (Makefile.am): Likewise.
30714         * modules/glob (Makefile.am): Likewise.
30715         * modules/group-member (Makefile.am): Likewise.
30716         * modules/hard-locale (Makefile.am): Likewise.
30717         * modules/hash (Makefile.am): Likewise.
30718         * modules/hmac-md5 (Makefile.am): Likewise.
30719         * modules/hmac-sha1 (Makefile.am): Likewise.
30720         * modules/human (Makefile.am): Likewise.
30721         * modules/idcache (Makefile.am): Likewise.
30722         * modules/imaxabs (Makefile.am): Likewise.
30723         * modules/imaxdiv (Makefile.am): Likewise.
30724         * modules/inet_ntop (Makefile.am): Likewise.
30725         * modules/inet_pton (Makefile.am): Likewise.
30726         * modules/intprops (Makefile.am): Likewise.
30727         * modules/inttostr (Makefile.am): Likewise.
30728         * modules/inttypes (Makefile.am): Likewise.
30729         * modules/isapipe (Makefile.am): Likewise.
30730         * modules/javaversion (Makefile.am): Likewise.
30731         * modules/lchmod (Makefile.am): Likewise.
30732         * modules/lchown (Makefile.am): Likewise.
30733         * modules/localcharset (Makefile.am): Likewise.
30734         * modules/long-options (Makefile.am): Likewise.
30735         * modules/lstat (Makefile.am): Likewise.
30736         * modules/malloc (Makefile.am): Likewise.
30737         * modules/mathl (Makefile.am): Likewise.
30738         * modules/mbchar (Makefile.am): Likewise.
30739         * modules/md2 (Makefile.am): Likewise.
30740         * modules/md4 (Makefile.am): Likewise.
30741         * modules/md5 (Makefile.am): Likewise.
30742         * modules/memcasecmp (Makefile.am): Likewise.
30743         * modules/memchr (Makefile.am): Likewise.
30744         * modules/memcmp (Makefile.am): Likewise.
30745         * modules/memcoll (Makefile.am): Likewise.
30746         * modules/memcpy (Makefile.am): Likewise.
30747         * modules/memmem (Makefile.am): Likewise.
30748         * modules/memmove (Makefile.am): Likewise.
30749         * modules/mempcpy (Makefile.am): Likewise.
30750         * modules/memrchr (Makefile.am): Likewise.
30751         * modules/memset (Makefile.am): Likewise.
30752         * modules/memxor (Makefile.am): Likewise.
30753         * modules/mkancesdirs (Makefile.am): Likewise.
30754         * modules/mkdir-p (Makefile.am): Likewise.
30755         * modules/mkdir (Makefile.am): Likewise.
30756         * modules/mkdtemp (Makefile.am): Likewise.
30757         * modules/mkstemp (Makefile.am): Likewise.
30758         * modules/mktime (Makefile.am): Likewise.
30759         * modules/modechange (Makefile.am): Likewise.
30760         * modules/mountlist (Makefile.am): Likewise.
30761         * modules/nanosleep (Makefile.am): Likewise.
30762         * modules/obstack (Makefile.am): Likewise.
30763         * modules/openat (Makefile.am): Likewise.
30764         * modules/pagealign_alloc (Makefile.am): Likewise.
30765         * modules/pathmax (Makefile.am): Likewise.
30766         * modules/physmem (Makefile.am): Likewise.
30767         * modules/poll (Makefile.am): Likewise.
30768         * modules/posixtm (Makefile.am): Likewise.
30769         * modules/posixver (Makefile.am): Likewise.
30770         * modules/putenv (Makefile.am): Likewise.
30771         * modules/quote (Makefile.am): Likewise.
30772         * modules/quotearg (Makefile.am): Likewise.
30773         * modules/raise (Makefile.am): Likewise.
30774         * modules/read-file (Makefile.am): Likewise.
30775         * modules/readline (Makefile.am): Likewise.
30776         * modules/readlink (Makefile.am): Likewise.
30777         * modules/readtokens (Makefile.am): Likewise.
30778         * modules/readutmp (Makefile.am): Likewise.
30779         * modules/realloc (Makefile.am): Likewise.
30780         * modules/regex (Makefile.am): Likewise.
30781         * modules/rename-dest-slash (Makefile.am): Likewise.
30782         * modules/rename (Makefile.am): Likewise.
30783         * modules/rijndael (Makefile.am): Likewise.
30784         * modules/rmdir (Makefile.am): Likewise.
30785         * modules/rpmatch (Makefile.am): Likewise.
30786         * modules/safe-read (Makefile.am): Likewise.
30787         * modules/safe-write (Makefile.am): Likewise.
30788         * modules/same-inode (Makefile.am): Likewise.
30789         * modules/same (Makefile.am): Likewise.
30790         * modules/save-cwd (Makefile.am): Likewise.
30791         * modules/savedir (Makefile.am): Likewise.
30792         * modules/setenv (Makefile.am): Likewise.
30793         * modules/settime (Makefile.am): Likewise.
30794         * modules/sha1 (Makefile.am): Likewise.
30795         * modules/sig2str (Makefile.am): Likewise.
30796         * modules/snprintf (Makefile.am): Likewise.
30797         * modules/stat-macros (Makefile.am): Likewise.
30798         * modules/stat-time (Makefile.am): Likewise.
30799         * modules/stdbool (Makefile.am): Likewise.
30800         * modules/stdint (Makefile.am): Likewise.
30801         * modules/stdlib-safer (Makefile.am): Likewise.
30802         * modules/stpcpy (Makefile.am): Likewise.
30803         * modules/stpncpy (Makefile.am): Likewise.
30804         * modules/strcase (Makefile.am): Likewise.
30805         * modules/strcasestr (Makefile.am): Likewise.
30806         * modules/strchrnul (Makefile.am): Likewise.
30807         * modules/strcspn (Makefile.am): Likewise.
30808         * modules/strdup (Makefile.am): Likewise.
30809         * modules/strerror (Makefile.am): Likewise.
30810         * modules/strftime (Makefile.am): Likewise.
30811         * modules/strndup (Makefile.am): Likewise.
30812         * modules/strnlen (Makefile.am): Likewise.
30813         * modules/strpbrk (Makefile.am): Likewise.
30814         * modules/strsep (Makefile.am): Likewise.
30815         * modules/strstr (Makefile.am): Likewise.
30816         * modules/strtod (Makefile.am): Likewise.
30817         * modules/strtoimax (Makefile.am): Likewise.
30818         * modules/strtok_r (Makefile.am): Likewise.
30819         * modules/strtol (Makefile.am): Likewise.
30820         * modules/strtoll (Makefile.am): Likewise.
30821         * modules/strtoul (Makefile.am): Likewise.
30822         * modules/strtoull (Makefile.am): Likewise.
30823         * modules/strtoumax (Makefile.am): Likewise.
30824         * modules/strverscmp (Makefile.am): Likewise.
30825         * modules/sys_socket (Makefile.am): Likewise.
30826         * modules/sys_stat (Makefile.am): Likewise.
30827         * modules/sysexits (Makefile.am): Likewise.
30828         * modules/time_r (Makefile.am): Likewise.
30829         * modules/timegm (Makefile.am): Likewise.
30830         * modules/timespec (Makefile.am): Likewise.
30831         * modules/tmpfile-safer (Makefile.am): Likewise.
30832         * modules/trim (Makefile.am): Likewise.
30833         * modules/unistd-safer (Makefile.am): Likewise.
30834         * modules/unlinkdir (Makefile.am): Likewise.
30835         * modules/unlocked-io (Makefile.am): Likewise.
30836         * modules/userspec (Makefile.am): Likewise.
30837         * modules/utime (Makefile.am): Likewise.
30838         * modules/utimecmp (Makefile.am): Likewise.
30839         * modules/utimens (Makefile.am): Likewise.
30840         * modules/vasnprintf (Makefile.am): Likewise.
30841         * modules/vasprintf (Makefile.am): Likewise.
30842         * modules/vsnprintf (Makefile.am): Likewise.
30843         * modules/xalloc (Makefile.am): Likewise.
30844         * modules/xgetcwd (Makefile.am): Likewise.
30845         * modules/xnanosleep (Makefile.am): Likewise.
30846         * modules/xreadlink (Makefile.am): Likewise.
30847         * modules/xstrtod (Makefile.am): Likewise.
30848         * modules/xstrtol (Makefile.am): Likewise.
30849         * modules/xstrtold (Makefile.am): Likewise.
30850         * modules/yesno (Makefile.am): Likewise.
30851         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
30852
30853 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
30854
30855         * modules/error (Makefile.am): Distribute files through
30856         EXTRA_DIST, not lib_SOURCES.
30857
30858 2006-10-12  Eric Blake  <ebb9@byu.net>
30859
30860         * modules/error (Makefile.am): Distribute files in /lib.
30861         * modules/obstack (Makefile.am): Likewise.
30862
30863 2006-10-12  Bruno Haible  <bruno@clisp.org>
30864
30865         * modules/acl (Makefile.am): Distribute all files in lib/ through
30866         EXTRA_DIST.
30867         * modules/arcfour (Makefile.am): Likewise.
30868         * modules/arctwo (Makefile.am): Likewise.
30869         * modules/argmatch (Makefile.am): Likewise.
30870         * modules/argz (Makefile.am): Likewise.
30871         * modules/atexit (Makefile.am): Likewise.
30872         * modules/backupfile (Makefile.am): Likewise.
30873         * modules/c-strtod (Makefile.am): Likewise.
30874         * modules/c-strtold (Makefile.am): Likewise.
30875         * modules/calloc (Makefile.am): Likewise.
30876         * modules/canon-host (Makefile.am): Likewise.
30877         * modules/canonicalize (Makefile.am): Likewise.
30878         * modules/chdir-long (Makefile.am): Likewise.
30879         * modules/chdir-safer (Makefile.am): Likewise.
30880         * modules/check-version (Makefile.am): Likewise.
30881         * modules/chown (Makefile.am): Likewise.
30882         * modules/cloexec (Makefile.am): Likewise.
30883         * modules/close-stream (Makefile.am): Likewise.
30884         * modules/closeout (Makefile.am): Likewise.
30885         * modules/crc (Makefile.am): Likewise.
30886         * modules/cycle-check (Makefile.am): Likewise.
30887         * modules/des (Makefile.am): Likewise.
30888         * modules/dirfd (Makefile.am): Likewise.
30889         * modules/dirname (Makefile.am): Likewise.
30890         * modules/dup2 (Makefile.am): Likewise.
30891         * modules/euidaccess (Makefile.am): Likewise.
30892         * modules/exclude (Makefile.am): Likewise.
30893         * modules/exitfail (Makefile.am): Likewise.
30894         * modules/fcntl-safer (Makefile.am): Likewise.
30895         * modules/file-type (Makefile.am): Likewise.
30896         * modules/fileblocks (Makefile.am): Likewise.
30897         * modules/filemode (Makefile.am): Likewise.
30898         * modules/filenamecat (Makefile.am): Likewise.
30899         * modules/fnmatch (Makefile.am): Likewise.
30900         * modules/fopen-safer (Makefile.am): Likewise.
30901         * modules/fpending (Makefile.am): Likewise.
30902         * modules/fprintftime (Makefile.am): Likewise.
30903         * modules/free (Makefile.am): Likewise.
30904         * modules/fsusage (Makefile.am): Likewise.
30905         * modules/ftruncate (Makefile.am): Likewise.
30906         * modules/fts (Makefile.am): Likewise.
30907         * modules/gc (Makefile.am): Likewise.
30908         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
30909         * modules/getaddrinfo (Makefile.am): Likewise.
30910         * modules/getcwd (Makefile.am): Likewise.
30911         * modules/getdelim (Makefile.am): Likewise.
30912         * modules/getdomainname (Makefile.am): Likewise.
30913         * modules/getgroups (Makefile.am): Likewise.
30914         * modules/gethostname (Makefile.am): Likewise.
30915         * modules/gethrxtime (Makefile.am): Likewise.
30916         * modules/getline (Makefile.am): Likewise.
30917         * modules/getloadavg (Makefile.am): Likewise.
30918         * modules/getlogin_r (Makefile.am): Likewise.
30919         * modules/getopt (Makefile.am): Likewise.
30920         * modules/getpass (Makefile.am): Likewise.
30921         * modules/getpass-gnu (Makefile.am): Likewise.
30922         * modules/getsubopt (Makefile.am): Likewise.
30923         * modules/gettime (Makefile.am): Likewise.
30924         * modules/gettimeofday (Makefile.am): Likewise.
30925         * modules/getugroups (Makefile.am): Likewise.
30926         * modules/getusershell (Makefile.am): Likewise.
30927         * modules/glob (Makefile.am): Likewise.
30928         * modules/group-member (Makefile.am): Likewise.
30929         * modules/hard-locale (Makefile.am): Likewise.
30930         * modules/hash (Makefile.am): Likewise.
30931         * modules/hmac-md5 (Makefile.am): Likewise.
30932         * modules/hmac-sha1 (Makefile.am): Likewise.
30933         * modules/human (Makefile.am): Likewise.
30934         * modules/idcache (Makefile.am): Likewise.
30935         * modules/imaxabs (Makefile.am): Likewise.
30936         * modules/imaxdiv (Makefile.am): Likewise.
30937         * modules/inet_ntop (Makefile.am): Likewise.
30938         * modules/inet_pton (Makefile.am): Likewise.
30939         * modules/inttostr (Makefile.am): Likewise.
30940         * modules/isapipe (Makefile.am): Likewise.
30941         * modules/lchown (Makefile.am): Likewise.
30942         * modules/long-options (Makefile.am): Likewise.
30943         * modules/lstat (Makefile.am): Likewise.
30944         * modules/malloc (Makefile.am): Likewise.
30945         * modules/mathl (Makefile.am): Likewise.
30946         * modules/mbchar (Makefile.am): Likewise.
30947         * modules/md2 (Makefile.am): Likewise.
30948         * modules/md4 (Makefile.am): Likewise.
30949         * modules/md5 (Makefile.am): Likewise.
30950         * modules/memcasecmp (Makefile.am): Likewise.
30951         * modules/memchr (Makefile.am): Likewise.
30952         * modules/memcmp (Makefile.am): Likewise.
30953         * modules/memcoll (Makefile.am): Likewise.
30954         * modules/memcpy (Makefile.am): Likewise.
30955         * modules/memmem (Makefile.am): Likewise.
30956         * modules/memmove (Makefile.am): Likewise.
30957         * modules/mempcpy (Makefile.am): Likewise.
30958         * modules/memrchr (Makefile.am): Likewise.
30959         * modules/memset (Makefile.am): Likewise.
30960         * modules/memxor (Makefile.am): Likewise.
30961         * modules/mkancesdirs (Makefile.am): Likewise.
30962         * modules/mkdir (Makefile.am): Likewise.
30963         * modules/mkdir-p (Makefile.am): Likewise.
30964         * modules/mkdtemp (Makefile.am): Likewise.
30965         * modules/mkstemp (Makefile.am): Likewise.
30966         * modules/mktime (Makefile.am): Likewise.
30967         * modules/modechange (Makefile.am): Likewise.
30968         * modules/mountlist (Makefile.am): Likewise.
30969         * modules/nanosleep (Makefile.am): Likewise.
30970         * modules/openat (Makefile.am): Likewise.
30971         * modules/pagealign_alloc (Makefile.am): Likewise.
30972         * modules/physmem (Makefile.am): Likewise.
30973         * modules/poll (Makefile.am): Likewise.
30974         * modules/posixtm (Makefile.am): Likewise.
30975         * modules/posixver (Makefile.am): Likewise.
30976         * modules/putenv (Makefile.am): Likewise.
30977         * modules/quote (Makefile.am): Likewise.
30978         * modules/quotearg (Makefile.am): Likewise.
30979         * modules/raise (Makefile.am): Likewise.
30980         * modules/read-file (Makefile.am): Likewise.
30981         * modules/readline (Makefile.am): Likewise.
30982         * modules/readlink (Makefile.am): Likewise.
30983         * modules/readtokens (Makefile.am): Likewise.
30984         * modules/readutmp (Makefile.am): Likewise.
30985         * modules/realloc (Makefile.am): Likewise.
30986         * modules/regex (Makefile.am): Likewise.
30987         * modules/rename (Makefile.am): Likewise.
30988         * modules/rename-dest-slash (Makefile.am): Likewise.
30989         * modules/rijndael (Makefile.am): Likewise.
30990         * modules/rmdir (Makefile.am): Likewise.
30991         * modules/rpmatch (Makefile.am): Likewise.
30992         * modules/safe-read (Makefile.am): Likewise.
30993         * modules/safe-write (Makefile.am): Likewise.
30994         * modules/same (Makefile.am): Likewise.
30995         * modules/save-cwd (Makefile.am): Likewise.
30996         * modules/savedir (Makefile.am): Likewise.
30997         * modules/setenv (Makefile.am): Likewise.
30998         * modules/settime (Makefile.am): Likewise.
30999         * modules/sha1 (Makefile.am): Likewise.
31000         * modules/sig2str (Makefile.am): Likewise.
31001         * modules/snprintf (Makefile.am): Likewise.
31002         * modules/stdlib-safer (Makefile.am): Likewise.
31003         * modules/stpcpy (Makefile.am): Likewise.
31004         * modules/stpncpy (Makefile.am): Likewise.
31005         * modules/strcase (Makefile.am): Likewise.
31006         * modules/strcasestr (Makefile.am): Likewise.
31007         * modules/strchrnul (Makefile.am): Likewise.
31008         * modules/strcspn (Makefile.am): Likewise.
31009         * modules/strdup (Makefile.am): Likewise.
31010         * modules/strerror (Makefile.am): Likewise.
31011         * modules/strftime (Makefile.am): Likewise.
31012         * modules/strndup (Makefile.am): Likewise.
31013         * modules/strnlen (Makefile.am): Likewise.
31014         * modules/strpbrk (Makefile.am): Likewise.
31015         * modules/strsep (Makefile.am): Likewise.
31016         * modules/strstr (Makefile.am): Likewise.
31017         * modules/strtod (Makefile.am): Likewise.
31018         * modules/strtoimax (Makefile.am): Likewise.
31019         * modules/strtok_r (Makefile.am): Likewise.
31020         * modules/strtol (Makefile.am): Likewise.
31021         * modules/strtoll (Makefile.am): Likewise.
31022         * modules/strtoul (Makefile.am): Likewise.
31023         * modules/strtoull (Makefile.am): Likewise.
31024         * modules/strtoumax (Makefile.am): Likewise.
31025         * modules/strverscmp (Makefile.am): Likewise.
31026         * modules/time_r (Makefile.am): Likewise.
31027         * modules/timegm (Makefile.am): Likewise.
31028         * modules/tmpfile-safer (Makefile.am): Likewise.
31029         * modules/unistd-safer (Makefile.am): Likewise.
31030         * modules/unlinkdir (Makefile.am): Likewise.
31031         * modules/userspec (Makefile.am): Likewise.
31032         * modules/utime (Makefile.am): Likewise.
31033         * modules/utimecmp (Makefile.am): Likewise.
31034         * modules/utimens (Makefile.am): Likewise.
31035         * modules/vasnprintf (Makefile.am): Likewise.
31036         * modules/vasprintf (Makefile.am): Likewise.
31037         * modules/vsnprintf (Makefile.am): Likewise.
31038         * modules/xalloc (Makefile.am): Likewise.
31039         * modules/xgetcwd (Makefile.am): Likewise.
31040         * modules/xnanosleep (Makefile.am): Likewise.
31041         * modules/xreadlink (Makefile.am): Likewise.
31042         * modules/xstrtod (Makefile.am): Likewise.
31043         * modules/xstrtol (Makefile.am): Likewise.
31044         * modules/xstrtold (Makefile.am): Likewise.
31045         * modules/yesno (Makefile.am): Likewise.
31046
31047 2006-10-12  Jim Meyering  <jim@meyering.net>
31048
31049         * m4/getloadavg.m4: Revert the change below.
31050
31051         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
31052         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
31053         fail with a symlink, which is what coreutils' ./bootstrap now
31054         creates by default.
31055
31056 2006-10-12  Bruno Haible  <bruno@clisp.org>
31057
31058         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
31059         mingw.
31060         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
31061         MSVC and mingw explicitly.
31062
31063 2006-10-11  Simon Josefsson  <jas@extundo.com>
31064             Bruno Haible  <bruno@clisp.org>
31065
31066         Add support for multiple gnulib-tool invocations in the scope of a
31067         single configure.ac file.
31068         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
31069         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
31070         with the same contents as the _LIBADD variable.
31071         (func_emit_initmacro_start, func_emit_initmacro_end,
31072         func_emit_initmacro_done): New functions.
31073         (func_import, func_create_testdir): Invoke them. Allow the identifiers
31074         gl_LIBOBJS and gl_LTLIBOBJS.
31075
31076 2006-10-11  Bruno Haible  <bruno@clisp.org>
31077
31078         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
31079         (func_create_testdir): Don't create po/Makefile.am, don't invoke
31080         autoreconf. Instead, invoke autopoint explicitly but move back the
31081         *.m4 files from gnulib.
31082
31083 2006-10-11  Bruno Haible  <bruno@clisp.org>
31084
31085         * gnulib-tool (func_usage): Make module names after --create-testdir
31086         optional.
31087         (func_create_testdir): If no module was specified, use nearly all
31088         modules.
31089
31090 2006-10-12  Jim Meyering  <jim@meyering.net>
31091
31092         Big performance improvement for fts-based tools that use FTS_NOSTAT.
31093         Avoid spurious inode-mismatch problems on non-POSIX file systems.
31094         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
31095         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
31096         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
31097         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
31098         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
31099         (fts_set_stat_required): New function.
31100         (fts_open): Defer the calls to fts_stat, if possible or requested.
31101         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
31102         into fts_stat itself.
31103         (fts_read): Perform any required (deferred) fts_stat call.
31104         (fts_build): Likewise, for the directory we're about to open and read.
31105         In the readdir loop, carefully decide whether each entry will require
31106         an eventual call to fts_stat, using dirent.d_type info if available.
31107         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
31108         a command line argument into this function.  Update all callers.
31109         Map a return value of FTS_DOT to FTS_D for a command line argument.
31110         * modules/fts (Depends-on): Add d-type.  Alphabetize.
31111         Thanks to Miklos Szeredi for his tenacity and for the initial
31112         bug report about "find" failing on a FUSE-based file system.
31113
31114         * lib/fts.c (fts_open): Use consistent indentation.
31115
31116 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
31117
31118         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
31119         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
31120         reported by Jim Meyering.  All uses of cache variables renamed
31121         to match Autoconf's.
31122         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
31123         the other one.
31124
31125         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
31126         Fix misspelling in diagnostic.
31127
31128 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31129
31130         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
31131         defined.  Problem reported by Matthew Woehlke.
31132
31133         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
31134         Add support for Tandem NonStop R series.
31135         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
31136         Use new macro.
31137
31138         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
31139         (has_trailing_slash): Omit size arg; all callers changed.
31140         Omit 'inline', since it doesn't help performance and we'd
31141         need to configure it.
31142         Don't count //, ///, etc. as having a trailing slash.
31143         As a side effect, this removes a C99ism reported by Matthew Woehlke.
31144         (rpl_rename_dest_slash): On failure, use rename's errno rather
31145         than (in some cases) an incorrect or junk errno.
31146         Simplify code by removing need to compute length; this does
31147         cause it to make two passes instead of one over the file name,
31148         but it's worth it.
31149
31150         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
31151         change, since Autoconf's version may no longer be appropriate now
31152         that we are using CVS Autoconf's version.  Add support for Tandem.
31153
31154 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31155             Bruno Haible  <bruno@clisp.org>
31156
31157         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
31158         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
31159         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
31160         gl_AC_TYPE_LONG_LONG.
31161
31162         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
31163         instead of HAVE_LONG_LONG.
31164         * lib/printf-args.c (printf_fetchargs): Likewise.
31165         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
31166         * lib/vasnprintf.c (VASNPRINTF): Likewise.
31167         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
31168         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
31169         gl_AC_TYPE_LONG_LONG.
31170
31171 2006-10-11  Bruno Haible  <bruno@clisp.org>
31172
31173         * m4/longlong.m4: Add comments.
31174         * m4/ulonglong.m4: Likewise.
31175
31176 2006-10-10  Bruno Haible  <bruno@clisp.org>
31177
31178         Make it possible to #define stpcpy, strdup to aliases.
31179         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
31180         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
31181
31182 2006-10-10  Bruno Haible  <bruno@clisp.org>
31183
31184         Make it possible to #define gcd to an alias.
31185         * lib/gcd.c: Include config.h.
31186
31187 2006-10-10  Bruno Haible  <bruno@clisp.org>
31188
31189         Make it possible to #define c_isascii to an alias.
31190         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
31191         defined. Undefine the macros before defining them, to avoid gcc
31192         warnings.
31193         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
31194         define NO_C_CTYPE_MACROS early.
31195
31196 2006-10-10  Bruno Haible  <bruno@clisp.org>
31197
31198         Make it possible to #define set_program_name to an alias.
31199         * lib/progname.c: Don't undefine set_program_name; instead, undefine
31200         ENABLE_RELOCATABLE early.
31201
31202 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
31203
31204         Port to Tandem NSK OSS, which has 64-bit signed int but at most
31205         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
31206         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
31207         More generally, don't assume that 64-bit signed int is available
31208         if unsigned int is, and vice versa.
31209         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
31210         unsigned symbols, not on their signed counterparts.
31211         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
31212         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
31213         (UINT64_C, UINTMAX_C):
31214         Likewise.
31215         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
31216         unsigned counterparts.
31217         (Have_long_long, Unsigned): New macros.
31218         (Int): Renamed from INT.
31219         (strtoimax): Use the new macros.
31220         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
31221         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
31222         * modules/inttypes (inttypes.h): Substitute
31223         HAVE_UNSIGNED_LONG_LONG_INT.
31224         * modules/stdint (stdint.h): Likewise.
31225         (Files): Add m4/ulonglong.m4.
31226
31227 2006-10-10  Bruno Haible  <bruno@clisp.org>
31228
31229         Fix a gcc -Wshadow warning.
31230         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
31231         to 'bucket'.
31232         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
31233         gl_linked_indexof_from_to): Likewise.
31234         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
31235         Likewise.
31236         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
31237         Likewise.
31238         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
31239         Reported by Eric Blake.
31240
31241 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
31242
31243         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
31244         for NetBSD.  Problem reported by Bruno Haible.
31245
31246 2006-10-09  Jim Meyering  <jim@meyering.net>
31247
31248         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
31249         Patch from Bruno Haible.
31250
31251 2006-10-09  Jim Meyering  <jim@meyering.net>
31252
31253         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
31254         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
31255         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
31256
31257 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31258
31259         Don't include <config.h> twice; this doesn't work in some cases,
31260         e.g., when config.h has "#define intmax_t long long int" and
31261         we include <config.h>, <inttypes.h>, <config.h> in that order.
31262         Problem reported by Matthew Woehlke in:
31263         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
31264         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
31265         * lib/fts-cycle.c: Don't include config.h.
31266         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
31267         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
31268         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
31269         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
31270         inttypes.h.
31271         * lib/xstrtoumax.c: Likewise.
31272         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
31273         __strtol and the like, so that this module is more like its siblings.
31274         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
31275         Remove; no longer needed now that we assume gnulib inttypes.h.
31276
31277 2006-10-08  Bruno Haible  <bruno@clisp.org>
31278
31279         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
31280         option.
31281
31282 2006-10-07  Jim Meyering  <jim@meyering.net>
31283
31284         * modules/inttypes (inttypes.h): Revert what seems to have been
31285         an inadvertent part of today's change: use "|", not "/" in the
31286         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
31287
31288 2006-10-07  Bruno Haible  <bruno@clisp.org>
31289
31290         * modules/sublist: New file.
31291
31292 2006-10-07  Bruno Haible  <bruno@clisp.org>
31293
31294         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
31295         * modules/argz (argz.h): Likewise.
31296         * modules/arpa_inet (arpa/inet.h): Likewise.
31297         * modules/byteswap (byteswap.h): Likewise.
31298         * modules/configmake (configmake.h): Likewise.
31299         * modules/fcntl (fcntl.h): Likewise.
31300         * modules/fnmatch (fnmatch.h): Likewise.
31301         * modules/getopt (getopt.h): Likewise.
31302         * modules/glob (glob.h): Likewise.
31303         * modules/inttypes (inttypes.h): Likewise.
31304         * modules/netinet_in (netinet/in.h): Likewise.
31305         * modules/poll (poll.h): Likewise.
31306         * modules/stdbool (stdbool.h): Likewise.
31307         * modules/stdint (stdint.h): Likewise.
31308         * modules/sys_select (sys/select.h): Likewise.
31309         * modules/sys_socket (sys/socket.h): Likewise.
31310         * modules/sys_stat (sys/stat.h): Likewise.
31311         * modules/sysexits (sysexits.h): Likewise.
31312         * modules/unistd (unistd.h): Likewise.
31313         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31314         Add a "DO NOT EDIT" comment to the generated file.
31315         (func_import): Likewise for gnulib-comp.m4.
31316
31317 2006-10-07  Bruno Haible  <bruno@clisp.org>
31318
31319         * lib/gl_sublist.h: New file.
31320         * lib/gl_sublist.c: New file.
31321
31322 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
31323
31324         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
31325         name (relative to the original working directory) and the file
31326         name component (relative to the temporary working directory).  All
31327         callers changed.
31328         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
31329         * lib/mkdir-p.c (make_dir_parents): Likewise.
31330         * lib/mkdir-p.h (make_dir_parents): Likewise.
31331
31332 2006-10-06  Eric Blake  <ebb9@byu.net>
31333
31334         Define several macros for use by the clean-temp module.
31335         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
31336         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
31337         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
31338
31339         * lib/clean-temp.h (close_stream_temp): New declaration.
31340         * lib/clean-temp.c (includes): Pull in headers according to what
31341         other modules are in use.
31342         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
31343
31344 2006-10-06  Bruno Haible  <bruno@clisp.org>
31345
31346         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
31347         instead of fopen, fwriteerror.
31348
31349 2006-10-06  Bruno Haible  <bruno@clisp.org>
31350
31351         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
31352         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
31353         int.
31354         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
31355         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
31356         Return an error indicator.
31357         Suggested by Eric Blake.
31358
31359 2006-10-06  Bruno Haible  <bruno@clisp.org>
31360
31361         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
31362         Reported by Eric Blake.
31363
31364 2006-10-06  Bruno Haible  <bruno@clisp.org>
31365
31366         * modules/closeout (Description): Mention stderr too.
31367
31368 2006-10-06  Bruno Haible  <bruno@clisp.org>
31369         and Paul Eggert  <eggert@cs.ucla.edu>
31370
31371         * lib/closeout.c (close_stdout): Also close stderr.
31372         * lib/closeout.h: Update comment.
31373
31374 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
31375
31376         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
31377         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
31378         * lib/dirchownmod.c: Include lchown.h.
31379         * lib/lchown.c: Don't include files that lchown.h now includes.
31380         Don't declare chown, since lchown.h now does that.
31381         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
31382         (lchown): Define to rpl_chown if lchown is declared but
31383         does not exist.  Declare using a prototype if lchown is not
31384         declared.  Add a copyright notice.
31385         * lib/mkstemp.h: Include <unistd.h>.
31386         * lib/openat.c: Include lchown.h.
31387
31388         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
31389         we now test for that separately.
31390         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
31391         rather than O_NOFOLLOW, when testing whether it's possible to
31392         avoid a race condition reliably.
31393         * lib/savewd.c (savewd_chdir): Likewise.
31394
31395         Remove macros that are no longer needed now that stdint.h is
31396         reliable.
31397         * lib/fsusage.c (UINTMAX_MAX): Remove.
31398         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
31399         * lib/utimecmp.c (SIZE_MAX): Remove.
31400
31401         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
31402
31403         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
31404         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
31405         O_NOATIME works.
31406
31407 2006-10-05  Bruno Haible  <bruno@clisp.org>
31408
31409         * lib/gl_list.h (gl_sortedlist_search_from_to,
31410         gl_sortedlist_indexof_from_to): New declarations.
31411         (gl_list_implementation): New fields sortedlist_search_from_to,
31412         sortedlist_indexof_from_to.
31413         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
31414         inline functions.
31415         * lib/gl_list.c (gl_sortedlist_search_from_to,
31416         gl_sortedlist_indexof_from_to): New functions.
31417         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
31418         function.
31419         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
31420         (gl_array_sortedlist_search_from_to): New function.
31421         (gl_array_list_implementation): Update.
31422         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
31423         function.
31424         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
31425         (gl_carray_sortedlist_search_from_to): New function.
31426         (gl_carray_list_implementation): Update.
31427         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
31428         gl_linked_sortedlist_indexof_from_to): New functions.
31429         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
31430         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
31431         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
31432         gl_tree_sortedlist_indexof_from_to): New functions.
31433         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
31434         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
31435         Update.
31436         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
31437         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
31438         Update.
31439
31440 2006-10-05  Bruno Haible  <bruno@clisp.org>
31441
31442         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
31443         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
31444         (struct gl_list_implementation): Add fields search_from_to,
31445         indexof_from_to. Remove fields search, indexof.
31446         (gl_list_search): Use the search_from_to method.
31447         (gl_list_search_from, gl_list_search_from_to): New functions.
31448         (gl_list_indexof): Use the indexof_from_to method.
31449         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
31450         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
31451         (gl_list_search_from, gl_list_search_from_to): New functions.
31452         (gl_list_indexof): Use the indexof_from_to method.
31453         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
31454         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
31455         gl_array_indexof. Add start_index, end_index arguments.
31456         (gl_array_search_from_to): Renamed from gl_array_search. Add
31457         start_index, end_index arguments.
31458         (gl_array_remove, gl_array_list_implementation): Update.
31459         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
31460         gl_carray_indexof. Add start_index, end_index arguments.
31461         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
31462         start_index, end_index arguments.
31463         (gl_carray_remove, gl_carray_list_implementation): Update.
31464         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
31465         gl_linked_search. Add start_index, end_index arguments.
31466         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
31467         start_index, end_index arguments.
31468         (gl_linked_remove): Update.
31469         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
31470         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
31471         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
31472         field to 'size_t'.
31473         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
31474         gl_tree_search. Add start_index, end_index arguments.
31475         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
31476         start_index, end_index arguments.
31477         (gl_tree_remove): Update.
31478         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
31479         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
31480         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
31481         function.
31482         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
31483         gl_tree_search. Add start_index, end_index arguments.
31484         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
31485         start_index, end_index arguments.
31486         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
31487         Update.
31488         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
31489
31490 2006-10-05  Bruno Haible  <bruno@clisp.org>
31491
31492         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
31493
31494         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
31495         fwriteerror_temp): New declarations.
31496         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
31497         (descriptors): New variable.
31498         (cleanup): First, close the descriptors.
31499         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
31500         fclose_temp, fwriteerror_temp): New functions.
31501
31502 2006-10-04  Jim Meyering  <jim@meyering.net>
31503
31504         * lib/fts.c (fts_open): Tiny comment change.
31505
31506 2006-10-04  Bruno Haible  <bruno@clisp.org>
31507
31508         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
31509         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
31510         gl_LOCK_BODY.
31511         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
31512         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
31513         gl_LOCK_EARLY_BODY.
31514         (gl_LOCK): Require gl_LOCK_BODY.
31515
31516 2006-10-04  Bruno Haible  <bruno@clisp.org>
31517
31518         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
31519         (gl_oset_search_atleast): New declaration.
31520         (struct gl_oset_implementation): Add field 'search_atleast'.
31521         (gl_oset_search_atleast): New inline function.
31522         * lib/gl_oset.c (gl_oset_search_atleast): New function.
31523         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
31524         (gl_array_oset_implementation): Update.
31525         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
31526         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
31527         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
31528
31529 2006-10-04  Bruno Haible  <bruno@clisp.org>
31530
31531         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
31532
31533 2006-10-03  Bruno Haible  <bruno@clisp.org>
31534
31535         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
31536         from gl_avltreehash_list_implementation.
31537
31538 2006-10-03  Bruno Haible  <bruno@clisp.org>
31539
31540         * lib/gl_oset.c (gl_oset_add): Fix return type.
31541
31542 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
31543
31544         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
31545
31546 2006-10-02  Eric Blake  <ebb9@byu.net>
31547
31548         * modules/strnlen (Depends-on): Add extensions.
31549
31550 2006-10-02  Eric Blake  <ebb9@byu.net>
31551
31552         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
31553         definition in 2.60+.
31554
31555 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
31556
31557         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
31558         checks.
31559
31560 2006-10-02  Bruno Haible  <bruno@clisp.org>
31561
31562         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
31563         to the AUTOMAKE_OPTIONS.
31564         Reported by Jim Meyering.
31565
31566 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
31567
31568         Work around bug in Solaris 10 /proc file system:
31569         /proc/self/fd/NNN/.. isn't the parent directory of
31570         the directory whose file descriptor is NNN.  This needs to
31571         be worked around at run time, not compile time, since a
31572         program might be built on Solaris 8, where things work, and
31573         run on Solaris 10.
31574         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
31575         to use the following interface instead:
31576         (OPENAT_BUFFER_SIZE): New macro.
31577         (openat_proc_name): New function.
31578         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
31579         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
31580         Likewise.
31581         * lib/openat-proc.c: New file.
31582         * modules/openat (Files): Add lib/openat-proc.c.
31583         (Depends-on): Add same-inode, stdbool.
31584         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
31585
31586 2006-09-29  Bruno Haible  <bruno@clisp.org>
31587
31588         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
31589         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
31590         argument. Set stdout_closed before testing for ferror, not after.
31591         (fwriteerror, fwriteerror_no_ebadf): New functions.
31592
31593 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31594
31595         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
31596
31597 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
31598
31599         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
31600         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
31601
31602 2006-09-28  Jim Meyering  <jim@meyering.net>
31603
31604         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
31605         Include <unistd.h>.
31606
31607 2006-09-28  Bruno Haible  <bruno@clisp.org>
31608
31609         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
31610         * modules/linkedhash-list (Depends-on): Likewise.
31611         * modules/rbtreehash-list (Depends-on): Likewise.
31612
31613 2006-09-28  Bruno Haible  <bruno@clisp.org>
31614
31615         * lib/strndup.h: Simplify the redefinition of strndup.
31616         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
31617         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
31618
31619 2006-09-28  Bruno Haible  <bruno@clisp.org>
31620
31621         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
31622         * lib/gl_linkedhash_list.c: Likewise.
31623         * lib/gl_rbtreehash_list.c: Likewise.
31624
31625 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
31626
31627         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
31628         getaddrinfo.
31629
31630         * lib/__fpending.h: Don't include <stdio_ext.h> unless
31631         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
31632         it causes <stdio_ext.h> to cause a compile-time error.
31633         Problem reported by Nelson H. F. Beebe.
31634         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
31635         of HAVE_DECL___PENDING.
31636
31637         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
31638         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
31639         declaration.
31640
31641 2006-09-27  Jim Meyering  <jim@meyering.net>
31642
31643         This file could end up with a definition for a function
31644         named __strndup, rather than rpl_strndup on a system with
31645         incomplete weak_alias support.
31646         * lib/strndup.c (strndup): Rename from __strndup.
31647         Remove #defines that used to map __strndup to strndup.
31648         Don't use K&R prototypes.
31649         Remove LIBC-related code, since this file is not sync'd with glibc.
31650         * lib/strndup.h: Revamp, accordingly.
31651         * m4/strndup.m4: Modernize.
31652
31653 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
31654
31655         * modules/savewd (Depends-on): Add 'raise'.
31656         * lib/savewd.c: Include <signal.h>, for 'raise'.
31657
31658 2006-09-26  Jim Meyering  <jim@meyering.net>
31659
31660         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
31661         when we detect Darwin 8.7.0's acl_get_file bug.
31662         Rearrange to perform the new (below) run-test while $LIBS
31663         contains any acl-related library.  Set USE_ACL at the end.
31664         (gl_ACL_GET_FILE): New function.
31665
31666 2006-09-26  Eric Blake  <ebb9@byu.net>
31667
31668         * lib/verror.c: Include <config.h> unconditionally.
31669
31670 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
31671
31672         * modules/clock-time (Maintainer): Add self.
31673         * modules/getlogin_r (Depends-on): Add extensions.
31674
31675 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31676
31677         * modules/clock-time: New module.
31678         * modules/nanosleep (Depends-on): Add clock-time.
31679         * modules/gethrxtime (Depends-on): Likewise.
31680         * modules/gettime (Depends-on): Likewise.
31681         * modules/settime (Depends-on): Likewise.
31682
31683         * modules/fts-lgpl: Depend on openat.
31684         * modules/mkancesdirs: Depend on savewd.
31685         * modules/mkdir-p: Likewise.
31686
31687 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31688
31689         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
31690
31691         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
31692         `gl_have_arbitrary_file_name_length_limit' to
31693         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
31694         actually works between configure runs.
31695
31696 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31697             Bruno Haible  <bruno@clisp.org>
31698
31699         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
31700
31701 2006-09-25  Jim Meyering  <jim@meyering.net>
31702
31703         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
31704         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
31705
31706 2006-09-25  Eric Blake  <ebb9@byu.net>
31707
31708         * gnulib-tool (func_import, func_create_testdir): Fix typos in
31709         exec's in 2006-09-18 patch when shuffling fds.
31710
31711 2006-09-25  Bruno Haible  <bruno@clisp.org>
31712
31713         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
31714         Reported by Jim Meyering.
31715
31716 2006-09-24  Jim Meyering  <jim@meyering.net>
31717
31718         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
31719         compare a pointer against a literal "0".  That caused failures with
31720         at least HP-UX's hpcc.
31721
31722 2006-09-22  Simon Josefsson  <jas@extundo.com>
31723
31724         * modules/gc-sha1:
31725         * modules/gc-md4:
31726         * modules/gc-hmac-sha1:
31727         * modules/gc-hmac-md5:
31728         * modules/gc-des:
31729         * modules/gc-arcfour: Distribute more files.
31730
31731 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31732
31733         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
31734         (gl_linked_iterator_from_to): Initialize struct completely.
31735         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
31736         (gl_tree_iterator_from_to): Likewise
31737         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
31738         * lib/gl_array_list.c [lint] (gl_array_iterator)
31739         (gl_array_iterator_from_to): Likewise.
31740         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
31741         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
31742         (gl_carray_iterator_from_to): Likewise.
31743
31744         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
31745         * lib/md4.c (md4_process_block): Remove unused variable.
31746         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
31747         parentheses for clarity.
31748
31749 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31750
31751         * modules/bison-i18n (Depends-on): Add gettext.
31752
31753 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31754
31755         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
31756         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
31757         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
31758         also add missing comma that caused broken test.
31759         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
31760         stdlib.h, for `abort'.
31761         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
31762         variables.
31763         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
31764         include unistd.h if present, for `rmdir'.
31765         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
31766         variables.
31767         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
31768         in the process include standard headers for prototypes.
31769         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
31770         gets declared on GNU/Linux.
31771         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
31772         unistd.h, for `rmdir'.
31773         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
31774
31775         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
31776         always true.
31777         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
31778
31779         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
31780
31781 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31782
31783         * gnulib-tool (func_version): Create output all at once.  This
31784         may help avoid triggering unnecessary SIGPIPEs, and at any
31785         rate it doesn't hurt.
31786
31787 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31788             Bruno Haible  <bruno@clisp.org>
31789
31790         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
31791         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31792         * m4/signed.m4 (bh_C_SIGNED): Likewise.
31793
31794         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
31795         (gl_FUNC_VASPRINTF): Invoke it.
31796
31797 2006-09-22  Bruno Haible  <bruno@clisp.org>
31798
31799         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
31800         getloadavg.c as first argument.
31801
31802 2006-09-22  Bruno Haible  <bruno@clisp.org>
31803
31804         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
31805         at the beginning of the gl_INIT macro.
31806         * modules/getloadavg (configure.ac): Pass $gl_source_base to
31807         gl_GETLOADAVG.
31808
31809 2006-09-22  Bruno Haible  <bruno@clisp.org>
31810
31811         * gnulib-tool (func_create_megatestdir): Don't include the config-h
31812         module.
31813         Suggested by Ralf Wildenhues.
31814
31815 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
31816
31817         Import this patch from libc:
31818
31819         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
31820
31821         * lib/regex_internal.c (re_string_reconstruct): Handle
31822         offset < pstr->valid_raw_len && pstr->offsets_needed case.
31823         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
31824         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
31825         re_string_context_at.
31826
31827         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
31828         now requires it.
31829         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
31830         gl_REGEX now does it for us.
31831         (gl_REGEX): Add test taken from
31832         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
31833
31834         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
31835         Check that large offsets work.  Modernize Autoconf usages.
31836         Prefer "yes" to mean a good thing rather than a bad.
31837         Don't put "#define mkstemp" in config.h, as this might interfere
31838         with standard system headers that "#define mkstemp mkstemp64".
31839
31840         * modules/mkstemp (Depends-on): Add extensions, so that
31841         mkstemp is visible on some platforms.
31842         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
31843         (Include): Change to "mkstemp.h" from <stdlib.h>.
31844         (Files): Add mkstemp.h.
31845
31846         * lib/mkstemp.h: New file, since some standard headers
31847         #define mkstemp.
31848         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
31849         Include "mkstemp.h".
31850         Make the _LIBC code resemble glibc original more,
31851         e.g., use K&R style.
31852         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
31853         (mkstemp): Remove, since mkstemp.h does this for us.
31854         * lib/stdlib--.h: Include mkstemp.h.
31855
31856         Import this patch from libc:
31857
31858         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
31859
31860         * lib/tempname.c (__gen_tempname): Change attempts_min
31861         into a macro.  Use preprocessor to decide how to initialize
31862         attempts [Coverity CID 67].
31863
31864 2006-09-20  Bruno Haible  <bruno@clisp.org>
31865
31866         * lib/mkdtemp.c: Import from libc.
31867         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
31868                 * sysdeps/posix/tempname.c (__gen_tempname): Change
31869                 attempts_min into a macro.  Use preprocessor to decide how to
31870                 initialize attempts [Coverity CID 67].
31871         2001-11-27  Paul Eggert  <eggert@twinsun.com>
31872                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
31873                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
31874
31875 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31876
31877         * gnulib-tool (func_exit): New function, to allow to pass the
31878         exit status portably through the trap.  Use everywhere.
31879         (--help, --version): Signal a write error.
31880         (trap): catch SIGPIPE, for write errors.
31881         Exit at the end of the trap, with the correct exit status.
31882
31883 2006-09-19  Karl Berry  <karl@gnu.org>
31884
31885         * doc/gnulib.texi: note about the license texinfo files.
31886
31887 2006-09-19  Eric Blake  <ebb9@byu.net>
31888
31889         * gnulib-tool: Avoid space-tab.
31890
31891 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31892
31893         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
31894         that prevented coreutils 6.1 from building.  Problem reported
31895         by Petter Reinholdtsen.
31896
31897 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31898
31899         * gnulib-tool (avoidlist): Fix typo that broke options like
31900         --avoid=lock that are used by coreutils bootstrap.
31901
31902 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
31903
31904         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
31905         more systematically.
31906
31907 2006-09-18  Jim Meyering  <jim@meyering.net>
31908
31909         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
31910
31911 2006-09-18  Bruno Haible  <bruno@clisp.org>
31912
31913         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
31914
31915 2006-09-18  Bruno Haible  <bruno@clisp.org>
31916
31917         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
31918         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
31919         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
31920         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
31921         * m4/gettext.m4: Require autoconf >= 2.52.
31922         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
31923         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
31924         of gl_cv_header_inttypes_h.
31925
31926 2006-09-18  Bruno Haible  <bruno@clisp.org>
31927
31928         * lib/javaversion.c: Include configmake.h.
31929
31930 2006-09-18  Bruno Haible  <bruno@clisp.org>
31931
31932         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
31933         avoid that the while loops be executed in a subshell.
31934
31935 2006-09-18  Bruno Haible  <bruno@clisp.org>
31936
31937         * MODULES.html.sh (func_module): Break long lines.
31938         Suggested by Bruce Korb <bkorb@gnu.org>.
31939
31940 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31941
31942         Speed up by a factor of 1.12.
31943         * gnulib-tool (nl): New variable.
31944         (func_import): Rewrite include directive extraction to only read each
31945         directive once.
31946
31947 2006-09-17  Bruno Haible  <bruno@clisp.org>
31948
31949         * modules/javaversion (Makefile.am): Remove DEFS setting.
31950         (Depends-on): Add configmake, for PKGDATADIR definition.
31951
31952 2006-09-17  Bruno Haible  <bruno@clisp.org>
31953
31954         * gnulib-tool (func_create_testdir): Rewrite all files at once.
31955
31956 2006-09-17  Bruno Haible  <bruno@clisp.org>
31957
31958         * gnulib-tool (func_append): New function, stolen from libtool.m4.
31959         (func_modules_transitive_closure, func_modules_add_dummy,
31960         func_modules_to_filelist, func_import, func_create_testdir,
31961         func_create_megatestdir, ...): Use it wherever possible.
31962         Suggested by Ralf Wildenhues.
31963
31964 2006-09-16  Karl Berry  <karl@gnu.org>
31965
31966         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
31967         to avoid sectioning errors.
31968         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
31969         [ifinfo]: blank line after @center-ed titles.
31970         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
31971         Spell FSF address consistently with others.
31972         (These changes approved by rms.)
31973
31974 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31975
31976         Speed up by a factor of 1.61.
31977         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
31978         already checked module names again.
31979
31980 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31981
31982         Speed up by a factor of 1.13.
31983         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
31984         for new_files, and the input to func_add_or_update.
31985
31986 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31987
31988         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
31989         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
31990
31991 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
31992
31993         * modules/mkancesdirs (Depends-on): Add fcntl.
31994         * modules/savewd: New file.
31995         * MODULES.html.sh (File system functions): Add savewd.
31996
31997         * modules/configmake (Makefile.am): Add support for the
31998         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
31999
32000 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
32001
32002         * m4/savewd.m4: New file.
32003
32004 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
32005
32006         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
32007         (dirchownmod): New arg FD.  All callers changed.
32008         Use FD rather than opening the directory ourself, as opening is
32009         now the caller's responsibility.
32010         * lib/dirchownmod.h: Likewise.
32011         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
32012         hosts that require <sys/types.h> before <sys/stat.h>.  Include
32013         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
32014         (test_dir): Remove.
32015         (mkancesdirs): Return length of prefix of FILE that has already
32016         been made, or -2 if there is a child doing the work.  Redo
32017         algorithm so that it is O(N) rather than O(N**2).  Optimize away
32018         ".", and treat ".." specially since it might stray back into
32019         already-created areas.  Use a subprocess if necessary.  New arg
32020         WD; all users changed.  MAKE_DIR function should now return 1
32021         if it creates a directory that is not readable.  Return -2 if
32022         a child process is spun off.
32023         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
32024         Adjust signature to match code.
32025         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
32026         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
32027         all users changed.
32028         * lib/savewd.c, lib/savewd.h: New files.
32029
32030 2006-09-15  Jim Meyering  <jim@meyering.net>
32031
32032         * modules/rename-dest-slash: New module.
32033         * MODULES.html.sh (posix_compat): Add it here.
32034
32035         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
32036
32037 2006-09-15  Jim Meyering  <jim@meyering.net>
32038
32039         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
32040         file.
32041
32042         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
32043
32044 2006-09-15  Jim Meyering  <jim@meyering.net>
32045
32046         * lib/rename-dest-slash.c (has_trailing_slash): Use
32047         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
32048         (rpl_rename_dest_slash): Perform the cheaper trailing slash
32049         test before testing whether SRC is a directory.
32050         Suggestions from Bruno Haible.
32051
32052         Avoid a warning about an unused variable.
32053         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
32054         into the #ifdef block where it's used.
32055
32056         * lib/rename-dest-slash.c: New file.
32057
32058 2006-09-14  Bruno Haible  <bruno@clisp.org>
32059
32060         * lib/allocsa.c: Include <config.h> unconditionally.
32061         * lib/asnprintf.c: Likewise.
32062         * lib/asprintf.c: Likewise.
32063         * lib/c-strcasecmp.c: Likewise.
32064         * lib/c-strcasestr.c: Likewise.
32065         * lib/c-strncasecmp.c: Likewise.
32066         * lib/c-strstr.c: Likewise.
32067         * lib/classpath.c: Likewise.
32068         * lib/clean-temp.c: Likewise.
32069         * lib/concatpath.c: Likewise.
32070         * lib/copy-file.c: Likewise.
32071         * lib/csharpcomp.c: Likewise.
32072         * lib/csharpexec.c: Likewise.
32073         * lib/execute.c: Likewise.
32074         * lib/fatal-signal.c: Likewise.
32075         * lib/findprog.c: Likewise.
32076         * lib/fwriteerror.c: Likewise.
32077         * lib/gl_array_list.c: Likewise.
32078         * lib/gl_array_oset.c: Likewise.
32079         * lib/gl_avltree_list.c: Likewise.
32080         * lib/gl_avltree_oset.c: Likewise.
32081         * lib/gl_avltreehash_list.c: Likewise.
32082         * lib/gl_carray_list.c: Likewise.
32083         * lib/gl_linked_list.c: Likewise.
32084         * lib/gl_linkedhash_list.c: Likewise.
32085         * lib/gl_list.c: Likewise.
32086         * lib/gl_oset.c: Likewise.
32087         * lib/gl_rbtree_list.c: Likewise.
32088         * lib/gl_rbtree_oset.c: Likewise.
32089         * lib/gl_rbtreehash_list.c: Likewise.
32090         * lib/imaxabs.c: Likewise.
32091         * lib/imaxdiv.c: Likewise.
32092         * lib/javacomp.c: Likewise.
32093         * lib/javaexec.c: Likewise.
32094         * lib/javaversion.c: Likewise.
32095         * lib/linebreak.c: Likewise.
32096         * lib/localcharset.c: Likewise.
32097         * lib/lock.c: Likewise.
32098         * lib/mbchar.c: Likewise.
32099         * lib/mbswidth.c: Likewise.
32100         * lib/mkdtemp.c: Likewise.
32101         * lib/pipe.c: Likewise.
32102         * lib/printf-args.c: Likewise.
32103         * lib/printf-parse.c: Likewise.
32104         * lib/progname.c: Likewise.
32105         * lib/progreloc.c: Likewise.
32106         * lib/readlink.c: Likewise.
32107         * lib/sh-quote.c: Likewise.
32108         * lib/stpcpy.c: Likewise.
32109         * lib/stpncpy.c: Likewise.
32110         * lib/strcasecmp.c: Likewise.
32111         * lib/strcasestr.c: Likewise.
32112         * lib/strcspn.c: Likewise.
32113         * lib/striconv.c: Likewise.
32114         * lib/strncasecmp.c: Likewise.
32115         * lib/strnlen1.c: Likewise.
32116         * lib/strstr.c: Likewise.
32117         * lib/strtok_r.c: Likewise.
32118         * lib/tls.c: Likewise.
32119         * lib/tmpdir.c: Likewise.
32120         * lib/unicodeio.c: Likewise.
32121         * lib/unsetenv.c: Likewise.
32122         * lib/vasnprintf.c: Likewise.
32123         * lib/vasprintf.c: Likewise.
32124         * lib/wait-process.c: Likewise.
32125         * lib/xallocsa.c: Likewise.
32126         * lib/xsetenv.c: Likewise.
32127         * lib/xstriconv.c: Likewise.
32128
32129 2006-09-13  Simon Josefsson  <jas@extundo.com>
32130
32131         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
32132         that internally, suggested by Ralf Wildenhues
32133         <Ralf.Wildenhues@gmx.de>.
32134
32135 2006-09-13  Simon Josefsson  <jas@extundo.com>
32136
32137         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
32138         @LIBOBJS@.
32139         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32140
32141 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
32142
32143         * lib/_fpending.c: Include <config.h> unconditionally, since we no
32144         longer worry about uses that don't define HAVE_CONFIG_H.
32145         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
32146         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
32147         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
32148         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
32149         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
32150         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
32151         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
32152         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
32153         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
32154         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
32155         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
32156         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
32157         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
32158         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
32159         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
32160         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
32161         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
32162         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
32163         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
32164         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
32165         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
32166         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
32167         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
32168         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
32169         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
32170         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
32171         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
32172         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
32173         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
32174         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
32175         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
32176         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
32177         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
32178         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
32179         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
32180         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
32181         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
32182         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
32183         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
32184         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
32185         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
32186         Likewise.
32187
32188 2006-09-13  Eric Blake  <ebb9@byu.net>
32189
32190         * lib/getopt.c: Fix typo in last commit.
32191
32192 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32193
32194         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
32195         dgettext.
32196
32197 2006-09-12  Jim Meyering  <jim@meyering.net>
32198
32199         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
32200         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
32201         Reported by Nelson H. F. Beebe.
32202
32203 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
32204
32205         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
32206         program_invocation_name and program_invocation_short_name are
32207         initialized.
32208         * lib/argp-namefrob.h: Move declarations of program_invocation_name
32209         and program_invocation_short_name to argp.h, so they are visible
32210         to user programs.
32211         * lib/argp.h: Likewise
32212
32213 2006-09-10  Bruno Haible  <bruno@clisp.org>
32214
32215         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
32216         m4/inttypes_h.m4, m4/uintmax_t.m4.
32217
32218 2006-09-10  Bruno Haible  <bruno@clisp.org>
32219
32220         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
32221         gl_AC_TYPE_UINTMAX_T.
32222
32223 2006-09-10  Bruno Haible  <bruno@clisp.org>
32224
32225         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
32226
32227 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
32228
32229         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
32230         convention.  Text proposed by Bruno Haible.
32231         (struct argp_option): Document the use of N_() wrappers.
32232
32233         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
32234         '\v', and translate the two parts separately, instead of feeding
32235         the whole string to gettext.  This allows to exclude
32236         '\v' from the strings visible to the translator by writing doc
32237         strings as N_("..") "\v" N_("..").
32238
32239 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
32240
32241         * config/srclist.txt: Undo latest change; the bug was fixed.
32242
32243 2006-09-09  Bruno Haible  <bruno@clisp.org>
32244
32245         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
32246         assignments if building a library without libtool.
32247         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
32248         in func_emit_lib_Makefile_am.
32249         (func_import): When building a static library libfoo.a, arrange to
32250         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
32251         (func_create_testdir): Likewise.
32252         * modules/gc (configure.ac, Makefile.am): If building statically,
32253         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
32254         * modules/iconvme (configure.ac, Makefile.am): Likewise.
32255         * modules/striconv (configure.ac, Makefile.am): Likewise.
32256         Based on a suggestion by Ralf Wildenhues.
32257
32258 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
32259
32260         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
32261         Check for unistd.h too, since Autoconf doesn't assume POSIX.
32262         Also:
32263
32264         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
32265         Add year_2050_test to catch glibc bug 2821
32266         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
32267
32268         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
32269         Prefer #ifdef to #if.
32270
32271         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
32272         Return from 'main' instead of calling 'exit'.
32273
32274 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
32275
32276         * lib/mktime.c (guess_time_tm): Fix bug where mktime
32277         returned the maximum time_t value rather than (time_t) -1.
32278         Problem originally reported by William Bardwell
32279         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
32280
32281         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
32282         Moved to here ...
32283         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
32284         ... from here.
32285
32286 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
32287
32288         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
32289         2821 is fixed.
32290
32291 2006-09-08  Jim Meyering  <jim@meyering.net>
32292
32293         Don't make generated files read-only.  That would bother too many
32294         people.  However, do retain the ability to work when targets are
32295         read-only: remove the destination and temporary files before writing
32296         them (when generated via sed or echo), or by using the -f option for
32297         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
32298         * modules/alloca-opt, modules/argz, modules/arpa_inet:
32299         * modules/byteswap, modules/configmake, modules/fcntl:
32300         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
32301         * modules/localcharset, modules/netinet_in, modules/poll:
32302         * modules/stdbool, modules/stdint, modules/sys_select:
32303         * modules/sys_socket, modules/sys_stat, modules/sysexits:
32304
32305 2006-09-08  Jim Meyering  <jim@meyering.net>
32306
32307         Avoid new build failure on FreeBSD 6.0.
32308         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
32309         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
32310         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
32311
32312 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32313
32314         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
32315
32316 2006-09-07  Jim Meyering  <jim@meyering.net>
32317
32318         Fix global typo in last change: use chmod u-w, not chmod u-x.
32319         Spotted by Paul Eggert and Bruce Korb.
32320         * modules/alloca-opt, modules/argz, modules/arpa_inet:
32321         * modules/byteswap, modules/configmake, modules/fcntl:
32322         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
32323         * modules/localcharset, modules/netinet_in, modules/poll:
32324         * modules/stdbool, modules/stdint, modules/sys_select:
32325         * modules/sys_socket, modules/sys_stat, modules/sysexits:
32326
32327 2006-09-06  Jim Meyering  <jim@meyering.net>
32328
32329         Make generated files be read-only.
32330         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
32331         Ensure that each generated file is now read-only.
32332         * modules/argz: Likewise.
32333         * modules/arpa_inet: Likewise.
32334         * modules/byteswap: Likewise.
32335         * modules/configmake: Likewise.
32336         * modules/fcntl: Likewise.
32337         * modules/fnmatch: Likewise.
32338         * modules/getopt: Likewise.
32339         * modules/glob: Likewise.
32340         * modules/inttypes: Likewise.
32341         * modules/netinet_in: Likewise.
32342         * modules/poll: Likewise.
32343         * modules/stdbool: Likewise.
32344         * modules/stdint: Likewise.
32345         * modules/sys_select: Likewise.
32346         * modules/sys_socket: Likewise.
32347         * modules/sys_stat: Likewise.
32348         * modules/sysexits: Likewise.
32349         * modules/localcharset: Same as above, but continue using temporary
32350         file named "t-$@" (why different?) rather than the "$@-t" used
32351         everywhere else.
32352
32353         * modules/sysexits (Makefile.am): Replace literal occurrences
32354         of "sysexit.h" more readable, and more consistent, "$@".
32355
32356 2006-09-06  Bruno Haible  <bruno@clisp.org>
32357
32358         * modules/striconv: New file.
32359         * modules/xstriconv: New file.
32360         * MODULES.html.sh (Internationalization functions): Add striconv,
32361         xstriconv.
32362
32363 2006-09-06  Bruno Haible  <bruno@clisp.org>
32364
32365         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
32366         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
32367         not using libtool correctly.
32368
32369 2006-09-06  Bruno Haible  <bruno@clisp.org>
32370
32371         * lib/striconv.h: New file.
32372         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
32373         iconvstring.c.
32374         * lib/xstriconv.h: New file.
32375         * lib/xstriconv.c: New file.
32376
32377 2006-09-06  Bruno Haible  <bruno@clisp.org>
32378
32379         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
32380         lib_..._LDFLAGS.
32381
32382 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32383
32384         * lib/argz_.h: Sync from Libtool.
32385
32386         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
32387                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
32388
32389         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
32390
32391 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
32392
32393         * modules/trim: New file.
32394
32395 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
32396
32397         * lib/trim.h: New file.
32398         * lib/trim.c: New file.
32399
32400 2006-09-05  Bruno Haible  <bruno@clisp.org>
32401
32402         * MODULES.html.sh (String handling): Add trim.
32403
32404 2006-09-04  Karl Berry  <karl@gnu.org>
32405
32406         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
32407         until next release.
32408
32409 2006-09-03  Bruno Haible  <bruno@clisp.org>
32410
32411         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
32412         correctly.
32413
32414 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32415
32416         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
32417         not gl_GETLOADAVG.  Omit unneeded semicolons.
32418         Problems reported by Ralf Wildenhues in
32419         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
32420         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
32421         at the end, which is the usual gnulib style.
32422
32423         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
32424         of doing all the work ourselves.
32425         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
32426         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
32427
32428 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32429
32430         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
32431         Problem reported by Ralf Wildenhues in
32432         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
32433
32434         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
32435         HAVE_STRUCT_STATFS_F_FSTYPENAME.
32436
32437 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32438
32439         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
32440         yesterday's patch by changing test -n to test -z.
32441
32442 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
32443
32444         * modules/getloadavg (Files): Add m4/getloadavg.m4.
32445         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
32446         the former is now obsolescent.
32447
32448         * modules/chdir-long (Depends-on): Add fcntl.
32449
32450 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
32451
32452         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
32453         obsolescent, and programs should use gnulib instead.
32454         * m4/getloadavg.m4: New file, with contents taken from Autoconf
32455         but with prefixes changed.
32456
32457 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
32458
32459         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
32460         or stdbool.h, because they might not exist while configuring.
32461
32462         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
32463         Don't include unistd.h or limits.h; not needed, since chdir-long.h
32464         does that for us.
32465         (O_DIRECTORY): Remove.
32466
32467 2006-08-31  Eric Blake  <ebb9@byu.net>
32468
32469         * gnulib-tool: Don't let emacs change spaces to TAB.
32470
32471 2006-08-31  Bruno Haible  <bruno@clisp.org>
32472
32473         * gnulib-tool: When calling func_import more than once, do it in a
32474         subshell.
32475         Reported by Eric Blake <ebb9@byu.net>.
32476
32477 2006-08-31  Bruno Haible  <bruno@clisp.org>
32478
32479         * gnulib-tool (nl): Remove variable.
32480         (sed_transform_lib_file): Use more robust test for config-h module.
32481         (func_import): Fix typo in 2006-08-25 patch.
32482
32483 2006-08-31  Bruno Haible  <bruno@clisp.org>
32484
32485         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
32486         specified, augment Makefile.am variables instead of assigning them.
32487
32488 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32489
32490         Work around a bug in both the Linux and SunOS 64-bit kernels:
32491         nanosleep mishandles sleeps for longer than 2**31 seconds.
32492         Problem reported by Frank v Waveren in
32493         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
32494         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
32495         Check for nanosleep bug.
32496         (LIB_NANOSLEEP): Append clock_gettime library if needed.
32497
32498 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32499
32500         Work around a bug in both the Linux and SunOS 64-bit kernels:
32501         nanosleep mishandles sleeps for longer than 2**31 seconds.
32502         Problem reported by Frank v Waveren in
32503         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
32504         * lib/nanosleep.c (BILLION): New constant.
32505         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
32506         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
32507         implementation.
32508
32509 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32510
32511         * modules/nanosleep (Depends-on): Add gettime.
32512
32513 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32514         and Simon Josefsson  <jas@extundo.com>
32515         and Oskar Liljeblad  <oskar@osk.mine.nu>
32516
32517         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
32518         * gnulib-tool (func_import): New license type 'unmodifiable license
32519         text'.
32520         * modules/fdl: Use it.  Longer description.
32521         * module/gpl, module/lgpl: New files.
32522
32523 2006-08-30  Jim Meyering  <jim@meyering.net>
32524
32525         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
32526         shadowing the parameter.
32527
32528 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32529
32530         Sync from Libtool:
32531
32532         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32533
32534         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
32535         sharing with gnulib.  Report by Eric Blake.
32536
32537 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
32538
32539         * modules/isapipe: New file.
32540         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
32541
32542 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
32543
32544         * modules/configmake (Makefile.am): Add a comment, and omit
32545         the CONFIGMAKE_ prefix from generated macro names.  Suggested
32546         by Bruno Haible.
32547
32548 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
32549
32550         * m4/isapipe.m4: New file.
32551
32552 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
32553
32554         * lib/isapipe.c, lib/isapipe.h: New files.
32555
32556 2006-08-29  Jim Meyering  <jim@meyering.net>
32557
32558         * modules/configmake (Makefile.am): Make configmake.h depend on
32559         Makefile.  Otherwise, a stale configmake.h could hang around.
32560
32561 2006-08-29  Eric Blake  <ebb9@byu.net>
32562
32563         * lib/error.c (error_at_line, print_errno_message): Match libc, after
32564         resolution of upstream bug 3044.
32565
32566 2006-08-29  Bruno Haible  <bruno@clisp.org>
32567
32568         * modules/localcharset (Depends-on): Add configmake.
32569         (Makefile.am): Remove setting of LIBDIR through DEFS.
32570
32571 2006-08-29  Bruno Haible  <bruno@clisp.org>
32572
32573         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
32574         defined.
32575
32576 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
32577
32578         * modules/fcntl: New file.
32579         * modules/chdir-safer (Depends-on): Add fcntl.
32580         * modules/fts: Likewise.
32581         * modules/mkdir-p: Likewise.
32582
32583         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
32584         This undoes the most recent change, since we're now addressing the
32585         problem in a different way.
32586
32587         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
32588         into output, since the output might be called Makefile.am even
32589         if $makefile_name is something different.
32590         (func_import): Use $makefile_am rather than
32591         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
32592         empty.
32593
32594         * modules/inttypes (Files): Add m4/inttypes-h.m4.
32595
32596 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
32597
32598         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
32599         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
32600         recent change to stdint.m4, since we're now addressing the problem in a
32601         different way.
32602
32603 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
32604
32605         * m4/fcntl_h.m4: New file.
32606
32607 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
32608
32609         * lib/fcntl_.h: New file.
32610         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
32611         the fcntl module.
32612         * lib/dirchownmod.c: Likewise.
32613         * lib/fts.c: Likewise.
32614
32615         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
32616         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
32617         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
32618         just before including <inttypes.h>, to avoid circular inclusion.
32619
32620 2006-08-28  Jim Meyering  <jim@meyering.net>
32621
32622         * doc/visibility.texi: Actually read and correct the grammar of the
32623         sentence affected by yesterday's change.
32624
32625 2006-08-28  Eric Blake  <ebb9@byu.net>
32626
32627         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
32628         needs wrapper.
32629
32630 2006-08-28  Eric Blake  <ebb9@byu.net>
32631
32632         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
32633
32634 2006-08-28  Eric Blake  <ebb9@byu.net>
32635
32636         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
32637
32638 2006-08-28  Bruno Haible  <bruno@clisp.org>
32639
32640         * modules/c-strstr: New file, from GNU gettext.
32641         * MODULES.html.sh (String handling): Add c-strstr.
32642
32643 2006-08-28  Bruno Haible  <bruno@clisp.org>
32644
32645         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
32646         macros.
32647         Reported by Eric Blake.
32648
32649 2006-08-28  Bruno Haible  <bruno@clisp.org>
32650
32651         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
32652         (VASNPRINTF): Return a string of length > INT_MAX without failing.
32653         * lib/vasprintf.c: Include errno.h, limits.h.
32654         (EOVERFLOW): New fallback definition.
32655         (vasprintf): Test here whether the string length is > INT_MAX.
32656         * lib/vsnprintf.c: Include errno.h, limits.h.
32657         (EOVERFLOW): New fallback definition.
32658         (vsnprintf): Fix bug when generated string was too long for the buffer.
32659         Test here whether the string length is > INT_MAX.
32660
32661 2006-08-28  Bruno Haible  <bruno@clisp.org>
32662
32663         * lib/inttypes_.h (SCNX*): Remove definitions.
32664         Reported by Eric Blake.
32665
32666 2006-08-28  Bruno Haible  <bruno@clisp.org>
32667
32668         * lib/c-strstr.h: New file, from GNU gettext.
32669         * lib/c-strstr.c: New file, from GNU gettext.
32670
32671 2006-08-28  Bruno Haible  <bruno@clisp.org>
32672
32673         * gnulib-tool: Reorder some statements.
32674
32675 2006-08-28  Bruno Haible  <bruno@clisp.org>
32676
32677         * gnulib-tool: New option --makefile-name.
32678         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
32679         $makefile_name.
32680         (func_import): Write $makefile_name to the cache file, and read it from
32681         there unless explicitly specified. Use $makefile_name as file name
32682         instead of Makefile.am. Adjust the recommendations accordingly.
32683
32684 2006-08-28  Bruno Haible  <bruno@clisp.org>
32685
32686         * gnulib-tool (func_verify_module): Check against misapplying patch.
32687
32688 2006-08-28  Bruno Haible  <bruno@clisp.org>
32689
32690         * gnulib-tool (func_relativize, func_relconcat): New functions.
32691         Give an error if --local-dir is given with --update.
32692         Remove trailing slashes from $local_gnulib_dir.
32693         (func_import): Store the relativized $local_gnulib_dir in
32694         gnulib-cache.m4, and read it from there if not specified explicitly.
32695
32696 2006-08-28  Bruno Haible  <bruno@clisp.org>
32697
32698         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
32699         is the current directory. Respect also $local_gnulib_dir.
32700
32701 2006-08-28  Bruno Haible  <bruno@clisp.org>
32702             Simon Josefsson  <jas@extundo.com>
32703
32704         BeOS portability.
32705         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
32706
32707 2006-08-27  Jim Meyering  <jim@meyering.net>
32708
32709         * doc/visibility.texi: Remove duplicate word: "pointer".
32710
32711 2006-08-26  Bruno Haible  <bruno@clisp.org>
32712
32713         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
32714         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
32715         (Makefile.am): Create inttypes.h from inttypes_.h.
32716         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
32717
32718         * modules/imaxabs: New file.
32719
32720         * modules/imaxdiv: New file.
32721
32722 2006-08-26  Bruno Haible  <bruno@clisp.org>
32723
32724         * m4/inttypes.m4: New file.
32725         * m4/_inttypes_h.m4: Remove file.
32726         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
32727         PRI_MACROS_BROKEN.
32728         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
32729
32730         * m4/imaxabs.m4: New file.
32731
32732         * m4/imaxdiv.m4: New file.
32733
32734 2006-08-26  Bruno Haible  <bruno@clisp.org>
32735
32736         * lib/inttypes_.h: New file.
32737         * lib/inttypes.h: Remove file.
32738         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
32739
32740         * lib/imaxabs.c: New file.
32741
32742         * lib/imaxdiv.c: New file.
32743
32744 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
32745
32746         New config-h module, so that "make" output needn't be cluttered
32747         by -DHAVE_CONFIG_H.
32748         * MODULES.html.sh (Support for building libraries and executables):
32749         Add config-h.
32750         * modules/config-h: New file.
32751         * gnulib-tool (nl, sed_transform_lib_file): New vars.
32752         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
32753         the config-h module is used.
32754
32755         New configmake module, so that "make" output needn't be cluttered
32756         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
32757         * MODULES.html.sh (Support for building libraries and executables):
32758         Add configmake.
32759         * modules/configmake: New file.
32760
32761 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
32762
32763         * m4/config-h.m4: New file.
32764
32765 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
32766
32767         * config/srclist.txt: Add elisp-comp.
32768
32769 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
32770
32771         * MODULES.html.sh (Support for building libraries and executables):
32772         Add elisp-comp.
32773         * build-aux/elisp-comp: New file.
32774         * modules/elisp-comp: New file.
32775
32776 2006-08-24  Bruno Haible  <bruno@clisp.org>
32777
32778         * gnulib-tool (func_create_testdir): Use non-default values of
32779         sourcebase and m4base.
32780
32781 2006-08-24  Bruno Haible  <bruno@clisp.org>
32782
32783         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
32784         HTML structure.
32785
32786 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
32787
32788         * modules/openat (Depends-on): Add lchown.
32789
32790 2006-08-23  Bruno Haible  <bruno@clisp.org>
32791
32792         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
32793         of gl_LOCK_EARLY instead of gl_LOCK.
32794
32795 2006-08-23  Bruno Haible  <bruno@clisp.org>
32796
32797         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
32798         on OSF/1 to no.
32799         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
32800
32801 2006-08-23  Bruno Haible  <bruno@clisp.org>
32802
32803         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
32804         as unusable.
32805
32806         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
32807         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
32808         (gl_LOCK): New macro.
32809
32810 2006-08-22  Simon Josefsson  <jas@extundo.com>
32811
32812         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
32813         to md5 module.
32814
32815 2006-08-22  Simon Josefsson  <jas@extundo.com>
32816
32817         * MODULES.html.sh: Add "Support for maintaining and release
32818         projects".
32819
32820         * build-aux/gnupload: New file, from coreutils.
32821
32822 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
32823
32824         Avoid the need for AC_LIBSOURCES in m4 macros.
32825         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
32826         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
32827         * modules/check-version (EXTRA_DIST): Add check-version.h.
32828         * modules/crc (EXTRA_DIST): Add crc.h.
32829         * modules/des (EXTRA_DIST): Add des.h.
32830         * modules/gc (EXTRA_DIST): Add gc.h.
32831         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
32832         * modules/getline (EXTRA_DIST): Add getline.h.
32833         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
32834         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
32835         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
32836         * modules/md2 (EXTRA_DIST): Add md2.h.
32837         * modules/md4 (EXTRA_DIST): Add md4.h.
32838         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
32839         * modules/read-file (EXTRA_DIST): Add read-file.h.
32840         * modules/readline (EXTRA_DIST): Add readline.h.
32841         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
32842         rijndael-api-fst.h.
32843
32844 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
32845
32846         * m4/rijndael.m4 (gl_ARCFOUR):
32847         * m4/arctwo.m4 (gl_ARCTWO):
32848         * m4/check-version.m4 (gl_CHECK_VERSION):
32849         * m4/crc.m4 (gl_CRC):
32850         * m4/des.m4 (gl_DES):
32851         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
32852         * m4/gc.m4 (gl_GC):
32853         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
32854         * m4/getline.m4 (gl_FUNC_GETLINE):
32855         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
32856         * m4/hmac-md5.m4 (gl_HMAC_MD5):
32857         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
32858         * m4/md2.m4 (gl_MD2):
32859         * m4/md4.m4 (gl_MD4):
32860         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
32861         * m4/read-file.m4 (gl_FUNC_READ_FILE):
32862         * m4/readline.m4 (gl_FUNC_READLINE):
32863         * m4/rijndael.m4 (gl_RIJNDAEL):
32864         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
32865         to get the necessary .h files and whatnot.
32866
32867 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
32868
32869         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
32870         gnulib rather than the other way around.
32871         * config/srclistvars.sh (COREUTILS): Remove.
32872
32873 2006-08-22  Jim Meyering  <jim@meyering.net>
32874
32875         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
32876
32877         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
32878
32879 2006-08-22  Eric Blake  <ebb9@byu.net>
32880
32881         * modules/regexprops-generic: New file.
32882         * MODULES.html.sh (Support for building documentation): List it.
32883
32884 2006-08-22  Eric Blake  <ebb9@byu.net>
32885
32886         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
32887         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
32888         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
32889         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
32890
32891 2006-08-22  Bruno Haible  <bruno@clisp.org>
32892
32893         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
32894         and lib_LTLIBRARIES like the other lib_* variables.
32895
32896 2006-08-22  Bruno Haible  <bruno@clisp.org>
32897
32898         * build-aux/x-to-1.in: New file, from GNU gettext.
32899
32900 2006-08-22  Bruno Haible  <bruno@clisp.org>
32901
32902         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
32903         <utmpx.h> exists.
32904
32905 2006-08-22  Bruno Haible  <bruno@clisp.org>
32906
32907         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
32908         <utmpx.h> exists.
32909
32910 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
32911
32912         BeOS portability.
32913         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
32914         exist.
32915         Problem reported by Bruno Haible.
32916
32917 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
32918
32919         Avoid the need for AC_LIBSOURCES in m4 macros.
32920         * modules/acl (EXTRA_DIST): Add acl.h.
32921         * modules/argmatch (Files): Add m4/argmatch.m4.
32922         (configure.ac): Add gl_ARGMATCH.
32923         (EXTRA_DIST): Renamed from lib_SOURCES, for
32924         consistency with the other modules.  Remove argmatch.c.
32925         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
32926         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
32927         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
32928         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
32929         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
32930         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
32931         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
32932         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
32933         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
32934         * modules/closeout (EXTRA_DIST): Add closeout.h.
32935         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
32936         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
32937         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
32938         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
32939         dirname.h; remove basename.c and stripslash.c.
32940         * modules/exclude (EXTRA_DIST): Add exclude.h.
32941         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
32942         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
32943         * modules/file-type (EXTRA_DIST): Add file-type.h.
32944         * modules/filemode (EXTRA_DIST): Add filemode.h.
32945         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
32946         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
32947         * modules/fpending (EXTRA_DIST): Add __fpending.h.
32948         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
32949         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
32950         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
32951         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
32952         * modules/getdate (EXTRA_DIST): Add getdate.c.
32953         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
32954         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
32955         * modules/getpass (EXTRA_DIST): Add getpass.h.
32956         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
32957         * modules/group-member (EXTRA_DIST): Add group-member.h.
32958         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
32959         * modules/hash (EXTRA_DIST): Add hash.h.
32960         * modules/human (EXTRA_DIST): Add human.h.
32961         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
32962         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
32963         * modules/lchown (EXTRA_DIST): Add lchown.h.
32964         * modules/long-options (EXTRA_DIST): Add long-options.h.
32965         * modules/lstat (EXTRA_DIST): Add lstat.h.
32966         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
32967         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
32968         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
32969         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
32970         * modules/memxor (EXTRA_DIST): Add memxor.h.
32971         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
32972         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
32973         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
32974         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
32975         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
32976         * modules/physmem (EXTRA_DIST): Add physmem.h.
32977         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
32978         * modules/posixver (EXTRA_DIST): Add posixver.h.
32979         * modules/quote (EXTRA_DIST): Add quote.h.
32980         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
32981         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
32982         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
32983         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
32984         regex_internal.h regexec.c.
32985         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
32986         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
32987         * modules/same (EXTRA_DIST): Add same.h.
32988         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
32989         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
32990         * modules/savedir (EXTRA_DIST): Add savedir.h.
32991         * modules/sha1 (EXTRA_DIST): Add sha1.h.
32992         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
32993         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
32994         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
32995         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
32996         * modules/strdup (EXTRA_DIST): Add strdup.h.
32997         * modules/strftime (EXTRA_DIST): Add strftime.h.
32998         * modules/strndup (EXTRA_DIST): Add strndup.h.
32999         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
33000         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
33001         * modules/time_r (EXTRA_DIST): Add time_r.h.
33002         * modules/timespec (EXTRA_DIST): Add timespec.h.
33003         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
33004         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
33005         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
33006         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
33007         * modules/userspec (EXTRA_DIST): Add userspec.h.
33008         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
33009         * modules/utimens (EXTRA_DIST): Add utimens.h.
33010         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
33011         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
33012         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
33013         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
33014         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
33015         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
33016         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
33017         * modules/yesno (EXTRA_DIST): Add yesno.h.
33018
33019 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
33020
33021         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
33022
33023         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
33024         * m4/dev-ino.m4, same-inode.m4: Remove.
33025
33026         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
33027         * m4/acl.m4 (AC_FUNC_ACL):
33028         * m4/backupfile.m4 (gl_BACKUPFILE):
33029         * m4/c-strtod.m4 (gl_C99_STRTOLD):
33030         * m4/canon-host.m4 (gl_CANON_HOST):
33031         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
33032         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
33033         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
33034         * m4/cloexec.m4 (gl_CLOEXEC):
33035         * m4/close-stream.m4 (gl_CLOSE_STREAM):
33036         * m4/closeout.m4 (gl_CLOSEOUT):
33037         * m4/dirfd.m4 (gl_FUNC_DIRFD):
33038         * m4/dirname.m4 (gl_DIRNAME):
33039         * m4/exclude.m4 (gl_EXCLUDE):
33040         * m4/exitfail.m4 (gl_EXITFAIL):
33041         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
33042         * m4/file-type.m4 (gl_FILE_TYPE):
33043         * m4/filemode.m4 (gl_FILEMODE):
33044         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
33045         * m4/fpending.m4 (gl_FUNC_FPENDING):
33046         * m4/fprintftime.m4 (gl_FPRINTFTIME):
33047         * m4/fts.m4 (gl_FUNC_FTS):
33048         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
33049         * m4/getdate.m4 (gl_GETDATE):
33050         * m4/gethrxtime.m4 (gl_GETHRXTIME):
33051         * m4/getpagesize.m4 (gl_GETPAGESIZE):
33052         * m4/getpass.m4 (gl_FUNC_GETPASS):
33053         * m4/gettime.m4 (gl_GETTIME):
33054         * m4/getugroups.m4 (gl_GETUGROUPS):
33055         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
33056         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
33057         * m4/hard-locale.m4 (gl_HARD_LOCALE):
33058         * m4/hash.m4 (gl_HASH):
33059         * m4/idcache.m4 (gl_IDCACHE):
33060         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
33061         * m4/lchown.m4 (gl_FUNC_LCHOWN):
33062         * m4/long-options.m4 (gl_LONG_OPTIONS):
33063         * m4/lstat.m4 (gl_FUNC_LSTAT):
33064         * m4/md5.m4 (gl_MD5):
33065         * m4/memcasecmp.m4 (gl_MEMCASECMP):
33066         * m4/memcoll.m4 (gl_MEMCOLL):
33067         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
33068         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
33069         * m4/memxor.m4 (gl_MEMXOR):
33070         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
33071         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
33072         * m4/modechange.m4 (gl_MODECHANGE):
33073         * m4/mountlist.m4 (gl_MOUNTLIST):
33074         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
33075         * m4/openat.m4 (gl_FUNC_OPENAT):
33076         * m4/pathmax.m4 (gl_PATHMAX):
33077         * m4/physmem.m4 (gl_PHYSMEM):
33078         * m4/posixtm.m4 (gl_POSIXTM):
33079         * m4/posixver.m4 (gl_POSIXVER):
33080         * m4/quote.m4 (gl_QUOTE):
33081         * m4/quotearg.m4 (gl_QUOTEARG):
33082         * m4/readtokens.m4 (gl_READTOKENS):
33083         * m4/readutmp.m4 (gl_READUTMP):
33084         * m4/regex.m4 (gl_REGEX):
33085         * m4/safe-read.m4 (gl_SAFE_READ):
33086         * m4/safe-write.m4 (gl_SAFE_WRITE):
33087         * m4/same.m4 (gl_SAME):
33088         * m4/save-cwd.m4 (gl_SAVE_CWD):
33089         * m4/savedir.m4 (gl_SAVEDIR):
33090         * m4/settime.m4 (gl_SETTIME):
33091         * m4/sha1.m4 (gl_SHA1):
33092         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
33093         * m4/stat-macros.m4 (gl_STAT_MACROS):
33094         * m4/stat-time.m4 (gl_STAT_TIME):
33095         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
33096         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
33097         * m4/strdup.m4 (gl_FUNC_STRDUP):
33098         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
33099         * m4/strndup.m4 (gl_FUNC_STRNDUP):
33100         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
33101         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
33102         * m4/time_r.m4 (gl_TIME_R):
33103         * m4/timespec.m4 (gl_TIMESPEC):
33104         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
33105         * m4/unlinkdir.m4 (gl_UNLINKDIR):
33106         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
33107         * m4/userspec.m4 (gl_USERSPEC):
33108         * m4/utimecmp.m4 (gl_UTIMECMP):
33109         * m4/utimens.m4 (gl_UTIMENS):
33110         * m4/xalloc.m4 (gl_XALLOC):
33111         * m4/xgetcwd.m4 (gl_XGETCWD):
33112         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
33113         * m4/xreadlink.m4 (gl_XREADLINK):
33114         * m4/xstrtod.m4 (gl_XSTRTOD):
33115         * m4/yesno.m4 (gl_YESNO):
33116         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
33117         to get the necessary .h files and whatnot.
33118
33119 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
33120             Bruno Haible  <bruno@clisp.org>
33121
33122         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
33123         /bin/sh understanding of '!' conditional negation.
33124
33125 2006-08-21  Jim Meyering  <jim@meyering.net>
33126
33127         * modules/openat (Depends-on): Really alphabetize.
33128
33129         * modules/acl (Depends-on): Add error and quote.
33130
33131         * check-module (find_included_lib_files): Add at-func.c to the
33132         ok-to-include-more-than-once white list.
33133
33134         * modules/openat (Depends-on): Add lstat.  Alphabetize.
33135
33136 2006-08-21  Bruno Haible  <bruno@clisp.org>
33137
33138         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33139         Emit a pkgdata_DATA variable only if some snippets add contents to it.
33140         Reported by Martin Lambers <marlam@marlam.de>.
33141
33142 2006-08-21  Bruno Haible  <bruno@clisp.org>
33143
33144         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
33145         specify an installation location, don't emit a noinst_LIBRARIES or
33146         noinst_LTLIBRARIES assignment.
33147
33148 2006-08-21  Bruno Haible  <bruno@clisp.org>
33149
33150         BeOS portability.
33151         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
33152         BeOS has mbrtowc() but no <wctype.h>.
33153
33154 2006-08-21  Bruno Haible  <bruno@clisp.org>
33155
33156         BeOS portability.
33157         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
33158         exist.
33159
33160 2006-08-21  Bruno Haible  <bruno@clisp.org>
33161
33162         BeOS portability.
33163         * lib/mbchar.h: Include <wctype.h> only if it exists.
33164
33165 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
33166
33167         Remove files that are no longer needed by their respective modules.
33168         * m4/obstack.m4: Remove.
33169         * m4/strerror_r.m4: Remove.
33170         * m4/uint32_t.m4: Remove.
33171         * m4/uintptr_t.m4: Remove.
33172         * m4/ullong_max.m4: Remove.
33173         * m4/xstrtoimax.m4: Remove.
33174         * m4/xstrtoumax.m4: Remove.
33175
33176         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
33177         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
33178         dependencies now capture this.
33179
33180         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
33181         Do not use AC_LIBSOURCES, since gnulib modules now do this.
33182         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
33183         * m4/human.m4 (gl_HUMAN): Likewise.
33184         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
33185         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
33186
33187         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
33188
33189         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
33190         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
33191         stdint.
33192         * m4/human.m4 (gl_HUMAN): Likewise.
33193         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
33194         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
33195         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
33196         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
33197         * m4/xstrtol (gl_XSTRTOL): Likewise.
33198
33199         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
33200         AC_TYPE_LONG_LONG_INT.
33201         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
33202         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
33203         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
33204         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
33205
33206         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
33207         on stdbool.
33208
33209         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
33210         (gl_PREREQ_XSTRTOUL): Remove.
33211
33212         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
33213
33214         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
33215         mode.
33216
33217 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
33218
33219         Add and change modules to make it easier for coreutils to use
33220         gnulib-tool.
33221         * modules/backupfile (Files): Remove m4/d-ino.m4.
33222         (Depends-on): Add d-ino.
33223         * modules/cycle-check (Depends-on): Add stdint.
33224         (lib_SOURCES): Add cycle-check.h.
33225         * modules/d-ino: New module.
33226         * modules/d-type: New module.
33227         * modules/error (Files): Remove m4/strerror_r.m4.
33228         * modules/filemode (Files): Add m4/st_dm_mode.m4.
33229         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
33230         m4/inttypes_h.m4, m4/uintmax_t.m4.
33231         (Depends-on): Add stdint.
33232         (lib_SOURCES): Add fsusage.h.
33233         * modules/getcwd (Files): Remove d-ino.m4.
33234         (Depends-on): Add d-ino.
33235         * modules/getndelim2 (Depends-on): Add stdint.
33236         * modules/glob (Files): Remove m4/d-type.m4.
33237         (Depends-on): Add d-type.
33238         * modules/host-os: New module.
33239         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
33240         m4/inttypes_h.m4, m4/uintmax_t.m4.
33241         * Depends-on: Add stdint.
33242         (lib_SOURCES): Add human.h.
33243         * modules/inttostr (Files): Remove m4/intmax_t.m4,
33244         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
33245         m4/uintmax_t.m4, m4/ulonglong.m4.
33246         (Depends-on): Add stdint.
33247         (EXTRA_DIST): Add inttostr.h.
33248         * modules/lchmod: New module.
33249         * modules/link-follow: New module.
33250         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
33251         (Depends-on): Add lchmod.
33252         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
33253         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
33254         (Depends-on): Add stdint.
33255         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
33256         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
33257         (Depends-on): Add stdint.
33258         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
33259         * modules/perl: New module.
33260         * modules/regex (Depends-on): Add stdint.
33261         * modules/rmdir-errno: New module.
33262         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
33263         m4/intmax_t.m4.
33264         (Depends-on): Add stdint.
33265         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
33266         m4/uintmax_t.m4.
33267         (Depends-on): Add stdint.
33268         * modules/unlink-busy: New module.
33269         * modules/utimecmp (Depends-on): Add stdint.
33270         * modules/uptime: New module.
33271         * modules/winsz-ioctl: New module.
33272         * modules/winsz-termios: New module.
33273         * modules/xnanosleep (Depends-on): Add nanosleep.
33274         * modules/ullong_max: Remove.
33275         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
33276         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
33277         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
33278         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
33279         (Depends-on): Add inttypes.
33280         (lib_SOURCES): Add xstrtol.h.
33281         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
33282         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
33283         * MODULES.html.sh: Move 'assert' into the assert section.
33284         Move 'dummy' into the linking section.
33285         Remove ullong_max.
33286         Add section for compatibility checks for POSIX:2001 functions,
33287         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
33288         winsz-ioctl, and winsz-termios into it.
33289         Add lchmod.
33290         Add top-level Misc section and put host-os, perl, and uptime
33291         into it.
33292
33293 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
33294
33295         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
33296         now assume the stdint module.  Do not include inttypes.h.
33297         * lib/fsusage.h: Likewise.
33298         * lib/getndelim2.c: Likewise.
33299         * lib/human.h: Likewise.
33300         * lib/inttostr.h: Likewise.
33301         * lib/obstack.c: Likewise.
33302         * lib/regex_internal.h: Likewise.
33303         * lib/tempname.c: Likewise.
33304         * lib/utimecmp.c: Likewise.
33305         * lib/xstrtol.h: Likewise.
33306
33307         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
33308
33309         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
33310         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
33311         * lib/xtime.h: Likewise.
33312
33313 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
33314
33315         * modules/openat (Files): Add lib/fchmodat.c.
33316         Fixes problem reported by Jay Youngman.
33317
33318 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
33319
33320         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
33321         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
33322
33323 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
33324             Bruno Haible  <bruno@clisp.org>
33325
33326         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
33327         and is a script that invokes bison. Tighten the code. Add comments.
33328
33329 2006-08-18  Jim Meyering  <jim@meyering.net>
33330
33331         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
33332         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
33333         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
33334         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
33335
33336 2006-08-18  Bruno Haible  <bruno@clisp.org>
33337
33338         * modules/bison-i18n: New file.
33339         * MODULES.html.sh (Internationalization functions): Add it.
33340
33341 2006-08-18  Bruno Haible  <bruno@clisp.org>
33342
33343         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
33344         sys/statvfs.h. When getmntinfo was found, check its declaration and
33345         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
33346
33347 2006-08-18  Bruno Haible  <bruno@clisp.org>
33348
33349         * m4/bison-i18n.m4: New file, from bison.
33350
33351 2006-08-18  Bruno Haible  <bruno@clisp.org>
33352
33353         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
33354         (ME_DUMMY): Treat "kernfs" as a dummy.
33355         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
33356
33357 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
33358
33359         Update from coreutils.
33360
33361         2006-08-15  Jim Meyering  <jim@meyering.net>
33362
33363         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
33364
33365         2006-01-17  Jim Meyering  <jim@meyering.net>
33366
33367         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
33368
33369         2006-01-11  Jim Meyering  <jim@meyering.net>
33370
33371         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
33372         Check for the lchmod function.
33373
33374 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
33375
33376         Update from coreutils.
33377
33378         * lib/__fpending.h: Add copyright notice.
33379         * lib/fprintftime.h: Likewise.
33380         * lib/savedir.c: Use (C) in copyright notice.
33381         * lib/savedir.h: Likewise.
33382
33383         2006-08-15  Jim Meyering  <jim@meyering.net>
33384
33385         * lib/at-func.c: New file, with the logic of all emulated at-functions.
33386         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
33387         in support of the EXPECTED_ERRNO macro.
33388         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
33389         definitions.  Instead, define the appropriate symbols and include
33390         "at-func.c".
33391         * lib/mkdirat.c (mkdirat): Likewise.
33392         * lib/fchmodat.c (fchmodat): Likewise.
33393         (ENOSYS): Remove definition.
33394         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
33395         it.  Don't include "unistd--.h" -- it wasn't ever used.
33396
33397         2006-01-17  Jim Meyering  <jim@meyering.net>
33398
33399         Rewrite fts.c not to change the current working directory,
33400         by using openat, fstatat, fdopendir, etc..
33401
33402         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
33403         (HAVE_OPENAT_SUPPORT): Define.
33404         [_LIBC] (fchdir): Don't undef or define; no longer used.
33405         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
33406         Now, this `function' always succeeds, and consumes its file descriptor
33407         parameter -- so callers must not close such FDs.  Update callers.
33408         (diropen_fd, opendirat, cwd_advance_fd): New functions.
33409         (diropen): Add parameter, SP.  Adjust all callers.
33410         Implement using diropen_fd, rather than open.
33411         (fts_open): Initialize new member, fts_cwd_fd.
33412         Remove fts_rft-setting code.
33413         (fts_close): Close fts_cwd_fd, if necessary.
33414         (__opendir2): Define in terms of opendir or opendirat,
33415         depending on whether the FST_NOCHDIR flag is set.
33416         (fts_build): Since fts_safe_changedir consumes its FD, and since
33417         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
33418         and close the dup'd file descriptor upon failure.
33419         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
33420         (fts_safe_changedir): Tweak semantics to reflect that this function
33421         now calls cwd_advance_fd and hence consumes its FD argument.
33422         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
33423         [struct FTS] (fts_rft): Remove now-unused member.
33424         [struct FTS] (fts_cycle.state): Improve comment.
33425
33426         * lib/openat.c (openat_needs_fchdir): New function.
33427         * lib/openat.h (openat_needs_fchdir): Declare it.
33428
33429 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
33430
33431         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
33432         Problem and fix reported by Pádraig Brady in
33433         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
33434
33435 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33436
33437         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
33438
33439 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33440
33441         * lib/memcoll.c (memcoll): Optimize for the common case where the
33442         arguments are bytewise equal.
33443
33444 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33445
33446         * doc/regexprops-generic.texi: Add a copyright notice.
33447
33448 2006-08-15  Bruno Haible  <bruno@clisp.org>
33449
33450         * modules/tmpdir (License): Change to LGPL.
33451
33452 2006-08-15  Bruno Haible  <bruno@clisp.org>
33453
33454         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
33455         module.
33456
33457 2006-08-14  Simon Josefsson  <jas@extundo.com>
33458
33459         * config/srclist.txt: Add gnupload.
33460
33461 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33462
33463         Change copyright notice from LGPL 2 to GPL 2, since that's the
33464         standard form used in the gnulib repository.
33465         * tests/test-lock.c: Likewise.
33466         * tests/test-stdint.c: Likewise.
33467         * tests/test-tls.c: Likewise.
33468
33469         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
33470         prelude-manager.  User shorter URLs for GNU projects, without '?'.
33471         Add copyright notice.
33472
33473         * check-module: Add copyright notice.  Output a copyright
33474         notice if "--version" is specified.
33475         * modules/COPYING: New file.
33476         * tests/test-getaddrinfo.c: Add copyright notice.
33477         * tests/test-verify.c: Likewise.
33478
33479 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33480
33481         Change copyright notice from LGPL 2 to GPL 2, since that's the
33482         standard form used in the gnulib repository.
33483         * lib/lock.c: LGPL -> GPL.
33484         * lib/lock.h: Likewise.
33485         * lib/strnlen1.c: Likewise.
33486         * lib/strnlen1.h: Likewise.
33487         * lib/tls.c: Likewise.
33488         * lib/tls.h: Likewise.
33489         * lib/tmpdir.c: Likewise.
33490
33491         * lib/TODO: Remove; this belongs only in coreutils.
33492
33493 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33494
33495         Add copyright notices to long-enough files that lack them, since
33496         otherwise the files aren't clearly free.  Use the same notice that
33497         getdate.texi already uses.
33498         * doc/alloca-opt.texi: Add copyright notice.
33499         * doc/alloca.texi: Likewise.
33500         * doc/ctime.texi: Likewise.
33501         * doc/functions.texi: Likewise.
33502         * doc/gcd.texi: Likewise.
33503         * doc/gnulib-tool.texi: Likewise.
33504         * doc/inet_ntoa.texi: Likewise.
33505         * doc/visibility.texi: Likewise.
33506
33507         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
33508         * doc/quote.texi: Add copyright notice.
33509
33510         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
33511         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
33512         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
33513         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
33514         is now obsolete, and give a pointer to the Sun list.
33515         Add copyright notice.
33516
33517 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33518
33519         * config/srclistvars.sh: Add copyright notice.
33520
33521 2006-08-14  Eric Blake  <ebb9@byu.net>
33522
33523         Import the following change from libc:
33524
33525         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
33526
33527         Upstream bug 2997.
33528         * lib/misc/error.c: Add space between program name and message if file
33529         name is missing.
33530
33531 2006-08-12  Karl Berry  <karl@gnu.org>
33532
33533         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
33534         remove, these originate in gnulib now.
33535
33536 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33537
33538         * doc/Makefile (standards.info standards.html standards.dvi):
33539         Also depend on make-stds.texi.
33540
33541 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
33542
33543         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
33544         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
33545
33546         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
33547         in wchar_t.  Problem reported by Eric Blake.
33548
33549         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
33550         LEN is smaller than SIZE.  Suggested by Bruno Haible.
33551         Also, help the compiler to keep LEN in a register.
33552
33553 2006-08-11  Eric Blake  <ebb9@byu.net>
33554
33555         * users.txt: Sort.  Add tar.
33556
33557 2006-08-11  Bruno Haible  <bruno@clisp.org>
33558
33559         * users.txt: New file.
33560
33561 2006-08-11  Bruno Haible  <bruno@clisp.org>
33562
33563         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
33564         before <wchar.h>. Needed for OSF/1 and BSD/OS.
33565
33566 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33567
33568         * modules/snprintf (Depends-on): Remove minmax.
33569         (Maintainer): Add self and Bruno.
33570
33571 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33572
33573         * lib/.cppi-disable: Add snprintf.h, socket_.h.
33574         * lib/snprintf.c: Include <errno.h> and <limits.h>.
33575         (EOVERFLOW): Define if the system does not.
33576         Do not include "minmax.h"; it wasn't used.
33577         (snprintf): Don't assume size_t promotes to an unsigned type.
33578         Fix bug when generated string was too long for the buffer: the
33579         buffer's contents are supposed to be the initial prefix of the
33580         output.  Don't assume vasnprintf returns EOVERFLOW if the size
33581         exceeds INT_MAX; do the check ourselves.
33582
33583         Import the following changes from libc:
33584
33585         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
33586
33587         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
33588         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
33589         set wc to the byte which couldn't be converted.
33590         (re_string_reconstruct): Don't clear valid_raw_len before calling
33591         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
33592         tip_context using re_string_context_at.
33593
33594         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
33595
33596         * lib/posix/regex.h: g++ still cannot handled [restrict].
33597
33598         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
33599
33600         * lib/posix/regex.h: Remove special handling for VMS.
33601
33602 2006-08-10  Jim Meyering  <jim@meyering.net>
33603
33604         * modules/same-inode: New module.
33605         * modules/dev-ino: New module.
33606         * modules/cycle-check: Depend on these modules, rather than simply
33607         including their .h files.
33608         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
33609         required via m4/cycle-check.m4.
33610         * modules/same: Depend on new same-inode module, rather than
33611         including same-inode.h.
33612         * modules/chdir-safer: New file.
33613
33614         * modules/chown (Depends-on): Add stat-macros.
33615
33616 2006-08-10  Jim Meyering  <jim@meyering.net>
33617
33618         * m4/cycle-check.m4: New file.
33619         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
33620         * m4/dev-ino.m4, m4/same-inode.m4: New files.
33621
33622 2006-08-10  Eric Blake  <ebb9@byu.net>
33623
33624         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
33625         in from original proposal.
33626
33627 2006-08-10  Eric Blake  <ebb9@byu.net>
33628         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
33629
33630         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
33631         namespace.
33632
33633 2006-08-10  Bruno Haible  <bruno@clisp.org>
33634
33635         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
33636         as well.
33637
33638 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
33639
33640         Sync from coreutils.
33641
33642         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
33643
33644         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
33645         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
33646
33647 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
33648
33649         * modules/restrict: Remove; no longer needed now that we assume
33650         Autoconf 2.59 or later.
33651         * MODULES.html.sh: Remove 'restrict'.
33652         * modules/argp (Depends-on): Remove 'restrict'.
33653         * modules/base64 (Depends-on): Likewise.
33654         * modules/gc (Depends-on): Likewise.
33655         * modules/getaddrinfo (Depends-on): Likewise.
33656         * modules/glob (Depends-on): Likewise.
33657         * modules/inet_ntop (Depends-on): Likewise.
33658         * modules/inet_pton (Depends-on): Likewise.
33659         * modules/memxor (Depends-on): Likewise.
33660         * modules/regex (Depends-on): Likewise.
33661         * modules/strtok_r (Depends-on): Likewise.
33662         * modules/time_r (Depends-on): Likewise.
33663
33664 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
33665
33666         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
33667         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
33668         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
33669         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
33670         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
33671         * m4/memxor.m4 (gl_MEMXOR): Likewise.
33672         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
33673         gl_C_RESTRICT replaced by AC_C_RESTRICT.
33674
33675         Merge from coreutils.
33676         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
33677         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
33678         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
33679         * m4/time_r.m4 (gl_TIME_R): Likewise.
33680
33681 2006-08-09  Karl Berry  <karl@gnu.org>
33682
33683         * config/srclist.txt: no more gettext-tools, per Bruno.
33684
33685 2006-08-08  Eric Blake  <ebb9@byu.net>
33686
33687         * modules/verror: New module.
33688         * MODULES.html.sh: Document it.
33689
33690 2006-08-08  Eric Blake  <ebb9@byu.net>
33691
33692         * lib/verror.h, lib/verror.c: New files.
33693
33694 2006-08-08  Eric Blake  <ebb9@byu.net>
33695
33696         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
33697         verror_at_line output complies with GNU Coding Standards even when
33698         file is NULL.
33699
33700 2006-08-07  Bruno Haible  <bruno@clisp.org>
33701
33702         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
33703         versions of AIX.
33704         Reported by Ralf Wildenhues.
33705
33706 2006-08-07  Bruno Haible  <bruno@clisp.org>
33707
33708         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
33709         in an AC_DEFUN. Needed so that the autoconf snippets can use
33710         AC_REQUIRE.
33711
33712 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33713
33714         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33715         Initialize pkgdata_DATA.
33716         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
33717         overriding it.
33718
33719 2006-08-06  Eric Blake  <ebb9@byu.net>
33720
33721         * lib/error.h: Fold in some upstream changes from glibc.
33722         * lib/error.c: Likewise.
33723
33724 2006-08-04  Bruno Haible  <bruno@clisp.org>
33725
33726         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33727         Make the mostlyclean-local rule depend on mostlyclean-generic.
33728         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
33729
33730 2006-07-31  Bruno Haible  <bruno@clisp.org>
33731
33732         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
33733         <stdlib.h>, <string.h>.
33734
33735 2006-07-30  Bruno Haible  <bruno@clisp.org>
33736
33737         * modules/readlink (License): Change to LGPL.
33738
33739 2006-07-30  Bruno Haible  <bruno@clisp.org>
33740
33741         * modules/javaversion (Makefile.am): Distribute javaversion.java and
33742         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
33743         set PKGDATADIR to point to it.
33744
33745 2006-07-30  Bruno Haible  <bruno@clisp.org>
33746
33747         * modules/csharpexec (configure.ac): Comment out macro invocation.
33748         * modules/javaexec (configure.ac): Likewise.
33749         * modules/javacomp-script (configure.ac): Likewise.
33750
33751         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
33752
33753 2006-07-30  Bruno Haible  <bruno@clisp.org>
33754
33755         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
33756         linked-list.
33757
33758 2006-07-30  Bruno Haible  <bruno@clisp.org>
33759
33760         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
33761
33762 2006-07-30  Bruno Haible  <bruno@clisp.org>
33763
33764         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33765         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
33766         get removed.
33767
33768 2006-07-29  Bruno Haible  <bruno@clisp.org>
33769
33770         Make it possible for gnulib-tool to work with locally modified or
33771         augmented gnulib repositories.
33772         * gnulib-tool (func_usage): Document --local-dir option.
33773         (local_gnulib_dir): New variable.
33774         Handle --local-dir option.
33775         (func_lookup_file): New function.
33776         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
33777         (func_get_description, func_get_filelist, func_get_description,
33778         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
33779         func_get_automake_snippet, func_get_include_directive,
33780         func_get_license, func_get_maintainer): Use func_lookup_file.
33781         (func_import, func_create_testdir): Use func_lookup_file.
33782
33783 2006-07-29  Bruno Haible  <bruno@clisp.org>
33784
33785         * modules/setenv (Depends-on): Add unistd.
33786
33787 2006-07-29  Bruno Haible  <bruno@clisp.org>
33788
33789         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
33790
33791 2006-07-29  Bruno Haible  <bruno@clisp.org>
33792
33793         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
33794
33795 2006-07-29  Bruno Haible  <bruno@clisp.org>
33796
33797         * gnulib-tool (import, update): If there is no Makefile.am, look at
33798         aclocal.m4, instead of bailing out.
33799
33800 2006-07-29  Bruno Haible  <bruno@clisp.org>
33801
33802         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
33803         Categorize the options by when they are useful.
33804
33805 2006-07-29  Bruno Haible  <bruno@clisp.org>
33806
33807         * gnulib-tool (func_usage): Document option --no-libtool.
33808         Handle option --no-libtool.
33809         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
33810         for changed semantics of $libtool variable.
33811         (func_import): Likewise. If libtool is not used, show this through
33812         an option --no-libtool.
33813         (func_create_testdir): Update.
33814
33815 2006-07-29  Bruno Haible  <bruno@clisp.org>
33816
33817         * gnulib-tool (func_import): Extend error message about missing
33818         --doc-base.
33819
33820 2006-07-29  Bruno Haible  <bruno@clisp.org>
33821
33822         * gnulib-tool (func_import): Don't create the $docbase directory if
33823         there is no file to store there.
33824
33825 2006-07-29  Bruno Haible  <bruno@clisp.org>
33826
33827         * gnulib-tool (autoconf_minversion): If a --dir option is given and
33828         relevant, look for configure.ac there, not in the current directory.
33829         Also use a simple search for AC_PREREQ, not "autoconf --trace".
33830
33831 2006-07-29  Bruno Haible  <bruno@clisp.org>
33832
33833         * gnulib-tool (SORT): New variable.
33834         (func_usage): Undocument --assume-autoconf option.
33835         Remove --assume-autoconf option handling.
33836         (autoconf_minversion): Determine from the contents of configure.ac.
33837         (func_import): Remove autoconf_minversion handling.
33838         Suggested by Eric Blake.
33839
33840 2006-07-29  Bruno Haible  <bruno@clisp.org>
33841
33842         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
33843
33844 2006-07-29  Bruno Haible  <bruno@clisp.org>
33845
33846         * config/srclist.txt (*setenv.[ch]): Remove rules.
33847
33848 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33849
33850         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
33851
33852 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33853
33854         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
33855         arpa/inet.h.
33856
33857 2006-07-28  Simon Josefsson  <jas@extundo.com>
33858
33859         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
33860         * modules/inet_pton (Depends-on): Likewise.
33861
33862 2006-07-28  Simon Josefsson  <jas@extundo.com>
33863
33864         * m4/netinet_in_h.m4: New file.
33865
33866 2006-07-28  Simon Josefsson  <jas@extundo.com>
33867
33868         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
33869         #include's.
33870
33871 2006-07-28  Simon Josefsson  <jas@extundo.com>
33872
33873         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
33874         #include's.
33875
33876 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
33877
33878         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
33879         setgid on directories only if they set these bits.
33880         * lib/modechange.h: Remove obsolete comment about masks.
33881
33882 2006-07-28  Eric Blake  <ebb9@byu.net>
33883
33884         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
33885         macro expansion.
33886
33887 2006-07-28  Bruno Haible  <bruno@clisp.org>
33888
33889         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
33890
33891 2006-07-28  Bruno Haible  <bruno@clisp.org>
33892
33893         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
33894
33895 2006-07-28  Bruno Haible  <bruno@clisp.org>
33896
33897         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
33898         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
33899         Define fallbacks.
33900         Avoids link error on FreeBSD 4.x.
33901         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
33902
33903         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
33904         encoding.
33905         * lib/mbswidth.c (iswcntrl): Likewise.
33906
33907 2006-07-27  Bruno Haible  <bruno@clisp.org>
33908
33909         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
33910         test.
33911
33912 2006-07-27  Bruno Haible  <bruno@clisp.org>
33913
33914         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
33915         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
33916         defined.
33917
33918 2006-07-26  Eric Blake  <ebb9@byu.net>
33919
33920         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
33921
33922 2006-07-26  Eric Blake  <ebb9@byu.net>
33923
33924         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
33925         like mingw that lack mkstemp.
33926         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
33927         avoid compilation warning on mingw.
33928
33929 2006-07-26  Bruno Haible  <bruno@clisp.org>
33930
33931         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
33932         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
33933         INT_FAST*_MIN, INTPTR_MIN.
33934
33935 2006-07-25  Bruno Haible  <bruno@clisp.org>
33936
33937         * modules/version-etc (Depends-on): Add stdarg.
33938
33939 2006-07-25  Bruno Haible  <bruno@clisp.org>
33940
33941         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
33942         complex commands.
33943
33944 2006-07-25  Bruno Haible  <bruno@clisp.org>
33945
33946         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
33947         defined in <stdarg.h> or config.h.
33948
33949 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33950
33951         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
33952         (gl_STDIO_SAFER): Remove.
33953
33954 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33955
33956         * MODULES.html.sh (File stream based Input/Output):
33957         Add fopen-safer, tmpfile-safer; remove stdio-safer.
33958         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
33959         * modules/fopen-safer, modules/tmpfile-safer: New files.
33960         * modules/stdio-safer: Remove.
33961
33962 2006-07-24  Bruno Haible  <bruno@clisp.org>
33963
33964         * modules/tmpdir: New file.
33965         * MODULES.html.sh (File system functions): Add it.
33966
33967 2006-07-24  Bruno Haible  <bruno@clisp.org>
33968
33969         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
33970         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
33971
33972 2006-07-24  Bruno Haible  <bruno@clisp.org>
33973
33974         * modules/clean-temp: New file.
33975
33976 2006-07-24  Bruno Haible  <bruno@clisp.org>
33977
33978         * m4/tmpdir.m4: New file, from GNU gettext.
33979
33980 2006-07-24  Bruno Haible  <bruno@clisp.org>
33981
33982         * lib/tmpdir.h: New file, from GNU gettext.
33983         * lib/tmpdir.c: New file, from GNU gettext.
33984
33985 2006-07-24  Bruno Haible  <bruno@clisp.org>
33986
33987         * lib/clean-temp.h: New file, from GNU gettext.
33988         * lib/clean-temp.c: New file, from GNU gettext.
33989
33990 2006-07-23  Eric Blake  <ebb9@byu.net>
33991
33992         * modules/stdio-safer (Files): Add tmpfile-safer.c.
33993         (Depends-on): Add binary-io.
33994
33995 2006-07-23  Eric Blake  <ebb9@byu.net>
33996
33997         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
33998
33999 2006-07-23  Eric Blake  <ebb9@byu.net>
34000
34001         * lib/tmpfile-safer.c: New file.
34002         * lib/stdio-safer.h (fopen_safer): Add prototype.
34003         * lib/stdio--.h (tmpfile): Make safer.
34004
34005 2006-07-23  Bruno Haible  <bruno@clisp.org>
34006
34007         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
34008         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
34009         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
34010         gl_linked_remove_at): Use it.
34011
34012 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34013         and Simon Josefsson <jas@extundo.com>
34014
34015         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
34016
34017         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
34018
34019 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
34020
34021         * modules/close-stream: New file.
34022         * modules/closeout (Description): Make it clear that it exits
34023         with a diagnostic on error.
34024         (Depends-on): Add close-stream.  Remove fpending, stdbool.
34025         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
34026
34027 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
34028
34029         * m4/close-stream.m4: New file.
34030
34031 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
34032
34033         * lib/close-stream.c, lib/close-stream.h: New files.
34034
34035 2006-07-22  Bruno Haible  <bruno@clisp.org>
34036
34037         Merge from GNU gettext 0.15.
34038
34039         2006-05-01  Bruno Haible  <bruno@clisp.org>
34040
34041                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
34042
34043         2006-07-22  Bruno Haible  <bruno@clisp.org>
34044
34045                 * modules/javaversion: New file.
34046                 * MODULES.html.sh (Java): Add javaversion.
34047
34048         2006-03-12  Bruno Haible  <bruno@clisp.org>
34049
34050                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
34051
34052         2005-12-04  Bruno Haible  <bruno@clisp.org>
34053
34054                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
34055                 (untested).
34056
34057         2006-06-21  Bruno Haible  <bruno@clisp.org>
34058
34059                 Avoid warnings from recent versions of mcs.
34060                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
34061                 -o, -L, -r any more. Use options documented since mcs-1.0
34062                 instead. Similarly for -g.
34063
34064         2005-12-04  Bruno Haible  <bruno@clisp.org>
34065
34066                 * build-aux/csharpcomp.sh.in: Suffix for resources is
34067                 .resources, not .resource.
34068
34069         2005-07-09  Bruno Haible  <bruno@clisp.org>
34070
34071                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
34072                 add a .dll suffix.
34073                 Reported by Mark Junker <mjscod@gmx.de>.
34074
34075         2006-07-22  Bruno Haible  <bruno@clisp.org>
34076
34077                 * modules/gettext: Upgrade to gettext-0.15.
34078                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
34079                 m4/visibility.m4.
34080                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
34081
34082 2006-07-22  Bruno Haible  <bruno@clisp.org>
34083
34084         Merge from GNU gettext 0.15.
34085
34086         2006-03-25  Bruno Haible  <bruno@clisp.org>
34087
34088                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
34089
34090         2006-07-21  Bruno Haible  <bruno@clisp.org>
34091
34092                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
34093                 "1.1".
34094
34095         2006-05-09  Bruno Haible  <bruno@clisp.org>
34096
34097                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
34098                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
34099                 for the conftestver execution.
34100
34101         2006-05-01  Bruno Haible  <bruno@clisp.org>
34102
34103                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
34104                 optional target-version argument. Verify that the compiler
34105                 groks source of the specified source-version, or add -source
34106                 option as necessary. Verify that the compiler produces
34107                 bytecode in the specified target-version, or add -target and
34108                 -source options as necessary. Make the result of the test
34109                 available as variable CONF_JAVAC. Also log error output in
34110                 config.log.
34111
34112         2006-03-11  Bruno Haible  <bruno@clisp.org>
34113
34114                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
34115
34116         2006-05-09  Bruno Haible  <bruno@clisp.org>
34117
34118                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
34119                 CLASSPATH_SEPARATOR to a semicolon.
34120
34121         2006-03-12  Bruno Haible  <bruno@clisp.org>
34122
34123                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
34124                 available as variable CONF_JAVA, for subsequent autoconf
34125                 tests. Also log error output in config.log.
34126
34127         2006-07-19  Bruno Haible  <bruno@clisp.org>
34128
34129                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
34130                 that getline works on glibc2 systems. Needed to avoid trouble
34131                 in relocatable.c.
34132                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
34133
34134         2005-12-04  Bruno Haible  <bruno@clisp.org>
34135
34136                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
34137                 launcher (untested).
34138
34139         2005-12-04  Bruno Haible  <bruno@clisp.org>
34140
34141                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
34142
34143         2006-07-22  Bruno Haible  <bruno@clisp.org>
34144
34145                 * gettext.m4: Update from GNU gettext-0.15.
34146                 * nls.m4: Likewise.
34147                 * po.m4: Likewise.
34148                 * inttypes-pri.m4: Likewise.
34149                 * inttypes-h.m4: Renamed from inttypes.m4.
34150                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
34151
34152 2006-07-22  Bruno Haible  <bruno@clisp.org>
34153
34154         Merge from GNU gettext 0.15.
34155
34156         2005-07-05  Bruno Haible  <bruno@clisp.org>
34157
34158                 * printf-args.c (printf_fetchargs): Work around broken
34159                 definition of wint_t on mingw.
34160
34161         2005-02-12  Bruno Haible  <bruno@clisp.org>
34162
34163                 * xallocsa.h: Add extern "C" for C++.
34164
34165         2006-05-17  Bruno Haible  <bruno@clisp.org>
34166
34167                 Cygwin portability.
34168                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
34169
34170         2006-04-30  Bruno Haible  <bruno@clisp.org>
34171
34172                 * progreloc.c: Include <mach-o/dyld.h> if available.
34173                 (find_executable): Use _NSGetExecutablePath when possible.
34174
34175         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
34176
34177                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
34178                 function.
34179
34180         2005-12-29  Bruno Haible  <bruno@clisp.org>
34181
34182                 * progreloc.c (set_program_name_and_installdir): Fix
34183                 compilation error.
34184
34185         2005-12-04  Bruno Haible  <bruno@clisp.org>
34186
34187                 Cygwin portability.
34188                 * progreloc.c: Include <windows.h> also on Cygwin.
34189                 (find_executable): Add support for Cygwin.
34190                 (set_program_name_and_installdir): Handle also platforms with
34191                 nonempty EXEEXT.
34192
34193         2006-07-11  Bruno Haible  <bruno@clisp.org>
34194
34195                 * javacomp.c: Fix a comment.
34196                 Reported by Jim Meyering.
34197
34198         2006-04-30  Bruno Haible  <bruno@clisp.org>
34199
34200                 * javacomp.h (compile_java_class): Add source_version,
34201                 target_version arguments.
34202                 * javacomp.c: Rewritten to choose only a compiler that
34203                 respects the specified source_version and target_version.
34204
34205         2006-06-27  Bruno Haible  <bruno@clisp.org>
34206
34207                 Assume correct S_ISDIR macro.
34208                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
34209
34210         2006-07-22  Bruno Haible  <bruno@clisp.org>
34211
34212                 * javaversion.h: New file, from GNU gettext.
34213                 * javaversion.c: New file, from GNU gettext.
34214                 * javaversion.java: New file, from GNU gettext.
34215                 * javaversion.class: New file, from GNU gettext.
34216
34217         2006-05-17  Bruno Haible  <bruno@clisp.org>
34218
34219                 Cygwin portability.
34220                 * javaexec.c (execute_java_class): Test for jview program
34221                 also on Cygwin.
34222
34223         2006-04-09  Bruno Haible  <bruno@clisp.org>
34224
34225                 * fatal-signal.c: Don't include string.h.
34226                 (at_fatal_signal): Use a copying loop instead of memcpy.
34227
34228         2005-12-04  Bruno Haible  <bruno@clisp.org>
34229
34230                 * csharpexec.c: Add support for 'clix' launcher (untested).
34231                 (execute_csharp_using_sscli): New function.
34232                 (execute_csharp_program): Call it.
34233
34234         2006-06-21  Bruno Haible  <bruno@clisp.org>
34235
34236                 Avoid warnings from recent versions of mcs.
34237                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
34238                 -o, -L, -r any more. Use options documented since mcs-1.0
34239                 instead. Similarly for -g.
34240
34241         2005-07-09  Bruno Haible  <bruno@clisp.org>
34242
34243                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
34244                 add a .dll suffix.
34245                 Reported by Mark Junker <mjscod@gmx.de>.
34246
34247         2006-06-17  Bruno Haible  <bruno@clisp.org>
34248
34249                 * config.charset: Update for NetBSD 3.0.
34250
34251         2006-05-17  Bruno Haible  <bruno@clisp.org>
34252
34253                 Cygwin portability.
34254                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
34255
34256         2006-05-16  Bruno Haible  <bruno@clisp.org>
34257
34258                 * localcharset.c [CYGWIN]: Include <windows.h>.
34259                 (get_charset_aliases): For Cygwin, return the same CPxxx
34260                 aliases list as under WIN32.
34261                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
34262                 the environment variables. Fall back to GetACP().
34263
34264         2006-04-05  Bruno Haible  <bruno@clisp.org>
34265
34266                 * config.charset: Update Juan Manuel Guerrero's address.
34267
34268         2005-02-12  Bruno Haible  <bruno@clisp.org>
34269
34270                 * allocsa.h: Add extern "C" for C++.
34271
34272         2005-02-10  Bruno Haible  <bruno@clisp.org>
34273
34274                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
34275                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
34276
34277         2006-07-22  Bruno Haible  <bruno@clisp.org>
34278
34279                 * gettext.h: Update to GNU gettext-0.15.
34280
34281 2006-07-22  Bruno Haible  <bruno@clisp.org>
34282
34283         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
34284         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
34285         lib-prefix.m4, longdouble.m4, ssize_t.m4.
34286
34287 2006-07-21  Eric Blake  <ebb9@byu.net>
34288
34289         * modules/stdlib-safer: New file.
34290         * MODULES.html.sh (File stream based Input/Output): Add
34291         stdlib-safer.
34292
34293 2006-07-21  Eric Blake  <ebb9@byu.net>
34294
34295         * lib/stdlib-safer.h: New file from coreutils, required by
34296         stdlib--.h.
34297
34298 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
34299
34300         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
34301
34302 2006-07-20  Bruno Haible  <bruno@clisp.org>
34303
34304         * gnulib-tool: Recognize new option --assume-autoconf.
34305         (autoconf_minversion): New variable.
34306         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
34307
34308 2006-07-20  Bruno Haible  <bruno@clisp.org>
34309
34310         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
34311
34312 2006-07-19  Derek R. Price  <derek@ximbiot.com>
34313
34314         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
34315         Reindent and repaginate.
34316
34317 2006-07-19  Derek Price  <derek@ximbiot.com>
34318
34319         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
34320         Correct grammar.
34321
34322 2006-07-17  Bruno Haible  <bruno@clisp.org>
34323
34324         * modules/list: New file.
34325         * modules/array-list: New file.
34326         * modules/carray-list, modules/carray-list-tests: New files.
34327         * modules/linked-list, modules/linked-list-tests: New files.
34328         * modules/avltree-list, modules/avltree-list-tests: New files.
34329         * modules/rbtree-list, modules/rbtree-list-tests: New files.
34330         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
34331         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
34332         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
34333         * modules/oset: New file.
34334         * modules/array-oset: New file.
34335         * modules/avltree-oset, modules/avltree-oset-tests: New files.
34336         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
34337         * tests/test-carray_list.c: New file.
34338         * tests/test-linked_list.c: New file.
34339         * tests/test-avltree_list.c: New file.
34340         * tests/test-rbtree_list.c: New file.
34341         * tests/test-linkedhash_list.c: New file.
34342         * tests/test-avltreehash_list.c: New file.
34343         * tests/test-rbtreehash_list.c: New file.
34344         * tests/test-avltree_oset.c: New file.
34345         * tests/test-rbtree_oset.c: New file.
34346         * MODULES.html.sh (Container data structures): New section.
34347
34348 2006-07-17  Bruno Haible  <bruno@clisp.org>
34349
34350         * m4/gl_list.m4: New file.
34351
34352 2006-07-17  Bruno Haible  <bruno@clisp.org>
34353
34354         * lib/gl_list.h: New file.
34355         * lib/gl_list.c: New file.
34356         * lib/gl_array_list.h: New file.
34357         * lib/gl_array_list.c: New file.
34358         * lib/gl_carray_list.h: New file.
34359         * lib/gl_carray_list.c: New file.
34360         * lib/gl_linked_list.h: New file.
34361         * lib/gl_linked_list.c: New file.
34362         * lib/gl_anylinked_list1.h: New file.
34363         * lib/gl_anylinked_list2.h: New file.
34364         * lib/gl_avltree_list.h: New file.
34365         * lib/gl_avltree_list.c: New file.
34366         * lib/gl_anyavltree_list1.h: New file.
34367         * lib/gl_anyavltree_list2.h: New file.
34368         * lib/gl_rbtree_list.h: New file.
34369         * lib/gl_rbtree_list.c: New file.
34370         * lib/gl_anyrbtree_list1.h: New file.
34371         * lib/gl_anyrbtree_list2.h: New file.
34372         * lib/gl_anytree_list1.h: New file.
34373         * lib/gl_anytree_list2.h: New file.
34374         * lib/gl_linkedhash_list.h: New file.
34375         * lib/gl_linkedhash_list.c: New file.
34376         * lib/gl_anyhash_list1.h: New file.
34377         * lib/gl_anyhash_list2.h: New file.
34378         * lib/gl_avltreehash_list.h: New file.
34379         * lib/gl_avltreehash_list.c: New file.
34380         * lib/gl_rbtreehash_list.h: New file.
34381         * lib/gl_rbtreehash_list.c: New file.
34382         * lib/gl_anytreehash_list1.h: New file.
34383         * lib/gl_anytreehash_list2.h: New file.
34384
34385         * lib/gl_oset.h: New file.
34386         * lib/gl_oset.c: New file.
34387         * lib/gl_array_oset.h: New file.
34388         * lib/gl_array_oset.c: New file.
34389         * lib/gl_avltree_oset.h: New file.
34390         * lib/gl_avltree_oset.c: New file.
34391         * lib/gl_rbtree_oset.h: New file.
34392         * lib/gl_rbtree_oset.c: New file.
34393         * lib/gl_anytree_oset.h: New file.
34394
34395 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
34396
34397         * m4/mkancesdirs.m4: New file.
34398         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
34399         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
34400         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
34401         it.
34402
34403 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
34404
34405         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
34406         * lib/mkancesdirs.h: New files.
34407         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
34408         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
34409         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
34410         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
34411         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
34412         callers changed.  Revamp internals significantly, by not
34413         attempting to create directories that are temporarily more
34414         permissive than the final results.  Do not attempt to use
34415         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
34416         This removes some race conditions, fixes some bugs, and simplifies
34417         things.  Use new dirchownmod function to do owner and mode changes.
34418         * lib/mkdir-p.h: Likewise.
34419         * lib/modechange.c (octal_to_mode): New function.
34420         (struct mode_change): New member mentioned.
34421         (make_node_op_equals): New arg mentioned.  All callers changed.
34422         (mode_compile): Keep track of which mode bits the user has explicitly
34423         mentioned.
34424         (mode_adjust): New arg DIR, so that we implement the X op correctly.
34425         New arg PMODE_BITS, to keep track of which mode bits the user
34426         mentioned; it treats S_ISUID and S_ISGID speciall.
34427         All callers changed.
34428         * lib/modechange.h: Likewise.
34429
34430 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
34431
34432         * MODULES.html.sh: Add mkancestors.
34433         * modules/mkancesdirs: New module.
34434         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
34435         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
34436         The chdir-safer and afs files are now orphans; I'll remove them
34437         unless someone speaks up.
34438         Add lib/dirchownmod.c, lib/dirchownmod.h.
34439         (Depends-on): Remove alloca, chown, save-cwd, dirname.
34440         Add lchown, mkancesdirs.
34441         (Maintainer): Add self.
34442
34443 2006-07-15  Karl Berry  <karl@gnu.org>
34444
34445         * gnulib-tool: help message wording/arrangement.
34446
34447 2006-07-14  Simon Josefsson  <jas@extundo.com>
34448
34449         * doc/gnulib.texi (Libtool and Windows): New section.
34450
34451 2006-07-12  Simon Josefsson  <jas@extundo.com>
34452
34453         * modules/gendocs (License): Fix license, approved by Karl.
34454
34455 2006-07-12  Eric Blake  <ebb9@byu.net>
34456
34457         * MODULES.html.sh: Add gendocs.
34458
34459 2006-07-11  Eric Blake  <ebb9@byu.net>
34460
34461         * modules/fdl: New module, to install doc/fdl.texi.
34462         * MODULES.html.sh: Add new section for documentation modules.
34463         * gnulib-tool: Avoid space-tab.
34464         (--doc-base): New option, to manage files from doc.
34465
34466 2006-07-11  Eric Blake  <ebb9@byu.net>
34467
34468         * m4/absolute-header.m4: Fix comments to match recent change.
34469
34470 2006-07-11  Eric Blake  <ebb9@byu.net>
34471
34472         * gnulib-tool: List --doc-base before --tests-base.
34473
34474 2006-07-11  Derek R. Price  <derek@ximbiot.com>
34475
34476         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
34477
34478 2006-07-11  Bruno Haible  <bruno@clisp.org>
34479
34480         * README: Mention where to put documentation.
34481
34482 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34483
34484         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
34485
34486 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
34487
34488         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
34489         to stdint.m4.
34490
34491 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
34492
34493         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
34494         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
34495         "no/such/file/stdint.h" when there is no such file, so that
34496         the resulting C code can be parsed by dodgy compilers.
34497         Problems reported by Bob Proulx.
34498
34499 2006-07-10  Derek R. Price  <derek@ximbiot.com>
34500
34501         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
34502         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
34503         macros into the GNU _D_EXACT_NAMLEN.
34504         * lib/savedir.c:  Likewise.
34505         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
34506
34507 2006-07-10  Derek R. Price  <derek@ximbiot.com>
34508         and Paul Eggert  <eggert@cs.ucla.edu>
34509
34510         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
34511         * m4/savedir.m4:
34512         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
34513         macros into the GNU _D_EXACT_NAMLEN.
34514
34515 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34516
34517         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
34518         around the absolute name, to work around a problem with the HP-UX
34519         11.23 native C compiler, reported by Bob Proulx.
34520
34521 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34522
34523         * doc/maintain.texi, make-stds.texi: Sync from
34524         <http://savannah.gnu.org/projects/gnustandards>.
34525
34526 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34527
34528         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
34529
34530 2006-07-09  Jim Meyering  <jim@meyering.net>
34531
34532         * m4/glob.m4: Remove a doubled word in a comment.
34533
34534 2006-07-09  Jim Meyering  <jim@meyering.net>
34535
34536         * lib/argp-pv.c: Remove a doubled word in a comment.
34537         * lib/check-version.c (check_version): Likewise.
34538         * lib/javacomp.c (compile_java_class): Likewise.
34539
34540 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
34541
34542         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
34543         for the benefit of people using Autoconf 2.60.  If you want to
34544         support older Autoconf versions you can copy m4/onceonly_2_57.m4
34545         (or m4/onceonly.m4, if pre-2.57) manually.
34546
34547 2006-07-08  Jim Meyering  <jim@meyering.net>
34548
34549         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
34550         comment.
34551         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
34552         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
34553         comment.
34554
34555 2006-07-08  Jim Meyering  <jim@meyering.net>
34556
34557         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
34558
34559 2006-07-07  Simon Josefsson  <jas@extundo.com>
34560
34561         * tests/test-crc.c: Change expected crc value, the test vector
34562         were probably computed using the old broken crc.c?
34563
34564 2006-07-06  Simon Josefsson  <jas@extundo.com>
34565
34566         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
34567         now the canonical place for the M4 file).
34568
34569         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
34570         from the sys_socket dependency now.
34571
34572         * modules/inet_pton (Files): Ditto.
34573
34574         * modules/inet_ntop (Files): Ditto.
34575
34576 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
34577
34578         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
34579         not gl_PREREQ_GETUSERSHELL.
34580
34581 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34582
34583         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
34584         with only one argument, for Autoconf 2.60.
34585         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
34586         expand to nothing, so add a shell command to avoid syntax error.
34587         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
34588
34589 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34590
34591         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
34592
34593 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34594
34595         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
34596         no longer needed.  Check for isblank decl.
34597         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
34598         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
34599         of existence.
34600
34601 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34602
34603         * lib/getloadavg.c: Use __VMS, not VMS.
34604         * lib/getopt.c: Likewise.
34605         * lib/getpagesize.h: Likewise.
34606         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
34607         and probably does not work.
34608
34609 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34610
34611         * lib/.cppi-disable: Add wcwidth.
34612         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
34613         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
34614         (ISGRAPH): Remove.  All uses changed to isgraph.
34615         (FOLD) [!defined _LIBC]: Remove special case.
34616         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
34617         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
34618         HAVE_ISBLANK.
34619         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
34620         case.
34621
34622 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
34623
34624         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
34625         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
34626         brackets.  Other minor changes to suppress some compiler
34627         warnings.
34628
34629 2006-07-06  Derek R. Price  <derek@ximbiot.com>
34630         and Paul Eggert  <eggert@cs.ucla.edu>
34631
34632         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
34633         of invoking obsolescent AC_HEADER_DIRENT macro.
34634         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
34635         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
34636         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
34637         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
34638         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
34639         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
34640         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
34641         * m4/readdir.m4: Remove; no longer needed.
34642
34643 2006-07-06  Derek R. Price  <derek@ximbiot.com>
34644         and Paul Eggert  <eggert@cs.ucla.edu>
34645
34646         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
34647         Don't worry about this obsolete case any more.
34648         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
34649         directories.
34650         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
34651         worry about this obsolete case any more.
34652         * lib/fts.c: Likewise.
34653         * lib/getcwd.c: Likewise.
34654         * lib/glob.h: Likewise.
34655         * lib/savedir.c: Likewise.
34656
34657 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
34658
34659         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
34660         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
34661         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
34662         needed.
34663         All uses removed.
34664         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
34665         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
34666         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
34667         needed.
34668         * m4/getdate.m4 (gl_GETDATE): Likewise.
34669         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
34670         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
34671         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
34672         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
34673         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
34674         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
34675         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
34676         needed.
34677
34678 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
34679
34680         * lib/memcasecmp.c: Include <limits.h>.
34681         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
34682         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
34683         Don't assume isdigit succeeds only on '0' through '9'.
34684
34685 2006-07-05  Eric Blake  <ebb9@byu.net>
34686
34687         * modules/getaddrinfo (Depends-on): Add snprintf.
34688
34689 2006-07-05  Eric Blake  <ebb9@byu.net>
34690
34691         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
34692         to avoid 'header present but could not be compiled' on cygwin.
34693
34694 2006-07-05  Eric Blake  <ebb9@byu.net>
34695
34696         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
34697         missing from netdb.h.
34698         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
34699
34700 2006-07-05  Derek R. Price  <derek@ximbiot.com>
34701
34702         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
34703         no longer needed.
34704         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
34705         * m4/getdate.m4 (gl_GETDATE): Likewise.
34706         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
34707         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
34708         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
34709         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
34710         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
34711
34712 2006-07-05  Derek R. Price  <derek@ximbiot.com>
34713
34714         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
34715         All uses of is_space replaced by isspace.
34716         * lib/exit.h: Don't talk about STDC_HEADERS.
34717         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
34718         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
34719         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
34720         replaced by isprint etc.
34721         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
34722         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
34723         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
34724         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
34725         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
34726         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
34727
34728 2006-07-05  Bruno Haible  <bruno@clisp.org>
34729
34730         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
34731         the function exists, before testing against AIX.
34732         Reported by Martin Lambers <marlam@marlam.de>.
34733
34734 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
34735
34736         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
34737         From Mark D. Baushke.
34738
34739 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
34740
34741         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
34742         to the absolute name, not just one, to bypass Sun C 5.8's
34743         "warning: #include of /usr/include/... may be non-portable".
34744
34745 2006-07-04  Eric Blake  <ebb9@byu.net>
34746
34747         * modules/dirname-tests: New test module.
34748         * tests/test-dirname.c: New file, replacing dirname.c
34749         TEST_DIRNAME section that was recently deleted.
34750
34751 2006-07-04  Bruno Haible  <bruno@clisp.org>
34752
34753         Assume ANSI C header files and <ctype.h> functions.
34754         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
34755         (mbsnwidth): Use isprint, iscntrl instead.
34756
34757 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
34758
34759         Merge from coreutils.
34760         * MODULES.html.sh: Add xstrtold.
34761         * modules/xstrtold: New file.
34762         * modules/cycle-check (Files): Add lib/same-inode.h.
34763         * modules/dirname (Files): Add m4/double-slash-root.m4.
34764         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
34765         * modules/mkdir-p (Files): Add lib/same-inode.h.
34766         * modules/same (Files): Add lib/same-inode.h.
34767
34768 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
34769
34770         * m4/absolute-header.m4: Renamed from full-header-path.m4.
34771         This is to keep the terminology clean; POSIX talks about
34772         "absolute pathnames", not "full pathnames", but the GNU
34773         Coding Standards say to use "path" for something else;
34774         so use "absolute" to keep both sides happy.
34775         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
34776         Set gl_absolute_header, not gl_full_header_path.
34777         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
34778         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
34779         All uses changed.
34780
34781         Merge from coreutils.
34782
34783         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
34784
34785         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
34786         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
34787         want to require the building of c-strtod.o.
34788         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
34789         needs -lm directly.
34790         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
34791
34792         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
34793
34794         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
34795         --as-needed option if available.  Problem reported by Albert Chin in
34796         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
34797         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
34798         cc merely issues a bunch of annoying warnings for --as-needed
34799         (this problem was reported by Bob Proulx).  Also, try linking with
34800         -lm to detect a bug in binutils 2.16 (this problem was reported
34801         by Ralf Wildenhues).
34802
34803         2006-06-18  Jim Meyering  <jim@meyering.net>
34804
34805         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
34806         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
34807         macro.
34808         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
34809         also check for glibc-2.4's abort-inducing bug.
34810
34811         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
34812         Low-probability clean-up should be to use rmdir to get rid of
34813         the just-created directory, not unlink.
34814
34815         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
34816         configure fail, and request a bug report to inform us about it.
34817         Add a comment that, barring reports to the contrary, in 2007 we'll
34818         assume ftruncate is universally available.
34819
34820         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
34821
34822         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
34823
34824         2006-03-12  Jim Meyering  <jim@meyering.net>
34825
34826         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
34827         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
34828         * m4/same.m4 (gl_SAME): Likewise.
34829         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
34830
34831         2006-03-11  Eric Blake  <ebb9@byu.net>
34832
34833         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
34834         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
34835         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
34836         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
34837
34838 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
34839
34840         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
34841         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
34842         reported by Mark D. Baushke, one in
34843         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
34844
34845         Merge from coreutils.
34846
34847         * lib/.cppi-disable: Add stdint_.h.
34848         * lib/.cvsignore: Add stdint.h.
34849
34850         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
34851
34852         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
34853         both double and long double versions.
34854         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
34855         * lib/xstrtold.c: New file.
34856         * lib/xstrtod.h (xstrtold): New decl.
34857
34858         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
34859
34860         * lib/filemode.c (setst): Remove.
34861         (strmode): Rewrite to avoid setst.  This makes the code shorter,
34862         (arguably) clearer, and the generated code is a bit smaller on my
34863         Debian GNU/Linux stable x86 host.
34864
34865         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
34866
34867         * lib/filemode.c: Include "filemode.h" first, to test the interface.
34868         Assume that filemode.h includes sys/types.h and sys/stat.h.
34869         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
34870         (ftypelet): Reorder to put common cases first, for efficiency.
34871         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
34872         to do 'M'.
34873         (strmode): Renamed from mode_string, and now stores 12 bytes instead
34874         of 10, for compatibility with FreeBSD.  All callers changed.
34875         (filemodestring): Now stores 12 bytes instead of 10, and sets file
34876         types that can't be deduced solely from st_mode.  First arg is now a
34877         const pointer.
34878         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
34879         (strmode): Renamed from mode_string.
34880         (filemodestring): New decl.
34881         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
34882         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
34883         needed.
34884         (S_ISPORT, S_ISWHT): New macros, if not already defined.
34885
34886         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
34887
34888         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
34889         fsusage.h now does that.  Include fsusage.h first, to test interface.
34890         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
34891         at most one method (the old code could have generated decls that
34892         didn't conform to C89, not that this was ever exercised).
34893         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
34894
34895         2006-03-19  Jim Meyering  <jim@meyering.net>
34896
34897         Work even in a chroot where d_ino values for entries in "/"
34898         don't match the stat.st_ino values for the same names.
34899         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
34900         number, iterate through all entries again, using lstat instead.
34901         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
34902         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
34903
34904         * lib/getcwd.c (__getcwd): Clarify a comment.
34905         Use memcpy in place of a call to strcpy.
34906
34907         2006-03-12  Jim Meyering  <jim@meyering.net>
34908
34909         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
34910         matches that of the current directory (which we're about to chdir ".."
34911         out of), then save the dev-ino of the parent, instead.
34912
34913         * lib/same-inode.h (SAME_INODE): New file/macro.
34914         * lib/chdir-safer.c (SAME_INODE): Remove definition.
34915         Include "same-inode.h", instead.
34916         * lib/same.c: Likewise.
34917         * lib/cycle-check.h: Include "same-inode.h".
34918         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
34919         * lib/cycle-check.c (SAME_INODE): Remove definition.
34920         * lib/root-dev-ino.h: Include "same-inode.h".
34921
34922         2006-03-11  Eric Blake  <ebb9@byu.net>
34923
34924         * lib/same.c (same_name): s/base_name/last_component/
34925         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
34926         * lib/filenamecat.c (file_name_concat): Likewise.
34927
34928         2006-03-11  Eric Blake  <ebb9@byu.net>,
34929                     Paul Eggert  <eggert@cs.ucla.edu>
34930
34931         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
34932         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
34933         drive prefix.
34934         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
34935         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
34936         (last_component): New method.
34937         * lib/dirname.c (dir_len): Determine when drive letters need a
34938         subsequent slash.  Preserve // when it is special.
34939         (dir_name): Don't append dot when drive letter is absolute.
34940         [TEST_DIRNAME]: Move into a full-blown gnulib test.
34941         * lib/basename.c (base_name): New semantics - malloc the result.
34942         Preserve // when it is special.  Preserve relative files that look
34943         like drive letters.
34944         (base_len): Preserve // when it is special.
34945         (last_component): New method, similar to old base_name semantics.
34946         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
34947         base_name.  Strip redundant slashes from ///.
34948
34949 2006-07-03  Jim Meyering  <jim@meyering.net>
34950
34951         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
34952         macro is used before the first cycle_check call.
34953
34954 2006-07-03  Eric Blake  <ebb9@byu.net>
34955
34956         * modules/dirname (Depends-on): Add xstrndup.
34957
34958 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
34959
34960         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
34961         test cases, so that config.log is a bit easier to follow.
34962
34963 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
34964
34965         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
34966         both are 64 bits, since this seems to be the tradition, and this
34967         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
34968         we ever run into a host that prefers long long to long in this
34969         case, we'll need another configure-time test.  Problem reported by
34970         Jim Meyering.
34971
34972 2006-07-02  Eric Blake  <ebb9@byu.net>
34973
34974         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
34975
34976 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
34977
34978         * modules/inttypes (Depends-on): No longer depends on stdint.
34979         * modules/stdint (Description): Say more about assumptions.
34980         Say that the fast types might differ.  Say macros are used.
34981         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
34982         (Makefile.am): Revise list of substituted symbols to match
34983         new stdint.m4.
34984         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
34985         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
34986         * tests/test-stdint.c (verify_same_types)
34987         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
34988         the code conforms to C99/C89.
34989         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
34990         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
34991
34992 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
34993
34994         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
34995         but fix a bug, by requiring at least 64 bits.
34996         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
34997         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
34998         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
34999         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
35000
35001         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
35002         changes.  Make 2.59 a prerequisite.  Check and substitute for
35003         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
35004         inttypes.h.  Do not use special include files; just use the
35005         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
35006         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
35007         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
35008         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
35009         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
35010         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
35011         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
35012         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
35013         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
35014         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
35015         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
35016         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
35017         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
35018         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
35019         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
35020         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
35021         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
35022         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
35023         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
35024         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
35025         WINT_MAX.  Check for C99 conformance more strictly, by detecting
35026         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
35027         not check for things that C99 does not require, e.g., int8_t.  If
35028         a test isn't needed unless <stdint.h> isn't working, and is
35029         unlikely to be needed for any other reason, then don't do it
35030         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
35031         size_t, since we assume C89 freestanding at least.  Do not check
35032         for sig_atomic_t, wchar_t, or wint_t, since the code now does
35033         the right thing even if the types are not defined.  Instead use:
35034         (gl_STDINT_TYPE_PROPERTIES): New macro.
35035         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
35036         testing whether <sys/types.h> clashes, as Autoconf does this for
35037         us now.  All uses removed.
35038         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
35039         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
35040         (gl_CHECK_TYPE_SAME):
35041         Remove; no longer needed.
35042         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
35043         exists, since we'll return 0 anyway in that case.
35044         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
35045
35046 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
35047
35048         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
35049         possible collision with system files.
35050         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
35051         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
35052         WCHAR_MIN and WCHAR_MAX in this case.
35053         (<stddef.h>): Do not include; no longer needed.
35054         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
35055         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
35056         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
35057         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
35058         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
35059         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
35060         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
35061         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
35062         !defined(__c99))]: Include in this case too, since it's harmless
35063         now.
35064         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
35065         dangerous to do so.
35066         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
35067         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
35068         (_STDINT_MIN, _STDINT_MAX): New macros.
35069         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
35070         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
35071         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
35072         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
35073         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
35074         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
35075         macros, not typedefs; this simplifies things quite a bit.
35076         Use long int for all types narrower than int64_t.
35077         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
35078         Define in terms of long long int or int64_t or long int,
35079         not int64_t or int32_t.  This saves some compile-time testing.
35080         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
35081         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
35082         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
35083         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
35084         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
35085         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
35086         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
35087         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
35088         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
35089         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
35090         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
35091         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
35092         undef any previous version and define our own version, for
35093         simplicity and consistency with the new macros for types.
35094         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
35095         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
35096         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
35097         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
35098         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
35099         @WINT_T_SUFFIX@ to keep things simple here.
35100         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
35101         Simplify by assuming typical 8/16/32/64 host, since we're
35102         already doing that elsewhere anyway.
35103         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
35104         and assume long long int is 64 bits if available.  This
35105         speeds up 'configure'.
35106
35107 2006-07-01  Eric Blake  <ebb9@byu.net>
35108
35109         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
35110         Reported by Andreas Buening.
35111
35112 2006-07-01  Eric Blake  <ebb9@byu.net>
35113
35114         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
35115
35116 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
35117
35118         * lib/getaddrinfo.c: fixed typo
35119
35120 2006-06-29  Jim Meyering  <jim@meyering.net>
35121
35122         * modules/strftime (Maintainer): Add my name, since with the
35123         FPRINTFTIME changes strftime.c has forked from glibc.
35124
35125 2006-06-29  Eric Blake  <ebb9@byu.net>
35126
35127         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
35128
35129 2006-06-29  Eric Blake  <ebb9@byu.net>
35130
35131         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
35132
35133 2006-06-29  Eric Blake  <ebb9@byu.net>
35134
35135         * lib/stat_.h: New file.
35136
35137 2006-06-29  Eric Blake  <ebb9@byu.net>
35138
35139         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
35140         unused static function.
35141
35142 2006-06-29  Eric Blake  <ebb9@byu.net>
35143
35144         * doc/functions.texi (Function Portability): Document missing lstat
35145         on mingw.
35146
35147 2006-06-29  Eric Blake  <ebb9@byu.net>
35148
35149         * MODULES.html.sh: Add sys_stat.
35150         * modules/sys_stat: New module.
35151         * modules/mkstemp (Depends-on): Add sys_stat.
35152
35153 2006-06-29  Derek R. Price  <derek@ximbiot.com>
35154
35155         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
35156
35157 2006-06-29  Derek R. Price  <derek@ximbiot.com>
35158
35159         * m4/c-bs-a.m4: Removed.
35160
35161 2006-06-29  Derek R. Price  <derek@ximbiot.com>
35162
35163         * lib/strftime.c: Assume strftime() exists.
35164
35165 2006-06-29  Derek Price  <derek@ximbiot.com>
35166
35167         * modules/c-bs-a: Removed - \a is C89.
35168         * MODULES.html.sh: Remove c-bs-a.
35169
35170 2006-06-29  Bruno Haible  <bruno@clisp.org>
35171
35172         * modules/wcwidth (License): Change to LGPL.
35173
35174 2006-06-28  Simon Josefsson  <jas@extundo.com>
35175
35176         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
35177         on _WIN32.
35178
35179         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
35180         getnameinfo.
35181
35182 2006-06-28  Simon Josefsson  <jas@extundo.com>
35183
35184         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
35185
35186 2006-06-28  Simon Josefsson  <jas@extundo.com>
35187
35188         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
35189         functions there.  It will succeed on Windows XP, but on Windows
35190         2000 and (presumably) earlier, it will fail, and use the internal
35191         re-implementation.
35192         (use_win32_p): New function.
35193         (getaddrinfo): Use strtoul on servname, to support numeric ports.
35194         Support AI_NUMERICSERV to disable getservbyname.
35195         (getnameinfo): New function, only supports
35196         NI_NUMERICHOST|NI_NUMERICSERV for now.
35197
35198         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
35199         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
35200         getnameinfo.
35201
35202 2006-06-28  Eric Blake  <ebb9@byu.net>
35203
35204         * modules/wcwidth: New file.
35205         * modules/mbchar (Depends-on): Add wcwidth.
35206         * modules/mbswidth (Depends-on): Add wcwidth.
35207         * MODULES.html.sh: Add wcwidth.
35208
35209 2006-06-28  Eric Blake  <ebb9@byu.net>
35210
35211         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
35212         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
35213
35214 2006-06-28  Eric Blake  <ebb9@byu.net>
35215
35216         * lib/xvasprintf.h: Fix comments.
35217
35218 2006-06-28  Eric Blake  <ebb9@byu.net>
35219
35220         * lib/mbchar.h (wcwidth): Include wcwidth.h.
35221         * lib/mbswidth.c (wcwidth): Move from here...
35222         * lib/wcwidth.h: ...to this new file.
35223
35224 2006-06-28  Derek R. Price  <derek@ximbiot.com>
35225
35226         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
35227
35228         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
35229         it's obsolete.
35230         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
35231
35232 2006-06-28  Derek R. Price  <derek@ximbiot.com>
35233
35234         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
35235         Autoconf 2.60 says this stuff was obsolete.
35236
35237 2006-06-28  Bruno Haible  <bruno@clisp.org>
35238
35239         * modules/wcwidth (Files): Add m4/wchar_t.m4.
35240
35241 2006-06-28  Bruno Haible  <bruno@clisp.org>
35242
35243         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
35244         gt_TYPE_WCHAR_T.
35245
35246 2006-06-28  Bruno Haible  <bruno@clisp.org>
35247
35248         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
35249         declaration for wcwidth.
35250         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
35251
35252 2006-06-28  Bruno Haible  <bruno@clisp.org>
35253
35254         * lib/mkdtemp.c [MINGW]: Include <io.h>.
35255         (mkdir): Define using _mkdir.
35256
35257 2006-06-28  Bruno Haible  <bruno@clisp.org>
35258
35259         * lib/getaddrinfo.h: Fix POSIX URL.
35260         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
35261         _WIN32.
35262         (use_win32_p): Make static.
35263         (getaddrinfo): Reject service name if it is empty or does not consist
35264         solely of decimal digits, or if its value is > 65535.
35265         (getnameinfo): Remove useless casts.
35266
35267 2006-06-27  Simon Josefsson  <jas@extundo.com>
35268
35269         * modules/sys_select: New file, suggested by Bruno Haible, Paul
35270         Eggert and Martin Lambers.
35271
35272 2006-06-27  Simon Josefsson  <jas@extundo.com>
35273
35274         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
35275         Eggert and Martin Lambers.
35276
35277 2006-06-27  Bruno Haible  <bruno@clisp.org>
35278
35279         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
35280         result to 0, not to empty.
35281         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
35282
35283 2006-06-27  Bruno Haible  <bruno@clisp.org>
35284
35285         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
35286
35287 2006-06-26  Simon Josefsson  <jas@extundo.com>
35288
35289         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
35290         present.
35291
35292 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
35293
35294         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
35295         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
35296         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
35297
35298 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
35299
35300         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
35301
35302 2006-06-26  Bruno Haible  <bruno@clisp.org>
35303
35304         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
35305
35306 2006-06-26  Bruno Haible  <bruno@clisp.org>
35307
35308         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
35309
35310 2006-06-26  Bruno Haible  <bruno@clisp.org>
35311
35312         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
35313         SGI C compiler in pre-C99 mode.
35314         Suggested by Mark D. Baushke and Larry Jones.
35315
35316 2006-06-26  Bruno Haible  <bruno@clisp.org>
35317
35318         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
35319         WCHAR_MAX.
35320         Reported by Mark D. Baushke and Larry Jones.
35321
35322 2006-06-26  Bruno Haible  <bruno@clisp.org>
35323
35324         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
35325         in pre-C99 mode.
35326         Suggested by Mark D. Baushke and Larry Jones.
35327
35328 2006-06-23  Simon Josefsson  <jas@extundo.com>
35329             Bruno Haible  <bruno@clisp.org>
35330
35331         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
35332         Emit mostlyclean-local rule.
35333         (func_emit_tests_Makefile_am): Likewise.
35334         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
35335
35336 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
35337
35338         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
35339
35340 2006-06-23  Bruno Haible  <bruno@clisp.org>
35341
35342         * tests/test-stdint.c: Update to match ISO C 99 Technical
35343         Corrigendum 1.
35344
35345 2006-06-23  Bruno Haible  <bruno@clisp.org>
35346
35347         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
35348
35349 2006-06-23  Bruno Haible  <bruno@clisp.org>
35350
35351         * lib/stdint_.h: Treat IRIX like OpenBSD.
35352
35353 2006-06-23  Bruno Haible  <bruno@clisp.org>
35354
35355         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
35356         ISO C 99 Technical Corrigendum 1.
35357
35358 2006-06-22  Simon Josefsson  <jas@extundo.com>
35359
35360         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
35361         MinGW.
35362
35363 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
35364
35365         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
35366         needed.  Some compiler complained about some of them.  Problem reported
35367         by Larry Jones in
35368         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
35369
35370 2006-06-21  Simon Josefsson  <jas@extundo.com>
35371
35372         * tests/test-getaddrinfo.c: New file.
35373
35374         * modules/getaddrinfo-tests: New file.
35375
35376         * MODULES.html.sh: Add inet_pton.
35377
35378         * modules/inet_pton: New file.
35379
35380 2006-06-21  Simon Josefsson  <jas@extundo.com>
35381
35382         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
35383         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
35384         of using the (limited) gnulib implementation on Windows XP.
35385
35386         * m4/inet_pton.m4: New file.
35387
35388 2006-06-21  Simon Josefsson  <jas@extundo.com>
35389
35390         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
35391         variable.
35392
35393         * lib/socket_.h: Don't define WINVER.
35394
35395         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
35396         slightly modified to work in gnulib.
35397
35398 2006-06-21  Simon Josefsson  <jas@extundo.com>
35399
35400         * doc/gnulib.texi (Windows sockets): Add.
35401
35402 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35403
35404         * lib/read-file.c (fread_file): Start with buffer allocation of
35405         0 bytes rather than 1 byte; this simplifies the code.
35406         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
35407         code to free buffer and save/restore errno.
35408         (internal_read_file): Remove unused local.
35409
35410 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
35411
35412         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
35413         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
35414         Problem reported by Denis Excoffier in
35415         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
35416
35417 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35418
35419         * modules/sys_socket, modules/socklen: Include sys/types since
35420         FreeBSD 4.x's sys/socket.h needs it.
35421
35422 2006-06-19  Simon Josefsson  <jas@extundo.com>
35423
35424         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
35425
35426 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
35427
35428         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
35429
35430 2006-06-19  Bruno Haible  <bruno@clisp.org>
35431
35432         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
35433         and FULL_PATH_INTTYPES_H in angle brackets.
35434         Reported by Mark D. Baushke <mdb@gnu.org>.
35435
35436 2006-06-17  Eric Blake  <ebb9@byu.net>
35437
35438         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
35439         errno.
35440
35441 2006-06-17  Bruno Haible  <bruno@clisp.org>
35442
35443         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
35444         <sys/inttypes.h>.
35445
35446 2006-06-17  Bruno Haible  <bruno@clisp.org>
35447
35448         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
35449         whether errno is declared. Assume <errno.h> declares errno.
35450
35451 2006-06-17  Bruno Haible  <bruno@clisp.org>
35452
35453         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
35454
35455 2006-06-17  Bruno Haible  <bruno@clisp.org>
35456
35457         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
35458         problem on Solaris 2.5.1.
35459
35460 2006-06-16  Eric Blake  <ebb9@byu.net>
35461
35462         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
35463         * lib/unicodeio.c [!defined errno]: Likewise.
35464         * lib/strtol.c [!defined errno]: Likewise.
35465         * lib/strtod.c [!defined errno]: Likewise.
35466
35467 2006-06-15  Eric Blake  <ebb9@byu.net>
35468
35469         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
35470
35471 2006-06-15  Eric Blake  <ebb9@byu.net>
35472
35473         * config/srclist.txt (ssize_t.m4): Lose sync.
35474
35475 2006-06-15  Bruno Haible  <bruno@clisp.org>
35476
35477         * modules/stdint (Files): Include m4/full-header-path.m4,
35478         m4/size_max.m4, m4/wchar_t.m4.
35479         (Makefile.am): Many more substitutions.
35480         * modules/stdint-tests: New file.
35481         * tests/test-stdint.c: New file.
35482
35483 2006-06-15  Bruno Haible  <bruno@clisp.org>
35484
35485         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
35486         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
35487         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
35488         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
35489         gl_CHECK_TYPE_SAME): New macros.
35490
35491 2006-06-15  Bruno Haible  <bruno@clisp.org>
35492
35493         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
35494
35495 2006-06-15  Bruno Haible  <bruno@clisp.org>
35496
35497         * lib/stdint_.h: Rewritten to be fully auto-configured.
35498         Fixes bug on HP-UX/IA64.
35499
35500 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
35501
35502         * lib/getdate.y (__attribute__): Don't define if already defined.
35503         Problem reported by Larry Jones.
35504         * lib/utimens.c (__attribute__): Likewise.
35505
35506 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
35507
35508         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
35509         reported by Andreas Schwab.
35510
35511 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35512             Bruno Haible  <bruno@clisp.org>
35513
35514         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
35515         check for the declaration of strnlen and a run test that exposes the
35516         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
35517         rpl_strndup.
35518
35519 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35520             Bruno Haible  <bruno@clisp.org>
35521
35522         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
35523
35524 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35525
35526         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
35527         compile test, for Tru64 4.0D.
35528
35529 2006-05-28  Karl Berry  <karl@gnu.org>
35530
35531         * config/srclist.txt (printf-args.c): lose sync.
35532
35533 2006-05-26  Martin Lambers  <marlam@marlam.de>
35534
35535         * lib/getpass.c: Updates the test for the native W32 API, and adds
35536         missing includes, thus fixing compilation warnings.
35537
35538 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
35539
35540         * lib/exclude.c (exclude_fnmatch): New function.
35541         (excluded_file_name): Call exclude_fnmatch.
35542         * lib/exclude.h (excluded_file_name): New prototype
35543
35544 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
35545
35546         * lib/tempname.c (small_open, large_open): New macros.
35547         (__open, __open64) [!_LIBC]: Remove.
35548         (__gen_tempname): Use small_open and large_open instead of __open
35549         and __open64.  This fixes a portability bug on HP-UX 11.11i
35550         reported by Simon Wing-Tang in
35551         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
35552
35553 2006-05-24  Bruno Haible  <bruno@clisp.org>
35554
35555         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
35556         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
35557         Reported by Thorsten Maerz <torte@netztorte.de> via
35558         Aaron Stone <aaron@serendipity.cx>.
35559
35560 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35561
35562         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
35563         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
35564         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
35565         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
35566         not really conditional on the cache.
35567         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
35568
35569 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35570
35571         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
35572         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
35573         (my_usleep): Don't mishandle maximum value.
35574
35575 2006-05-19  Jim Meyering  <jim@meyering.net>
35576
35577         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
35578
35579 2006-05-17  Bruno Haible  <bruno@clisp.org>
35580
35581         Cygwin portability.
35582         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
35583
35584 2006-05-17  Bruno Haible  <bruno@clisp.org>
35585
35586         * lib/stdint_.h: Fix recognition of Cygwin.
35587
35588 2006-05-15  Bruno Haible  <bruno@clisp.org>
35589
35590         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
35591         on libtool patch by Ralf Wildenhues.
35592
35593 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
35594
35595         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
35596         test for C99 conformance; (bool) 0.5 is an integer constant
35597         expression, but (bool) -0.5 is not.  Problem reported by Fedor
35598         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
35599
35600 2006-05-11  Simon Josefsson  <jas@extundo.com>
35601
35602         * m4/xvasprintf.m4: Fix obvious typo.
35603
35604 2006-05-11  Jim Meyering  <jim@meyering.net>
35605
35606         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
35607         James Lemley.
35608
35609 2006-05-10  Simon Josefsson  <jas@extundo.com>
35610
35611         * lib/md4.c: Typo fix, update copyright years.
35612         (K1, K2): Don't use L because it turn computations into 64-bit on
35613         64-bit platforms.
35614
35615 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
35616
35617         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
35618         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
35619         unwanted sign propagation, e.g., on hosts with 64-bit int.
35620         There still are some problems with reeelly weird theoretical hosts
35621         (e.g., 33-bit int) but it's not worth worrying about now.
35622         * lib/sha1.c (rol): Likewise.
35623         (K1, K2, K3, K4): Remove unnecessary L suffix.
35624
35625 2006-05-10  Bruno Haible  <bruno@clisp.org>
35626
35627         * lib/des.c: Cast to avoid warnings.
35628
35629 2006-05-09  Bruno Haible  <bruno@clisp.org>
35630
35631         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
35632         (Depends-on): Depend also on xsize, stdarg.
35633         (configure.ac): Add gl_XVASPRINTF.
35634
35635 2006-05-09  Bruno Haible  <bruno@clisp.org>
35636
35637         * m4/xvasprintf.m4: New file.
35638
35639 2006-05-09  Bruno Haible  <bruno@clisp.org>
35640
35641         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
35642         (EOVERFLOW): Define fallback value.
35643         (xstrcat): New function.
35644         (xvasprintf): Recognize the special case of a string concatenation.
35645
35646 2006-05-08  Eric Blake  <ebb9@byu.net>
35647
35648         * gnulib-tool (func_version): Base copyright year on CVS date.
35649         (func_emit_copyright_notice): New function.
35650         (func_emit_lib_Makefile_am): Use it.
35651         (func_emit_tests_Makefile_am): Likewise.
35652         (func_import): Likewise.
35653
35654 2006-05-08  Bruno Haible  <bruno@clisp.org>
35655
35656         * modules/stdarg: New file.
35657         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
35658
35659 2006-05-08  Bruno Haible  <bruno@clisp.org>
35660
35661         * m4/stdarg.m4: New file, from GNU gettext.
35662
35663 2006-05-08  Bruno Haible  <bruno@clisp.org>
35664
35665         * config/srclist.txt (build-aux/config.rpath): different from latest
35666         release.
35667
35668 2006-05-08  Bruno Haible  <bruno@clisp.org>
35669
35670         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
35671
35672 2006-05-05  Jim Meyering  <jim@meyering.net>
35673
35674         * m4/warning.m4: New file, derived from bison's file by the same name.
35675
35676 2006-05-03  Bruno Haible  <bruno@clisp.org>
35677
35678         * lib/stdint_.h: Shorter URL.
35679         * lib/inttypes.h: Likewise.
35680
35681 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35682
35683         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
35684
35685 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35686
35687         * lib/verify.h: Document the internals better.  Most of this change
35688         was written by Bruno Haible.
35689
35690 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35691
35692         * doc/verify.texi: New file, partly based on a proposal by
35693         Bruno Haible.
35694
35695 2006-05-02  Bruno Haible  <bruno@clisp.org>
35696
35697         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
35698         test from here...
35699         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
35700
35701 2006-04-29  Bruno Haible  <bruno@clisp.org>
35702
35703         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
35704         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
35705
35706 2006-04-29  Bruno Haible  <bruno@clisp.org>
35707
35708         * gnulib-tool: Make --update option actually work.
35709
35710 2006-04-29  Bruno Haible  <bruno@clisp.org>
35711
35712         * doc/gcd.texi: New file.
35713         * doc/gnulib.texi: Include it.
35714
35715 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
35716
35717         * lib/getdate.y (get_date): When adding relative date, start with the
35718         initial time, not with the result of the first mktime call.
35719
35720 2006-04-25  Bruno Haible  <bruno@clisp.org>
35721
35722         * gnulib-tool (func_import): Output the include directives in three
35723         blocks, sorted separately.
35724         Reported by Ben Pfaff <blp@cs.stanford.edu>.
35725
35726 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
35727
35728         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
35729         to define main with arguments, for C++.  Reported by Eric Blake.
35730         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
35731         Prefer 'int main ()' to 'int main (void)', for C++.
35732         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
35733         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
35734         for 'main', for C99 and C++.
35735
35736 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
35737
35738         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
35739         Don't assume that exit status -1 is valid.
35740         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
35741         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
35742         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35743         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
35744         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
35745         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
35746         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
35747         functions can be used without declaring them, or that you can
35748         exit with status -1.
35749         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35750
35751 2006-04-24  Karl Berry  <karl@gnu.org>
35752
35753         * config/srclist.txt (longdouble.m4): sync lost.
35754
35755 2006-04-24  Eric Blake  <ebb9@byu.net>
35756
35757         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
35758
35759 2006-04-24  Bruno Haible  <bruno@clisp.org>
35760
35761         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
35762         poll() implementation in AIX.
35763         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35764
35765 2006-04-24  Bruno Haible  <bruno@clisp.org>
35766
35767         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
35768         assigned exactly once.
35769
35770 2006-04-23  Claudio Fontana  <claudio@gnu.org>
35771             Bruno Haible  <bruno@clisp.org>
35772
35773         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
35774         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
35775         for AM_CPPFLAGS.
35776
35777 2006-04-23  Bruno Haible  <bruno@clisp.org>
35778
35779         * modules/copy-file: Depend on unistd.
35780         * modules/execute: Likewise.
35781         * modules/fatal-signal: Likewise.
35782         * modules/findprog: Likewise.
35783         * modules/mkdtemp : Likewise.
35784         * modules/pipe: Likewise.
35785         * modules/wait-process: Likewise.
35786
35787 2006-04-23  Bruno Haible  <bruno@clisp.org>
35788
35789         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
35790         condition was already detected.
35791         Reported by Ben Pfaff <blp@cs.stanford.edu>.
35792
35793 2006-04-23  Bruno Haible  <bruno@clisp.org>
35794
35795         * lib/copy-file.c: Include <unistd.h> unconditionally.
35796         * lib/execute.c: Likewise.
35797         * lib/fatal-signal.c: Likewise.
35798         * lib/findprog.c: Likewise.
35799         * lib/mkdtemp.c: Likewise.
35800         * lib/pipe.h: Likewise.
35801         * lib/pipe.c: Likewise.
35802         * lib/wait-process.h: Likewise.
35803
35804 2006-04-23  Bruno Haible  <bruno@clisp.org>
35805
35806         * gnulib-tool (func_usage): Fix --import description. Document
35807         --update.
35808         (func_import): Create temporary file in a temporary directory, if
35809         --dry-run is specified. Silence errors from 'grep' when there are no
35810         m4 files in $m4dir.
35811         (func_create_testdir): Silence errors from 'grep' when there are no
35812         m4 files in $m4dir.
35813         Reported by Karl Berry <karl@freefriends.org>.
35814
35815 2006-04-20  Bruno Haible  <bruno@clisp.org>
35816
35817         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
35818         one argument, so that the code will be portable to Autoconf 2.60.
35819         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
35820         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
35821         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
35822
35823 2006-04-19  Derek Price  <derek@ximbiot.com>
35824             Eric Blake  <ebb9@byu.net>
35825
35826         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
35827         rather than "/full/path.h".  Update comment to match.  Shorten &
35828         generalize m4_translit call via AS_TR_CPP.
35829
35830 2006-04-19  Derek Price  <derek@ximbiot.com>
35831             Eric Blake  <ebb9@byu.net>
35832
35833         * lib/inttypes.h: Correct grammar in comment.
35834
35835 2006-04-18  Derek Price  <derek@ximbiot.com>
35836             Paul Eggert  <eggert@cs.ucla.edu>
35837
35838         * modules/inttypes: New file.
35839         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
35840
35841 2006-04-18  Derek Price  <derek@ximbiot.com>
35842             Paul Eggert  <eggert@cs.ucla.edu>
35843
35844         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
35845         New files.
35846
35847 2006-04-18  Derek Price  <derek@ximbiot.com>
35848             Paul Eggert  <eggert@cs.ucla.edu>
35849
35850         * lib/inttypes.h: New file.
35851         * lib/strtoimax.c: Assume <inttypes.h>.
35852
35853 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
35854
35855         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
35856         isn't mounted.  Problem reported by Kir Kolyshkin.
35857
35858 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
35859
35860         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
35861         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
35862         Derek R. Price.
35863         * lib/regex.h (RE_DUP_MAX): Update comment to match current
35864         implementation.
35865
35866 2006-04-12  Eric Blake  <ebb9@byu.net>
35867
35868         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
35869         is now done automatically by the corresponding Autoconf macro.
35870
35871 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
35872
35873         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
35874         time_r.h.
35875
35876 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
35877
35878         Merge regex changes from libc, removing some of our
35879         POSIX-conformance changes that were rejected and redoing them in a
35880         less-intrusive way.
35881
35882         * lib/regcomp.c (re_compile_internal, init_dfa):
35883         Length arg is now size_t, not Idx.  All uses changed.
35884         (peek_token): Forward decl now says internal_function.
35885         (__re_error_msgid, __re_error_msgid_idx):
35886         Now static rather than extern with attribute_hidden.
35887         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
35888         For some reason libc prefers K&R style defns for external functions.
35889         (regerror) [!defined _LIBC]: Likewise.
35890         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
35891         (seek_collating_symbol_entry, lookup_collation_sequence_value):
35892         (build_range_exp, build_collating_symbol):
35893         Use K&R-style defn.
35894         (re_compile_fastmap): Use '\0' to memset, not 0.
35895         (utf8_sb_map): Make the calculations more obvious.
35896         (init_dfa, parse_bracket_exp, build_charclass_op):
35897         Call calloc and cast result, as glibc does.
35898         (init_word_char, fetch_token, peek_token, peek_token_bracket):
35899         (build_range_exp, build_collating_symbol):
35900         Now internal functions.
35901
35902         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
35903
35904         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
35905         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
35906         Don't depend on VMS; depend on __VMS instead, for POSIX
35907         namespace cleanness.
35908         (regoff_t): Define to ssize_t, not long int.
35909
35910         Remove the REG_ macros named below.  Instead, make the old names
35911         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
35912         __USE_GNU_REGEX.
35913         (REG_BACKSLASH_ESCAPE_IN_LISTS):
35914         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
35915         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
35916         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
35917         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
35918         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
35919         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
35920         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
35921         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
35922         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
35923         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
35924         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
35925         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
35926         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
35927         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
35928         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
35929         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
35930         (REG_NREGS):
35931         Remove.  All uses replaced by the old RE_* names.
35932         (RE_BACKSLASH_ESCAPE_IN_LISTS):
35933         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
35934         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
35935         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
35936         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
35937         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
35938         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
35939         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
35940         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
35941         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
35942         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
35943         Don't bother having these macros be independent of each others'
35944         values, since they no longer exist in the POSIX name space.
35945
35946         Rename the following member names back to their old names,
35947         unless !__USE_GNU_REGEX.  All uses changed back.
35948         (buffer): Renamed from re_buffer.
35949         (allocated): Renamed from re_allocated.
35950         (used): Renamed from re_used.
35951         (syntax): Renamed from re_syntax.
35952         (fastmap): Renamed from re_fastmap.
35953         (translate): Renamed from re_translate.
35954         (can_be_null): Renamed from re_can_be_null.
35955         (regs_allocated): Renamed from re_regs_allocated.
35956         (fastmap_accurate): Renamed from re_fastmap_accurate.
35957         (no_sub): Renamed from re_no_sub.
35958         (not_bol): Renamed from re_not_bol.
35959         (not_eol): Renamed from re_not_eol.
35960         (newline_anchor): Renamed from re_newline_anchor.
35961         (num_regs): Renamed from rm_num_regs.
35962         (start): Renamed from rm_start.
35963         (end): Renamed from rm_end.
35964
35965         (free_state): Move up a bit.
35966
35967         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
35968         #define to be empty.
35969         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
35970         when that is what is intended.
35971         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
35972         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
35973         (MAX): New macro.
35974         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
35975         All uses changed back to re_malloc, etc.  It's now the caller's
35976         responsibility to check for overflow; all callers changed.
35977         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
35978         (re_x2nrealloc): Remove.
35979         (free_state): Remove decl.
35980
35981         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
35982         (re_set_registers, re_exec):
35983         Use K&R-style defn.
35984
35985         2006-01-31  Roland McGrath  <roland@redhat.com>
35986
35987         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
35988         Reported by Mike Frysinger <vapier@gentoo.org>.
35989
35990         2006-01-15  Andreas Jaeger  <aj@suse.de>
35991
35992         [BZ #1950]
35993         * lib/regex_internal.c (re_string_reconstruct): Adjust for
35994         build_wcs_upper_buffer change.
35995         (build_wcs_upper_buffer): Change return type.
35996
35997         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
35998
35999         * lib/regex_internal.h: Include <stdint.h> if available.
36000
36001         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
36002
36003         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
36004
36005         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
36006
36007         * lib/regcomp.c: Adjust for changed secondary hash function.
36008
36009         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
36010
36011         * lib/regex.h: Pretty printing.
36012         Clean up namespace a bit.
36013
36014         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
36015
36016         * lib/regexec.c (update_cur_sifted_state, check_arrival,
36017         check_arrival_add_next_nodes): Avoid using uninitialized variable.
36018
36019         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
36020                     Ulrich Drepper  <drepper@redhat.com>
36021
36022         [BZ #1302]
36023         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
36024         changed.
36025         (bitset_word_t): Renamed from bitset_word.  All uses changed.
36026
36027         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
36028
36029         [BZ #281]
36030         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
36031         * lib/regcomp.c: Remove unnecessary uses of
36032         unsigned RE_TRANSLATE_TYPE.
36033         * lib/regex_internal.h: Likewise.
36034         * lib/regex_internal.c: Likewise.
36035         * lib/regexec.c: Likewise.
36036         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
36037
36038         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
36039
36040         * lib/regexec.c (find_recover_state): Remove unnecessary
36041         initialization.
36042         (transit_state_bkref): Make DFA a const pointer.
36043         (get_subexp): Likewise.
36044         (check_arrival): Likewise.
36045         (update_cur_sifted_state): Likewise.
36046         (re_search_internal): Likewise.
36047         (prune_impossible_nodes): Likewise.
36048         (acquire_init_state_context): Likewise.
36049         (proceed_next_node): Likewise.
36050         (set_regs): Likewise.
36051         (free_fail_stack_return): Likewise.
36052         (check_arrival_expand_ecl): Mark DFA parameter as const.
36053         (check_arrival_expand_ecl_sub): Likewise.
36054         (check_subexp_limits): Likewise.
36055         (sub_epsilon_src_nodes):  Likewise.
36056         (add_epsilon_src_nodes):  Likewise.
36057         (merge_state_array): Likewise.
36058         (update_regs): Likewise.
36059         (build_trtable): Likewise.
36060         (sift_states_backward): Mark MCTX parameter as const.
36061         (build_sifted_states): Likewise.
36062         (update_cur_sifted_state): Likewise.
36063         (sift_states_mkref): Likewise.
36064         (check_arrival_expand_ecl): Mark eclosure as const.
36065         (check_dst_limits_calc_pos_1): Likewise.
36066         * lib/regex_internal.h (re_match_context_t): Make dfa a const
36067         pointer.
36068
36069         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
36070
36071         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
36072         (transit_state_sb): Likewise.
36073         (transit_state_mb): Likewise.
36074         (sift_states_iter_mb): Likewise.
36075         (check_arrival_add_next_nodes): Likewise.
36076         (check_node_accept_bytes): Change first parameter to pointer-to-const.
36077         [_LIBC] (re_search_2_stub): Use mempcpy.
36078
36079         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
36080         mbrtowc for very simple UTF-8 case.
36081
36082         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
36083         a pointer-to-const.
36084         (re_acquire_state_context): Likewise.
36085         * lib/regex_internal.h: Adjust prototypes.
36086
36087         * lib/regex.c: Prevent using C++ compilers.
36088
36089         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
36090         (re_acquire_state_context): Likewise.
36091
36092 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
36093
36094         * modules/regex (Depends-on): Add ssize_t.
36095
36096 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
36097
36098         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
36099         translation table.
36100
36101 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
36102
36103         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
36104
36105 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
36106             Bruno Haible  <bruno@clisp.org>
36107
36108         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
36109         <sys/types.h> and <inttypes.h>.
36110
36111 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36112
36113         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
36114         `__error_t_defined', so argp.h will not typedef the former.
36115
36116 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
36117
36118         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
36119         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
36120         glibc names.  Even if glibc is changed to conform to POSIX, the
36121         traditional names will be available anyway, since regex depends on
36122         the extensions module.  Also, fix a longstanding typo in the
36123         implementation of Spencer ERE test #75 from grep 2.3.  Problems
36124         reported by Emanuele Giaquinta.  Also, change sense of cached
36125         variable, so that the message makes sense.
36126
36127 2006-03-24  Simon Josefsson  <jas@extundo.com>
36128
36129         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
36130         including some doc fixes.
36131         (base64_encode_alloc): Fix +1 bug on allocation failures.
36132
36133 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36134
36135         * lib/base64.c (base64_encode): Do not read past end of array with
36136         unsanitized input on systems with CHAR_BIT > 8.
36137
36138 2006-03-24  Eric Blake  <ebb9@byu.net>
36139
36140         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
36141
36142 2006-03-22  Karl Berry  <karl@gnu.org>
36143
36144         * config/srclist.txt (*setenv.[ch]): get from coreutils.
36145         * config/srclistvars.sh (COREUTILS): new var.
36146
36147 2006-03-17  Jim Meyering  <jim@meyering.net>
36148
36149         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
36150         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
36151
36152 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
36153
36154         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
36155         no longer needs it.  Instead, check that regoff_t is as least
36156         as wide as ptrdiff_t.
36157
36158         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
36159         so that our regex.h stays compatible with the installed regex.
36160         This is helpful for installers who configure --without-included-regex.
36161         Problem reported by Emanuele Giaquinta.
36162
36163 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
36164
36165         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
36166         Typedef to long int, not to off_, as POSIX will likely change
36167         in that direction.
36168
36169 2006-03-15  Eric Blake  <ebb9@byu.net>
36170
36171         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
36172
36173 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
36174
36175         * lib/argp-help.c (validate_uparams): Fix typo
36176         * lib/argp-parse.c (argp_default_options): Consistently begin help
36177         messages with a lowercase letter.
36178
36179 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
36180
36181         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
36182         overrun buffers and shouldn't be used (much as gets shouldn't be
36183         used).
36184         * lib/time_r.c (asctime_r, ctime_r): Likewise.
36185
36186 2006-03-08  Simon Josefsson  <jas@extundo.com>
36187
36188         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
36189         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36190
36191 2006-03-08  Simon Josefsson  <jas@extundo.com>
36192
36193         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
36194         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36195
36196 2006-03-08  Simon Josefsson  <jas@extundo.com>
36197
36198         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
36199         signal that configure disabled the device.
36200
36201 2006-03-08  Simon Josefsson  <jas@extundo.com>
36202
36203         * build-aux/maint.mk: Fix refresh-po, to handle no translated
36204         languages.
36205
36206 2006-03-07  Simon Josefsson  <jas@extundo.com>
36207
36208         * modules/getopt (Depends-on): Add unistd.
36209
36210         * modules/unistd: New file.
36211
36212 2006-03-07  Simon Josefsson  <jas@extundo.com>
36213
36214         * modules/gc-random: New file.
36215
36216 2006-03-07  Simon Josefsson  <jas@extundo.com>
36217
36218         * m4/unistd_h.m4: New file.
36219
36220 2006-03-07  Simon Josefsson  <jas@extundo.com>
36221
36222         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
36223         test to be side-effect free by storing the result in the cache
36224         variable gl_cv_lib_readline, and moving the assignment of
36225         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
36226         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36227
36228 2006-03-07  Simon Josefsson  <jas@extundo.com>
36229
36230         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
36231         error on missing devices (the functions will return an error).
36232
36233         * m4/gc.m4: Move random stuff to gc-random.m4
36234
36235 2006-03-07  Simon Josefsson  <jas@extundo.com>
36236
36237         * lib/unistd_.h: New file.
36238
36239 2006-03-07  Simon Josefsson  <jas@extundo.com>
36240
36241         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
36242
36243 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
36244
36245         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
36246         Problem reported by Juan Manuel Guerrero.
36247
36248 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
36249
36250         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
36251         the unistd module.
36252         * lib/getlogin_r.c: Likewise.
36253         * lib/getlogin_r.h: Likewise.
36254         * lib/glob.c: Likewise.
36255         * lib/pagealign_alloc.c: Likewise.
36256         * lib/unistd_.h: Remove; no longer needed.
36257
36258 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
36259
36260         * MODULES.html.sh (Support for systems lacking POSIX:2001):
36261         Add unistd.
36262         * modules/c-stack (Depends-on): Add unistd.
36263         * modules/getlogin_r: Likewise.
36264         * modules/glob: Likewise.
36265         * modules/pagealign_alloc: Likewise.
36266         * modules/unistd (Files): Remove lib/unistd_.h.
36267         (EXTRA_DIST): Remove.
36268         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
36269         need unistd_.h.
36270         (MOSTLYCLEANFILES): Remove unistd.h-t.
36271
36272 2006-03-03  Simon Josefsson  <jas@extundo.com>
36273
36274         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
36275
36276 2006-03-03  Simon Josefsson  <jas@extundo.com>
36277
36278         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
36279         libidn and bison.
36280
36281 2006-03-03  Simon Josefsson  <jas@extundo.com>
36282
36283         * build-aux/maint.mk: Add indent target.
36284
36285 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
36286
36287         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
36288         our replacement poll.h in any case, to avoid a differing
36289         declaration from a system header.  Seen on AIX.
36290
36291 2006-03-01  Simon Josefsson  <jas@extundo.com>
36292
36293         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
36294         <kasal@ucw.cz>.
36295
36296 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
36297
36298         * modules/gettime (Depends-on): Add extensions module.
36299         * modules/nanosleep (Depends-on): Likewise.
36300         * modules/settime (Depends-on): Likewise.
36301
36302 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
36303
36304         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
36305         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
36306         pedantically.
36307         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36308         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
36309
36310         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
36311         not "==".  Reported by Ralf Wildenhues.
36312
36313 2006-03-01  Karl Berry  <karl@gnu.org>
36314
36315         * doc/Copyright/request-*: new files, synced from gnuorg.
36316
36317 2006-03-01  Karl Berry  <karl@gnu.org>
36318
36319         * config/srclist.txt (Copyright/*): new entries.
36320
36321 2006-02-28  Simon Josefsson  <jas@extundo.com>
36322
36323         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
36324
36325 2006-02-27  Simon Josefsson  <jas@extundo.com>
36326
36327         * lib/base64.h: Indent #define's.  From Jim Meyering
36328         <jim@meyering.net>.
36329
36330 2006-02-27  Jim Meyering  <jim@meyering.net>
36331
36332         Revert the change of 2006-02-24, so these files can continue
36333         to be sync'd from gettext.
36334         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
36335         of `config.h'.
36336
36337 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
36338
36339         * modules/intprops: New file.
36340         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
36341         Add intprops.
36342         * modules/getloadavg (Files): Remove lib/intprops.h.
36343         (Depends-on): Add intprops.
36344         * modules/human: Likewise.
36345         * modules/inttostr: Likewise.
36346         * modules/openat: Likewise.
36347         * modules/sig2str: Likewise.
36348         * modules/userspec: Likewise.
36349         * modules/utimecmp: Likewise.
36350         * modules/xnanosleep: Likewise.
36351         * modules/xstrtol: Likewise.
36352
36353 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
36354
36355         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
36356         * modules/lock-tests (TESTS): Use $(EXEEXT).
36357         * modules/tls-tests: Likewise.
36358         * modules/argp-tests: Likewise.
36359         (check_PROGRAMS): New var, replacing...
36360         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
36361
36362 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36363
36364         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
36365         `config.h'.
36366
36367 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
36368
36369         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
36370
36371 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36372
36373         Sync from coreutils.
36374         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
36375         gl_CHDIR_SAFER.
36376
36377 2006-02-22  Jim Meyering  <jim@meyering.net>
36378
36379         Sync from coreutils.
36380         * m4/chdir-safer.m4: New file.
36381
36382 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36383
36384         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
36385         AT_FDCWD exceeds INT_MAX.
36386         * lib/openat.h (AT_FDCWD): Likewise.
36387
36388 2006-02-17  Eric Blake  <address@hidden>
36389
36390         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
36391
36392 2006-02-16  Simon Josefsson  <jas@extundo.com>
36393
36394         * modules/getaddrinfo (Depends-on): Add sys_socket.
36395
36396 2006-02-15  Simon Josefsson  <jas@extundo.com>
36397
36398         * build-aux/maint.mk: Add dsyntax-check rule.
36399
36400 2006-02-15  Eric Blake  <ebb9@byu.net>
36401
36402         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
36403         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
36404         'present but cannot compile' warnings on cygwin.
36405         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
36406         use ws2tcpip.h if sys/socket.h works.
36407         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
36408         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
36409
36410 2006-02-14  Simon Josefsson  <jas@extundo.com>
36411
36412         * modules/maintainer-makefile (Files): Rename.
36413
36414         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
36415         and (the local) Makefile.cfg to maint-cfg.mk.
36416
36417         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
36418         to the latter.
36419
36420         * modules/maintainer-makefile: New module.
36421
36422         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
36423         severaly stripped to make it possible to build it up from scratch
36424         with reliable tests.
36425
36426         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
36427         fixes to permit overriding the default actions when configure and
36428         makefile are not available.
36429
36430 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36431
36432         Sync from coreutils.
36433         * modules/lstat (Depends-on): Don't depend on xalloc.
36434         (License): Change from GPL to LGPL, since this is now simply a
36435         replacement for a libc function.
36436
36437 2006-02-14  Jim Meyering  <jim@meyering.net>
36438
36439         Sync from coreutils.
36440
36441         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
36442         failure on deficient systems, and simplify gnulib lgpl dependencies.
36443         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
36444         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
36445
36446         * lib/xalloc-die.c: Remove unused definition of N_.
36447
36448 2006-02-14  Jim Meyering  <jim@meyering.net>
36449
36450         Sync from coreutils.
36451         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
36452         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
36453         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
36454         double-quote uses of that variable, to accommodate the rare case in
36455         which getmntent is available in none of the libraries checked.  This
36456         happens at least on FreeBSD 5.0.
36457
36458 2006-02-13  Simon Josefsson  <jas@extundo.com>
36459
36460         * gnulib-tool (Usage): Fix --import, from
36461         karl@freefriends.org (Karl Berry).
36462
36463 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
36464
36465         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
36466
36467 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
36468
36469         * lib/argp-namefrob.h: Restore changes accidentally lost during the
36470         "autoupdate" on 2005-12-12.
36471
36472 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36473
36474         * modules/closeout (Depends-on): Remove atexit.
36475
36476 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36477
36478         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
36479         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
36480
36481 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36482
36483         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
36484         __EXTENSIONS__ if this causes compilation to fail.  Problem
36485         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
36486         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
36487
36488 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
36489
36490         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
36491         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
36492         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
36493         All uses changed.
36494
36495 2006-01-26  Simon Josefsson  <jas@extundo.com>
36496
36497         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
36498         prototype is visible on mingw32.
36499
36500         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
36501         for mingw32.
36502
36503         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
36504         mingw32).
36505
36506 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
36507
36508         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
36509         attempt to open for write; this always fails, at least on POSIX
36510         hosts.  This reinstates the 2006-01-09 change, which was
36511         inadvertently removed.
36512
36513 2006-01-26  Bruno Haible  <bruno@clisp.org>
36514
36515         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
36516         Reported by Paul Eggert.
36517
36518 2006-01-26  Bruno Haible  <bruno@clisp.org>
36519             Paul Eggert  <eggert@cs.ucla.edu>
36520
36521         * lib/stdbool_.h (_Bool)
36522         [(! (defined __cplusplus || defined __BEOS__)
36523           && !defined __GNUC__
36524           && !(defined __HP_cc || defined __xlc__
36525                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
36526                || defined __sgi))]:
36527         #define to signed char in these cases too; this simplifies
36528         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
36529         etc., separately) and makes it more conservative.
36530
36531 2006-01-25  Simon Josefsson  <jas@extundo.com>
36532
36533         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
36534         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
36535         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
36536
36537 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
36538
36539         * lib/argp-namefrob.h: Bugfix. Remove stray #
36540
36541 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
36542
36543         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
36544         so that we test the test.
36545         Check for yet another HP-UX cc bug involving *bool |= bool.
36546
36547 2006-01-25  Karl Berry  <karl@gnu.org>
36548
36549         * config/srclist.txt (vasnprintf.c): sync lost.
36550
36551 2006-01-25  Jim Meyering  <jim@meyering.net>
36552
36553         Sync from the stable (b5) branch of coreutils:
36554
36555         * lib/fts.c (fts_children): Don't let close() clobber errno from
36556         failed fchdir().
36557
36558         * lib/fts.c (fts_stat): When following a symlink-to-directory,
36559         don't necessarily interpret stat-fails+lstat-succeeds as indicating
36560         a dangling symlink.  That can also happen at least for ELOOP.
36561         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
36562         FYI, this bug predates the inclusion of fts.c in coreutils.
36563
36564         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
36565         in their own block, so pre-c99 compilers don't object.
36566
36567         Avoid the double-free (first in fts_read, second in fts_close) that
36568         would occur when an `active' directory is made inaccessible (e.g.,
36569         via chmod a-x) during a traversal.
36570         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
36571         before returning.  Reproduce this failure by
36572         mkdir -p a/b; cd a; chmod a-x . b
36573         Reported by Stavros Passas.
36574
36575 2006-01-25  Jim Meyering  <jim@meyering.net>
36576
36577         * lib/fileblocks.c: Remove more useless parentheses.
36578         * lib/readutmp.h: Likewise.
36579
36580 2006-01-25  Bruno Haible  <bruno@clisp.org>
36581
36582         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
36583         warnings.
36584         Reported by Paul Eggert.
36585
36586 2006-01-25  Bruno Haible  <bruno@clisp.org>
36587
36588         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
36589         rid of a trap command. For Solaris sh.
36590         Reported by Mark D. Baushke <mdb@gnu.org>.
36591
36592 2006-01-24  Simon Josefsson  <jas@extundo.com>
36593
36594         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
36595         Bruno.
36596
36597 2006-01-24  Karl Berry  <karl@gnu.org>
36598
36599         * config/srclist.txt (argp-namefrob.h): sync lost.
36600
36601 2006-01-24  Jim Meyering  <jim@meyering.net>
36602
36603         * modules/openat (Files): Add lib/intprops.h.
36604         From Mark D. Baushke.
36605
36606 2006-01-24  Jim Meyering  <jim@meyering.net>
36607
36608         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
36609         Reported by Mark D. Baushke.
36610
36611 2006-01-24  Jim Meyering  <jim@meyering.net>
36612
36613         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
36614
36615 2006-01-24  Bruno Haible  <bruno@clisp.org>
36616
36617         * modules/strnlen (Maintainer): Change from glibc to all.
36618
36619 2006-01-24  Bruno Haible  <bruno@clisp.org>
36620
36621         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
36622         Patch by Paul Eggert.
36623
36624 2006-01-24  Bruno Haible  <bruno@clisp.org>
36625
36626         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
36627         already has it.
36628         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
36629         2005-11-26.
36630
36631         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
36632         'signed char' to avoid problems with the built-in _Bool type.
36633         Reported by Paul Eggert on 2005-11-26.
36634
36635 2006-01-24  Bruno Haible  <bruno@clisp.org>
36636
36637         * gnulib-tool (func_import): Avoid constructing complicated sed
36638         expressions inside backquote.
36639         Report and solution by Mark D. Baushke <mdb@gnu.org>.
36640
36641 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
36642
36643         These changes imported from libc.
36644         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
36645         test and two separate function calls.
36646         * lib/strndup.c (__strndup): Add libc_hidden_def.
36647
36648 2006-01-23  Simon Josefsson  <jas@extundo.com>
36649
36650         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
36651         Remove the test_*_SOURCES variable: automake infers it by default.
36652         * modules/tls-tests: Likewise.
36653
36654 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36655
36656         Work around porting bugs reported by Dieter in
36657         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
36658         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
36659         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
36660         Include "getopt.h" first, to check interface.
36661         (getenv): Declare only if defined HAVE_DECL_GETENV &&
36662         !HAVE_DECL_GETENV.
36663         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
36664         (__strndup): Revert to K&R-style function dfns, the glibc style.
36665         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
36666         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
36667         Include strnlen.h first, to get prototype properly.
36668         (strnlen): Renamed from __strnlen.
36669         Remove weak alias.
36670
36671 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36672
36673         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
36674
36675 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36676
36677         * config/srclist.txt: Adjust to reflect glibc reorganization.
36678         This affects only comments.
36679
36680 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
36681
36682          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
36683          Reported by Bruce Korb <bkorb@gnu.org>.
36684
36685 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36686
36687         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
36688         to pacify gcc -Wswitch-default.
36689
36690 2006-01-22  Bruno Haible  <bruno@clisp.org>
36691
36692         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
36693         temporary buffer for sprintf, take into account the precision also
36694         for 'd', 'i', 'u', 'o', 'x', 'X'.
36695
36696 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
36697
36698         * modules/argp-tests: New module
36699         * tests/test-argp.c: New file
36700         * tests/test-argp-2.sh: New file
36701
36702 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
36703
36704         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
36705         (__argp_base_name): Removed
36706         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
36707         typo.
36708         (__argp_base_name): Provide macro definition or extern declaration
36709         depending on the configuration
36710
36711 2006-01-20  Simon Josefsson  <jas@extundo.com>
36712
36713         * modules/inet_ntop (Depends-on): Depend on sys_socket.
36714
36715 2006-01-20  Simon Josefsson  <jas@extundo.com>
36716
36717         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
36718
36719 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
36720
36721         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
36722         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
36723         Suggested by Bruno Haible.
36724
36725 2006-01-20  Karl Berry  <karl@gnu.org>
36726
36727         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
36728         until changes propagate, I guess.
36729
36730 2006-01-19  Simon Josefsson  <jas@extundo.com>
36731
36732         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
36733
36734 2006-01-19  Simon Josefsson  <jas@extundo.com>
36735
36736         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
36737
36738 2006-01-19  Simon Josefsson  <jas@extundo.com>
36739
36740         * gnulib-tool: Set check_PROGRAMS.
36741
36742         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
36743         modules/des-tests, modules/gc-arcfour-tests,
36744         modules/gc-arctwo-tests, modules/gc-des-tests,
36745         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
36746         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
36747         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
36748         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
36749         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
36750         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
36751         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
36752         test_*_SOURCES.
36753
36754 2006-01-18  Simon Josefsson  <jas@extundo.com>
36755
36756         * modules/socklen (Depends-on): Depend on sys_socket.
36757
36758 2006-01-18  Simon Josefsson  <jas@extundo.com>
36759
36760         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
36761         modules/des-tests, modules/gc-arcfour-tests,
36762         modules/gc-arctwo-tests, modules/gc-des-tests,
36763         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
36764         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
36765         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
36766         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
36767         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
36768         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
36769         $(EXEEXT) to automake TESTS variable, for mingw32.
36770
36771 2006-01-17  Simon Josefsson  <jas@extundo.com>
36772
36773         * modules/socklen (Include): Need sys/socket.h.
36774
36775 2006-01-17  Bruno Haible  <bruno@clisp.org>
36776
36777         * modules/ssize_t (Include): Add <sys/types.h>.
36778
36779 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
36780
36781         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
36782         it's not portable and it doesn't work with cross-compiles.
36783         Problem reported by Bruno Haible.  Fix missing-$ typo in
36784         'test "gl_cv_ignore_unused_libraries" ...' that prevented
36785         -zignore from being used with Sun's C compiler.
36786
36787 2006-01-12  Simon Josefsson  <jas@extundo.com>
36788
36789         * lib/base64.c: Fix warning, reported by Bruno Haible
36790         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
36791
36792 2006-01-12  Bruno Haible  <bruno@clisp.org>
36793
36794         * modules/ldd: New file.
36795         * build-aux/ldd.sh.in: New file.
36796         * MODULES.html.sh (Support for building libraries and executables): Add
36797         ldd.
36798
36799 2006-01-12  Bruno Haible  <bruno@clisp.org>
36800
36801         * m4/ldd.m4: New file.
36802
36803 2006-01-12  Bruno Haible  <bruno@clisp.org>
36804
36805         * gnulib-tool (func_import, func_create_testdir): Don't go into an
36806         endless loop while replacing $auxdir with build-aux.
36807
36808 2006-01-11  Simon Josefsson  <jas@extundo.com>
36809
36810         * lib/stdint_.h (SIZE_MAX): Add missing (.
36811
36812 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
36813
36814         Sync from coreutils.
36815         * lib/md5.c: Fix commentary typos.
36816         (alignof, UNALIGNED_P): No need for a GCC-specific version.
36817         * lib/md5.h (__attribute__): Remove; unused.
36818         * lib/sha1.c: Fix commentary to match md5 better.
36819         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
36820         so that we don't need to worry about alignment.  All uses changed.
36821         This merges the 2005-10-28 md5 change into sha1.
36822
36823 2006-01-11  Jim Meyering  <jim@meyering.net>
36824
36825         Sync from coreutils.
36826         * lib/md5.c (OP): Fix spacing.
36827
36828 2006-01-11  Bruno Haible  <bruno@clisp.org>
36829
36830         Ensure automatic ordering between gl_LOCK and gl_ARGP.
36831         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
36832         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
36833
36834 2006-01-11  Bruno Haible  <bruno@clisp.org>
36835
36836         Ensure automatic ordering between gl_LOCK and gl_ARGP.
36837         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
36838         the "early" section as well.
36839
36840 2006-01-11  Bruno Haible  <bruno@clisp.org>
36841
36842         Avoid "ar: no archive members specified" error on MacOS X.
36843         * gnulib-tool (func_modules_add_dummy): New function.
36844         (func_import, func_create_testdir): Invoke it.
36845
36846 2006-01-11  Bruno Haible  <bruno@clisp.org>
36847
36848         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
36849         with $auxdir in AC_CONFIG_FILES statements.
36850
36851 2006-01-11  Bruno Haible  <bruno@clisp.org>
36852
36853         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36854         Initialize also noinst_HEADERS to empty.
36855
36856 2006-01-11  Bruno Haible  <bruno@clisp.org>
36857
36858         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
36859         variables.
36860         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
36861         autoreconf.
36862
36863 2006-01-11  Bruno Haible  <bruno@clisp.org>
36864
36865         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
36866         overridable by the user.
36867         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36868
36869 2006-01-10  Simon Josefsson  <jas@extundo.com>
36870
36871         * modules/sys_socket: New file.
36872
36873 2006-01-10  Simon Josefsson  <jas@extundo.com>
36874
36875         * m4/sys_socket_h.m4: New file.
36876
36877 2006-01-10  Simon Josefsson  <jas@extundo.com>
36878
36879         * lib/socket_.h: New file.
36880
36881 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36882
36883         * modules/readutmp (Maintainer): Add myself.
36884
36885 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36886
36887         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
36888         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
36889         People who are still concerned with buggy memcmp implementations
36890         can invoke gl_FUNC_MEMCMP themselves.
36891
36892 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36893
36894         * lib/regex_internal.h (BITSET_WORD_BITS):
36895         Work around a bug in 64-bit PGC (before version 6.1-2), where the
36896         preprocessor mishandles large unsigned values as if they were signed.
36897         Problem reported by Claudio Fontana in
36898         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
36899
36900 2006-01-10  Jim Meyering  <jim@meyering.net>
36901
36902         Avoid the double-free (first in fts_read, second in fts_close) that
36903         would occur when an `active' directory is made inaccessible (e.g.,
36904         via chmod a-x) during a traversal.
36905         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
36906         before returning.  Reproduce this failure by
36907         mkdir -p a/b; cd a; chmod a-x . b
36908         Reported by Stavros Passas.
36909
36910         Sync from coreutils.
36911         * lib/sha1.c: Tweak grammar in a comment.
36912
36913 2006-01-10  Jim Meyering  <jim@meyering.net>
36914
36915         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
36916         Patch by Joerg Sonnenberger.
36917
36918 2006-01-10  Bruno Haible  <bruno@clisp.org>
36919
36920         * modules/readutmp: Depend on module free.
36921         * modules/strtok_r: Depend on module restrict.
36922
36923 2006-01-10  Bruno Haible  <bruno@clisp.org>
36924
36925         * modules/gettext (configure.ac): Add an invocation of
36926         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
36927
36928 2006-01-10  Bruno Haible  <bruno@clisp.org>
36929
36930         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
36931         Reported by Werner Lemberg <wl@gnu.org>.
36932
36933 2006-01-10  Bruno Haible  <bruno@clisp.org>
36934
36935         * lib/localcharset.c: Update from GNU gettext.
36936
36937 2006-01-10  Bruno Haible  <bruno@clisp.org>
36938
36939         * lib/argp.h (__const): Remove macro. Use const instead.
36940         * lib/argp-fmtstream.h (__const): Likewise.
36941         * lib/glob_.h (__const): Remove macro.
36942         * lib/glob-libc.h: Use const instead of __const.
36943
36944 2006-01-10  Bruno Haible  <bruno@clisp.org>
36945
36946         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
36947         variable.
36948         Needed to avoid an automake error regarding the 'gettext' module.
36949
36950 2006-01-09  Simon Josefsson  <jas@extundo.com>
36951
36952         * modules/inet_ntop (Depends-on): Add restrict.
36953
36954 2006-01-09  Simon Josefsson  <jas@extundo.com>
36955
36956         * modules/gc-rijndael-tests (License): Put under LGPL.
36957
36958         * modules/gc-des-tests (License): Likewise.
36959
36960         * modules/gc-arcfour-tests (License): Likewise.
36961
36962         * modules/gc-arctwo-tests (License): Likewise.
36963
36964         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
36965
36966         * modules/gc-hmac-sha1-tests (Files): Likewise.
36967
36968         * modules/gc-hmac-md5-tests (License): Likewise.
36969
36970         * modules/gc-sha1-tests (License): Likewise.
36971
36972         * modules/gc-md5-tests (License): Likewise.
36973
36974         * modules/gc-md4-tests (License): Likewise.
36975
36976         * modules/gc-md2-tests (License): Likewise.
36977
36978         * modules/gc-tests (License): Likewise.
36979
36980         * modules/des-tests (License): Likewise.
36981
36982         * modules/md4-tests (License): Likewise.
36983
36984         * modules/md2-tests (License): Likewise.
36985
36986 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36987
36988         Sync from coreutils:
36989
36990         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
36991         * modules/lib-ignore: New file.
36992         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
36993         chdir-safer.m4, lchmod.m4.
36994         * modules/openat: Add mkdirat.c, openat-priv.h.
36995
36996 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36997
36998         Sync from coreutils.
36999         * m4/lib-ignore.m4: New file.
37000         * m4/lchmod.m4: New file.
37001
37002 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
37003
37004         Sync from coreutils.
37005         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
37006         for write access: POSIX says that must fail.
37007         * lib/fts.c (diropen): Likewise.
37008         * lib/save-cwd.c (save_cwd): Likewise.
37009         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
37010         well, for minor improvements on hosts that lack O_DIRECTORY.
37011         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
37012         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
37013         Fall back on chown if open failed with EACCES.
37014
37015         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
37016         Report an error at compile-time if only a 1-second nominal clock
37017         resolution is found.
37018
37019         * lib/lchmod.h: New file.
37020         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
37021         (make_dir_parents): Use lchown rather than chown, and
37022         lchmod rather than chmod.
37023
37024         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
37025         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
37026         "proc" reported by n0dalus.
37027
37028         * lib/mountlist.c: Include <limits.h>.
37029         (dev_from_mount_options)
37030         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
37031         New function.  It no longer assumes "dev=" has the System V meaning
37032         on Linux (since it doesn't).  It also parses "dev=" more carefully.
37033         (read_file_system_list)
37034         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
37035         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
37036         dev= in that case.
37037
37038         * lib/posixtm.h (PDS_PRE_2000): New macro.
37039         * lib/posixtm.c (year): Arg is now syntax_bits rather than
37040         allow_century.  All usages changed.  Reject dates outside the range
37041         1969-1999 if PDS_PRE_2000 is used.
37042
37043 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
37044
37045         Sync from coreutils.
37046         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
37047         (Time of day items): Mention the possibility of leap seconds.
37048         Problem reported by Dr. David Alan Gilbert.
37049
37050 2006-01-09  Jim Meyering  <jim@meyering.net>
37051
37052         Sync from coreutils.
37053
37054         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
37055
37056         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
37057
37058         * lib/modechange.c (mode_compile): Reject an invalid mode string
37059         that starts with an octal digit.  From Andreas Gruenbacher.
37060
37061         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
37062         and dup to open_safer and dup_safer, respectively.
37063         (openat_permissive): Fix typo in comment.
37064
37065         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
37066         "gettext.h"; either no longer needed or are guaranteed by openat.h.
37067         (_): Remove; no longer needed.
37068         (openat): Renamed from rpl_openat; no need for rpl_openat
37069         since openat.h renames openat for us.
37070         Replace most of the body with a call to openat_permissive,
37071         to avoid duplicate code.
37072         Port to (probably hypothetical) environments were mode_t is
37073         wider than int.
37074         (openat_permissive): Require mode arg, so that we can check
37075         types better.  Put it just after flags.  Change cwd failure
37076         indicator from pointer-to-bool to pointer-to-errno-value.
37077         All callers changed.
37078         Invoke openat_save_fail and/or openat_restore_fail if
37079         cwd_errno is null, so that openat can call us.
37080         (openat_permissive, fdopendir, fstatat, unlinkat):
37081         Simplify errno handling to avoid some duplicate code,
37082         as it's OK to set errno on success.
37083         * lib/openat.h: Revamp code so that function macros depend on
37084         __OPENAT_PREFIX only, not also on AT_FDCWD.
37085         (openat_ro): Remove.  Caller changed to use openat_permissive.
37086         (openat_permissive): Now a macro, if not a function.
37087         (openat_restore_fail, openat_save_fail): Now always functions,
37088         since mkdirat needs them even if __OPENAT_PREFIX is defined.
37089
37090         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
37091         and openat.c.
37092         * lib/mkdirat.c: Include openat-priv.h.
37093         Remove definitions of macros defined therein.
37094         * lib/openat.c: Likewise.
37095
37096         * lib/mkdirat.c (mkdirat): New file and function.
37097         * lib/openat.h (mkdirat): Declare.
37098
37099         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
37100
37101         * lib/openat.h (openat_permissive): Declare.
37102         (openat_ro): Define.
37103
37104         * lib/openat.c (EXPECTED_ERRNO): New macro.
37105         (openat_permissive): New function -- used in remove.c rewrite.
37106         (all functions): Set errno just before returning, only if there
37107         was an actual failure.
37108         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
37109
37110         Emulate openat-family functions using Linux's procfs, if possible.
37111         Idea and some code based on Ulrich Drepper's glibc changes.
37112
37113         * lib/openat.c: (BUILD_PROC_NAME): New macro.
37114         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
37115         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
37116         before falling back on save_cwd and restore_cwd.
37117         (fdopendir, fstatat, unlinkat): Likewise.
37118
37119         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
37120         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
37121
37122         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
37123         as second argument to va_arg.  Otherwise, some versions of gcc
37124         warn that `if this code is reached, the program will abort'.
37125
37126 2006-01-09  Jim Meyering  <jim@meyering.net>
37127
37128         Sync from coreutils.
37129         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
37130         Require openat-priv.h.
37131
37132 2006-01-09  Bruno Haible  <bruno@clisp.org>
37133
37134         * modules/strnlen (Include): Use strnlen.h.
37135
37136 2006-01-09  Bruno Haible  <bruno@clisp.org>
37137
37138         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
37139
37140 2006-01-09  Bruno Haible  <bruno@clisp.org>
37141
37142         * lib/sysexit_.h (EX_OK): New macro.
37143         Suggested by Martin Lambers <marlam@marlam.de>.
37144
37145 2006-01-09  Bruno Haible  <bruno@clisp.org>
37146
37147         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
37148         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
37149
37150 2006-01-09  Bruno Haible  <bruno@clisp.org>
37151
37152         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
37153         numbers.
37154
37155 2006-01-09  Bruno Haible  <bruno@clisp.org>
37156
37157         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
37158         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
37159         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
37160         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
37161
37162 2006-01-09  Bruno Haible  <bruno@clisp.org>
37163
37164         * build-aux/javacomp.sh.in: New file, moved from lib/.
37165         * modules/javacomp-script (Files): Update.
37166         (configure.ac): Add AC_CONFIG_FILES invocation.
37167         (EXTRA_DIST): Remove variable.
37168
37169         * build-aux/javaexec.sh.in: New file, moved from lib/.
37170         * modules/javaexec (Files): Update.
37171         (configure.ac): Add AC_CONFIG_FILES invocation.
37172         (EXTRA_DIST): Remove javaexec.sh.in.
37173
37174         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
37175         * modules/csharpcomp-script (Files): Update.
37176         (configure.ac): Add AC_CONFIG_FILES invocation.
37177         (EXTRA_DIST): Remove variable.
37178
37179         * build-aux/csharpexec.sh.in: New file, moved from lib/.
37180         * modules/csharpexec (Files): Update.
37181         (configure.ac): Add AC_CONFIG_FILES invocation.
37182         (EXTRA_DIST): Remove csharpexec.sh.in.
37183
37184 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
37185
37186         Sync from coreutils.
37187
37188         Add POSIX ACL support
37189         * lib/acl.h (copy_acl, set_acl): Add declarations.
37190         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
37191         systems other than Linux.
37192         (chmod_or_fchmod): New function: use fchmod when possible,
37193         and chmod otherwise.
37194         (file_has_acl): Add a POSIX ACL implementation, with a
37195         Linux-specific subcase.
37196         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
37197         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
37198         acls are unsupported.
37199         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
37200         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
37201         are unsupported.
37202
37203 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
37204
37205         Sync from coreutils.
37206         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
37207
37208 2006-01-07  Bruno Haible  <bruno@clisp.org>
37209
37210         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
37211         gl_EARLY.
37212
37213 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
37214
37215         * lib/strftime.c (tzname): Don't declare if it is already #defined.
37216         Problem reported for Mingw by Mark Junker.
37217
37218 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
37219
37220         * README: Gnulib normally doesn't generate a tarball.
37221
37222 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
37223
37224         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
37225         long int, not int, for nanosecond counts, so that people who are
37226         used to POSIX struct timespec won't be surprised.  Reported by Jim
37227         Meyering.
37228
37229 2005-12-28  Bruno Haible  <bruno@clisp.org>
37230
37231         * build-aux/config.rpath: Update from GNU gettext.
37232
37233 2005-12-16  Jim Meyering  <jim@meyering.net>
37234
37235         * modules/fprintftime: New module.
37236         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
37237
37238 2005-12-16  Jim Meyering  <jim@meyering.net>
37239
37240         * m4/fprintftime.m4: New file.
37241
37242 2005-12-16  Jim Meyering  <jim@meyering.net>
37243
37244         * lib/fprintftime.c, lib/fprintftime.h: New files.
37245
37246 2005-12-15  Simon Josefsson  <jas@extundo.com>
37247
37248         * modules/socklen (configure.ac): Fix M4 macro name, to align with
37249         new m4/socklen.m4.
37250
37251 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
37252
37253         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
37254         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
37255
37256 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
37257
37258         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
37259         * lib/argp-help.c (fill_in_uparams): Check if the constructed
37260         struct uparams is valid. Fall back to the default values if it is
37261         not.
37262
37263 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
37264
37265         * modules/argp (Files): Add argp-pin.c
37266         (Depends-on): dirname
37267         (lib_SOURCES): Add argp-pin.c
37268
37269 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
37270
37271         * m4/argp.m4:  Check if program_invocation_name and
37272         program_invocation_short_name are declared and define appropriate
37273         macros if they are not.
37274
37275 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
37276
37277         * lib/argp-help.c (__argp_base_name): New function
37278         (__argp_short_program_name): Rewrite using __argp_base_name
37279         * lib/argp-namefrob.h: Define program_invocation_name and
37280         program_invocation_short_name if requested
37281         (__argp_base_name): Add prototype
37282         * lib/argp-parse.c (argp_def): Use gettext wrappers
37283         (argp_default_parser): Use __argp_base_name
37284         * lib/argp-pin.c: New file. Defines program_invocation_name and
37285         program_invocation_short_name on systems that lack them.
37286
37287 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37288
37289         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
37290         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
37291         porting problem reported by Georg Schwarz in
37292         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
37293
37294 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37295
37296         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
37297         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
37298         porting problem reported by Georg Schwarz in
37299         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
37300
37301 2005-12-05  Bruno Haible  <bruno@clisp.org>
37302
37303         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
37304         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
37305         Reported by Mark Junker <mjscod@gmx.de>.
37306
37307 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
37308
37309         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
37310         Use implementation from Albert Chin, with some
37311         comments/corrections by Stepan Kasal and myself.
37312
37313 2005-12-02  Bruno Haible  <bruno@clisp.org>
37314
37315         * gnulib-tool (func_import): Accept GPLed build tool modules when
37316         --lgpl is given.
37317         * modules/csharpcomp-script: New file.
37318         * modules/csharpcomp: Depend on it.
37319         * modules/javacomp-script: New file.
37320         * modules/javacomp: Depend on it.
37321         Suggested by Simon Josefsson.
37322
37323 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
37324
37325         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
37326         statement, to work around an HP-UX 10.20 compiler bug reported by
37327         Peter O'Gorman.
37328
37329 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37330
37331         * modules/savedir (Depends-on): Add openat.
37332
37333 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37334
37335         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
37336         (uintmax_t) [defined uintmax_t]: Do not declare.
37337         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
37338         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
37339         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
37340         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
37341         sake of portability to weird hosts that C allows (though we don't
37342         know of any practical examples).
37343
37344         * lib/savedir.h (fdsavedir): New decl.
37345         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
37346         contains most of the former guts of savedir.
37347         (savedir): Use savedirstream.
37348         Include "openat.h".
37349
37350 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
37351
37352         * modules/obstack (Files): Add m4/ulonglong.m4.
37353         Problem reported by Davide Angelocola.
37354
37355 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
37356
37357         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
37358         coreutils no longer futzes with rounding modes.
37359
37360 2005-11-14  Jim Meyering  <jim@meyering.net>
37361
37362         * lib/mkstemp-safer.c: Include <config.h>, required for possible
37363         replacement of mkstemp.
37364
37365 2005-11-10  Simon Josefsson  <jas@extundo.com>
37366
37367         * lib/readline.c: Remove EOL.
37368
37369 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
37370
37371         * modules/gethrxtime (Depends-on): Add gettime.
37372
37373 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
37374
37375         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
37376         or gettimeofday; no longer needed.
37377
37378 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
37379
37380         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
37381         time business.
37382         (gethrxtime) [! (HAVE_NANOUPTIME
37383         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
37384         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
37385         our own approximation.
37386
37387 2005-11-08  Eric Blake  <ebb9@byu.net>
37388
37389         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
37390
37391 2005-11-08  Eric Blake  <ebb9@byu.net>
37392
37393         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
37394
37395 2005-11-04  Bruno Haible  <bruno@clisp.org>
37396
37397         * gnulib-tool: Implement --update mode.
37398
37399 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
37400
37401         Fix porting problem reported by Theodoros V. Kalamatianos.
37402         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
37403         Don't assume that futimes failing means we must fail.
37404
37405 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
37406
37407         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
37408         variables to suggest the intended function of the PATH_MAX check.
37409
37410 2005-10-30  Kean Johnston  <jkj@sco.com>
37411
37412         Trivial changes to support SCO systems.
37413         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
37414         as PATH_MAX.
37415         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
37416         where __ptr is null when no I/O is pending.
37417
37418 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
37419
37420         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
37421         leave errno alone.  Problem reported by Dmitry V. Levin.
37422
37423 2005-10-28  Simon Josefsson  <jas@extundo.com>
37424
37425         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
37426         Test more.
37427
37428         * tests/test-gc-md2.c, tests/test-md2.c: New files.
37429
37430         * modules/md2, modules/md2-tests: New files.
37431
37432 2005-10-28  Simon Josefsson  <jas@extundo.com>
37433
37434         * m4/inet_ntop.m4: More tests.
37435
37436         * m4/gc-md2.m4, md2.m4: New file.
37437
37438 2005-10-28  Simon Josefsson  <jas@extundo.com>
37439
37440         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
37441         "restrict" keywords, as per POSIX.  Protect the function
37442         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
37443         Don't use K&R prototypes.  Check the sprintf return values.
37444         Re-define EAFNOSUPPORT if not present.  Indent.
37445
37446         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
37447         suggested by Bruno Haible <bruno@clisp.org>.
37448
37449         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
37450
37451         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
37452
37453         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
37454         libgcrypt).
37455
37456         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
37457
37458         * lib/md2.h, lib/md2.c: New files.
37459
37460 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
37461
37462         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
37463         errno alone.  Problem reported by Frederic Jolliton.
37464
37465 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
37466
37467         * modules/verify (License): Change from GPL to LGPL.  This is a
37468         tiny module and there are apparently near-equivalents that are
37469         under the BSD license.
37470
37471 2005-10-24  Simon Josefsson  <jas@extundo.com>
37472
37473         * modules/sha1: Relicense to LGPL.
37474
37475 2005-10-24  Simon Josefsson  <jas@extundo.com>
37476
37477         * lib/md4.h: Shrink buffer size, now that we changed the type.
37478
37479 2005-10-23  Simon Josefsson  <jas@extundo.com>
37480
37481         * gnulib-tool (func_import): Fix --tests-base.
37482
37483 2005-10-22  Simon Josefsson  <jas@extundo.com>
37484
37485         * modules/arcfour (Depends-on): Need stdint.
37486
37487 2005-10-22  Simon Josefsson  <jas@extundo.com>
37488
37489         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
37490         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
37491
37492 2005-10-22  Simon Josefsson  <jas@extundo.com>
37493
37494         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
37495         suggested by Bruno Haible <bruno@clisp.org>.
37496
37497 2005-10-22  Simon Josefsson  <jas@extundo.com>
37498
37499         * lib/crc.h: Include stddef.h, for size_t.
37500
37501 2005-10-22  Simon Josefsson  <jas@extundo.com>
37502
37503         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
37504         arcfour_context struct (simplify test vector testing in GNU
37505         Shishi).
37506
37507 2005-10-21  Simon Josefsson  <jas@extundo.com>
37508
37509         * modules/des, modules/des-tests: New files.
37510
37511         * modules/gc-des, modules/gc-des-tests: New files.
37512
37513         * tests/test-des.c, tests/test-gc-des.c: New file.
37514
37515 2005-10-21  Simon Josefsson  <jas@extundo.com>
37516
37517         * modules/arctwo, modules/arctwo-tests: New files.
37518
37519         * tests/test-arctwo.c: New file.
37520
37521         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
37522
37523         * tests/test-gc-arctwo.c: New file.
37524
37525 2005-10-21  Simon Josefsson  <jas@extundo.com>
37526
37527         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
37528         Bruno Haible <bruno@clisp.org>.
37529
37530         * m4/gc-des.m4: New file.
37531
37532 2005-10-21  Simon Josefsson  <jas@extundo.com>
37533
37534         * m4/arctwo.m4: New file.
37535
37536         * m4/gc-arctwo.m4: New file.
37537
37538 2005-10-21  Simon Josefsson  <jas@extundo.com>
37539
37540         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
37541         block.
37542
37543 2005-10-21  Simon Josefsson  <jas@extundo.com>
37544
37545         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
37546         <bruno@clisp.org>.
37547
37548         * lib/hmac-sha1.c (hmac_sha1): Likewise.
37549
37550         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
37551         Bruno Haible <bruno@clisp.org>.
37552
37553         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
37554         <bruno@clisp.org>.
37555
37556 2005-10-21  Simon Josefsson  <jas@extundo.com>
37557
37558         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
37559
37560 2005-10-21  Simon Josefsson  <jas@extundo.com>
37561
37562         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
37563
37564 2005-10-21  Simon Josefsson  <jas@extundo.com>
37565
37566         * lib/des.h, lib/des.c: New files.
37567
37568         * lib/gc-gnulib.c: Support DES.c
37569
37570 2005-10-21  Simon Josefsson  <jas@extundo.com>
37571
37572         * lib/arctwo.h, lib/arctwo.c: New files.
37573
37574         * lib/gc-gnulib.c: Support ARCTWO.
37575
37576 2005-10-21  Simon Josefsson  <jas@extundo.com>
37577
37578         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
37579         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37580
37581 2005-10-21  Simon Josefsson  <jas@extundo.com>
37582
37583         * gnulib-tool (func_import, func_create_testdir): Define automake
37584         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
37585         Makefile.am snippet),
37586         suggested by Bruno Haible <bruno@clisp.org>.
37587
37588         * modules/gc (Makefile.am): Use it.
37589
37590 2005-10-21  Bruno Haible  <bruno@clisp.org>
37591
37592         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
37593         patch.
37594
37595 2005-10-19  Simon Josefsson  <jas@extundo.com>
37596
37597         * tests/test-gc-rijndael.c: New file.
37598
37599         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
37600
37601 2005-10-19  Simon Josefsson  <jas@extundo.com>
37602
37603         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
37604         interface too.
37605
37606 2005-10-19  Simon Josefsson  <jas@extundo.com>
37607
37608         * tests/test-gc-arcfour.c: New file.
37609
37610         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
37611
37612 2005-10-19  Simon Josefsson  <jas@extundo.com>
37613
37614         * modules/gc-md4, modules/gc-md4-tests: New file.
37615
37616         * tests/test-gc-md4.c: New file.
37617
37618 2005-10-19  Simon Josefsson  <jas@extundo.com>
37619
37620         * m4/gc-md4.m4: New file.
37621
37622 2005-10-19  Simon Josefsson  <jas@extundo.com>
37623
37624         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
37625         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
37626         <kasal@ucw.cz>.
37627
37628 2005-10-19  Simon Josefsson  <jas@extundo.com>
37629
37630         * m4/gc-arcfour.m4: New file.
37631
37632         * m4/gc-rijndael.m4: New file.
37633
37634 2005-10-19  Simon Josefsson  <jas@extundo.com>
37635
37636         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
37637
37638 2005-10-19  Simon Josefsson  <jas@extundo.com>
37639
37640         * lib/gc-gnulib.c: Support ARCFOUR.
37641
37642 2005-10-19  Simon Josefsson  <jas@extundo.com>
37643
37644         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
37645         support.
37646
37647         * lib/gc.h: Add ECB enum type.
37648
37649         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
37650
37651 2005-10-18  Simon Josefsson  <jas@extundo.com>
37652
37653         * tests/test-md5.c: New file.
37654
37655         * modules/md5-tests: New file.
37656
37657 2005-10-18  Simon Josefsson  <jas@extundo.com>
37658
37659         * tests/test-md4.c: New file.
37660
37661         * modules/md4, modules/md4-tests: New files.
37662
37663 2005-10-18  Simon Josefsson  <jas@extundo.com>
37664
37665         * m4/md4.m4: New file.
37666
37667 2005-10-18  Simon Josefsson  <jas@extundo.com>
37668
37669         * lib/md4.h, lib/md4.c: New files, based on md5.?.
37670
37671 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
37672
37673         * gnulib-tool (func_create_testdir): Omit the second check whether
37674         BUILT_SOURCES in nonempty.
37675
37676 2005-10-17  Simon Josefsson  <jas@extundo.com>
37677
37678         * tests/test-rijndael.c: New file.
37679
37680 2005-10-17  Simon Josefsson  <jas@extundo.com>
37681
37682         * modules/sha1: Depend on stdint instead of md5.
37683
37684         * modules/md5: Depend on stdint, remove uint32_t.
37685
37686 2005-10-17  Simon Josefsson  <jas@extundo.com>
37687
37688         * modules/gc-sha1-tests: New file.
37689
37690         * tests/test-gc-sha1.c: New file.
37691
37692 2005-10-17  Simon Josefsson  <jas@extundo.com>
37693
37694         * m4/md5.m4: Remove call to uint32_t.m4.
37695
37696 2005-10-17  Simon Josefsson  <jas@extundo.com>
37697
37698         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
37699
37700         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
37701         md5.h.
37702
37703         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
37704
37705         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
37706
37707 2005-10-17  Simon Josefsson  <jas@extundo.com>
37708
37709         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
37710
37711 2005-10-17  Simon Josefsson  <jas@extundo.com>
37712
37713         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
37714
37715 2005-10-17  Simon Josefsson  <jas@extundo.com>
37716
37717         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
37718
37719         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
37720
37721 2005-10-17  Bruno Haible  <bruno@clisp.org>
37722
37723         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
37724         that it can also be used in a test.
37725
37726 2005-10-16  Bruno Haible  <bruno@clisp.org>
37727
37728         * gnulib-tool (func_emit_tests_Makefile_am): Also define
37729         TESTS_ENVIRONMENT, so that individual tests can augment it.
37730
37731         * gnulib-tool (func_create_testdir): Use an intermediate target for
37732         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
37733         macros, like $(ALLOCA_H), which cannot be passed through the command
37734         line.
37735
37736 2005-10-15  Simon Josefsson  <jas@extundo.com>
37737
37738         * modules/rijndael-tests: New file.
37739
37740         * modules/rijndael: New file.
37741
37742 2005-10-15  Simon Josefsson  <jas@extundo.com>
37743
37744         * m4/rijndael.m4: New file.
37745
37746 2005-10-15  Simon Josefsson  <jas@extundo.com>
37747
37748         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
37749
37750         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
37751
37752 2005-10-14  Simon Josefsson  <jas@extundo.com>
37753
37754         * tests/test-arcfour.c: New file.
37755
37756         * modules/arcfour, modules/arcfour-tests: New files.
37757
37758 2005-10-14  Simon Josefsson  <jas@extundo.com>
37759
37760         * m4/arcfour.m4: New file.
37761
37762 2005-10-14  Simon Josefsson  <jas@extundo.com>
37763
37764         * lib/arcfour.h, lib/arcfour.c: New files.
37765
37766 2005-10-14  Roland McGrath  <roland@redhat.com>
37767
37768         Import from libc.  [BZ #1331]
37769         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
37770         macro argument.
37771         Reported by Matej Vela <vela@debian.org>.
37772
37773 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
37774
37775         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
37776         include <wchar.h>; no longer needed.
37777
37778 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
37779
37780         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
37781
37782 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
37783         and  Ulrich Drepper  <drepper@redhat.com>
37784
37785         Import from libc.
37786         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
37787         instead of inline stream orientation test and two separate
37788         function calls.  Pay no attention to USE_IN_LIBIO.
37789
37790 2005-10-13  Simon Josefsson  <jas@extundo.com>
37791
37792         * modules/gc-hmac-md5-tests: New file.
37793
37794         * tests/test-gc-hmac-sha1.c: New file.
37795
37796         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
37797
37798         * modules/gc-hmac-md5-tests: New file.
37799
37800         * tests/test-gc-md5.c: New file.
37801
37802         * modules/gc-md5-tests: New file.
37803
37804 2005-10-13  Simon Josefsson  <jas@extundo.com>
37805
37806         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
37807         Move memory allocation outside of loop.
37808
37809 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
37810
37811         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
37812         intermediate directory is in a read-only file system.  Problem
37813         reported by Eric Blake.
37814
37815 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
37816
37817         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
37818
37819 2005-10-12  Simon Josefsson  <jas@extundo.com>
37820
37821         * tests/test-hmac-sha1.c: New file.
37822
37823         * modules/hmac-sha1-tests: New file.
37824
37825         * modules/hmac-sha1: New file.
37826
37827 2005-10-12  Simon Josefsson  <jas@extundo.com>
37828
37829         * modules/gc-sha1: New file.
37830
37831 2005-10-12  Simon Josefsson  <jas@extundo.com>
37832
37833         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
37834
37835         * tests/test-gc-pbkdf2-sha1.c: New file.
37836
37837 2005-10-12  Simon Josefsson  <jas@extundo.com>
37838
37839         * modules/gc-md5, modules/gc-hmac-md5: New files.
37840
37841         * modules/gc (Files): Remove md5, memxor and hmac files.
37842
37843 2005-10-12  Simon Josefsson  <jas@extundo.com>
37844
37845         * m4/gc-pbkdf2-sha1.m4: New file.
37846
37847         * m4/gc-hmac-sha1.m4: New file.
37848
37849         * m4/gc-sha1: New file.
37850
37851         * m4/hmac-sha1.m4: New file.
37852
37853 2005-10-12  Simon Josefsson  <jas@extundo.com>
37854
37855         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
37856
37857         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
37858
37859 2005-10-12  Simon Josefsson  <jas@extundo.com>
37860
37861         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
37862         suggested by Bruno Haible <bruno@clisp.org>.
37863
37864 2005-10-12  Simon Josefsson  <jas@extundo.com>
37865
37866         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
37867
37868 2005-10-12  Simon Josefsson  <jas@extundo.com>
37869
37870         * lib/gc-pbkdf2-sha1.c: New file.
37871
37872         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
37873
37874 2005-10-12  Simon Josefsson  <jas@extundo.com>
37875
37876         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
37877
37878         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
37879
37880 2005-10-12  Simon Josefsson  <jas@extundo.com>
37881
37882         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
37883         GC_USE_HMAC_MD5, respectively.
37884
37885         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
37886         (gc_md5): Fix typo.
37887
37888         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
37889
37890         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
37891
37892         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
37893
37894 2005-10-12  Bruno Haible  <bruno@clisp.org>
37895
37896         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
37897         Reported by Stepan Kasal <kasal@ucw.cz>.
37898
37899 2005-10-11  Simon Josefsson  <jas@extundo.com>
37900
37901         * tests/test-crc.c: New file.
37902
37903         * modules/crc, modules/crc-tests: New files.
37904
37905 2005-10-11  Simon Josefsson  <jas@extundo.com>
37906
37907         * m4/crc.m4: New file.
37908
37909 2005-10-11  Simon Josefsson  <jas@extundo.com>
37910
37911         * lib/gc.h: Add gc_hash and gc_hash_buffer.
37912
37913         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
37914
37915         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
37916
37917 2005-10-11  Simon Josefsson  <jas@extundo.com>
37918
37919         * lib/crc.h, lib/crc.c: New files.
37920
37921         * lib/gc.h (gc_hash_buffer): Add doc.
37922
37923 2005-10-11  Bruno Haible  <bruno@clisp.org>
37924
37925         * modules/c-strcasestr: New file.
37926         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
37927
37928 2005-10-11  Bruno Haible  <bruno@clisp.org>
37929
37930         * modules/c-strcase: New file.
37931         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
37932
37933 2005-10-11  Bruno Haible  <bruno@clisp.org>
37934
37935         * lib/strcasecmp.c: Include limits.h.
37936         (strcasecmp): Avoid integer overflow on exotic platforms.
37937         * lib/strncasecmp.c: Include limits.h.
37938         (strncasecmp): Avoid integer overflow on exotic platforms.
37939         Reported by Paul Eggert.
37940
37941 2005-10-11  Bruno Haible  <bruno@clisp.org>
37942
37943         * lib/c-strcasestr.h: New file, from GNU gettext.
37944         * lib/c-strcasestr.c: New file, from GNU gettext.
37945
37946 2005-10-11  Bruno Haible  <bruno@clisp.org>
37947
37948         * lib/c-strcase.h: New file, from GNU gettext.
37949         * lib/c-strcasecmp.c: New file, from GNU gettext.
37950         * lib/c-strncasecmp.c: New file, from GNU gettext.
37951
37952 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37953
37954         * modules/mempcpy (License): GPL -> LGPL.
37955         * modules/strchrnul (License): Likewise.
37956         * modules/sysexits (License): Likewise.
37957
37958 2005-10-08  Simon Josefsson  <jas@extundo.com>
37959
37960         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
37961
37962 2005-10-07  Simon Josefsson  <jas@extundo.com>
37963
37964         * m4/memxor.m4: Remove gl_C_RESTRICT call.
37965
37966 2005-10-06  Simon Josefsson  <jas@extundo.com>
37967
37968         * tests/test-hmac-md5.c: New file.
37969
37970         * modules/hmac-md5-tests: New file.
37971
37972         * modules/hmac-md5: New file.
37973
37974 2005-10-06  Simon Josefsson  <jas@extundo.com>
37975
37976         * m4/hmac-md5.m4: New file.
37977
37978         * m4/memxor.m4: Require gl_C_RESTRICT.
37979
37980 2005-10-06  Simon Josefsson  <jas@extundo.com>
37981
37982         * lib/memxor.c (memxor): Avoid casts and warnings.
37983
37984 2005-10-06  Simon Josefsson  <jas@extundo.com>
37985
37986         * lib/hmac-md5.c: New file.
37987
37988         * lib/hmac.h: New file.
37989
37990 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
37991
37992         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
37993         promotes to int, not unsigned int, to catch the AIX 5.3
37994         compiler bug.
37995
37996 2005-10-05  Simon Josefsson  <jas@extundo.com>
37997
37998         * modules/memxor: New file.
37999
38000         * modules/iconv (Files): Move config.rpath to havelib, it is used
38001         there.
38002
38003         * modules/havelib (Files): Add config.rpath.
38004
38005 2005-10-05  Simon Josefsson  <jas@extundo.com>
38006
38007         * m4/memxor.m4: New file.
38008
38009 2005-10-05  Simon Josefsson  <jas@extundo.com>
38010
38011         * lib/memxor.c (memxor): Fix compiler error.
38012
38013         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
38014         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
38015
38016         * lib/memxor.h, lib/memxor.c: New files.
38017
38018         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
38019         we assume all systems have it, suggested by Jim Meyering
38020         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
38021         any systems lack sys/socket.h; mingw32 is known to lack it, but we
38022         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
38023         same reasons.
38024
38025 2005-10-05  Simon Josefsson  <jas@extundo.com>
38026
38027         * config/srclist.txt: Add glibc bug 1423 for md5.h.
38028
38029 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
38030
38031         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
38032         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
38033         needed, since the source code now assumes these .h files.
38034
38035 2005-10-05  Derek Price  <derek@ximbiot.com>
38036
38037         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
38038
38039 2005-10-05  Bruno Haible  <bruno@clisp.org>
38040
38041         * modules/stdint (License): Change to LGPL.
38042
38043 2005-10-04  Simon Josefsson  <jas@extundo.com>
38044
38045         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
38046         D. Baushke" <mdb@gnu.org>.
38047
38048 2005-10-04  Bruno Haible  <bruno@clisp.org>
38049
38050         * lib/verify.h (verify_true): Provide alternative definition for C++.
38051
38052 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
38053
38054         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
38055         (SSIZE_MAX): New macro, if not already defined.
38056         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
38057         than 2 GiB.
38058
38059 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
38060
38061         Sync from coreutils.
38062         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
38063         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
38064         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
38065         ULLONG_MAX doesn't work with 2.7.2.1.
38066
38067 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
38068
38069         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
38070         From Ben Pfaff.
38071
38072         * modules/exclude (Depends-on): Depend on verify.
38073         * modules/strtoimax (Depends-on): Likewise.
38074         * modules/utimecmp (Depends-on): Likewise.
38075
38076 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
38077
38078         * lib/exclude.c: Include verify.h.
38079         (verify): Remove.  All callers changed to use verify.h's version.
38080         * lib/strtoimax.c: Likewise.
38081         * lib/utimecmp.c: Likewis.e
38082
38083         Sync from coreutils.
38084         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
38085         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
38086         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
38087         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
38088         bother returning ENOSYS if settimeofday or stime fails; just let
38089         them return whatever errno they want to return.
38090         * lib/utimens.c: Include unistd.h, for dup2.
38091         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
38092         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
38093
38094 2005-10-02  Jim Meyering  <jim@meyering.net>
38095
38096         Sync from coreutils.
38097         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
38098         from glibc-2.2.5 that fails for read-only files.
38099
38100 2005-10-02  Jim Meyering  <jim@meyering.net>
38101
38102         Sync from coreutils.
38103         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
38104         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
38105         `#if HAVE_CONFIG_H'.
38106         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
38107         Remove AT_FDCWD test.
38108         Do not consume the fd unless successful.
38109         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
38110         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
38111         block, so that we don't even try to compile it if settimeofday is
38112         available.  This works around a compilation failure on OSF1 V5.1,
38113         due to stime requiring a `long int*' while tv_sec is `int'.
38114
38115 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
38116
38117         Sync from coreutils.
38118         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
38119         against `yes', rather than just testing for nonempty.
38120
38121 2005-10-01  Simon Josefsson  <jas@extundo.com>
38122
38123         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
38124         and Darwin.
38125
38126         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
38127         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
38128         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
38129         freeaddrinfo and gai_strerror are declared by the POSIX headers.
38130         Check if struct addrinfo is declared.
38131
38132 2005-10-01  Simon Josefsson  <jas@extundo.com>
38133
38134         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
38135         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
38136         AI_* and EAI_* definitions.  Protect function declarations.
38137
38138 2005-10-01  Jim Meyering  <jim@meyering.net>
38139
38140         Sync from coreutils.
38141
38142         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
38143         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
38144         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
38145         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
38146         in the inet and nsl libraries.  Required on Solaris 5.7.
38147
38148 2005-10-01  Jim Meyering  <jim@meyering.net>
38149
38150         Sync from coreutils.
38151         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
38152         in the inet and nsl libraries.  Required on Solaris 5.7.
38153
38154 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
38155
38156         * lib/getdelim.c (getdelim): Remove unused variables.
38157
38158 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
38159
38160         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
38161         so that the code works even with ancient cpp.  Portability problem
38162         with GCC 2.7.2.1 reported by Thomas M.Ott.
38163
38164 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
38165
38166         * modules/regex (Depends-on): Add strcase.
38167
38168         * modules/gethostname (Licence): Change from GPL to LGPL, since
38169         gethostname.c is a trivial implementation of a standard library
38170         function.
38171         * modules/poll (License): Change from GPL to LGPL, since it's
38172         derived from LGPL code.
38173
38174 2005-09-27  Jim Meyering  <jim@meyering.net>
38175
38176         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
38177         HAVE_CONFIG_H.
38178
38179         * lib/intprops.h (signed_type_or_expr__): Define.
38180         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
38181         for unsigned types.
38182
38183 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
38184
38185         * lib/verify.h (verify_expr): Remove, replacing with:
38186         (verify_true): New macro that returns true instead of void.
38187         (verify_type__): Remove.
38188         (verify): Use verify_true rather than verify_type__.
38189
38190 2005-09-26  Bruno Haible  <bruno@clisp.org>
38191
38192         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
38193         is necessary.
38194         (lib_SOURCES): Remove mbchar.c.
38195         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
38196         (Files): Add m4/mbrtowc.m4.
38197         * modules/mbiter: Likewise.
38198         * modules/mbuiter: Likewise.
38199
38200 2005-09-26  Bruno Haible  <bruno@clisp.org>
38201
38202         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
38203         compile mbchar.c if they are not both present.
38204         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
38205         * m4/mbiter.m4 (gl_MBITER): Likewise.
38206         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
38207         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
38208         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
38209
38210 2005-09-25  Jim Meyering  <jim@meyering.net>
38211
38212         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
38213         also uses socklen_t.
38214
38215 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
38216
38217         * lib/utimens.c (ENOSYS): Define if not already defined.
38218         (futimens): Support having a null PATH if the file descriptor
38219         is nonnegative.
38220
38221         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
38222         Remove.
38223         (__attribute): Define to empty unless GCC 3.1 or later.
38224         This works around a core dump on OpenBSD 3.4, which has GCC
38225         2.95.3, which dumps core when given __attribute__(()).  It also
38226         simplifies other tests, since we really don't want to bother with
38227         worrying about which ancient version of GCC supported what.
38228         Original problem reported by Yoann Vandoorselaere, with part of
38229         the fix suggested by Derek Price.
38230
38231 2005-09-24  Jim Meyering  <jim@meyering.net>
38232
38233         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
38234         so we can once again use a positive bitfield width of 1 -- now we
38235         don't have to explain why we were using a bitfield width of 2.
38236
38237 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
38238
38239         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
38240         and similarly for the other external symbols.  Problem reported
38241         by James Gallager.
38242
38243         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
38244         bug reported by Jim Meyering.
38245
38246         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
38247         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
38248         not needed, since socklen is a prerequisite module.
38249
38250 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
38251
38252         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
38253         Problem reported by Eric Blake.
38254         (getaddrinfo): Initialize se so that it's not garbage.
38255         Redo internal storage allocation so that it doesn't make unportable
38256         assumptions about alignment.
38257         Fix a memory leak.
38258
38259         * lib/utimens.c (futimens): Use futimesat if available.
38260         Prefer it to futimes since it doesn't have the futimes bug.
38261
38262         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
38263         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
38264         Instead, declare a function that returns a pointer to an array,
38265         and use verify_type__ to declare the size of the array.
38266         Problem and germ of a solution reported by Bruno Haible.
38267         (verify_type__): Use 2, not 1, for bitfield size, to avoid
38268         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
38269
38270 2005-09-23  Jim Meyering  <jim@meyering.net>
38271
38272         Sync from coreutils.
38273         Correct build failure (socklen_t not defined) on at least
38274         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
38275         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
38276
38277 2005-09-23  Jim Meyering  <jim@meyering.net>
38278
38279         * modules/getaddrinfo (Depends-on): Add socklen.
38280
38281 2005-09-23  Bruno Haible  <bruno@clisp.org>
38282
38283         * tests/test-verify.c: New file.
38284
38285 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
38286
38287         Sync from coreutils.
38288
38289         * modules/argmatch (Depends-on): Add verify.
38290         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
38291         unistd-safer.
38292         * modules/save-cwd (Depends-on): Likewise.
38293
38294         * modules/openat (Files): Add lib/openat-die.c.
38295         (Depends-on): Remove error, exitfail.
38296         Add dirname.
38297
38298         * modules/verify: New file.
38299         * MODULES.html.sh (Diagnostics <assert.h>): New section,
38300         with "verify" module.
38301
38302 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
38303
38304         Sync from coreutils.
38305
38306         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
38307         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
38308         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
38309         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
38310         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
38311         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
38312         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
38313         Don't bother checking for string.h, stdlib.h, unistd.h.
38314         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
38315         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
38316         module's job.
38317         * m4/jm-macros.m4 (gl_MACROS): Likewise.
38318         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
38319
38320         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
38321         (gl_GETDATE): Use it.
38322
38323         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
38324
38325 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
38326
38327         Sync from coreutils.
38328
38329         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
38330         stat-time.h.
38331         * lib/argmatch.h: Include verify.h
38332         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
38333         (ARGMATCH_ASSERT): Remove; unused.
38334         * lib/canonicalize.c: Assume STDC_HEADERS.
38335         * lib/exclude.c: Include "strcase.h".
38336         * lib/regex_internal.h [!defined _LIBC]: Likewise.
38337         * lib/getusershell.c: Include stdio--.h rather than stdio.h
38338         and stdio-safer.h.
38339         (getusershell): Call fopen, not fopen_safer.
38340         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
38341         Do not include unistd-safer.h.
38342         (save_cwd): Don't call fd_safer; no longer needed
38343         now that we include fcntl--.h.
38344
38345         * lib/getdate.y (relative_time): New type.
38346         (RELATIVE_TIME_0): New constant.
38347         (parser_control): Use relative_time instead of doing it ourselves.
38348         (%union): Add new relative_time rel member.
38349         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
38350         Now typeless.
38351         (relunit, relunit_snumber): Now of type rel.
38352         (zone, rel, relunit, get_date): Adjust to above changes.
38353
38354         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
38355         Do not include unistd-safer.h.
38356         (getloadavg): Don't call fd_safer; no longer needed
38357         now that we include fcntl--.h.
38358
38359         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
38360         (make_dir_parents): Treat ENOSYS like EEXIST.
38361
38362         Improve quality of diagnostics on restore_cwd failure.
38363         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
38364         (make_dir_parents): Last arg is now int * (for errno), not bool *.
38365         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
38366         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
38367         each time through the loop.  Do not diagnose restore_cwd failure;
38368         that is the caller's job (and perhaps the caller does not care).
38369
38370         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
38371         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
38372         If the file already exists but is not a directory, don't bother
38373         to try to make its parents.
38374         Close potential file descriptor leak if we can't chdir("/") (!).
38375         Don't always return true if chdir($PWD) fails; return true only
38376         if the requested action was done successfully (except for the
38377         chdir($PWD)).
38378         Don't log final directory unless we actually made it.
38379         Refactor to avoid duplicate code to fix up permissions.
38380         Don't attempt to fix up parent permissions if chdir($PWD) fails.
38381
38382         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
38383         to make it a bit faster and (I hope) clearer.
38384         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
38385         Fix bug in formats like %2N.
38386
38387         * lib/verify.h: New file.
38388
38389 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
38390
38391         Sync from coreutils.
38392         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
38393
38394 2005-09-22  Jim Meyering  <jim@meyering.net>
38395
38396         Sync from coreutils.
38397
38398         * m4/lstat.m4 (gl_FUNC_LSTAT):
38399         Use AC_LIBSOURCES to require lstat.c and lstat.h.
38400         Remove obsolete comment.
38401         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
38402         * m4/xstrtod.m4: Likewise.
38403
38404         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
38405
38406 2005-09-22  Jim Meyering  <jim@meyering.net>
38407
38408         Sync from coreutils.
38409
38410         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
38411
38412         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
38413         the .tm_year member, since otherwise gcc-4.0 would now warn about
38414         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
38415
38416         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
38417         order to avoid an unsuppressible warning from gcc on 64-bit systems.
38418
38419         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
38420         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
38421         when run in a time zone for which daylight savings time is in effect
38422         for the starting date.
38423
38424         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
38425         stop us from restricting permissions of just-created absolute-named
38426         directories.
38427         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
38428         to restore initial working directory.
38429         * lib/mkdir-p.c (make_dir_parents): New parameter:
38430         different_working_dir, to tell caller if/when we change the working
38431         directory and are unable to return to the initial one.
38432         * lib/mkdir-p.h (make_dir_parents): Update prototype.
38433         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
38434         `return false'.  This fixes a bug introduced on 2004-07-30.
38435
38436         * lib/openat.c (fdopendir): Be sure to close the supplied
38437         file descriptor before returning.  This makes our replacement
38438         implementation a little closer to Solaris's, where fdopendir
38439         ties the file descriptor to the returned DIR* pointer.
38440         * lib/openat.c (unlinkat): New function.
38441         * lib/openat.h (unlinkat): Add prototype.
38442         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
38443         (openat_restore_fail): Rename from openat_restore_die.
38444         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
38445
38446         Provide an alternative to exiting immediately upon save_cwd or
38447         restore_cwd failure.  Now, an application can arrange e.g.,
38448         to perform a longjump in that case.
38449         * lib/openat.c: Include dirname.h.
38450         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
38451         (rpl_openat, fdopendir, fstatat): Call openat_save_die
38452         and openat_restore_die rather than calling error directly.
38453         Don't include "error.h" or "exitfail.h"; they're no longer needed.
38454
38455         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
38456         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
38457         define.
38458
38459         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
38460         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
38461                             int utc, int nanoseconds);
38462         Background:
38463         date should not have to allocate a megabyte of virtual memory to
38464         handle a format argument like +%1048575T.  When implemented with
38465         strftime, it must allocate such a buffer, use strftime to fill it
38466         in, print it, then free it.
38467         With fprintftime, it simply prints everything and exits.
38468         With no need for memory allocation, that's one fewer way to fail.
38469         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
38470         optional field width, not before, so we accept %9:z, not %:9z.
38471         (my_strftime): Be sure to use L_('x') for literals.
38472
38473         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
38474         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
38475         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
38476         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
38477         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
38478         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
38479         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
38480         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
38481         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
38482         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
38483         * lib/xgethostname.c, lib/xreadlink.c:
38484         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
38485
38486         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
38487         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
38488         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
38489         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
38490         and don't include <sys/file.h>).
38491
38492 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
38493
38494         Sync from coreutils.
38495
38496         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
38497         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
38498         [!LDAV_DONE]: Avoid unused variable warning.
38499
38500 2005-09-21  Bruno Haible  <bruno@clisp.org>
38501
38502         * lib/unicodeio.h (unicode_to_mb): New declaration.
38503
38504 2005-09-20  Derek Price  <derek@ximbiot.com>
38505
38506         * lib/getaddrinfo.c: Don't include <netdb.h> included from
38507         getaddrinfo.h.
38508
38509 2005-09-20  Bruno Haible  <bruno@clisp.org>
38510
38511         * gnulib-tool: Remove trailing slashes from the values specified for
38512         --source-base, --m4-base, --tests-base, --aux-dir.
38513         Suggested by Simon Josefsson <jas@extundo.com>.
38514
38515 2005-09-20  Bruno Haible  <bruno@clisp.org>
38516
38517         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
38518         func_modules_to_filelist, func_import, func_create_testdir): Make all
38519         sorting results locale-independent, so that gnulib-cache.m4 doesn't
38520         change when gnulib-tool is invoked in a different locale.
38521
38522 2005-09-19  Simon Josefsson  <jas@extundo.com>
38523
38524         * m4/socklen.m4: Fix typo.
38525
38526 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38527
38528         Use a consistent style for including <config.h>.
38529         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
38530         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
38531         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
38532         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
38533         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
38534         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
38535         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
38536         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
38537         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
38538         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
38539         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
38540         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
38541         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
38542         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
38543         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
38544         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
38545         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
38546         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
38547         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
38548         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
38549         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
38550         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
38551         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
38552         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
38553         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
38554         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
38555         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
38556         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
38557         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
38558         lib/xstrtoumax.c, lib/yesno.c:
38559         Standardize inclusion of config.h.
38560         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
38561         lib/inttostr.h:  Removed inclusion of config.h from header files.
38562         * lib/inttostr.c:  Adjusted in-tree users.
38563         * lib/timespec.h: Remove superfluous warning to include config.h.
38564         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
38565         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
38566         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
38567         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
38568         config.h with HAVE_CONFIG_H.
38569
38570 2005-09-19  Jim Meyering  <jim@meyering.net>
38571
38572         * modules/pathmax (License): Change to LGPL.
38573
38574 2005-09-19  Derek Price  <derek@ximbiot.com>
38575
38576         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
38577
38578 2005-09-19  Bruno Haible  <bruno@clisp.org>
38579
38580         * gnulib-tool (import): Provide default for --tests-base.
38581
38582 2005-09-19  Bruno Haible  <bruno@clisp.org>
38583
38584         * doc/quote.texi: New file, extracted from gnulib.texi.
38585         * doc/ctime.texi: New file, extracted from gnulib.texi.
38586         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
38587         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
38588         * doc/gnulib.texi: Include them.
38589
38590 2005-09-18  Bruno Haible  <bruno@clisp.org>
38591
38592         Portability fix.
38593         * gnulib-tool (func_readlink): New function.
38594         (func_ln_if_changed): Use it.
38595
38596 2005-09-18  Bruno Haible  <bruno@clisp.org>
38597
38598         * gnulib-tool: Support --with-tests also with --import.
38599         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
38600         (func_import): Use variables $testsbase and $inctests. Emit a
38601         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
38602         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
38603         SUBDIRS += $testsdir.
38604         (func_create_testdir): Update.
38605
38606 2005-09-18  Bruno Haible  <bruno@clisp.org>
38607
38608         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
38609         instead of $dry_run.
38610         (func_cp_if_changed, func_mv_if_changed): Remove functions.
38611         (func_ln_if_changed): Don't handle dry-run here.
38612         (func_import): In dry-run mode, detect more precisely which actions
38613         would be performed, and don't use "...ing" verbs.
38614
38615 2005-09-18  Bruno Haible  <bruno@clisp.org>
38616
38617         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
38618         (func_import): Use join on two temporary files instead of three nested
38619         loops, in order to determine which files are new or old.
38620
38621 2005-09-18  Bruno Haible  <bruno@clisp.org>
38622
38623         * gnulib-tool (func_import): Comment out code that spits out the
38624         new files with --dry-run.
38625
38626 2005-09-18  Bruno Haible  <bruno@clisp.org>
38627
38628         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
38629
38630 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
38631
38632         * lib/stat-time.h: New file.
38633         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
38634         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
38635         in a different way.
38636         (timespec_cmp): New function.
38637         * lib/utimecmp.c: Include stat-time.h.
38638         (SYSCALL_RESOLUTION): Depend on whether various struct stat
38639         members exist, not on the obsolescent ST_MTIM_NSEC.
38640         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
38641
38642 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
38643
38644         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
38645
38646 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
38647
38648         * MODULES.html.sh (File system functions): Add stat-time.
38649         * modules/stat-time: New file.
38650         * modules/timespec (Files): Remove m4/st_mtim.m4; this
38651         is now done in a different way, by the stat-time module.
38652         * modules/utimecmp (Depends-on): Add stat-time.
38653
38654 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
38655
38656         * m4/st_mtim.m4: Remove.  Superseded by...
38657         * m4/stat-time.m4: New file.
38658         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
38659         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
38660
38661 2005-09-15  Derek Price  <derek@ximbiot.com>
38662
38663         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
38664
38665 2005-09-15  Derek Price  <derek@ximbiot.com>
38666
38667         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
38668         * lib/regex_internal.c: Ditto, using this...
38669         (__GNUC_PREREQ): ...new macro.
38670         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
38671         using...
38672         (__GNUC_PREREQ): ...this new macro.
38673
38674         * lib/strstr.h: Include string.h. Define strstr as a macro here.
38675
38676 2005-09-15  Derek Price  <derek@ximbiot.com>
38677             Paul Eggert  <eggert@cs.ucla.edu>
38678
38679         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
38680         changes, consolidating in...
38681         * lib/regex_internal.h: ...this file.
38682
38683 2005-09-13  Jim Meyering  <jim@meyering.net>
38684
38685         * lib/canon-host.c: Filter through gnu indent and reword comments
38686         slightly.
38687         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
38688
38689 2005-09-13  Derek Price  <derek@ximbiot.com>
38690
38691         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
38692         failure.
38693         Reported by Jim Meyering  <jim@meyering.net>.
38694
38695 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
38696
38697         * lib/base64.c: Typo.
38698         (base64_encode): Put b64str in initialized data section.
38699
38700 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
38701
38702         Merge glibc and coreutils changes into gnulib, plus a few
38703         extra fixes.
38704         * lib/md5.c: Use #error rather than a string.
38705         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
38706         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
38707         (__attribute__): Define to empty for non recent-GCC.
38708         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
38709         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
38710         Renamed from their non-__ counterparts, with new macros replacing
38711         them if not _LIBC.  Add __THROW attribute.
38712         (rol): Remove.
38713         (struct md5_ctx): Align buffer if using GCC.
38714         * lib/sha1.h (struct sha1_ctx): Likewise.
38715         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
38716         The old name was backwards.
38717         (NOTSWAP): Remove; not used.
38718         (rol): New macro, moved here from md5.h.
38719         (sha1_process_block): Remove a FIXME that doesn't make sense.
38720
38721 2005-09-12  Derek Price  <derek@ximbiot.com>
38722
38723         Return usable errors from canon-host.
38724         * lib/canon-host.h: New file.
38725         * lib/canon-host.c (canon_host): Wrap...
38726         (canon_host_r): ...this new function, which now relies exclusively on
38727         getaddrinfo.
38728         (ch_strerror): New function.
38729         (last_cherror): New global.
38730         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
38731         interface.
38732         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
38733         void *.
38734         (freeaddrinfo): Free ai->ai_canonname when set.
38735
38736 2005-09-12  Derek Price  <derek@ximbiot.com>
38737
38738         Make canon-host require getaddrinfo.
38739         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
38740         AC_LIBSOURCE canon-host.h.  Call...
38741         (gl_PREREQ_CANON_HOST): ...this new function, which requires
38742         gl_GETADDRINFO.
38743         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
38744
38745 2005-09-12  Derek Price  <derek@ximbiot.com>
38746
38747         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
38748         LGPL.
38749         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
38750
38751 2005-09-12  Derek Price  <derek@ximbiot.com>
38752
38753         * lib/gai_strerror.c: Include config.h when available.  Include
38754         getaddrinfo.h before other headers to test interface.
38755         Reported by Larry Jones <lawrence.jones@ugs.com>.
38756
38757 2005-09-12  Derek Price  <derek@ximbiot.com>
38758             Paul Eggert  <eggert@cs.ucla.edu>
38759
38760         * modules/glob (Files): Add glob-libc.h.
38761
38762 2005-09-12  Derek Price  <derek@ximbiot.com>
38763             Paul Eggert  <eggert@cs.ucla.edu>
38764
38765         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
38766         glob_.h, glob-libc.h.
38767         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
38768
38769 2005-09-12  Derek Price  <derek@ximbiot.com>
38770             Paul Eggert  <eggert@cs.ucla.edu>
38771
38772         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
38773         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
38774         protecting things that should be done only in gnulib contexts.
38775         * lib/glob_.h: New file, containing only the glob things needed for
38776         gnulib.
38777         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
38778         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
38779         (glob, globfree, glob_pattern_p): Now defined simply in terms of
38780         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
38781         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
38782         and to respect the namespace rules better.
38783
38784 2005-09-08  Simon Josefsson  <jas@extundo.com>
38785
38786         * modules/socklen: New file.
38787
38788 2005-09-08  Simon Josefsson  <jas@extundo.com>
38789
38790         * m4/socklen.m4: New file.
38791
38792 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38793
38794         * modules/utimens (Files): Add m4/utimbuf.m4, since
38795         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
38796         Reported by Sergey Poznyakoff.
38797
38798 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38799
38800         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
38801         definitions, since that's the preferred style in glibc.
38802         Fix a minor spacing issue, and update copyright notice to match
38803         glibc's.
38804
38805 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
38806
38807         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
38808
38809 2005-09-06  Simon Josefsson  <jas@extundo.com>
38810
38811         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
38812         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
38813
38814 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
38815
38816         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
38817         warning.
38818
38819 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
38820
38821         * config/srclist.txt: Add glibc bug 1302.
38822
38823 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
38824
38825         Change bitset word type from unsigned int to unsigned long int,
38826         as this has better performance on typical 64-bit hosts.
38827         Port bitset code to hosts with unusual word sizes.
38828         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
38829         (build_collating_symbol):
38830         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
38831         argument is a bitset.  This is merely a style issue, but it makes
38832         it clearer that an entire array is expected.
38833         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
38834         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
38835         Port to the case where bitset_word is not the same as unsigned int.
38836         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
38837         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
38838         Likewise.
38839         * lib/regexec.c (check_dst_limits_calc_pos_1,
38840         check_subexp_matching_top):
38841         (build_trtable, group_nodes_into_DFAstates):
38842         Likewise.
38843         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
38844         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
38845         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
38846         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
38847         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
38848         * lib/regcomp.c (optimize_subexps, lower_subexp):
38849         Work even if bitset_word has holes in its bitwise representation.
38850         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
38851         * lib/regexec.c (check_dst_limits_calc_pos_1,
38852         check_subexp_matching_top):
38853         Likewise.
38854         * lib/regex_internal.c (re_string_reconstruct):
38855         Don't assume UCHAR_MAX == 255.
38856         * lib/regex_internal.h (bitset_set_all): Likewise.
38857         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
38858         All uses changed.
38859         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
38860         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
38861         All uses changed.
38862         (BITSET_WORD_MAX): New macro.
38863         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
38864         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
38865         (bitset_empty, bitset_copy):
38866         Prefer sizeof (bitset) to multiplying it out ourselves.
38867         (bitset_not_merge): Remove; unused.
38868         (bitset_contain): Return bool, not unsigned int with one bit on.
38869         All callers changed.
38870         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
38871         alignment than re_node_set; do this by defining a new internal
38872         type struct dests_alloc and using it to allocate memory.
38873
38874 2005-09-05  Bruno Haible  <bruno@clisp.org>
38875
38876         * gnulib-tool (func_import): Fix comparison in handling of symbolic
38877         links.
38878
38879 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
38880
38881         * modules/size_max (Makefile.am): Add size_max.h
38882
38883 2005-09-04  Derek Price  <derek@ximbiot.com>
38884
38885         * gnulib-tool (func_import): Fix reversed $symbolic logic.
38886
38887 2005-09-03  Simon Josefsson  <jas@extundo.com>
38888
38889         * gnulib-tool: Fix typo.
38890
38891 2005-09-03  Simon Josefsson  <jas@extundo.com>
38892
38893         * config/srclist.txt: Add glibc bug 1293.
38894
38895 2005-09-03  Derek Price  <derek@ximbiot.com>
38896
38897         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
38898         From Larry Jones <lawrence.jones@ugs.com>.
38899
38900 2005-09-02  Simon Josefsson  <jas@extundo.com>
38901
38902         * modules/socklen: New file.
38903
38904 2005-09-02  Simon Josefsson  <jas@extundo.com>
38905
38906         * modules/havelib: New module.
38907
38908         * modules/gettext, modules/iconv, modules/lock, modules/readline:
38909         Use havelib.
38910
38911 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
38912
38913         Check for arithmetic overflow when calculating sizes, to prevent
38914         some buffer-overflow issues.  These patches are conservative, in the
38915         sense that when I couldn't determine whether an overflow was possible,
38916         I inserted a run-time check.
38917         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
38918         macros.
38919         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
38920         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
38921         (re_xnrealloc, re_x2nrealloc): New inline functions.
38922         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
38923         parse_bracket_exp):
38924         (build_equiv_class, build_charclass): Check for arithmetic overflow
38925         in size expression calculations.
38926         * lib/regex_internal.c (re_string_realloc_buffers):
38927         (build_wcs_upper_buffer, re_node_set_add_intersect):
38928         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
38929         (re_dfa_add_node, register_state): Likewise.
38930         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
38931         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
38932         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
38933         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
38934
38935 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
38936
38937         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
38938         m4/ulonglong.m4.  Problem reported by Martin Lambers.
38939
38940 2005-09-02  Bruno Haible  <bruno@clisp.org>
38941
38942         Support for lib vs. lib64 distinction on biarch platforms.
38943         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
38944         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
38945         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
38946
38947 2005-09-02  Bruno Haible  <bruno@clisp.org>
38948
38949         * gnulib-tool (import): In the other first-use case, provide defaults
38950         as well.
38951
38952 2005-09-02  Bruno Haible  <bruno@clisp.org>
38953
38954         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
38955         patches not yet found in the latest gettext release.
38956
38957 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
38958
38959         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
38960         to avoid a collision with bits/local_lim.h in glibc.
38961         All uses changed.  Problem reported by Dmitry V. Levin in
38962         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
38963
38964         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
38965         bugs in int versus size_t comparisons.
38966         (re_string_context_at): Fix bug where the code assumed that
38967         Idx is signed.
38968
38969         Use bool where appropriate.
38970         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
38971         All callers changed.
38972         (calc_eclosure_iter): Likewise, for ROOT arg.
38973         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
38974         (build_charclass_op): Likewise, for NON_MATCH arg.
38975         * lib/regex_internal.c (re_string_allocate, re_string_construct):
38976         (re_string_construct_common): Likewise, for ICASE arg.
38977         * lib/regexec.c (re_search_2_stub, re_search_stub):
38978         Likewise, for RET_LEN arg.
38979         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
38980         (set_regs): Likewise, for FL_BACKTRACK arg.
38981         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
38982         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
38983         (calc_eclosure_iter, parse_bracket_exp):
38984         Use bool for internal variables that are booleans.
38985         * lib/regexec.c (re_search_internal, check_matching,
38986         proceed_next_node):
38987         (set_regs, build_sifted_states, sift_states_bkref):
38988         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
38989         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
38990         (find_collation_sequence_value):
38991         Likewise.
38992         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
38993         (re_node_set_compare):
38994         Return bool, not int. All callers changed.
38995         * lib/regexec.c (check_halt_node_context, check_dst_limits):
38996         (build_trtable, check_node_accept): Likewise.
38997         * lib/regex_internal.h: Include stdbool.h.
38998
38999         Fix bugs uncovered when converting to bool.
39000         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
39001         failure instead of charging ahead blindly.
39002         * lib/regex_internal.c (register_state): Likewise.
39003         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
39004         for freeing internal storage.
39005         (group_nodes_into_DFA_states): Use unsigned int, not int, for
39006         bitset pieces used as boolean, to avoid undefined behavior
39007         on hosts that do int overflow checking.
39008
39009 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
39010
39011         * config/srclist.txt: Add glibc bugs 1285-1287.
39012
39013 2005-09-01  Jim Meyering  <jim@meyering.net>
39014
39015         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
39016         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
39017         Require gl_STAT_MACROS, too.
39018
39019 2005-09-01  Bruno Haible  <bruno@clisp.org>
39020
39021         * gnulib-tool (import): In the first-use case, provide defaults.
39022
39023 2005-09-01  Bruno Haible  <bruno@clisp.org>
39024
39025         * gnulib-tool (func_import): Remove the .tmp files.
39026
39027 2005-09-01  Bruno Haible  <bruno@clisp.org>
39028
39029         * gnulib-tool (func_import): Fix handling of symbolic links.
39030
39031 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
39032
39033         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
39034         old glibc regex code mishandles strings longer than 2**31 bytes.
39035         This patch fixes this when the regex code is used in gnulib
39036         (i.e., outside glibc).
39037
39038         This patch should not affect the use of the regex code inside
39039         glibc.  No doubt this problem also needs to be handled for glibc
39040         as well, but the result will be an incompatible change to the
39041         glibc ABI, and the old ABI will have to be supported too.  That
39042         can be the the subject for another patch.
39043
39044         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
39045         governing whether the rest of this patch is active.  By default,
39046         the macro is disabled and the patch has no effect.
39047         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
39048         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
39049         (struct re_pattern_buffer, re_search, re_search_2, re_match):
39050         (re_match_2, re_set_registers): Use the new types.
39051         * lib/regex_internal.h (Idx, re_hashval_t): New types.
39052         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
39053         New macros.
39054         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
39055         (re_string_context_at, bin_tree_t, re_dfastate_t):
39056         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
39057         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
39058         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
39059         (re_string_char_size_at, re_string_wchar_at):
39060         (re_string_elem_size_at):
39061         Use the new types and macros to port to 64-bit hosts.
39062         Use unsigned types for internal values, so that the code
39063         mostly works even for arrays larger than SSIZE_MAX.
39064         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
39065         (search_duplicated_node, calc_eclosure_iter, fetch_number):
39066         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
39067         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
39068         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
39069         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
39070         (calc_inveclosure, parse_dup_op, build_range_exp):
39071         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
39072         (fetch_number, create_token_tree, mark_opt_subexp):
39073         Likewise.
39074         * lib/regex_internal.c (re_string_construct_common,
39075         create_ci_newstate):
39076         (create_cd_newstate, re_string_allocate, re_string_construct):
39077         (re_string_realloc_buffers, build_wcs_upper_buffer):
39078         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
39079         (re_string_reconstruct, re_string_peek_byte_case):
39080         (re_string_fetch_byte_case, re_string_context_at):
39081         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
39082         (re_node_set_init_copy, re_node_set_add_intersect):
39083         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
39084         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
39085         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
39086         (re_acquire_state, re_acquire_state_context, register_state):
39087         Likewise.
39088         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
39089         search_cur_bkref_entry):
39090         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
39091         (re_search_internal, re_search_2_stub, re_search_stub)
39092         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
39093         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
39094         (update_cur_sifted_state, check_dst_limits):
39095         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
39096         (check_subexp_limits, sift_states_bkref, merge_state_array):
39097         (check_subexp_matching_top, get_subexp, get_subexp_sub):
39098         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
39099         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
39100         (expand_bkref_cache, check_node_accept_bytes):
39101         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
39102         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
39103         (acquire_init_state_context, check_halt_node_context):
39104         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
39105         (sift_states_backward, clean_state_log_if_needed):
39106         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
39107         (find_recover_state, transit_state_sb, transit_state_mb):
39108         (transit_state_bkref, build_trtable, match_ctx_clean):
39109         Likewise.
39110         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
39111         to work around an assumption that REG_MISSING is negative.
39112
39113         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
39114         (seek_collating_symbol_entry) [defined _LIBC]:
39115         (lookup_collation_sequence_value) [defined _LIBC]:
39116         (build_range_exp, build_collating_symbol) [defined _LIBC]:
39117         Use prototypes rather than old-style function definitions.
39118         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
39119         (transit_state_sb) [0]:
39120         (find_collation_sequence_value) [defined _LIBC]: Likewise.
39121
39122         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
39123         rm_eo.
39124
39125         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
39126         (optimize_subexps, lower_subexp):
39127         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
39128         since the signed shift might overflow.  Use 1u<<31 instead.
39129         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
39130         Likewise.
39131         * lib/regexec.c (check_dst_limits_calc_pos_1,
39132         check_subexp_matching_top): Likewise.
39133
39134         * lib/regcomp.c (optimize_subexps, lower_subexp):
39135         Use CHAR_BIT rather than 8, for clarity.
39136         * lib/regexec.c (check_dst_limits_calc_pos_1):
39137         (check_subexp_matching_top): Likewise.
39138         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
39139         have to worry about portability issues when shifting it left.
39140         Remove no-longer-needed test for table_size > 0.
39141         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
39142         in a word, as the resulting behavior is undefined.
39143         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
39144         in one case, a <= should have been an <, and in another case the
39145         whole test was missing.
39146         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
39147         the standard name CHAR_BIT.
39148         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
39149         this is not true on one's complement and signed-magnitude hosts.
39150
39151         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
39152         next_last_offset.
39153         (struct re_dfa_t): Remove unused member states_alloc.
39154         * lib/regcomp.c (init_dfa): Don't initialize unused members.
39155
39156 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
39157
39158         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
39159         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
39160         and large-file glibc and in 32-bit large-file Solaris.
39161
39162 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
39163
39164         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
39165         lengths fit in regoff_t; this isn't true if regoff_t is the same
39166         width as size_t.
39167         * lib/regex.c (re_search_internal): 5th arg is LAST_START
39168         (= START + RANGE) instead of RANGE.  This avoids overflow
39169         problems when regoff_t is the same width as size_t.
39170         All callers changed.
39171         (re_search_2_stub): Check for overflow when adding the
39172         sizes of the two strings.
39173         (re_search_stub): Check for overflow when adding START
39174         to RANGE; if it occurs, substitute the extreme value.
39175
39176 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
39177
39178         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
39179
39180 2005-08-31  Jim Meyering  <jim@meyering.net>
39181
39182         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
39183         a pointer-to-const.
39184         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
39185         (register_state): Likewise.
39186         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
39187         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
39188         (group_nodes_into_DFAstates): Likewise.
39189
39190 2005-08-31  Jim Meyering  <jim@meyering.net>
39191
39192         * check-module: Add a FIXME comment.
39193
39194 2005-08-31  Eric Blake  <ebb9@byu.net>
39195
39196         * modules/unistd-safer (Files): Add unistd--.h.
39197         * modules/stdio-safer (Files): Add stdio--.h.
39198
39199 2005-08-31  Derek Price  <derek@ximbiot.com>
39200
39201         * lib/getdelim.c (getdelim): Return EOF on EOF.
39202         Reported by Larry Jones <lawrence.jones@ugs.com>.
39203
39204 2005-08-31  Bruno Haible  <bruno@clisp.org>
39205
39206         Avoid unnecessary diffs in the generated lib/Makefile.am.
39207         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
39208         the generated files.
39209         (func_import): Don't set cmd.
39210
39211 2005-08-31  Bruno Haible  <bruno@clisp.org>
39212
39213         * lib/strstr.c: Include <stddef.h>, for NULL.
39214         * lib/strcasestr.c: Likewise.
39215         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39216
39217 2005-08-31  Bruno Haible  <bruno@clisp.org>
39218
39219         * gnulib-tool: New option --macro-prefix.
39220         (func_import): Use macro_prefix.
39221         (import): Handle option --macro-prefix.
39222
39223 2005-08-31  Bruno Haible  <bruno@clisp.org>
39224
39225         * gnulib-tool (import): Rename most ac_* variables to cached_*.
39226         Also use new variables cached_lgpl, cached_libtool.
39227
39228 2005-08-31  Bruno Haible  <bruno@clisp.org>
39229
39230         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
39231         always instantiating them.
39232
39233 2005-08-31  Bruno Haible  <bruno@clisp.org>
39234
39235         * gnulib-tool (func_import): Read the previous cached settings
39236         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
39237         earlier added by gnulib but are now dropped. Warn when a gnulib file
39238         overwrites a non-gnulib file.
39239
39240 2005-08-31  Bruno Haible  <bruno@clisp.org>
39241
39242         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
39243         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
39244         projects that don't keep autogenerated files in CVS. Put into
39245         actioncmd only the specified modules, not the transitive closure.
39246
39247 2005-08-31  Bruno Haible  <bruno@clisp.org>
39248
39249         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
39250         Create directories that shall be filled.
39251         (import): Don't look for gl_* macros in configure.ac. Recurse across
39252         all directories containing a gnulib-cache.m4 files, if meaningful.
39253
39254 2005-08-31  Bruno Haible  <bruno@clisp.org>
39255
39256         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
39257         (import): Set seen_libtool when we see gl_LIBTOOL.
39258
39259 2005-08-31  Bruno Haible  <bruno@clisp.org>
39260
39261         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
39262         declaration macro definitions from generated gnulib.m4.
39263
39264 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
39265
39266         * lib/iconvme.h: Add prototype for iconv_alloc.
39267
39268 2005-08-29  Simon Josefsson  <jas@extundo.com>
39269
39270         * lib/iconvme.c: Fix errno.
39271
39272 2005-08-29  Bruno Haible  <bruno@clisp.org>
39273
39274         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
39275         that it works when the directory contains spaces.
39276
39277 2005-08-29  Bruno Haible  <bruno@clisp.org>
39278
39279         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
39280
39281 2005-08-29  Bruno Haible  <bruno@clisp.org>
39282
39283         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
39284         Emit more advice.
39285
39286 2005-08-29  Bruno Haible  <bruno@clisp.org>
39287         and Stepan Kasal  <kasal@ucw.cz>
39288
39289         * check-module: If more parameters are given, check each of them
39290         separately; add more exceptions, as noted by Jim Meyering.
39291         (check_module): New procedure.
39292         (%exempt_header): Now contains all exceptions.
39293
39294 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
39295
39296         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
39297
39298 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
39299
39300         * lib/iconvme.c: Split iconv_string into iconv_alloc.
39301
39302 2005-08-28  Bruno Haible  <bruno@clisp.org>
39303
39304         * m4/gnulib-tool.m4: New file.
39305
39306 2005-08-27  Jim Meyering  <jim@meyering.net>
39307
39308         * modules/unistd-safer (Files): Add pipe-safer.c.
39309         * modules/fcntl-safer (Files): Add creat-safer.c.
39310
39311 2005-08-27  Jim Meyering  <jim@meyering.net>
39312
39313         * m4/stdlib-safer.m4: New file.  From coreutils.
39314         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
39315         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
39316         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
39317         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
39318         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
39319
39320 2005-08-27  Jim Meyering  <jim@meyering.net>
39321
39322         * lib/fopen-safer.c: Merge minor changes from coreutils.
39323         * lib/dup-safer.c: Likewise.
39324         * lib/fd-safer.c: Likewise.
39325
39326         Merge from coreutils.
39327         * lib/stdio--.h: New file.
39328         * lib/stdlib--.h: New file.
39329         * lib/mkstemp-safer.c: New file.
39330
39331         GNU tar needs these.
39332         * lib/pipe-safer.c: New file.
39333         * lib/creat-safer.c: New file.
39334         * lib/fcntl--.h (creat): Define to creat_safer.
39335         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
39336         * lib/unistd--.h (pipe): Define to pipe_safer.
39337         * lib/unistd-safer.h: Declare pipe_safer.
39338
39339 2005-08-26  Simon Josefsson  <jas@extundo.com>
39340
39341         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
39342         Haible <bruno@clisp.org>.
39343
39344 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
39345
39346         * lib/regex_internal.h: Remove all references to
39347         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
39348         or better.
39349         (bitset_not, bitset_merge, bitset_not_merge):
39350         (bitset_mask, re_string_allocate, re_string_construct):
39351         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
39352         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
39353         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
39354         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
39355         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
39356         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
39357         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
39358         (re_acquire_state_context):
39359         Remove unnecessary forward decls.
39360         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
39361         Put __attribute at function definition,
39362         now that the function decl has been removed.
39363         * lib/regex_internal.c (re_string_peek_byte_case):
39364         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
39365         Likewise.
39366
39367 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
39368
39369         * m4/regex.m4: Add AC_PREREQ(2.50).
39370         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
39371
39372 2005-08-25  Simon Josefsson  <jas@extundo.com>
39373
39374         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
39375         __fsetlocking.
39376
39377 2005-08-25  Simon Josefsson  <jas@extundo.com>
39378
39379         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
39380         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
39381         GLIBC specific code.
39382
39383 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
39384
39385         Make regex safe for g++.  This fixes one real bug (an "err"
39386         that should have been "*err").  g++ problem reported by
39387         Sam Steingold.
39388         * lib/regex_internal.h (re_calloc): New macro, consistent with
39389         re_malloc etc.  All callers of calloc changed to use re_calloc.
39390         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
39391         not int.  All callers changed.
39392         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
39393         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
39394         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
39395         (find_recover_state): Change "err" to "*err"; this fixes what
39396         appears to be a real bug.
39397         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
39398         versus int.
39399
39400 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
39401
39402         * modules/regex (Depends-on): Add malloc, since the code
39403         assumes that !malloc(0) means failure.
39404
39405 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
39406
39407         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
39408
39409         alloca modernization/simplification for regex.
39410         * lib/regex.c: Remove portability cruft for alloca.  This no longer
39411         needs to be at the start of the file, and can be moved into
39412         regex_internal.h and simplified.
39413         * lib/regex_internal.h: Include <alloca.h>.
39414         (__libc_use_alloca) [!defined _LIBC]: New macro.
39415         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
39416         now works outside glibc.
39417
39418 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
39419
39420         * config/srclist.txt: Add glibc bugs 1241, 1245.
39421
39422 2005-08-25  Jim Meyering  <jim@meyering.net>
39423
39424         * lib/open-safer.c: Include <config.h>.
39425         Otherwise, we'd lose LARGEFILE support in any file using
39426         e.g. "fcntl--.h"
39427
39428 2005-08-25  Bruno Haible  <bruno@clisp.org>
39429
39430         * m4/minmax.m4: Require autoconf 2.52.
39431         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
39432         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
39433         alternatives of translit over the alphabet.
39434         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
39435
39436 2005-08-24  Simon Josefsson  <jas@extundo.com>
39437
39438         * tests/test-getpass.c: New file.
39439
39440 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
39441
39442         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
39443         for GNU regex features.
39444
39445 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
39446
39447         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
39448         * lib/regex.h (regerror): Likewise.
39449
39450         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
39451         requires this.  (The code never needed it.)
39452
39453         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
39454         All uses of recently-renamed identifiers changed to use the new,
39455         POSIX-compliant names.  The code will build and run just fine
39456         without these changes, but it's better to eat our own dog food
39457         and use the standard-conforming names.
39458
39459         * lib/regex.h: Fix a multitude of POSIX name space violations.
39460         These changes have an effect only for programs that define
39461         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
39462         do not change anything for programs compiled in the normal way.
39463         Also, there is no effect on the ABI.
39464
39465         (_REGEX_SOURCE): New macro.
39466         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
39467         defined and _GNU_SOURCE is not; this fixes a name space violation.
39468
39469         Rename the following macros to obey POSIX requirements.
39470         The old names are still visible as macros if _REGEX_SOURCE is defined.
39471         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
39472         RE_BACKSLASH_ESCAPE_IN_LISTS.
39473         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
39474         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
39475         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
39476         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
39477         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
39478         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
39479         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
39480         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
39481         (REG_INTERVALS): renamed from RE_INTERVALS.
39482         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
39483         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
39484         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
39485         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
39486         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
39487         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
39488         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
39489         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
39490         RE_UNMATCHED_RIGHT_PAREN_ORD.
39491         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
39492         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
39493         (REG_DEBUG): renamed from RE_DEBUG.
39494         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
39495         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
39496         unusual, since we can't clash with the POSIX REG_ICASE.
39497         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
39498         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
39499         (REG_NO_SUB): renamed from RE_NO_SUB.
39500         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
39501         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
39502         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
39503         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
39504         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
39505         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
39506         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
39507         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
39508         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
39509         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
39510         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
39511         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
39512         RE_SYNTAX_POSIX_MINIMAL_BASIC.
39513         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
39514         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
39515         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
39516         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
39517         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
39518         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
39519         (REG_FIXED): Renamed from REGS_FIXED.
39520         (REG_NREGS): Renamed from RE_NREGS.
39521
39522         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
39523         of other REG_* macros, since POSIX says the user is allowed to
39524         #undef these macros selectively.
39525
39526         (reg_errcode_t): Update comment stating what other tables need
39527         to be consistent.
39528
39529         Rename the following enum values to obey POSIX requirements.
39530         The old names are still visible as macros.
39531         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
39532         is not defined, since GNU is supposed to be a superset of POSIX as
39533         much as possible, and since we want reg_errcode_t to be a signed
39534         type for implementation consistency.
39535         (_REG_NOERROR): Renamed from REG_NOERROR.
39536         (_REG_NOMATCH): Renamed from REG_NOMATCH.
39537         (_REG_BADPAT): Renamed from REG_BADPAT.
39538         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
39539         (_REG_ECTYPE): Renamed from REG_ECTYPE.
39540         (_REG_EESCAPE): Renamed from REG_EESCAPE.
39541         (_REG_ESUBREG): Renamed from REG_ESUBREG.
39542         (_REG_EBRACK): Renamed from REG_EBRACK.
39543         (_REG_EPAREN): Renamed from REG_EPAREN.
39544         (_REG_EBRACE): Renamed from REG_EBRACE.
39545         (_REG_BADBR): Renamed from REG_BADBR.
39546         (_REG_ERANGE): Renamed from REG_ERANGE.
39547         (_REG_ESPACE): Renamed from REG_ESPACE.
39548         (_REG_BADRPT): Renamed from REG_BADRPT.
39549         (_REG_EEND): Renamed from REG_EEND.
39550         (_REG_ESIZE): Renamed from REG_ESIZE.
39551         (_REG_ERPAREN): Renamed from REG_ERPAREN.
39552         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
39553         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
39554         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
39555         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
39556
39557         (_REG_RE_NAME, _REG_RM_NAME): New macros.
39558         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
39559         changed.  But support the old name if the new one is not defined
39560         and if _REGEX_SOURCE.
39561
39562         Change the following member names in struct re_pattern_buffer.
39563         The old names are still supported if !_REGEX_SOURCE.
39564         The new names are always supported, regardless of _REGEX_SOURCE.
39565         (re_buffer): Renamed from buffer.
39566         (re_allocated): Renamed from allocated.
39567         (re_used): Renamed from used.
39568         (re_syntax): Renamed from syntax.
39569         (re_fastmap): Renamed from fastmap.
39570         (re_translate): Renamed from translate.
39571         (re_can_be_null): Renamed from can_be_null.
39572         (re_regs_allocated): Renamed from regs_allocated.
39573         (re_fastmap_accurate): Renamed from fastmap_accurate.
39574         (re_no_sub): Renamed from no_sub.
39575         (re_not_bol): Renamed from not_bol.
39576         (re_not_eol): Renamed from not_eol.
39577         (re_newline_anchor): Renamed from newline_anchor.
39578
39579         Change the following member names in struct re_registers.
39580         The old names are still supported if !_REGEX_SOURCE.
39581         The new names are always supported, regardless of _REGEX_SOURCE.
39582         (rm_num_regs): Renamed from num_regs.
39583         (rm_start): Renamed from start.
39584         (rm_end): Renamed from end.
39585
39586         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
39587         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
39588         Prepend __ to parameter names.
39589
39590         Undo yesterday's changes.
39591
39592 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
39593
39594         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
39595         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
39596         lib/regex.c.
39597
39598 2005-08-24  Jim Meyering  <jim@meyering.net>
39599
39600         Sync from coreutils.
39601         * m4/fcntl-safer.m4: New file.
39602
39603         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
39604         and object files for this module.
39605
39606 2005-08-24  Jim Meyering  <jim@meyering.net>
39607
39608         Sync from coreutils.
39609         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
39610
39611 2005-08-24  Jim Meyering  <jim@meyering.net>
39612
39613         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
39614         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
39615
39616 2005-08-24  Jim Meyering  <jim@meyering.net>
39617
39618         * modules/fcntl-safer: New module.
39619         * modules/fts (Depends-on): Add fcntl-safer.
39620         * MODULES.html.sh (File descriptor based Input/Output):
39621         Add fcntl-safer.
39622
39623 2005-08-24  Bruno Haible  <bruno@clisp.org>
39624
39625         Support for unit test modules.
39626         * modules/README: Mention tests modules.
39627         * modules/TEMPLATE-TESTS: New file.
39628         * gnulib-tool: New options --extract-tests-module, --with-tests and
39629         --tests-base (unused for the moment).
39630         (testsbase, inctests): New variables.
39631         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
39632         (func_verify_module): Exclude TEMPLATE-TESTS.
39633         (func_verify_nontests_module, func_verify_tests_module): New functions.
39634         (func_get_dependencies): Add implicit dependency for tests modules.
39635         (func_get_tests_module): New function.
39636         (func_modules_transitive_closure): When --with-tests was specified,
39637         include the unit tests as well, unless explicitly avoided.
39638         (func_emit_lib_Makefile_am): Ignore the tests modules here.
39639         (func_emit_tests_Makefile_am): New function.
39640         (func_create_testdir): When --with-tests was specified, emit a
39641         tests/ directory.
39642         * MODULES.html.sh (Future developments): Update.
39643
39644 2005-08-24  Bruno Haible  <bruno@clisp.org>
39645
39646         * modules/tls-tests: New file.
39647         * tests/test-tls.c: New file, from GNU gettext.
39648
39649 2005-08-24  Bruno Haible  <bruno@clisp.org>
39650
39651         * modules/lock-tests: New file.
39652         * tests/test-lock.c: New file, from GNU gettext.
39653
39654 2005-08-24  Bruno Haible  <bruno@clisp.org>
39655
39656         * lib/lock.h: Add multiple inclusion guard.
39657         * lib/tls.h: Add multiple inclusion guard.
39658
39659 2005-08-24  Bruno Haible  <bruno@clisp.org>
39660
39661         * gnulib-tool: Add support for the --aux-dir option to
39662         --create-testdir, --create-megatestdir, --test, --megatest.
39663         (func_create_testdir, func_create_megatestdir): Optionally emit a
39664         AC_CONFIG_AUX_DIR directive.
39665         (create-testdir, create-megatestdir, test, megatest): Provide a
39666         default value for $auxdir.
39667
39668 2005-08-24  Bruno Haible  <bruno@clisp.org>
39669
39670         * gnulib-tool (import): Use compound statement instead of subshell
39671         where possible.
39672
39673 2005-08-24  Bruno Haible  <bruno@clisp.org>
39674
39675         * gnulib-tool (import): Change --aux-dir default to "build-aux".
39676
39677 2005-08-24  Bruno Haible  <bruno@clisp.org>
39678
39679         * gnulib-tool (func_version): Update.
39680
39681 2005-08-24  Bruno Haible  <bruno@clisp.org>
39682
39683         * gnulib-tool (func_import, func_create_testdir,
39684         func_create_megatestdir): Quote all autoconf macro arguments.
39685
39686 2005-08-24  Bruno Haible  <bruno@clisp.org>
39687
39688         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
39689         option --force, because --force causes the aclocal.m4 of each
39690         subdirectory to be newer than the corresponding config.h.in.
39691
39692 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
39693
39694         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
39695         All contents moved to gl_REGEX.
39696         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
39697         assume that it does.
39698
39699 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
39700
39701         * lib/regex.h (REG_NOSYS)
39702         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
39703         Define, since POSIX requires it as of 2001.
39704         (_REG_ENOSYS)
39705         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
39706         New private symbol, used to keep the enum signed in all cases.
39707         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
39708         Youngman in
39709         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
39710
39711         * lib/regex_internal.c (re_string_skip_chars, register_state):
39712         (calc_state_hash):
39713         Remove forward decls; no longer needed now that we use prototypes.
39714         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
39715         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
39716         (clean_state_log_if_needed): Likewise.
39717
39718 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
39719
39720         * config/srclist.txt: Add glibc bugs 1231-1233.
39721
39722 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39723
39724         Fix problems reported by Sam Steingold in
39725         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
39726         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
39727         assumed that reg_errcode_t is a signed type, which is not
39728         necessarily true if _XOPEN_SOURCE is not defined.
39729         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
39730         since some compilers warn about it otherwise.
39731
39732 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39733
39734         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
39735         (init_word_char, create_initial_state, duplicate_node_closure):
39736         (fetch_token, peek_token_bracket, build_range_exp):
39737         (build_collating_symbol): Remove forward decls; no longer needed
39738         now that we use prototypes.
39739
39740         * lib/regcomp.c:
39741         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
39742         (re_compile_fastmap_iter, regcomp, regerror, regfree):
39743         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
39744         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
39745         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
39746         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
39747         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
39748         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
39749         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
39750         (build_range_exp, build_collating_symbol, parse_bracket_exp):
39751         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
39752         (build_charclass, build_charclass_op, fetch_number, create_tree):
39753         (create_token_tree, mark_opt_subexp, duplicate_tree):
39754         Use prototypes rather than old-style definitions.
39755
39756         * lib/regex_internal.c:
39757         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
39758         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
39759         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
39760         (re_string_reconstruct, re_string_peek_byte_case):
39761         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
39762         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
39763         (re_node_set_init_copy, re_node_set_add_intersect):
39764         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
39765         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
39766         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
39767         (re_acquire_state, re_acquire_state_context, register_state):
39768         (create_ci_newstate, create_cd_newstate, free_state):
39769         Likewise.
39770         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
39771         re_search_2):
39772         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
39773         (re_search_internal, prune_impossible_nodes):
39774         (acquire_init_state_context, check_matching, static):
39775         (check_halt_node_context, check_halt_state_context, proceed_next_node):
39776         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
39777         (update_regs, sift_states_backward, build_sifted_states):
39778         (clean_state_log_if_needed, merge_state_array):
39779         (update_cur_sifted_state, add_epsilon_src_nodes):
39780         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
39781         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
39782         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
39783         (find_recover_state, check_subexp_matching_top, transit_state_mb):
39784         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
39785         (check_arrival, check_arrival_add_next_nodes):
39786         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
39787         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
39788         (check_node_accept_bytes, check_node_accept, extend_buffers):
39789         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
39790         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
39791         (sift_ctx_init):
39792         Likewise.
39793
39794         * lib/regex_internal.h:
39795         (re_string_allocate, re_string_construct, re_string_reconstruct):
39796         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
39797         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
39798         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
39799         (re_string_context_at, re_string_peek_byte_case):
39800         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
39801         is defined, since we now use prototypes always.
39802
39803         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
39804         C89 or better.  All uses removed.
39805
39806 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
39807
39808         * config/srclist.txt: Add glibc bugs 1220-1227.
39809
39810 2005-08-20  Jim Meyering  <jim@meyering.net>
39811
39812         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
39813         of unused local, dfa.
39814
39815 2005-08-20  Bruno Haible  <bruno@clisp.org>
39816
39817         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
39818
39819 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
39820
39821         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
39822         (re_node_set_insert_last, re_dfa_add_node):
39823         Rename local variables to avoid GCC shadowing warnings.
39824
39825 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
39826
39827         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
39828         [defined lint]: Suppress bogus uninitialized-variable warnings.
39829
39830         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
39831         and let the caller return REG_ESPACE if out of space.  This
39832         removes an uninitialied-variable warning with GCC 4.0.1, and also
39833         avoids taking the address of a local variable.  All callers
39834         changed.
39835
39836 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
39837
39838         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
39839         $LIBCSRC/posix/regexec.c.
39840         Add glibc bug 1217 for regcomp.c.
39841
39842 2005-08-19  Jim Meyering  <jim@meyering.net>
39843
39844         * lib/regexec.c (proceed_next_node): Redo local variables to
39845         avoid GCC shadowing warnings.
39846
39847 2005-08-18  Bruno Haible  <bruno@clisp.org>
39848
39849         * lib/strstr.c (strstr): Fix return value in multibyte case.
39850         * lib/strcasestr.c (strcasestr): Likewise.
39851
39852 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
39853
39854         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
39855
39856 2005-08-17  Jim Meyering  <jim@meyering.net>
39857
39858         Make the %s format (seconds since the epoch) work for a negative
39859         number and when used with a zero-padded field width, e.g. %015s.
39860
39861         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
39862         label so that it precedes the code to set `digits'.  Otherwise,
39863         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
39864         print `00-22'.  Now, it prints `-0022', as it should.
39865
39866 2005-08-17  Bruno Haible  <bruno@clisp.org>
39867
39868         * modules/strstr (Files): Add m4/mbrtowc.m4.
39869         (Depends-on): Add mbuiter.
39870
39871 2005-08-17  Bruno Haible  <bruno@clisp.org>
39872
39873         * modules/strcasestr: New file.
39874         * MODULES.html.sh (String handling, based on ANSI C 89): Add
39875         strcasestr.
39876
39877 2005-08-17  Bruno Haible  <bruno@clisp.org>
39878
39879         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
39880
39881 2005-08-17  Bruno Haible  <bruno@clisp.org>
39882
39883         * modules/mbuiter: New file.
39884         * MODULES.html.sh (Extended multibyte and wide character utilities):
39885         Add mbuiter.
39886
39887 2005-08-17  Bruno Haible  <bruno@clisp.org>
39888
39889         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
39890         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
39891
39892 2005-08-17  Bruno Haible  <bruno@clisp.org>
39893
39894         * m4/strcasestr.m4: New file.
39895
39896 2005-08-17  Bruno Haible  <bruno@clisp.org>
39897
39898         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
39899         * lib/strstr.c: Completely rewritten, with multibyte locale support.
39900
39901 2005-08-17  Bruno Haible  <bruno@clisp.org>
39902
39903         * lib/strcasestr.h: New file.
39904         * lib/strcasestr.c: New file.
39905
39906 2005-08-17  Bruno Haible  <bruno@clisp.org>
39907
39908         * lib/strcasecmp.c: Use mbuiter.h.
39909
39910 2005-08-17  Bruno Haible  <bruno@clisp.org>
39911
39912         * lib/mbuiter.h: New file.
39913
39914 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
39915
39916         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
39917         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
39918         and gl_GETOPT are both invoked via different paths (as happens
39919         with GNU tar CVS because it uses both argp and getopt), the former
39920         wins.
39921
39922 2005-08-16  Bruno Haible  <bruno@clisp.org>
39923
39924         * modules/tls: New file.
39925         * MODULES.html.sh (Multithreading): Add tls.
39926
39927 2005-08-16  Bruno Haible  <bruno@clisp.org>
39928
39929         * modules/strnlen1: New file.
39930         * MODULES.html.sh (String handling): Add strnlen1.
39931
39932 2005-08-16  Bruno Haible  <bruno@clisp.org>
39933
39934         * modules/strcase (Files): Add m4/mbrtowc.m4.
39935         (Depends-on): Add strnlen1, mbchar.
39936
39937 2005-08-16  Bruno Haible  <bruno@clisp.org>
39938
39939         * modules/mbiter: New file.
39940         * MODULES.html.sh (Extended multibyte and wide character utilities):
39941         Add mbiter.
39942
39943 2005-08-16  Bruno Haible  <bruno@clisp.org>
39944
39945         * modules/mbfile: New file.
39946         * MODULES.html.sh (Extended multibyte and wide character utilities):
39947         Add mbfile.
39948
39949 2005-08-16  Bruno Haible  <bruno@clisp.org>
39950
39951         * modules/mbchar: New file.
39952         * MODULES.html.sh (Extended multibyte and wide character utilities):
39953         New section.
39954
39955 2005-08-16  Bruno Haible  <bruno@clisp.org>
39956
39957         * m4/tls.m4: New file, from GNU gettext.
39958
39959 2005-08-16  Bruno Haible  <bruno@clisp.org>
39960
39961         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
39962         always.
39963         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
39964
39965 2005-08-16  Bruno Haible  <bruno@clisp.org>
39966
39967         * m4/mbiter.m4: New file.
39968
39969 2005-08-16  Bruno Haible  <bruno@clisp.org>
39970
39971         * m4/mbfile.m4: New file.
39972
39973 2005-08-16  Bruno Haible  <bruno@clisp.org>
39974
39975         * m4/mbchar.m4: New file.
39976
39977 2005-08-16  Bruno Haible  <bruno@clisp.org>
39978
39979         * lib/tls.h: New file, from GNU gettext.
39980         * lib/tls.c: New file, from GNU gettext.
39981
39982 2005-08-16  Bruno Haible  <bruno@clisp.org>
39983
39984         * lib/strnlen1.h: New file.
39985         * lib/strnlen1.c: New file.
39986
39987 2005-08-16  Bruno Haible  <bruno@clisp.org>
39988
39989         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
39990         (mbi_init): Update.
39991         (mbi_avail, mbi_advance): Let the iteration end before the terminating
39992         NUL byte, not after it.
39993
39994 2005-08-16  Bruno Haible  <bruno@clisp.org>
39995
39996         * lib/strcase.h (strcasecmp): Add note in comments.
39997         * lib/strncasecmp.c: Use code from strcasecmp.c.
39998         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
39999         (strcasecmp): Work correctly in multibyte locales.
40000
40001 2005-08-16  Bruno Haible  <bruno@clisp.org>
40002
40003         * lib/mbiter.h: New file.
40004
40005 2005-08-16  Bruno Haible  <bruno@clisp.org>
40006
40007         * lib/mbfile.h: New file.
40008
40009 2005-08-16  Bruno Haible  <bruno@clisp.org>
40010
40011         * lib/mbchar.h: New file.
40012         * lib/mbchar.c: New file.
40013
40014 2005-08-16  Bruno Haible  <bruno@clisp.org>
40015
40016         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
40017         the valid ones. Makes the comparison operations transitive:
40018         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
40019         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
40020
40021 2005-08-15  Simon Josefsson  <jas@extundo.com>
40022
40023         * modules/ssize_t (License): Change to 'unlimited'.
40024
40025         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
40026
40027 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
40028
40029         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
40030         Add comments for each pending glibc patch.
40031
40032 2005-08-15  Bruno Haible  <bruno@clisp.org>
40033
40034         * lib/regex.h (__restrict_arr): Don't define to __restrict if
40035         __cplusplus is defined.
40036
40037 2005-08-14  Jim Meyering  <jim@meyering.net>
40038
40039         Sync from coreutils.
40040
40041         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
40042         Use the hash-table-based cycle-detection code not just when
40043         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
40044         Reported by James Youngman in
40045         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
40046         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
40047         FTS_TIGHT_CYCLE_CHECK.
40048         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
40049         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
40050         once again.
40051         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
40052         * lib/fts.c (fd_safer): Remove decl.
40053         Include fcntl--.h rather than unistd-safer.h
40054         (fts_safe_changedir): Don't call fd_safer; no longer needed
40055         now that we include fcntl--.h.
40056
40057 2005-08-12  Simon Josefsson  <jas@extundo.com>
40058
40059         * modules/getndelim2: Use ssize_t module.
40060         * modules/getnline: Likewise.
40061         * modules/safe-read: Likewise.
40062         * modules/xreadlink: Likewise.
40063
40064         * modules/ssize_t: New file.
40065
40066 2005-08-12  Simon Josefsson  <jas@extundo.com>
40067
40068         * m4/readline.m4: Look for termcap, curses or ncurses if required.
40069
40070 2005-08-12  Simon Josefsson  <jas@extundo.com>
40071
40072         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40073         ssize_t.
40074
40075 2005-08-12  Simon Josefsson  <jas@extundo.com>
40076
40077         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
40078         readline, getdelim and check_version.
40079         (Support for systems lacking ISO C 99: Sizes of integer types):
40080         Add size_max.
40081
40082 2005-08-12  Bruno Haible  <bruno@clisp.org>
40083
40084         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
40085
40086 2005-08-11  Simon Josefsson  <jas@extundo.com>
40087
40088         * modules/readline: New file.
40089
40090         * modules/strnlen (Files): Add strnlen.h.
40091
40092 2005-08-11  Simon Josefsson  <jas@extundo.com>
40093
40094         * m4/readline.m4: New file.
40095
40096 2005-08-11  Simon Josefsson  <jas@extundo.com>
40097
40098         * lib/readline.h, readline.c: New file.
40099
40100 2005-08-11  Simon Josefsson  <jas@extundo.com>
40101
40102         * doc/gnulib.texi (Initial import, Finishing touches): Mention
40103         gl_AVOID.
40104
40105 2005-08-11  Bruno Haible  <bruno@clisp.org>
40106
40107         * lib/strnlen.h (strnlen): Change parameter name to match comment.
40108
40109 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
40110
40111         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
40112
40113 2005-08-10  Simon Josefsson  <jas@extundo.com>
40114
40115         * tests/test-iconvme.c: New file.
40116
40117 2005-08-10  Simon Josefsson  <jas@extundo.com>
40118
40119         * m4/strnlen.m4: New file.
40120
40121         * m4/strndup.m4: Don't check for strnlen declaration, done in
40122         strnlen.m4.
40123
40124 2005-08-10  Simon Josefsson  <jas@extundo.com>
40125
40126         * lib/strndup.c: Use strnlen.h.
40127
40128         * lib/strnlen.h: New file.
40129
40130 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
40131
40132         * README: Typos.
40133
40134 2005-08-02  Simon Josefsson  <jas@extundo.com>
40135
40136         * modules/readline: New file.
40137
40138 2005-08-02  Simon Josefsson  <jas@extundo.com>
40139
40140         * modules/getdelim: New file.
40141
40142         * modules/getline: Rewrite, don't use getndelim2.
40143
40144 2005-08-02  Simon Josefsson  <jas@extundo.com>
40145
40146         * m4/getline.m4: Separate out getdelim stuff into separate module.
40147
40148         * m4/getdelim.m4: New file.
40149
40150 2005-08-02  Simon Josefsson  <jas@extundo.com>
40151
40152         * lib/getline.h, getline.c: Rewrite.
40153
40154         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
40155
40156 2005-07-31  Bruno Haible  <bruno@clisp.org>
40157
40158         * lib/lock.h (gl_lock_initializer): New macro.
40159         (gl_lock_define_initialized): Use it.
40160         (gl_rwlock_initializer): New macro.
40161         (gl_rwlock_define_initialized): Use it.
40162         (gl_recursive_lock_initializer): New macro.
40163         (gl_recursive_lock_define_initialized): Use it.
40164
40165 2005-07-30  Karl Berry  <karl@gnu.org>
40166
40167         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
40168         Report from Ben Pfaff, regarding getopt.
40169
40170 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
40171
40172         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
40173         normal way.
40174         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
40175         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
40176         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
40177         (gl_GETOPT): Use the new macros.  Most of the implementation
40178         is moved to the new macros.  This is for programs like Emacs
40179         that don't want all the functionality of gl_GETOPT.
40180
40181 2005-07-26  Bruno Haible  <bruno@clisp.org>
40182
40183         * m4/lock.m4: Update from GNU gettext.
40184
40185 2005-07-26  Bruno Haible  <bruno@clisp.org>
40186
40187         * lib/lock.h: Update from GNU gettext.
40188         * lib/lock.c: Update from GNU gettext.
40189
40190 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
40191
40192         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
40193         obsolescent AC_TRY_RUN.  Include the default includes files, for
40194         'exit'.
40195
40196 2005-07-24  Bruno Haible  <bruno@clisp.org>
40197
40198         * modules/visibility: New file.
40199         * MODULES.html.sh (Misc): Add visibility.
40200
40201 2005-07-24  Bruno Haible  <bruno@clisp.org>
40202
40203         * m4/visibility.m4: New file.
40204
40205 2005-07-24  Bruno Haible  <bruno@clisp.org>
40206
40207         * doc/visibility.texi: New file.
40208
40209 2005-07-22  Bruno Haible  <bruno@clisp.org>
40210
40211         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
40212         $(ALLOCA_H), redundant through BUILT_SOURCES.
40213         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
40214         redundant through BUILT_SOURCES.
40215         * modules/byteswap (Makefile.am): Remove explicit dependency on
40216         $(BYTESWAP_H), redundant through BUILT_SOURCES.
40217         * modules/fnmatch (Makefile.am): Remove explicit dependency on
40218         $(FNMATCH_H), redundant through BUILT_SOURCES.
40219         * modules/getopt (Makefile.am): Remove explicit dependency on
40220         $(GETOPT_H), redundant through BUILT_SOURCES.
40221         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
40222         redundant through BUILT_SOURCES.
40223         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
40224         redundant through BUILT_SOURCES.
40225         * modules/stdbool (Makefile.am): Remove explicit dependency on
40226         $(STDBOOL_H), redundant through BUILT_SOURCES.
40227         * modules/stdint (Makefile.am): Remove explicit dependency on
40228         $(STDINT_H), redundant through BUILT_SOURCES.
40229         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
40230         Remove explicit dependency on $(SYSEXITS_H).
40231         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
40232
40233 2005-07-18  Simon Josefsson  <jas@extundo.com>
40234
40235         * lib/check-version.c (check_version): Accept identical versions too.
40236
40237 2005-07-18  Bruno Haible  <bruno@clisp.org>
40238
40239         * modules/lock: New file.
40240         * MODULES.html.sh (Multithreading): New section.
40241
40242 2005-07-18  Bruno Haible  <bruno@clisp.org>
40243
40244         * m4/lock.m4: New file, from GNU gettext.
40245
40246 2005-07-18  Bruno Haible  <bruno@clisp.org>
40247
40248         * lib/lock.h: New file, from GNU gettext.
40249         * lib/lock.c: New file, from GNU gettext.
40250
40251 2005-07-18  Bruno Haible  <bruno@clisp.org>
40252
40253         * lib/lock.h (gl_once_t): New type.
40254         (gl_once_define, gl_once): New macros.
40255         * lib/lock.c (fresh_once): New variable.
40256         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
40257         functions.
40258
40259 2005-07-16  Simon Josefsson  <jas@extundo.com>
40260
40261         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
40262         workaround, suggested by Bruno.
40263
40264 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
40265
40266         * modules/xalloc (Depends-on): Add xalloc-die.
40267         * modules/xvasprintf (Depends-on): Add xalloc-die.
40268
40269 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
40270
40271         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
40272         with a minor change.
40273
40274 2005-07-15  Bruno Haible  <bruno@clisp.org>
40275
40276         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
40277         When using lib/poll.c, define poll as rpl_poll.
40278
40279 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
40280
40281         * modules/argp (Depends-on): Remove unlocked-io.
40282
40283 2005-07-14  Derek Price  <derek@ximbiot.com>
40284
40285         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
40286         for glob symlink bug.
40287
40288 2005-07-14  Bruno Haible  <bruno@clisp.org>
40289
40290         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
40291         Instead, test for *_unlocked function declarations directly.
40292
40293 2005-07-11  Simon Josefsson  <jas@extundo.com>
40294
40295         * modules/size_max: New file.
40296
40297         * modules/xsize: Depend on size_max module for size_max.m4.
40298
40299 2005-07-11  Simon Josefsson  <jas@extundo.com>
40300
40301         * lib/size_max.h: New file.
40302
40303 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
40304
40305         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
40306         copyright symbol and the year.
40307         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
40308         (version_etc_va): Use parameterized copyright notice.
40309         Reword to conform to the current GNU coding standards.
40310
40311 2005-07-11  Karl Berry  <karl@gnu.org>
40312
40313         * doc/gnulib.texi (Quoting): new node.
40314         (Initial import): more info, from Patrice.
40315
40316 2005-07-11  Bruno Haible  <bruno@clisp.org>
40317
40318         * gnulib-tool (func_usage): Document option --avoid.
40319         (Command line options): Handle --avoid.
40320         (func_acceptable): New function.
40321         (func_modules_transitive_closure): Use it.
40322
40323 2005-07-11  Bruno Haible  <bruno@clisp.org>
40324
40325         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
40326         Reported by Jim Meyering.
40327
40328 2005-07-10  Bruno Haible  <bruno@clisp.org>
40329
40330         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
40331         Needed when size_t is smaller than 'unsigned int'.
40332         Reported by Paul Eggert.
40333
40334 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40335
40336         * modules/argp (Depends-on): Add unlocked-io
40337
40338 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40339
40340         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
40341         block of defines.
40342
40343 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
40344
40345         * config/srclist.txt: Comment out regcomp.c, since we have a porting
40346         fix now.
40347
40348 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
40349         and Paul Eggert  <eggert@cs.ucla.edu>
40350
40351         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
40352         in wint_t, not wchar_t.  Remove now-unnecessary cast.
40353
40354 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
40355
40356         * modules/regex (Files): Add lib/regex_internal.c,
40357         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
40358         (Depends-on): Add extensions.
40359         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
40360
40361 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
40362
40363         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
40364         pathconf.
40365         * m4/same.m4 (gl_SAME): Likewise.
40366         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
40367
40368         * m4/regex.m4: Adjust to new libc regex implementation.
40369         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
40370         all the .c and .h parts of (the new) regex.
40371         Quote the m4 stuff better.
40372         Check for RE_ICASE bug of old gnulib.
40373         Check for REG_STARTEND of recent libc.
40374         Rename local variables from jm_* to gl_*.
40375         Quote operand of "test -f".
40376         Say "recent enough" version of libc, not "version 2".
40377         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
40378         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
40379         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
40380         Remove check for btowc, isascii.
40381         Require AM_LANGINFO_CODESET.
40382
40383 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
40384
40385         * lib/regex.c, regex.h: Sync from libc.
40386         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
40387         * lib/regexec.c:
40388         New files, synced from libc, except that regex_internal.h
40389         currently has a small porting fix.
40390
40391 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
40392
40393         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
40394         regex_internal.c, regexec.c.
40395         Add regex_internal.h too, but as a comment, since the libc version
40396         is currently broken in gnulib mode.
40397
40398 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
40399
40400         Support programs like Emacs that use gnulib but not gettext.
40401         * MODULES.html.sh (Internationalization functions): Add gettext-h.
40402         * modules/gettext-h: New file.
40403         * modules/gettext (Files): Remove lib/gettext.h.
40404         (Depends-on): Add gettext-h.
40405         (Makefile.am): Remove lib_SOURCES.
40406         * modules/argmatch, modules/c-stack, modules/closeout:
40407         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
40408         * modules/execute, modules/file-type, modules/getaddrinfo:
40409         * modules/getopt, modules/human, modules/javacomp:
40410         * modules/javaexec, modules/mkdir-p, modules/obstack:
40411         * modules/openat, modules/pagealign_alloc, modules/pipe:
40412         * modules/quotearg, modules/regex, modules/rpmatch:
40413         * modules/unicodeio, modules/userspec, modules/version-etc:
40414         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
40415         * modules/xsetenv:
40416         Depend on gettext-h, not gettext.
40417
40418 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
40419
40420         * gnulib-tool (func_import): Add support for 'public domain' license.
40421         * modules/alloca, modules/atexit, modules/memmove:
40422         Now public domain, not GPL.
40423         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
40424         * modules/realloc, modules/strerror, modules/strtod:
40425         Now LGPL, not GPL.
40426
40427 2005-07-05  Bruno Haible  <bruno@clisp.org>
40428
40429         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
40430         autoconf CVS. Needed for mingw.
40431
40432 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
40433
40434         Remove the dependency of the strftime module on the tzset module.
40435         * modules/strftime (Depends-on): Remove dependency on tzset.
40436
40437 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
40438
40439         Remove the dependency of the strftime module on the tzset module.
40440         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
40441         gl_FUNC_TZSET_CLOBBER.
40442
40443 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
40444
40445         Remove the dependency of the strftime module on the tzset module.
40446         * lib/strftime.c (my_strftime)
40447         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
40448         Copy the input structure, to work around some of the bug with
40449         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
40450         Solaris releases, you should also use the tzset module, but we won't
40451         require it as a dependency any more since we don't want LGPLed code
40452         to depend on GPLed code.
40453
40454 2005-07-02  Jim Meyering  <jim@meyering.net>
40455
40456         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
40457         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
40458         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
40459         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
40460
40461 2005-07-02  Jim Meyering  <jim@meyering.net>
40462
40463         * lib/backupfile.c (backup_args): Change a `0' to NULL.
40464
40465 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
40466
40467         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
40468         declares only 'struct timespec;' (!).
40469
40470 2005-07-01  Jim Meyering  <jim@meyering.net>
40471
40472         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
40473         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
40474         * lib/save-cwd.c, tempname.c:
40475         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
40476         and don't include <sys/file.h>).
40477
40478 2005-06-29  Jim Meyering  <jim@meyering.net>
40479
40480         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
40481         type name.  Use the variable name instead.
40482         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
40483         Likewise.
40484
40485 2005-06-28  Simon Josefsson  <jas@extundo.com>
40486
40487         * modules/check-version (Files): Add check-version.m4.
40488
40489 2005-06-28  Simon Josefsson  <jas@extundo.com>
40490
40491         * m4/check-version.m4: New file, suggested by Jim Meyering
40492         <jim@meyering.net>.
40493
40494 2005-06-28  Simon Josefsson  <jas@extundo.com>
40495
40496         * lib/check-version.h, lib/check-version.c: New files.
40497
40498 2005-06-28  Simon Josefsson  <jas@extundo.com>
40499
40500         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
40501         collision with global variable.  Better indentation.  Don't
40502         increment buffer pointer beyond buffer end.  Based on comments
40503         from Paul Eggert <eggert@cs.ucla.edu>.
40504
40505         * lib/base64.h: Indent.
40506
40507 2005-06-28  Simon Josefsson  <jas@extundo.com>
40508
40509         * doc/gnulib.texi (Library version handling): New section.
40510
40511 2005-06-28  Jim Meyering  <jim@meyering.net>
40512
40513         * check-module (find_included_lib_files): Hard-code another
40514         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
40515         but modules/fts-lgpl (correctly) does not list those files.
40516
40517         * modules/canonicalize (Files): Add lib/pathmax.h.
40518
40519 2005-06-25  Simon Josefsson  <jas@extundo.com>
40520
40521         * modules/check-version: New file.
40522
40523 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
40524
40525         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
40526         initializer of struct addrinfo, as an indication that we don't
40527         care how many members the structure has.
40528
40529 2005-06-24  Derek Price  <derek@ximbiot.com>
40530         and Bruno Haible  <bruno@clisp.org>
40531
40532         Remove stat module & update lstat.
40533         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
40534         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
40535         * m4/stat.m4: Remove this file.
40536
40537 2005-06-24  Derek Price  <derek@ximbiot.com>
40538         and Bruno Haible  <bruno@clisp.org>
40539
40540         Remove stat module & update lstat.
40541         * lib/stat.c: Remove this file...
40542         (slash_aware_lstat): ...moving this content and its support...
40543         * lib/lstat.c (rpl_lstat): ...into here.
40544         * lib/lstat.h: New file.
40545
40546 2005-06-24  Derek Price  <derek@ximbiot.com>
40547         and Bruno Haible  <bruno@clisp.org>
40548
40549         Remove stat module & update lstat.
40550         * config/srclist.txt (libc sources): Remove stat.
40551
40552 2005-06-24  Derek Price  <derek@ximbiot.com>
40553         and Bruno Haible  <bruno@clisp.org>
40554
40555         Remove stat module & update lstat.
40556         * MODULES.html.sh (stat): Remove.
40557         * MODULES.html: Regenerated.
40558         * modules/lstat (Description): Correct function name.
40559         (Files): Add "lstat.h".
40560         (Depends-on): Remove stat, add xalloc, stat-macros.
40561         * modules/stat: Remove this file.
40562         (Include): Add "lstat.h", remove <sys/stat.h>.
40563
40564 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
40565
40566         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
40567         (ranged_convert): Don't save conversion in a temporary struct.
40568         This causes a warning with GCC 4.0.0, and anyway in the typical
40569         case it's not worth the extra 100 bytes or so of code.
40570         (ranged_convert, __mktime_internal): When calling a function via a
40571         pointer P, use P () rather than (*P) (), as we now assume C89 or
40572         better.
40573
40574 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
40575
40576         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
40577         "who -r" failed to give output.  Problem reported by Tim Waugh.
40578
40579         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
40580         (xcalloc): Use it to avoid needless tests.
40581         Problem reported by Jim Meyering.
40582
40583 2005-06-20  Derek Price  <derek@ximbiot.com>
40584
40585         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
40586         unnecessary for Autoconfs > 2.59c.
40587
40588 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
40589
40590         * lib/argp.h (__option_is_short): Check upper limit of
40591         __key. Isprint() requires its argument to have the value
40592         of an unsigned char or EOF.
40593
40594 2005-06-16  Jim Meyering  <jim@meyering.net>
40595
40596         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
40597         when either N or S is zero.
40598
40599 2005-06-16  Derek Price  <derek@ximbiot.com>
40600
40601         * m4/bison.m4: Declare YACC & YFLAGS precious.
40602
40603 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
40604
40605         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
40606         multibyte string or pattern, fall back on unibyte matching.
40607         Problem reported by James Youngman.
40608
40609 2005-06-08  Bruno Haible  <bruno@clisp.org>
40610
40611         * modules/csharpcomp: New file.
40612         * MODULES.html.sh (C#): Add csharpcomp.
40613
40614 2005-06-08  Bruno Haible  <bruno@clisp.org>
40615
40616         * m4/csharpcomp.m4: New file, from GNU gettext.
40617
40618 2005-06-08  Bruno Haible  <bruno@clisp.org>
40619
40620         * lib/csharpcomp.h: New file, from GNU gettext.
40621         * lib/csharpcomp.c: New file, from GNU gettext.
40622         * lib/csharpcomp.sh.in: New file, from GNU gettext.
40623
40624 2005-06-08  Bruno Haible  <bruno@clisp.org>
40625
40626         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
40627         warning on mingw.
40628
40629 2005-06-07  Derek Price  <derek@ximbiot.com>
40630
40631         Sync from CVS.
40632         * lib/glob_.h: Indent nested #ifdef.
40633
40634 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
40635
40636         Sync from coreutils.
40637         Use "file name" when talking about file names, instead of "filename"
40638         or "path", as per the GNU coding standards.
40639         * lib/mkdir-p.c: Renamed from makepath.c.
40640         (make_dir_parents): Renamed from make_path.  All callers changed.
40641         * lib/mkdir-p.h: Likewise.  All includers changed.
40642         * lib/filenamecat.c: Renamed from path-concat.c.
40643         (file_name_concat): Renamed from path_concat.  All callers changed.
40644         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
40645         * lib/filenamecat.h: Likewise.  All includers changed.
40646         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
40647         in comments or local variable names.
40648         * lib/basename.c: Likewise.
40649         * lib/canonicalize.c, canonicalize.h: Likewise.
40650         * lib/dirname.c, dirname.h: Likewise.
40651         * lib/euidaccess.c: Likewise.
40652         * lib/exclude.c: Likewise
40653         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
40654         * lib/fsusage.c, fsuage.h: Likewise.
40655         * lib/fts.c, fts_.h: Likewise.
40656         * lib/getcwd.c: Likewise.
40657         * lib/getloadavg.c: Likewise.
40658         * lib/mkstemp.c: Likewise.
40659         * lib/mountlist.c, mountlist.h: Likewise.
40660         * lib/openat.c, openat.h: Likewise.
40661         * lib/readlink-stub.c: Likewise.
40662         * lib/readutmp.c, readutmp.h: Likewise.
40663         * lib/rename.c: Likewise.
40664         * lib/rmdir.c: Likewise.
40665         * lib/same.c: Likewise.
40666         * lib/savedir.c: Likewise.
40667         * lib/stripslash.c: Likewise.
40668         * lib/tempname.c: Likewise.
40669         * lib/xreadlink.c: Likewise.
40670         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
40671         All uses changed.
40672         * lib/exclude.h: Likewise.
40673
40674         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
40675         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
40676         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
40677         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
40678         * lib/pathmax.h: Include <limits.h> unconditionally, since other
40679         files have been getting away with it for years (MORE/BSD 4.3
40680         is extinct now).
40681         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
40682         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
40683
40684         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
40685         Define to 256, not 255, as per modern POSIX.
40686
40687 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
40688
40689         Sync from coreutils.
40690         Use "file name" when talking about file names, instead of "filename"
40691         or "path", as per the GNU coding standards.
40692         * MODULES.html.sh: mkdir-p renamed from makepath.
40693         filenamecat renamed from path-concat.
40694         * modules/filenamecat: Renamed from modules/path-concat.
40695         (Files): filenamecat.h and filenamecat.c renamed from
40696         path-concat.h and path-concat.c.
40697         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
40698         (Include): filenamecat.h, not path-concat.h.
40699         * modules/mkdir-p: Renamed from modules/makepath.
40700         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
40701         makepath.c.
40702         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
40703         (Include): mkdir-p.h, not makepath.h.
40704
40705 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
40706
40707         Sync from coreutils.
40708         * m4/mkdir-p.m4: Renamed from makepath.m4.
40709         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
40710         Rename files from makepath.c to mkdir-p.c, and from
40711         makepath.h to mkdir-p.h.
40712         * m4/filenamecat.m4: Renamed from path-concat.m4.
40713         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
40714         Rename files from path-concat.c to filenamecat.c,
40715         and from path-concat.h to filenamecat.h.
40716         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
40717         "file name" in local variables or comments.
40718         * m4/rename.m4: Likewise.
40719
40720 2005-06-01  Bruno Haible  <bruno@clisp.org>
40721
40722         * modules/csharpexec: New file.
40723         * MODULES.html.sh (C#): New section.
40724
40725 2005-06-01  Bruno Haible  <bruno@clisp.org>
40726
40727         * m4/csharp.m4: New file, from GNU gettext.
40728         * m4/csharpexec.m4: New file, from GNU gettext.
40729
40730 2005-06-01  Bruno Haible  <bruno@clisp.org>
40731
40732         * lib/csharpexec.h: New file, from GNU gettext.
40733         * lib/csharpexec.c: New file, from GNU gettext.
40734         * lib/csharpexec.sh.in: New file, from GNU gettext.
40735
40736 2005-05-31  Derek Price  <derek@ximbiot.com>
40737             Paul Eggert  <eggert@cs.ucla.edu>
40738
40739         Sync from cvs.
40740         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
40741
40742 2005-05-31  Derek Price  <derek@ximbiot.com>
40743             Paul Eggert  <eggert@cs.ucla.edu>
40744
40745         Sync from cvs.
40746         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
40747
40748 2005-05-29  Derek Price  <derek@ximbiot.com>
40749
40750         * config/srclist.txt (glob_.h, glob.c): Add these files.
40751
40752 2005-05-29  Derek Price  <derek@ximbiot.com>
40753
40754         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
40755         * modules/glob: New file.
40756         * modules/getlogin_r: Add link to POSIX spec in description.
40757
40758 2005-05-29  Derek Price  <derek@ximbiot.com>
40759             Paul Eggert  <eggert@cs.ucla.edu>
40760
40761         * m4/glob.m4: New file.
40762
40763 2005-05-29  Derek Price  <derek@ximbiot.com>
40764             Paul Eggert  <eggert@cs.ucla.edu>
40765
40766         * lib/glob_.h, lib/glob.c: New files.
40767
40768 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
40769
40770         * modules/fts (Files): Remove m4/inttypes-pri.m4.
40771         * modules/fts-lgpl (Depends-on): Remove gettext.
40772
40773 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
40774
40775         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
40776         and don't require gt_INTTYPES_PRI.
40777
40778 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
40779
40780         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
40781
40782         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
40783         the configuration hassle isn't worth it.
40784         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
40785         (LONGEST_MODIFIER, PRIuMAX): Remove.
40786
40787 2005-05-27  Bruno Haible  <bruno@clisp.org>
40788
40789         * lib/getlogin_r.h: Remove second include of <stddef.h>.
40790
40791 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
40792
40793         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
40794         _POSIX_PTHREAD_SEMANTICS for Solaris.
40795
40796 2005-05-25  Derek Price  <derek@ximbiot.com>
40797
40798         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
40799
40800 2005-05-25  Derek Price  <derek@ximbiot.com>
40801             Paul Eggert  <eggert@cs.ucla.edu>
40802
40803         * modules/getlogin_r, m4/getlogin_r.m4: New files.
40804         * lib/getlogin_r.c, getlogin_r.h: New files.
40805
40806 2005-05-25  Bruno Haible  <bruno@clisp.org>
40807             Derek Price  <derek@ximbiot.com>
40808
40809         * lib/getlogin_r.h: Simplify API documentation.
40810
40811 2005-05-23  Derek Price  <derek@ximbiot.com>
40812
40813         * modules/minmax (Files): Add m4/minmax.m4.
40814         (configure.ac): Add gl_MINMAX.
40815
40816 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
40817
40818         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
40819         so that unistd-safer.h (GPL'ed code) need not be included.
40820
40821 2005-05-22  Bruno Haible  <bruno@clisp.org>
40822
40823         * m4/minmax.m4: New file.
40824         Based on a patch by Derek Price <derek@ximbiot.com>.
40825
40826 2005-05-22  Bruno Haible  <bruno@clisp.org>
40827
40828         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
40829         (INT64_MIN): Fix definition.
40830         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
40831
40832         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
40833         NEED_SIGNED_INT_TYPES.
40834
40835         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
40836         HAVE_SYSTEM_INTTYPES.
40837
40838 2005-05-22  Bruno Haible  <bruno@clisp.org>
40839
40840         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
40841         Also include <sys/param.h> if it defines MIN, MAX.
40842         Based on a patch by Derek Price <derek@ximbiot.com>.
40843
40844 2005-05-21  Jim Meyering  <jim@meyering.net>
40845
40846         * modules/fts (Files): Add m4/inttypes-pri.m4.
40847         (Depends-on): Add lstat and remove gettext.  Alphabetize.
40848
40849 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
40850
40851         New fts module.
40852         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
40853         (setup_dir, free_dir): New functions.
40854         (enter_dir, leave_dir): Define trivial
40855         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
40856         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
40857         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
40858         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
40859         Move to fts-cycle.c.
40860         (fts_open): Use setup_dir.
40861         (fts_close): Use free_dir.
40862         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
40863         This adds a label and some gotos, but the alternatives were messier.
40864         Check for memory allocation failure when entering a dir.
40865         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
40866         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
40867         (FTS): New member fts_cycle, that is a union that contains the
40868         old active_dir_ht and cycle_state.  All uses changed to mention
40869         fts_cycle.ht and fts_cycle.state.
40870         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
40871         fts.c, with the following changes:
40872         (setup_dir, free_dir): New functions.
40873         (enter_dir): Now returns bool.  Return true if successful, false
40874         if memory exhausted.  All callers changed.
40875         Do not bother partly cleaning up on
40876         memory allocation failure; that is free_dir's job.
40877         However, free ad if hash_insert fails, to avoid memory leak.
40878         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
40879         fts->fts_options to see which union member to use.
40880
40881 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
40882
40883         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
40884         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
40885
40886 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
40887
40888         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
40889
40890 2005-05-20  Jim Meyering  <jim@meyering.net>
40891
40892         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
40893         Now a macro, to pacify GCC.
40894
40895 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
40896
40897         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
40898         of -1.
40899
40900 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
40901
40902         * lib/chown.c (rpl_chown): Return -1 on failure.
40903
40904 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
40905
40906         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
40907         Don't check for stddef.h.
40908         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
40909         don't use its results.
40910         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
40911         since we include them unconditionally.  Don't require
40912         AM_STDBOOL_H, since stdbool is a prerequisite.
40913         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
40914         since we assume C89 or better.
40915         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
40916         as we don't use their results.
40917         Don't check for fchdir, memmove, memset, strrchr, as we use
40918         them unconditionally.
40919         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
40920         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
40921
40922 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
40923
40924         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
40925         Include <stddef.h> unconditionally, since we assume C89 now.
40926         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
40927         * lib/fts.c: Include fts_.h first, to check interface.
40928         Do not include intprops.h; no longer needed.
40929         Include cycle-check.h and hash.h, since fts_.h no longer does.
40930         Remove unnecessary casts of closedir to void.
40931         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
40932         decide whether to decrement nlinks.
40933         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
40934         (FTS): Use struct hash_table * instead of Hash_table, so that
40935         we no longer need to include hash.h here.
40936
40937 2005-05-18  Jim Meyering  <jim@meyering.net>
40938
40939         * modules/dirfd (License): Change to LGPL.  Most of the code
40940         is already in the public domain.
40941
40942 2005-05-18  Jim Meyering  <jim@meyering.net>
40943
40944         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
40945         Reported by Yoann Vandoorselaere.
40946
40947 2005-05-17  Jim Meyering  <jim@meyering.net>
40948
40949         * m4/fts.m4: New file, from coreutils.
40950
40951 2005-05-17  Jim Meyering  <jim@meyering.net>
40952
40953         * lib/fts.c, lib/fts_.h: New files, from coreutils.
40954
40955 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
40956
40957         Sync from coreutils.
40958         * m4/unlinkdir.m4: New file.
40959
40960 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
40961
40962         Sync from coreutils.
40963         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
40964         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
40965         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
40966         White space changes only.
40967         * lib/makepath.c (make_path): Port to hosts where leading "//" is
40968         special.
40969         * lib/yesno.c: Include getline.h, not ctype.h.
40970         (yesno): Don't remove leading white space; POSIX doesn't allow it.
40971         Use getline to remove arbitrary restriction on response length.
40972
40973 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
40974
40975         * config/srclist-update: Spell out "Street" in FSF postal
40976         mail address; this is the style the FSF seems to prefer.
40977
40978         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
40979         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
40980         this updates FSF postal mail address.
40981
40982         Sync from coreutils.
40983         * modules/unlinkdir: New file.
40984         * modules/yesno (Depends-on): Add getline.
40985         * MODULES.html.sh (File system functions): Add unlinkdir.
40986
40987 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
40988
40989         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
40990         lib/strsep.h:
40991         Change the initial comment to refer to GPL, not LGPL.
40992         gnulib-tool will change it to LGPL as needed.
40993
40994         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
40995         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
40996         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
40997         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
40998         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
40999         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
41000         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
41001         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
41002         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
41003         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
41004         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
41005         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
41006         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
41007         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
41008         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
41009         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
41010         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
41011         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
41012         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
41013         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
41014         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
41015         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
41016         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
41017         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
41018         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
41019         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
41020         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
41021         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
41022         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
41023         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
41024         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
41025         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
41026         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
41027         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
41028         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
41029         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
41030         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
41031         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
41032         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
41033         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
41034         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
41035         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
41036         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
41037         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
41038         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
41039         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
41040         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
41041         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
41042         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
41043         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
41044         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
41045         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
41046         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
41047         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
41048         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
41049         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
41050         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
41051         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
41052         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
41053         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
41054         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
41055         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
41056         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
41057         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
41058         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
41059         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
41060         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
41061         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
41062         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
41063         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
41064         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
41065         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
41066         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
41067         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
41068         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
41069         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
41070         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
41071         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
41072         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
41073         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
41074         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
41075         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
41076         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
41077         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
41078         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
41079         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
41080         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
41081         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
41082         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
41083         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
41084         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
41085         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
41086         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
41087         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
41088         lib/yesno.c, lib/yesno.h:
41089         Update FSF postal mail address.
41090
41091 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
41092
41093         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
41094         tests/test-memmem.c, tests/test-stpncpy.c:
41095         Update FSF postal mail address.
41096
41097 2005-05-13  Bruno Haible  <bruno@clisp.org>
41098
41099         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
41100         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
41101         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
41102         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
41103         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
41104         Add support for 64-bit integers in the MSVC compiler.
41105
41106 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
41107
41108         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
41109
41110 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
41111
41112         * gnulib-tool (func_import): Sort and uniquify recommended includes.
41113
41114 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
41115
41116         * doc/getdate.texi (General date syntax): Don't say that date
41117         date --iso-8601=ns generates acceptable dates; it doesn't yet.
41118         Problem reported by Nic Ferrier.
41119
41120 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41121
41122         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
41123         specified in ai_socktype. Fix invalid ai_protocol
41124         check. ai_protocol is usually set to 0 or depending on
41125         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
41126         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
41127         ai_socktype / ai_protocol in the returned addrinfo structure.
41128
41129 2005-05-10  Simon Josefsson  <jas@extundo.com>
41130
41131         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
41132         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41133
41134 2005-05-10  Karl Berry  <karl@gnu.org>
41135
41136         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
41137         (from http://www.gnu.org/licenses).
41138         * doc/COPYING.LIB: also rename to COPYING.LESSER.
41139         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
41140         fdl.texi suffices.
41141
41142 2005-05-10  Karl Berry  <karl@gnu.org>
41143
41144         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
41145         (COPYING.DOC): remove.
41146
41147         * config/srclist-update: new FSF address.
41148
41149 2005-05-10  Derek Price  <derek@ximbiot.com>
41150
41151         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
41152         possible.
41153
41154 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41155             Bruno Haible  <bruno@clisp.org>
41156
41157         * modules/inet_ntop: New file.
41158         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41159         inet_ntop.
41160
41161 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41162             Bruno Haible  <bruno@clisp.org>
41163
41164         * m4/inet_ntop.m4: New file.
41165
41166 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41167             Bruno Haible  <bruno@clisp.org>
41168
41169         * lib/inet_ntop.h: New file.
41170         * lib/inet_ntop.c: New file, from glibc with modifications.
41171
41172 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
41173
41174         * modules/time_r (License): Change to LGPL.
41175         * modules/extensions (License): Change to LGPL.  Actually,
41176         the license is more permissive than that, but currently gnulib-tool
41177         doesn't know how to handle more-permissive licenses.
41178
41179         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
41180         Problem reported by Dave Love.
41181
41182 2005-05-08  Jim Meyering  <jim@meyering.net>
41183
41184         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
41185         blank.
41186
41187 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
41188
41189         * modules/argmatch (Depends-on): Add stdbool.
41190         * modules/backupfile (Depends-on): Likewise.
41191         * modules/chdir-long (Depends-on): Likewise.
41192         * modules/closeout (Depends-on): Likewise.
41193         * modules/cycle-check (Depends-on): Likewise.
41194         * modules/dirname (Depends-on): Likewise.
41195         * modules/fnmatch (Depends-on): Likewise.
41196         * modules/fsusage (Depends-on): Likewise.
41197         * modules/fwriteerror (Depends-on): Likewise.
41198         * modules/getcwd (Depends-on): Likewise.
41199         * modules/getloadavg (Depends-on): Likewise.
41200         * modules/hard-locale (Depends-on): Likewise.
41201         * modules/makepath (Depends-on): Likewise.
41202         * modules/mountlist (Depends-on): Likewise.
41203         * modules/nanosleep (Depends-on): Likewise.
41204         * modules/posixtm (Depends-on): Likewise.
41205         * modules/quotearg (Depends-on): Likewise.
41206         * modules/readtokens (Depends-on): Likewise.
41207         * modules/readtokens0 (Depends-on): Likewise.
41208         * modules/readutmp (Depends-on): Likewise.
41209         * modules/save-cwd (Depends-on): Likewise.
41210         * modules/strftime (Depends-on): Likewise.
41211         * modules/userspec (Depends-on): Likewise.
41212         * modules/utimecmp (Depends-on): Likewise.
41213         * modules/xgetcwd (Depends-on): Likewise.
41214         * modules/xnanosleep (Depends-on): Likewise.
41215         * modules/xstrtod (Depends-on): Likewise.
41216         * modules/yesno (Depends-on): Likewise.
41217
41218 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
41219
41220         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
41221         needless checks.
41222
41223 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
41224
41225         Merge from coreutils.  Among other things,
41226         add bulletproofing for cases where stdin, stdout, or stderr are closed.
41227         * lib/fd-safer.c: New file.
41228         * lib/fcntl-safer.h, open-safer.c: Remove.
41229         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
41230         * lib/dup-safer.c: Include unistd-safer.h first.
41231         Don't include errno.h.
41232         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
41233         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
41234         * lib/file-type.c: Rely on file-type.h change.
41235         * lib/getloadavg.c: Include unistd-safer.h.
41236         (getloadavg): Use safer open.
41237         * lib/getusershell.c: Include "stdio-safer.h".
41238         (getusershell): Use safer fopen.
41239         * lib/long-options.c (long_options): Use NULL rather than 0.
41240         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
41241         'free'.
41242         * lib/modechange.c: Likewise.
41243         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
41244         (MODE_DONE): New constant.
41245         (struct mode_change): Remove 'next' member.
41246         (make_node_op_equals): New function; like the old one of the
41247         same name, except it allocates an array.
41248         (mode_compile, mode_create_from_ref): Use it.
41249         (mode_compile): Allocate result as an array, not a linked list.
41250         Parse octal string ourself, so that we catch mistakes like "+0".
41251         (mode_adjust): Arg is an array, not a linked list.
41252         * lib/modechange.c: Include stat-macros.h, xalloc.h.
41253         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
41254         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
41255         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
41256         Remove.  This is now stat-macros.h's job.
41257         (talloc): Remove.  All callers replaced by xalloc, so that
41258         our invokers don't have to worry about reporting memory failures.
41259         (make_node_op_equals): Remove.
41260         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
41261         New constants.
41262         (struct mode_change): Moved here from modechange.h.
41263         (mode_append_entry): Remove.
41264         (mode_compile): Remove MASKED_OPS arg, since it encouraged
41265         apps to have incorrect behavior.  Use simpler algorithm for head
41266         and tail.  Don't futz with umask; that's now the job of mode_adjust.
41267         Detect more invalid usages rather than having somewhat-random behavior.
41268         Don't insert an "a=" action, as that leads to incorrect behavior.
41269         (mode_compile, mode_create_from_ref): Return NULL on error instead
41270         of an enum, since now there's only one way to have an error.  All
41271         callers changed.
41272         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
41273         at the correct time.  Simplify calculation of "+u" and its ilk.
41274         Don't mishandle "+X".
41275         (mode_free): Remove "register" and localize decls.
41276         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
41277         (struct mode_change): Move to modechange.c; callers don't
41278         need to see this stuff.
41279         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
41280         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
41281         (mode_change, mode_adjust): Reflect the new signatures noted above.
41282         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
41283         that might redefine system include files.
41284         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
41285         (my_usleep): Use NULL rather than (void *) 0.
41286         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
41287         Use siginterrupt to specify that system calls should be interrupted.
41288         (rpl_nanosleep): Move initialization of suspended closer to call of
41289         my_usleep.
41290         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
41291         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
41292         (desirable_utmp_entry): New function.
41293         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
41294         using x2nrealloc, to simplify logic.
41295         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
41296         size calculation.  Do not assume utmp file is a regular file.
41297         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
41298         (READ_UTMP_CHECK_PIDS): New constant.
41299         * lib/save-cwd.c: Include unistd-safer.h.
41300         (save_cwd): Use fd_safer.
41301         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
41302         [!_LIBC] Include "stat-macros.h" instead.
41303         * lib/unistd-safer.h (fd_safer): New decl.
41304
41305 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
41306
41307         * modules/getloadavg (Depends-on): Add unistd-safer.
41308         * modules/getusershell (Depends-on): Add stdio-safer.
41309         * modules/lstat (Depends-on): Remove xalloc.
41310         * modules/mkstemp (Depends-on): Add stat-macros.
41311         * modules/modechange (Depends-on): Remove xstrtol.
41312         Add stat-macros, xalloc.
41313         * modules/save-cwd (Depends-on): Add unistd-safer.
41314         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
41315         * modules/unistd-safer (Files): Add lib/fd-safer.c
41316         (Makefile.am): Remove lib_SOURCES.
41317
41318         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
41319         Remove fcntl-safer; unistd-safer supersedes it.
41320
41321 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
41322
41323         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
41324         AC_HEADER_STAT.
41325         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
41326         (gl_PREREQ_CHOWN): Remove.
41327         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
41328         it.  Don't require AC_HEADER_STAT.
41329         (gl_PREREQ_LSTAT): Remove.
41330         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
41331         Don't require AC_HEADER_STAT.
41332         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
41333         (gl_PREREQ_RMDIR): Remove.
41334         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
41335         mention stat-macros.h or AC_HEADER_STAT, since we'll make
41336         the stat-macros module a prerequisite.
41337         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
41338         * m4/filemode.m4 (gl_FILEMODE): Likewise.
41339         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
41340         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
41341         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
41342         variable names.
41343         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
41344         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
41345         variable prefixes.
41346         * m4/fcntl-safer.m4: Remove.
41347         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
41348         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
41349         Invoke gl_PREREQ_FD_SAFER.
41350         (gl_PREREQ_FD_SAFER): New macro.
41351         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
41352         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
41353         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
41354         Remove duplicate call to AC_LIBOBJ(readutmp).
41355         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
41356
41357         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
41358         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
41359
41360 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
41361
41362         * MODULES.html.sh (Misc): Add byteswap.
41363
41364 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
41365
41366         * modules/getcwd (Depends-on): Add extensions.
41367         * modules/openat (Depends-on): Likewise.
41368
41369 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
41370
41371         * modules/byteswap: New file.
41372
41373 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
41374
41375         * m4/byteswap.m4: New file.
41376
41377 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
41378
41379         * lib/byteswap_.h: New file.
41380
41381 2005-04-25  Karl Berry  <karl@gnu.org>
41382
41383         * m4/gettext.m4: Update from GNU gettext 0.14.4.
41384
41385 2005-04-25  Albert Chin  <china@thewrittenword.com>
41386
41387         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
41388         Toolkit C bug.
41389
41390 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
41391
41392         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
41393         (func_ln_if_changed) Remove forcibly for no error message
41394         in case file does not exist.
41395
41396 2005-04-19  Simon Josefsson  <jas@extundo.com>
41397
41398         * gnulib-tool (Options): Make --symlink mean --symbolic.
41399
41400 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
41401
41402         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
41403
41404 2005-04-16  Simon Josefsson  <jas@extundo.com>
41405
41406         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
41407
41408 2005-04-15  Simon Josefsson  <jas@extundo.com>
41409
41410         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
41411
41412 2005-04-15  Simon Josefsson  <jas@extundo.com>
41413
41414         * gnulib-tool: Rename --symlink to --symbolic.
41415
41416 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
41417
41418         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
41419         symbolic links to files instead of copying/moving.  Add --aux-dir,
41420         specifying directory relative --dir where auxiliary build tools
41421         are placed.
41422
41423 2005-04-14  Bruno Haible  <bruno@clisp.org>
41424
41425         * modules/allocsa (License): Change to LGPL.
41426         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
41427
41428 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
41429
41430         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
41431         that "UTC +1 second" continues to work.  Problem reported
41432         by Dmitry V. Levin.
41433         (relunit_snumber): New rule.
41434         (relunit): Use it.
41435
41436 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
41437
41438         * lib/getdate.y (universal_time_zone_table): New constant.
41439         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
41440         universal_time_zone_table.
41441         (lookup_zone): Prefer universal_time_zone_table to
41442         local_time_zone_table, so that "GMT" time stamps are allowed in
41443         London during the summer.  Problem reported by Ian Abbott.
41444
41445 2005-04-12  Jim Meyering  <jim@meyering.net>
41446
41447         * lib/human.c (humblock): Set *options even when returning due to
41448         xstrtoumax conversion failure.  Thanks to a used-uninitialized
41449         warning from gcc-4.
41450
41451 2005-04-09  Jim Meyering  <jim@meyering.net>
41452
41453         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
41454         -Wuninitialized: initialize tm0.tm_year.
41455
41456 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
41457
41458         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
41459         count, since there's no maximum.  All uses changed.
41460         Add member dsts_seen.
41461         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
41462         not being INT_MAX.
41463         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
41464         Use pc_rels_seen to decide whther a date is absolute.
41465
41466         * lib/getdate.y (number): Don't overwrite year.
41467         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
41468         check.
41469
41470 2005-04-02  Simon Josefsson  <jas@extundo.com>
41471
41472         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
41473         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
41474
41475 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
41476
41477         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
41478         where no absolute path name can be longer than PATH_MAX.
41479
41480 2005-03-27  Jim Meyering  <jim@meyering.net>
41481
41482         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
41483
41484 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
41485
41486         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
41487         "one's complement" -> "ones' complement" in comment, as per Knuth.
41488         "value of type" -> "type or expression" in comment.
41489         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
41490
41491 2005-03-26  Jim Meyering  <jim@meyering.net>
41492
41493         Comment nits.
41494         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
41495         Correct typos: s/or/of/.
41496
41497 2005-03-26  Jim Meyering  <jim@meyering.net>
41498
41499         * modules/check-include-files: Move to ../ and rename to...
41500         * check-module: ...this.
41501
41502 2005-03-25  Jim Meyering  <jim@meyering.net>
41503
41504         * modules/xvasprintf (Files): Add xalloc.h.
41505
41506 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
41507
41508         * modules/gettext (Files): config/config.rpath ->
41509         build-aux/config.rpath
41510         * modules/iconv (Files): Likewise.
41511         Problem reported by Oskar Liljeblad.
41512
41513 2005-03-23  Jim Meyering  <jim@meyering.net>
41514
41515         * modules/check-include-files: New script to check for
41516         missing dependencies, multiple includes, etc.
41517
41518         * modules/c-strtold (Depends-on): Add xalloc.
41519         * modules/c-strtod (Depends-on): Add xalloc.
41520         * modules/hash (Depends-on): Add xalloc.
41521         (Files): Remove lib/xalloc.h.
41522
41523         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
41524         * modules/userspec (Files): Add lib/inttostr.h.
41525
41526 2005-03-23  Jim Meyering  <jim@meyering.net>
41527
41528         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
41529
41530 2005-03-22  Jim Meyering  <jim@meyering.net>
41531
41532         * modules/stat-macros: New module.
41533         * modules/canonicalize, modules/euidaccess, modules/file-type,
41534         * modules/filemode, modules/lchown, modules/makepath,
41535         * modules/rmdir, modules/stat: Depend on new stat-macros module
41536         rather than listing lib/stat-macros.h manually.
41537         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
41538
41539 2005-03-22  Jim Meyering  <jim@meyering.net>
41540
41541         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
41542
41543 2005-03-22  Bruno Haible  <bruno@clisp.org>
41544
41545         * config/srclist.txt: Replace target directory 'config' with
41546         'build-aux'.
41547         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
41548         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
41549         ../build-aux/.
41550
41551 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
41552
41553         * modules/chdir-long (Depends-on): Add mempcpy.
41554
41555         * modules/acl, modules/backupfile, modules/c-strtod,
41556         modules/c-strtold, modules/canon-host, modules/canonicalize,
41557         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
41558         modules/exclude, modules/exitfail, modules/file-type,
41559         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
41560         modules/getdate, modules/getline, modules/getpagesize,
41561         modules/getpass, modules/getugroups, modules/group-member,
41562         modules/hard-locale, modules/hash, modules/human, modules/idcache,
41563         modules/inttostr, modules/long-options, modules/makepath,
41564         modules/md5, modules/memcasecmp, modules/memcoll,
41565         modules/modechange, modules/mountlist, modules/path-concat,
41566         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
41567         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
41568         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
41569         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
41570         modules/strftime, modules/strndup, modules/strverscmp,
41571         modules/timespec, modules/unlocked-io, modules/userspec,
41572         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
41573         modules/yesno:
41574         Remove lib_SOURCES line from Makefile.am section, as this is now
41575         done automatically by the corresponding Autoconf macro.
41576
41577 2005-03-21  Jim Meyering  <jim@meyering.net>
41578
41579         Changes imported from coreutils.
41580
41581         * lib/cycle-check.c: Don't include xalloc.h.
41582
41583         * lib/path-concat.c: Don't include assert.h.
41584         (path_concat): Remove assertion that would have triggered
41585         for ABASE starting with more than one slash.
41586         Reported by Andreas Schwab.
41587
41588         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
41589         properly when ABASE is an absolute file name.
41590         Correct the description of this function.
41591         Include <assert.h>.
41592         Add an assertion and a test driver.
41593         This fixes a bug introduced on 2004-07-02.
41594         Andreas Schwab reported the resulting failure of cp --parents:
41595         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
41596
41597 2005-03-21  Jim Meyering  <jim@meyering.net>
41598
41599         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
41600         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
41601
41602 2005-03-21  Jim Meyering  <jim@meyering.net>
41603         and  Paul Eggert  <eggert@cs.ucla.edu>
41604
41605         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
41606         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
41607         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
41608         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
41609         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
41610         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
41611         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
41612         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
41613         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
41614         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
41615         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
41616         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
41617         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
41618         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
41619         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
41620         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
41621         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
41622         for these modules.
41623
41624 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
41625
41626         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
41627         (which shouldn't happen), generate nothing instead of returning 0
41628         immediately, so that nstrftime (NULL, ...) doesn't return 0.
41629
41630 2005-03-16  Bruno Haible  <bruno@clisp.org>
41631
41632         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
41633         HAVE_LONGLONG_64BIT.
41634
41635 2005-03-16  Bruno Haible  <bruno@clisp.org>
41636
41637         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
41638         HAVE_LONGLONG_64BIT.
41639
41640 2005-03-16  Bruno Haible  <bruno@clisp.org>
41641
41642         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
41643         HAVE_LONGLONG_64BIT.
41644
41645 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
41646
41647         * lib/strftime.c (my_strftime): Prepend space to format so that we can
41648         reliably distinguish strftime failure from empty output on POSIX
41649         hosts.
41650
41651 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
41652
41653         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
41654         (iconv_string): Don't guess a size-zero buffer, as that might cause
41655         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
41656         result would be 'too large', where 'too large' is (heuristically)
41657         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
41658         overflow concerns.  This will prevent some unwanted malloc failures
41659         when the inputs are very large.
41660
41661 2005-03-15  Karl Berry  <karl@gnu.org>
41662
41663         * config/srclist.txt (config.rpath): from gettext.
41664         * config/config.rpath: update.
41665
41666 2005-03-15  Bruno Haible  <bruno@clisp.org>
41667
41668         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
41669         to 'negate'.
41670
41671         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
41672         variable.
41673
41674         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
41675         results.
41676
41677 2005-03-14  Simon Josefsson  <jas@extundo.com>
41678
41679         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
41680         <fx@gnu.org>.
41681
41682 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
41683
41684         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
41685         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
41686         intprops.h.
41687         * lib/strtol.c: Likewise.
41688
41689 2005-03-14  Jim Meyering  <jim@meyering.net>
41690
41691         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
41692         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
41693         to be nonzero so that we (and caller) can detect the difference
41694         between a valid zero-length expansion and an error return, even
41695         when the underlying strftime fails before writing anything into
41696         that location.
41697
41698 2005-03-14  Bruno Haible  <bruno@clisp.org>
41699
41700         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
41701         Update from GNU gettext 0.14.3.
41702
41703 2005-03-10  Jim Meyering  <jim@meyering.net>
41704
41705         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
41706
41707 2005-03-10  Jim Meyering  <jim@meyering.net>
41708
41709         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
41710         so that this module works on systems without fchdir.
41711
41712 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
41713
41714         Factor int-properties macros into a single file, except for
41715         glibc-related files.
41716         * lib/intprops.h: New file.
41717         * lib/getloadavg.c: Include it instead of limits.h.
41718         (INT_STRLEN_BOUND): Remove.
41719         * lib/human.c: Include intprops.h.
41720         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
41721         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
41722         302/1000.
41723         * lib/inttostr.h: Include intprops.h instead of limits.h.
41724         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
41725         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
41726         for consistency with intprops.h.
41727         (time_t_is_integer, twos_complement_arithmetic): Use them.
41728         * lib/sig2str.h: Include <signal.h>, intprops.h.
41729         (INT_STRLEN_BOUND): Remove.
41730         * lib/strftime.c (TYPE_SIGNED): Remove.
41731         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
41732         * lib/strtol.c: Adjust comments to match intprops.h.
41733         * lib/userspec.c: Include intprops.h.
41734         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
41735         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
41736         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
41737         instead of rolling our own expressions.
41738         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
41739
41740         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
41741         instead of int.
41742         (my_strftime): Do not mishandle years close to INT_MAX, by doing
41743         the right thing even if adding 1900 would overflow.  Similarly
41744         for tm_mon + 1 and tm_yday + 1.
41745         Make %Y always equivalent to %C%y, and similarly for %G and %g.
41746         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
41747         (DO_SIGNED_NUMBER): New macro.
41748         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
41749
41750 2005-03-07  Bruno Haible  <bruno@clisp.org>
41751
41752         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
41753
41754 2005-03-07  Bruno Haible  <bruno@clisp.org>
41755
41756         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
41757
41758 2005-03-04  Derek R. Price  <derek@ximbiot.com>
41759
41760         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
41761         (func_import): Only replace files via --import when they have actually
41762         changed.
41763
41764 2005-03-03  Derek R. Price  <derek@ximbiot.com>
41765
41766         * m4/mmap-anon.m4: New file.
41767         * m4/pagealign_alloc.m4: New file.
41768
41769 2005-03-03  Derek R. Price  <derek@ximbiot.com>
41770             Bruno Haible  <bruno@clisp.org>
41771
41772         * modules/pagealign_alloc: New file.
41773         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
41774
41775 2005-03-03  Derek R. Price  <derek@ximbiot.com>
41776             Bruno Haible  <bruno@clisp.org>
41777
41778         * lib/pagealign_alloc.h: New file.
41779         * lib/pagealign_alloc.c: New file.
41780
41781 2005-03-03  Bruno Haible  <bruno@clisp.org>
41782
41783         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
41784         Use an all-permissive copyright notice, recommended by RMS.
41785
41786 2005-03-02  Bruno Haible  <bruno@clisp.org>
41787
41788         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
41789         of AIX, the replacement has to be done only after <string.h> is
41790         included, therefore not in config.h. stpncpy.h does the replacement,
41791         and stpncpy.c uses it.
41792
41793 2005-03-02  Bruno Haible  <bruno@clisp.org>
41794
41795         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
41796         stpncpy.c uses it.
41797
41798 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
41799
41800         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
41801         The workaround isn't strictly needed for POSIX conformance, and
41802         it's too much of a pain to configure and maintain.  We'll ask
41803         people to fix their kernels instead.
41804         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
41805         (NANOSLEEP_BUG_WORKAROUND): Remove.
41806         (xnanosleep): Remove the workaround.
41807
41808 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
41809
41810         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
41811         Reported by Derek Price.
41812         (Include): Add "timespec.h".
41813
41814         * modules/xnanosleep (Depends-on): Remove gethrxtime.
41815
41816 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
41817
41818         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
41819         to detect nanosleep bug.
41820
41821 2005-03-01  Bruno Haible  <bruno@clisp.org>
41822
41823         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
41824
41825 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
41826
41827         * modules/gethrxtime: New file.
41828         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
41829         (Depends-on): Add gethrxtime.
41830         (configure.ac): Add gl_XNANOSLEEP.
41831         (Makefile.am): Remove lib_SOURCES line.
41832
41833 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41834
41835         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
41836         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
41837
41838 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41839
41840         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
41841         * lib/timespec.h (gettime): Return void, since it always
41842         succeeds now.  All uses changed.
41843         * lib/gettime.c (gettime) Likewise.
41844         [HAVE_NANOTIME]: Prefer nanotime.
41845         Assume gettimeofday succeeds, as POSIX requires.
41846         Assime time () succeeds, since other code already does.
41847         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
41848         (timespec_subtract): Remove.
41849         (NANOSLEEP_BUG_WORKAROUND): New constant.
41850         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
41851         things considerably.  Use it only on GNU/Linux hosts, since the
41852         workaround shouldn't be needed elsewhere.
41853
41854 2005-02-24  Bruno Haible  <bruno@clisp.org>
41855
41856         * modules/gettext (Files): Add m4/glibc2.m4.
41857
41858 2005-02-24  Bruno Haible  <bruno@clisp.org>
41859
41860         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
41861         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
41862         * m4/progtest.m4:
41863         Update from GNU gettext 0.14.2.
41864         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
41865
41866 2005-02-24  Bruno Haible  <bruno@clisp.org>
41867
41868         * lib/localcharset.c: Update from GNU gettext 0.14.2.
41869         * lib/config.charset: Update from GNU gettext 0.14.2.
41870
41871 2005-02-24  Bruno Haible  <bruno@clisp.org>
41872
41873         * lib/gettext.h: Update from GNU gettext 0.14.2.
41874
41875 2005-02-23  Simon Josefsson  <jas@extundo.com>
41876
41877         * m4/iconvme.m4: New file.
41878
41879 2005-02-23  Jim Meyering  <jim@meyering.net>
41880
41881         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
41882         change.
41883         Thanks to Bruno Haible for catching it.
41884
41885 2005-02-22  Simon Josefsson  <jas@extundo.com>
41886
41887         * modules/iconvme: New file.
41888
41889         * MODULES.html.sh: Add iconvme.
41890
41891 2005-02-22  Simon Josefsson  <jas@extundo.com>
41892
41893         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
41894
41895 2005-02-22  Simon Josefsson  <jas@extundo.com>
41896
41897         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
41898
41899 2005-02-22  Jim Meyering  <jim@meyering.net>
41900
41901         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
41902         s/ifndef/ifdef/.
41903
41904 2005-02-20  Neil Conway  <neilc@samurai.com>
41905
41906         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
41907         returned by OSX/Darwin if the specified buffer is not large
41908         enough for the hostname.
41909
41910 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
41911
41912         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
41913         pass it to _help, otherwise the latter coredumps trying to
41914         dereference state.root_argp.
41915
41916 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
41917
41918         * modules/chdir-long (Depends-on): Add memrchr.
41919         * modules/memrchr (Files): Add lib/memrchr.h.
41920         (Include): "memrchr.h".
41921
41922 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
41923
41924         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
41925
41926 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
41927
41928         * lib/memrchr.h: New file.
41929         * lib/chdir-long.c: Include it.
41930         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
41931         Don't bother including stddef.h.
41932
41933 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
41934
41935         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
41936         inclusion.
41937         Include <sys/types.h>, for dev_t.
41938         (ME_DUMMY, ME_REMOTE): Move from here....
41939         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
41940         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
41941         Dmitry V. Levin.
41942         Include mountlist.h first, to test the interface.
41943
41944 2005-01-29  Bruno Haible  <bruno@clisp.org>
41945
41946         * lib/progname.c (program_name): Initialize.
41947         Needed when linking statically on MacOS X.
41948
41949 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
41950
41951         Sync from coreutils.
41952         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
41953         (Depends-on): Add c-strtod.
41954         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
41955
41956 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
41957
41958         Sync from coreutils.
41959         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
41960
41961         Remove files that are specific to coreutils.
41962         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
41963
41964 2005-01-28  Bruno Haible  <bruno@clisp.org>
41965
41966         * modules/javacomp: New file.
41967         * MODULES.html.sh (Java): Add javacomp.
41968
41969 2005-01-28  Bruno Haible  <bruno@clisp.org>
41970
41971         * m4/javacomp.m4: New file, from GNU gettext.
41972
41973 2005-01-28  Bruno Haible  <bruno@clisp.org>
41974
41975         * lib/javacomp.sh.in: New file, from GNU gettext.
41976         * lib/javacomp.h: New file, from GNU gettext.
41977         * lib/javacomp.c: New file, from GNU gettext.
41978
41979 2005-01-26  Simon Josefsson  <jas@extundo.com>
41980
41981         * lib/gai_strerror.c: Use GPL in header.
41982
41983 2005-01-26  Bruno Haible  <bruno@clisp.org>
41984
41985         * modules/javaexec: New file.
41986         * MODULES.html.sh (Java): Add javaexec.
41987
41988 2005-01-26  Bruno Haible  <bruno@clisp.org>
41989
41990         * m4/javaexec.m4: New file, from GNU gettext.
41991
41992 2005-01-26  Bruno Haible  <bruno@clisp.org>
41993
41994         * lib/javaexec.sh.in: New file, from GNU gettext.
41995         * lib/javaexec.h: New file, from GNU gettext.
41996         * lib/javaexec.c: New file, from GNU gettext.
41997
41998 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
41999
42000         * modules/lchown (Depends-on): Remove lchown.h
42001
42002 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42003
42004         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
42005         must be defined if the header file was not found, in order
42006         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
42007
42008 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42009
42010         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
42011         initializers for struct pentry_state.
42012         (__argp_error): Check return value of __asprintf
42013         (__argp_failure): Translate error message
42014
42015         * lib/argp-parse.c: Removed braces around the expansion of N_()
42016
42017 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42018
42019         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
42020         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
42021         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
42022         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
42023         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
42024         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
42025         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
42026         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
42027         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
42028         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
42029         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
42030         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
42031         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
42032         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
42033         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
42034         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
42035         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
42036         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
42037         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
42038         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
42039         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
42040         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
42041         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
42042         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
42043         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
42044         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
42045         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
42046         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
42047         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
42048         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
42049         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
42050         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
42051         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
42052         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
42053         xstrtol.m4, xstrtoumax.m4, yesno.m4:
42054         Use an all-permissive copyright notice, recommended by RMS.
42055
42056 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
42057
42058         * modules/chdir-long (Depends-on): Remove mempcpy.
42059
42060 2005-01-21  Jim Meyering  <jim@meyering.net>
42061
42062         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
42063         same value as for Solaris 9.
42064
42065         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
42066         component length.  This included changing the parameter to be
42067         of type `char *' rather than `char const *'.
42068         * lib/chdir-long.h (chdir_long): Update prototype.
42069
42070         * lib/openat.c (fdopendir, fstatat): New functions.
42071         * lib/openat.h: Include headers required for use of DIR and struct
42072         stat.
42073         [AT_SYMLINK_NOFOLLOW]: Define.
42074         (fdopendir, fstatat): Add prototypes.
42075
42076 2005-01-21  Bruno Haible  <bruno@clisp.org>
42077
42078         * modules/classpath: New file.
42079         * MODULES.html.sh (Java): Add classpath.
42080
42081 2005-01-21  Bruno Haible  <bruno@clisp.org>
42082
42083         * lib/classpath.h: New file, from GNU gettext.
42084         * lib/classpath.c: New file, from GNU gettext.
42085
42086 2005-01-20  Simon Josefsson  <jas@extundo.com>
42087
42088         * modules/version-etc-fsf: New file.
42089
42090 2005-01-20  Simon Josefsson  <jas@extundo.com>
42091
42092         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
42093         * lib/version-etc.c: Remove version_etc_copyright.
42094         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
42095         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
42096
42097 2005-01-20  Simon Josefsson  <jas@extundo.com>
42098
42099         * lib/base64.h (isbase64): Add.
42100
42101         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
42102         using a unsigned prototype, don't inline.
42103         (base64_decode): Use it.
42104
42105 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
42106
42107         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
42108         it.
42109
42110 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
42111
42112         * lib/save-cwd.c (save_cwd): Remove code to support the case
42113         where fchdir is missing or flaky.
42114
42115 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
42116
42117         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
42118
42119 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
42120
42121         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
42122         AC_LIBSOURCES now does this.
42123         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
42124         with new ullong_max module.
42125
42126 2005-01-19  Bruno Haible  <bruno@clisp.org>
42127
42128         * modules/sh-quote: New file.
42129         * MODULES.html.sh (Executing programs): Add sh-quote.
42130
42131 2005-01-19  Bruno Haible  <bruno@clisp.org>
42132
42133         * lib/sh-quote.h: New file, from GNU gettext.
42134         * lib/sh-quote.c: New file, from GNU gettext.
42135
42136 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
42137
42138         Merge from coreutils.
42139         * m4/ullong_max.m4: New file.
42140         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
42141         (gl_MACROS): Assume localeconv exists.
42142
42143 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
42144
42145         Merge changes from coreutils, as described below in several
42146         changelogs dated today.
42147
42148         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
42149         (O_DIRECTORY): Remove; not needed here, since "." must be
42150         a directory.  All uses removed.
42151         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
42152         universal on Suns, and we also need to test for IRIX.
42153         Revamp code to use 'if' rather than '#if'.
42154         Avoid unnecessary comparison of cwd->desc to 0.
42155
42156         * lib/utimens.c (futimens): Robustify the previous patch, by checking
42157         for known valid error numbers rather than observed invalid ones.
42158
42159 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
42160
42161         * modules/ullong_max: New file.
42162
42163         * modules/chdir-long, modules/openat: New files.
42164         * modules/save-cwd (Depends-on): Depend on chdir-long.
42165         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
42166
42167 2005-01-18  Jim Meyering  <jim@meyering.net>
42168
42169         Merge from coreutils.
42170         * m4/chdir-long.m4, m4/openat.m4: New files.
42171         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
42172         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
42173         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
42174         is sane and DOES follow symlinks.  Besides, testing 20 different
42175         systems found no broken chown implementations.
42176         Prompted by a change in rsync's copy of this macro.
42177         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
42178
42179         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
42180
42181         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
42182         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
42183         NULL-means-set-to-current-time semantics.
42184         Remove temporary file immediately, rather than waiting
42185         for configure's at-exit trap code to do it.
42186
42187 2005-01-18  Jim Meyering  <jim@meyering.net>
42188
42189         * lib/version-etc.c (version_etc_copyright): Update copyright date.
42190
42191         * lib/utimens.c (futimens): Account for the fact that futimes
42192         can also fail with errno == ENOSYS or errno == ENOENT.
42193         Patch from Dmitry V. Levin.
42194
42195         Change the name of the robust chdir function from chdir to chdir_long.
42196         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
42197         (restore_cwd): Use chdir_long, not chdir.
42198         * lib/chdir-long.c: Renamed from chdir.c.
42199         * lib/chdir-long.h: Renamed from chdir.h.
42200         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
42201         Hurd.
42202
42203 2005-01-18  Bruno Haible  <bruno@clisp.org>
42204
42205         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
42206         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
42207         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
42208         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
42209         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
42210         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
42211         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
42212         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
42213         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
42214         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
42215         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
42216         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
42217         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
42218         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
42219         Use an all-permissive copyright notice, recommended by RMS.
42220
42221 2005-01-18  Bob Proulx  <bob@proulx.com>
42222
42223         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
42224         simplify offsetof() macro construct to avoid compile failure with
42225         native HP-UX 11.0 ANSI C compiler.
42226
42227 2005-01-17  Bruno Haible  <bruno@clisp.org>
42228
42229         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
42230         redundant because stpncpy.m4 takes care of it.
42231
42232 2005-01-17  Bruno Haible  <bruno@clisp.org>
42233
42234         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
42235
42236 2005-01-17  Bruno Haible  <bruno@clisp.org>
42237
42238         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
42239         used.
42240
42241 2005-01-17  Bruno Haible  <bruno@clisp.org>
42242
42243         * lib/fwriteerror.h (fwriteerror): Change specification to include
42244         fclose.
42245         * lib/fwriteerror.c: Include <stdbool.h>.
42246         (fwriteerror): At the end, close the file stream. Record whether
42247         stdout was already closed.
42248
42249 2005-01-17  Bruno Haible  <bruno@clisp.org>
42250
42251         * lib/execute.c (environ): Declare if needed.
42252         * lib/pipe.c (environ): Likewise.
42253         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
42254
42255 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42256
42257         * modules/argp: Depend on vsnprintf
42258
42259 2005-01-10  Jim Meyering  <jim@meyering.net>
42260
42261         * modules/closeout (Depends-on): Add atexit.
42262
42263 2005-01-06  Bruno Haible  <bruno@clisp.org>
42264
42265         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
42266
42267 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
42268
42269         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
42270         definitions to be after all include files, to avoid collisions.
42271         Problem reported by Bob Proulx.
42272
42273 2005-01-04  Jim Meyering  <jim@meyering.net>
42274
42275         Changes imported from coreutils.
42276         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
42277         as the mkstemp template, use a temporary directory and an
42278         8.3-friendly template to avoid trouble on systems like DJGPP.
42279         Reported by Juan M. Guerrero via Stepan Kasal.
42280         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
42281         close. Remove the temporary directory right away, rather than waiting
42282         for configure's at-exit trap code to do it.
42283         Suggestion from Stepan Kasal.
42284
42285 2005-01-01  Simon Josefsson  <jas@extundo.com>
42286
42287         * gnulib-tool: Print #include directives when --import'ing.
42288
42289 2004-12-28  Simon Josefsson  <jas@extundo.com>
42290
42291         * tests/test-base64.c: Include required header files.  Remove
42292         unused variables.
42293
42294 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
42295
42296         * modules/error (Depends-on): Remove gettext.
42297
42298 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
42299
42300         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
42301         not needed.  This removes a dependency on the gettext module.
42302         [defined _LIBC]: Do not include <libintl.h>; not needed.
42303
42304 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
42305
42306         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
42307         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
42308
42309 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
42310
42311         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
42312         HAVE_DECL_STRTOLD.
42313
42314 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
42315
42316         * modules/getdate (Depends-on): Remove alloca-opt.
42317
42318 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
42319
42320         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
42321
42322 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
42323
42324         * lib/argp-parse.c: Include <stddef.h>.
42325         (alignof, alignto): New macros.
42326         (parser_init): Don't assume that void * is aligned sufficiently
42327         for struct option.
42328
42329         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
42330         need to extend the stack.
42331         (YYINITDEPTH): New macro, so that the initial stack isn't overly
42332         large.
42333
42334 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42335
42336         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
42337
42338 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
42339
42340         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
42341         (2004-10-24) change.  Apparently this was a false alarm.
42342
42343         * modules/getdate: Depend on alloca-opt, not alloca.
42344
42345 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
42346
42347         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
42348         Remove now-obsolete comment about AIX.
42349         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
42350         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
42351         (YYMAXDEPTH): New macro.
42352
42353 2004-12-18  Simon Josefsson  <jas@extundo.com>
42354
42355         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
42356
42357 2004-12-18  Bruno Haible  <bruno@clisp.org>
42358
42359         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
42360
42361 2004-12-18  Bruno Haible  <bruno@clisp.org>
42362
42363         * lib/fatal-signal.c (fatal_signals): Make non-const.
42364         (init_fatal_signals): New function.
42365         (uninstall_handlers, install_handlers): Ignore signals that were set to
42366         SIG_IGN.
42367         (at_fatal_signal): Call init_fatal_signals.
42368         (init_fatal_signal_set): Likewise. Ignore signals that were set to
42369         SIG_IGN.
42370         Reported by Paul Eggert.
42371
42372 2004-12-18  Bruno Haible  <bruno@clisp.org>
42373
42374         * doc/alloca.texi: New file.
42375         * doc/alloca-opt.texi: New file.
42376
42377 2004-12-17  Jim Meyering  <jim@meyering.net>
42378
42379         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
42380         Otherwise, install-sh could exit with improper exit status when
42381         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
42382
42383 2004-12-16  Simon Josefsson  <jas@extundo.com>
42384
42385         * tests/test-base64.c: Add license.
42386
42387 2004-12-15  Stepan Kasal  <address@hidden>
42388
42389         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
42390
42391 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
42392
42393         * modules/getcwd (Files): Add m4/d-ino.m4.
42394         Suggested by Mark D. Baushke.
42395
42396 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
42397
42398         * lib/getdate.y (textint): New member "negative".
42399         (time_zone_hhmm): New function.
42400         Expect 14 shift-reduce conflicts, not 13.
42401         (o_colon_minutes): New rule.
42402         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
42403         (yylex): Set the "negative" member of signed numbers.
42404
42405 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
42406
42407         * doc/getdate.texi (Time of day items, Time zone items):
42408         Describe new formats +00:00, UTC+00:00.
42409
42410 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42411
42412         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
42413         spurious "-l"s.  Problem reported by Stepan Kasal.
42414
42415 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
42416
42417         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
42418         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
42419
42420 2004-12-04  Simon Josefsson  <jas@extundo.com>
42421
42422         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
42423         Vandoorselaere <yoann@prelude-ids.org>.
42424
42425 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
42426
42427         Changes imported from coreutils.
42428         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
42429         exist.
42430         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
42431
42432 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
42433
42434         Changes imported from coreutils.
42435         * lib/hard-locale.c: Assume <locale.h> exists.
42436         Include "strdup.h".
42437         (GLIBC_VERSION): New macro.
42438         (hard_locale): Assume setlocale exists.
42439         Rewrite to avoid #ifdef.
42440         Use strdup rather than malloc + strcpy.
42441         * lib/human.c: Assume <locale.h> exists.
42442         (human_readable): Assume localeconv exists.
42443
42444 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
42445
42446         * modules/hard-locale (Depends-on): Add strdup.
42447
42448 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
42449
42450         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
42451         convert T2, not T.  (Imported from libc.)
42452
42453 2004-11-30  Simon Josefsson  <jas@extundo.com>
42454
42455         * modules/restrict (License): Change to LGPL.
42456
42457 2004-11-30  Simon Josefsson  <jas@extundo.com>
42458
42459         * m4/restrict.m4: Add copyright and copying conditions.
42460
42461 2004-11-30  Simon Josefsson  <jas@extundo.com>
42462
42463         * m4/base64.m4: New file.
42464
42465 2004-11-30  Simon Josefsson  <jas@extundo.com>
42466
42467         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
42468         base64.
42469
42470         * tests/test-base64.c: New file.
42471
42472         * modules/base64: New file.
42473
42474 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
42475
42476         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
42477         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
42478
42479         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
42480
42481 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
42482
42483         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
42484         (__getcwd.c): Don't restore errno; glibc doesn't.
42485         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
42486         first, falling back to our code only if its results look suspicious.
42487         Ensure that the resulting buffer is only as large as necessary.
42488
42489         * lib/readutmp.c: Include readutmp.h first.
42490         Include <errno.h>, since readutmp.h no longer does that.
42491         * lib/readutmp.h: Don't include <errno.h>,
42492         <sys/param.h>, <time.h>; not needed to establish interface.
42493         (errno): Remove decl.
42494         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
42495         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
42496         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
42497
42498 2004-11-28  Simon Josefsson  <jas@extundo.com>
42499
42500         * lib/base64.h, base64.c: New file.
42501
42502 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
42503
42504         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
42505
42506 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
42507
42508         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
42509         (Depends-on): Remove pathmax, same.  Add mempcpy.
42510         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
42511         (Makefile.am): Append getcwd.h to lib_SOURCES.
42512         (Include): Add getcwd.h.
42513         (Maintainer): Change from Jim Meyering to "all, glibc",
42514         since getdate now uses intended-for-glibc code.
42515         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
42516         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
42517
42518 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
42519
42520         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
42521         HP's ANSI C compiler.
42522         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
42523         Declaring int functions causes warnings on some modern systems and
42524         shouldn't be needed to compile on ancient ones.
42525         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
42526         defined.
42527
42528         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
42529         with the following changes.
42530         (__set_errno): Parenthesize properly.
42531         Include <stdbool.h>.
42532         (MIN, MAX, MATCHING_INO): New macros.
42533         (__getcwd): Define with prototype, not K&R form.
42534         Use heuristics to allocate default buffer on stack if possible.
42535         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
42536         behavior, and to avoid the PATH_MAX limit when computing
42537         ../../../../...
42538         Use MATCHING_INO to compare inode number to file.
42539         Check for arithmetic overflow in size calculations.
42540         Fix bug in reallocation of dot array that caused getcwd to fail
42541         on directories nested deeper than 75.
42542         Be more careful about saving errno on error.
42543         Do not use realloc; use only free+malloc, as this is a bit
42544         more flexible and avoids a needless copy operation.
42545         Do not inspect st_dev and st_ino for symbolic links; POSIX
42546         doesn't specify the latter.
42547         Check for closedir errors.
42548         Avoid needless casts.
42549         Use "#ifdef weak_alias" around weak_alias, to be like other
42550         glibc code.
42551         The following changes to getcwd.c have effect only when used in
42552         gnulib; they have no effect inside glibc proper.
42553         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
42554         as alloca isn't used.
42555         (alloca, __alloca): Likewise.
42556         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
42557         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
42558         unconditionally, as gnulib assumes C89 or better.
42559         Do not include <sys/param.h>.
42560         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
42561         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
42562         better.
42563         (NULL) [!defined NULL]: Remove; we assume C89 or better.
42564         Include <dirent.h> in a way that is compatible with modern Autoconf.
42565         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
42566         New macros, if not already defined.
42567         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
42568         Use "_LIBC", not "defined _LIBC", for consistency.
42569         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
42570         a mempcpy module.
42571         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
42572         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
42573         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
42574         credit only to Jim Meyering and adjust the copyright dates.
42575         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
42576         <stdlib.h>, <unistd.h>, "pathmax.h".
42577         Instead, include "xgetcwd.h" (first) and "getcwd.h".
42578         (INITIAL_BUFFER_SIZE): Remove.
42579         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
42580
42581 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
42582
42583         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
42584         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
42585         Use the _ONCE methods, for efficiency.
42586         Check for fcntl.h.  In test program, include <errno.h>
42587         and <fcntl.h> if available.  Remove old K&R cruft from
42588         test program.  Check for common errors in GNU/Linux,
42589         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
42590         don't do AC_LIBOBJ, as that's getcwd.m4's job.
42591         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
42592         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
42593         name accordingly.
42594         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
42595         accommodate new getcwd.c.
42596         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
42597         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
42598         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
42599         that's all we need now.
42600
42601 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42602
42603         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
42604         argp-parse.c depends on getopt internals, that means we should
42605         always use our getopt, to be on the safe side.
42606         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
42607         order not to spoil the result of an eventual previous invocation
42608         of gl_GETOPT_SUBSTITUTE.
42609
42610 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
42611
42612         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
42613         redefinition warnings. To avoid them, include the defines
42614         in `#if !defined __need_getopt ... #endif'. The only place
42615         where __getopt_argv_const is used is in definitions
42616         of getopt_long and getopt_long_only below, which are as well
42617         protected by `#ifndef __need_getopt'.
42618         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
42619         __need_getopt after including <stdio.h> and <unistd.h> These
42620         headers might have defined it.
42621
42622 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
42623
42624         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
42625
42626 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
42627
42628         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
42629         (futimens): New function, which uses futimes if available.
42630         (futimens, utimens): Support timespec==NULL, with same semantics
42631         as utime and utimens.
42632         * lib/utimens.h (futimens): New decl.
42633
42634 2004-11-23  Jim Meyering  <jim@meyering.net>
42635
42636         * lib/getopt_.h: Remove trailing blanks.
42637
42638 2004-11-23  Jim Meyering  <jim@meyering.net>
42639
42640         * lib/__fpending.c: Add comment.
42641
42642 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
42643
42644         * modules/canonicalize (Depends-on): Add xreadlink.
42645         Problem reported by James Youngman.
42646
42647 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42648
42649         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
42650         New macros.
42651         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
42652         optopt): Use them instead of invoking ## directly; otherwise, the
42653         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
42654
42655 2004-11-19  Bruno Haible  <bruno@clisp.org>
42656
42657         * lib/strtok_r.c: Move comments from here...
42658         * lib/strtok_r.h: ... to here.
42659
42660 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
42661
42662         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
42663         implementations that mishandle size_t overflow.
42664
42665 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
42666
42667         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
42668         might fail.  Problem reported by Yoann Vandoorselaere.
42669         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
42670         implementations that mishandle size_t overflow.
42671
42672 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42673
42674         * modules/canon-host (Depends-on): Add strdup.
42675
42676 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42677
42678         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
42679
42680 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42681
42682         * lib/canon-host.c: Include "strdup.h".
42683         (canon_host): Use getaddrinfo if available, so that IPv6 works.
42684         Use strdup instead of malloc/strcpy to duplicate strings.
42685
42686         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
42687         (human_space_before_unit): New constant.
42688         * lib/human.c (human_readable): Support it.
42689
42690         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
42691         (xgetcwd): Set errno correctly when failing.
42692         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
42693         the failure is actually due to a PATH_MAX problem.
42694
42695         Further getopt changes to make it more likely that glibc will
42696         buy the changes back.
42697         * lib/getopt.c (POSIXLY_CORRECT): New constant.
42698         (getopt): Use it, so to preserve glibc semantic
42699         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
42700         when compiling for libc.
42701         * lib/getopt_.h (__getopt_argv_const): Bring it back.
42702         (getopt_long, getopt_long_only): Use it.
42703
42704         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
42705         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
42706         (getopt): Argv is now char * const *, as per standard.
42707         (_getopt_internal_r, _getopt_internal): Argv is now char **,
42708         not char *__getopt_argv_const *.
42709         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
42710         _getopt_long_only_r): Likewise.
42711         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
42712         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
42713         _getopt_long_r, _getopt_long_only_r): Likewise.
42714         * lib/getopt_.h (__getopt_argv_const): Remove.
42715         (getopt): Argv is now char * const *, as per standard.
42716
42717         * lib/getdate.y (tORDINAL): New token.
42718         (day, relunit): Allow it for relative times.
42719         (relative_time_table): Use tORDINAL for ordinals.
42720
42721 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42722
42723         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
42724         Document that "second" isn't allowed as an ordinal number.
42725
42726 2004-11-16  Jim Meyering  <jim@meyering.net>
42727
42728         * modules/closeout (Depends-on): Add fpending.
42729
42730 2004-11-15  Jim Meyering  <jim@meyering.net>
42731
42732         * lib/closeout.c: Include "__fpending.h" once again.
42733         Include <stdbool.h>.
42734         (close_stdout): Don't fail just because stdout was closed initially,
42735         since some programs don't write to stdout in the normal course of
42736         operation (other than --version and --help), and we don't want this
42737         function to make e.g. `touch file >&-' fail.
42738         But do fail if it was closed and someone has tried to write to it.
42739         E.g., `printf foo >&-' must fail.
42740
42741 2004-11-13  Jim Meyering  <jim@meyering.net>
42742
42743         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
42744
42745 2004-11-12  Simon Josefsson  <jas@extundo.com>
42746
42747         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
42748         small doc fix is still pending.
42749
42750 2004-11-11  Simon Josefsson  <jas@extundo.com>
42751
42752         * modules/strtok_r: New file.
42753
42754         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42755         strtok_r.
42756
42757 2004-11-11  Simon Josefsson  <jas@extundo.com>
42758
42759         * m4/strtok_r.m4: New file.
42760
42761         * m4/getopt.m4: Replace opterr.
42762
42763 2004-11-11  Simon Josefsson  <jas@extundo.com>
42764
42765         * lib/strtok_r.h, strtok_r.c: New file.
42766
42767 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
42768
42769         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
42770         of replacing opterr, getopt, etc.  This should handle the
42771         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
42772
42773 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
42774
42775         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
42776         we can stop lying to compilers about the constness of argv when we
42777         are compiled outside glibc.
42778         (getopt, getopt_long, getopt_long_only): Use it.
42779         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
42780         _getopt_internal, getopt): Likewise.
42781         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
42782         _getopt_long_only_r): Likewise.
42783         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
42784         _getopt_long_r, _getopt_long_only_r): Likewise.
42785
42786         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
42787         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
42788         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
42789         the other external symbols.
42790         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
42791         declaration, since the above renaming now works around collisions.
42792
42793 2004-11-11  Jim Meyering  <jim@meyering.net>
42794
42795         * lib/linebreak.c: Remove trailing blanks.
42796         * lib/alloca_.h: Likewise.
42797         * lib/acosl.c: Likewise.
42798         * lib/euidaccess.c: Likewise.
42799         * lib/allocsa.h: Likewise.
42800
42801 2004-11-10  Simon Josefsson  <jas@extundo.com>
42802
42803         * m4/getaddrinfo.m4: New file.
42804
42805 2004-11-10  Simon Josefsson  <jas@extundo.com>
42806
42807         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
42808
42809 2004-11-10  Simon Josefsson  <jas@extundo.com>
42810
42811         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42812         getaddrinfo.
42813
42814         * modules/getaddrinfo: New file.
42815
42816 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
42817
42818         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
42819
42820 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
42821
42822         * lib/mktime.c (SHR): New macro, which is a portable
42823         substitute for >> that should work even on Crays.
42824         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
42825         Problem reported by Mark D. Baushke in
42826         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
42827         * lib/getdate.y (SHR): Likewise.
42828         (tm_diff): Use it.
42829         * lib/strftime.c (SHR): Likewise.
42830         (tm_diff): Use it.
42831         * lib/quotearg.c (struct quoting_options): Use unsigned int for
42832         quote_these_too, so that right shifts are well defined.  All uses
42833         changed.
42834
42835 2004-11-10  Jim Meyering  <jim@meyering.net>
42836
42837         Ensure that no close failure goes unreported.
42838         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
42839         return early when it seems there's nothing to flush.
42840         Don't include __fpending.h.
42841
42842 2004-11-10  Jim Meyering  <jim@meyering.net>
42843
42844         * modules/closeout (Depends-on): Remove fpending.
42845
42846 2004-11-10  Jim Meyering  <jim@meyering.net>
42847
42848         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
42849
42850 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42851
42852         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
42853         gl_FUNC_STRFTIME.
42854         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
42855         and AC_REQUIRE when possible, to avoid duplicate checks.
42856         Check for <wchar.h>.
42857
42858 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42859
42860         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
42861
42862 2004-11-09  Bruno Haible  <bruno@clisp.org>
42863
42864         * m4/sockpfaf.m4: New file.
42865
42866 2004-11-05  Bruno Haible  <bruno@clisp.org>
42867
42868         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
42869         Reported by Mark D. Baushke <mdb@cvshome.org>.
42870
42871 2004-11-04  Bruno Haible  <bruno@clisp.org>
42872
42873         2004-09-11  Bruno Haible  <bruno@clisp.org>
42874                 * allocsa.valgrind: New file.
42875         2004-02-06  Bruno Haible  <bruno@clisp.org>
42876                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
42877                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
42878                 Reported by Christopher Seip <chris.seip@hp.com>.
42879
42880 2004-11-04  Bruno Haible  <bruno@clisp.org>
42881
42882         * modules/allocsa (Files): Add lib/allocsa.valgrind.
42883         (Makefile.am): Distribute it.
42884
42885 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
42886
42887         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
42888         with errno == ERANGE if the buffer is too small.
42889         Problem reported by Mark D. Baushke.
42890
42891 2004-11-03  Albert Chin  <china@thewrittenword.com>
42892             Paul Eggert  <eggert@cs.ucla.edu>
42893
42894         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
42895         equivalent, substitute $ac_type for equivalent type rather than
42896         blindly using uint32_t *always* which won't work if uint32_t is not
42897         available.  Define _UINT32_T to work around typedef of uint32_t if
42898         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
42899         2.5.1.
42900
42901 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
42902
42903         * m4/jm-macros.m4: Sync from coreutils.
42904         (gl_MACROS): Check for mbrlen, for pathchk.
42905         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
42906
42907 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
42908
42909         * lib/xreadlink.c (MAXSIZE): New macro.
42910         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
42911         size does not exceed MAXSIZE.  Avoid cast.
42912         As suggested by Mark D. Baushke in
42913         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
42914         if readlink fails with buffer size just under MAXSIZE, try again
42915         with MAXSIZE.
42916
42917 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
42918
42919         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
42920
42921 2004-11-02  Derek R. Price  <derek@ximbiot.com>
42922         and  Paul Eggert  <eggert@cs.ucla.edu>
42923
42924         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
42925         (get_date): Overparenthesize to avoid GCC warning.
42926
42927 2004-11-02  Bruno Haible  <bruno@clisp.org>
42928
42929         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
42930         returns void.
42931
42932 2004-11-02  Bruno Haible  <bruno@clisp.org>
42933
42934         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
42935         function returns void.
42936
42937 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
42938
42939         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
42940         fflush_unlocked, flockfile, funlockfile, funlockfile,
42941         fputs_unlocked, putc_unlocked.
42942
42943 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
42944
42945         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
42946         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
42947         already declared.
42948
42949 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
42950
42951         * modules/getdate (Files): Add doc/getdate.texi.
42952         (Depends-on): Add setenv, xalloc.
42953
42954 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
42955
42956         * lib/getdate.y: Add support for TZ="foo" within a date string.
42957         Fix some bugs near time_t boundaries.  Reject dates with
42958         out-of-range components, e.g., "Sept 31".
42959         Include <stdlib.h>, "setenv.h", "xalloc.h".
42960         (ISDIGIT_LOCALE): Remove; unused.
42961         Note that the TZ and time functions used here are not reentrant.
42962         (mktime_ok, get_tz): New functions.
42963         (TZBUFSIZE): New constant.
42964         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
42965         This requires that we sometimes generate our own TZ="XXX..." setting.
42966
42967 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
42968
42969         * doc/getdate.texi: New file, from coreutils with modifications for
42970         the new TZ parsing.
42971
42972 2004-10-27  Derek R. Price  <derek@ximbiot.com>
42973
42974         * lib/mktime.c (not_equal_tm): Remove redundant check.
42975
42976 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42977
42978         * modules/regex (lib_SOURCES): Add regex.c.
42979         Reported by James Youngman in
42980         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
42981
42982 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42983
42984         * lib/getdate.y: Use Bison 1.875 features, and some minor
42985         code cleanups.  This change does not affect semantics.
42986         Don't include <stdlib.h>; no longer needed.
42987         Don't include unlocked-io.h; only the "#if TEST" code uses
42988         stdio, and performance isn't crucial there.
42989         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
42990         Bison 1.875 features as described below.
42991         All uses of "PC." replaced by "pc->".
42992         (YYSTYPE): Add a forward declaration.
42993         (yylex, yyerror): Use full prototypes in forward decls.
42994         Use "%pure-parser" rather than obsolescent "%pure_parser".
42995         Use %parse-param and %lex-param instead of obsolescent
42996         YYPARSE_PARAM and YYLEX_PARAM.
42997         (meridian_table, month_and_day_table, time_units_table,
42998         relative_time_table, time_zone_table, military_table,
42999         lookup_zone, lookup_word, get_date):
43000         Use NULL instead of 0 where appropriate.
43001         (to_hour): Avoid abort (), to avoid a dependency on
43002         stdlib.h.
43003         (yyerror, yylex): Now accepts parser_control * arg.
43004         (main) [TEST]: Use '\0' rather than 0 for char.
43005
43006 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43007
43008         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
43009
43010 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43011
43012         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
43013         It's now the caller's responsibility to handle the case where
43014         !HAVE_GETPAGESIZE && !defined getpagesize.
43015
43016         * lib/mktime.c (leapyear): Arg is long int, not int.
43017
43018 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
43019
43020         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
43021
43022 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
43023
43024         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
43025         missing.  Problem reported by James Youngman.
43026
43027 2004-10-16  Simon Josefsson  <jas@extundo.com>
43028
43029         * gnulib-tool: Fix comments.  Fix parse problem.
43030         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
43031
43032 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
43033
43034         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
43035         implementation of getopt_long.  Problem reported by Alexander Taler in:
43036         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
43037
43038 2004-10-15  Bruno Haible  <bruno@clisp.org>
43039
43040         * gnulib-tool: Untabify. Initialize supplied_libname.
43041         (func_usage): More homogenous output.
43042         (func_modules_transitive_closure, func_modules_to_filelist,
43043         func_emit_lib_Makefile_am): New functions.
43044         (func_import): New function, extracted from big case statement. Use
43045         func_get_license, func_modules_transitive_closure,
43046         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
43047         opt_lgpl. Don't use test -a, as it's not portable.
43048         (func_create_testdir): Use func_modules_transitive_closure,
43049         func_modules_to_filelist, func_emit_lib_Makefile_am.
43050
43051 2004-10-15  Bruno Haible  <bruno@clisp.org>
43052
43053         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
43054
43055 2004-10-15  Bruno Haible  <bruno@clisp.org>
43056
43057         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
43058         the portions belonging to each module.
43059         Suggested by Derek Robert Price <derek@ximbiot.com>.
43060
43061 2004-10-12  Simon Josefsson  <jas@extundo.com>
43062
43063         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
43064         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
43065         to real functions.
43066
43067 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43068
43069         * modules/vsnprintf: New file.
43070
43071 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43072
43073         * m4/vsnprintf.m4: New file.
43074
43075 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43076
43077         * lib/vsnprintf.h: New file.
43078         * lib/vsnprintf.c: New file.
43079
43080 2004-10-11  Bruno Haible  <bruno@clisp.org>
43081
43082         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
43083         vsnprintf.
43084
43085 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
43086
43087         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
43088
43089 2004-10-07  Bruno Haible  <bruno@clisp.org>
43090
43091         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
43092         fits into the provided buffer.
43093
43094 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
43095
43096         * lib/diacrit.c, diacrit.h: Add GPL notice.
43097
43098         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
43099         notice.
43100         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
43101         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
43102         This avoids a potential constant-folding bug.
43103
43104 2004-10-05  Bruno Haible  <bruno@clisp.org>
43105
43106         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
43107         for the declaration of strsep.
43108
43109 2004-10-05  Bruno Haible  <bruno@clisp.org>
43110
43111         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
43112
43113 2004-10-04  Simon Josefsson  <jas@extundo.com>
43114
43115         * modules/memmem: New file.
43116         * tests/test-memmem.c: New file.
43117         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
43118
43119 2004-10-04  Simon Josefsson  <jas@extundo.com>
43120
43121         * m4/memmem.m4: New file.
43122
43123 2004-10-04  Simon Josefsson  <jas@extundo.com>
43124
43125         * lib/memmem.h: New file.
43126         * lib/memmem.c: New file, taken from glibc.
43127
43128 2004-10-04  Simon Josefsson  <jas@extundo.com>
43129
43130         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
43131         '#ifdef USE_UNLOCKED_IO'.
43132
43133 2004-10-04  Simon Josefsson  <jas@extundo.com>
43134
43135         * config/srclist.txt: Add memmem from glibc.
43136
43137 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
43138
43139         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
43140
43141         * modules/argmatch, modules/argp, modules/closeout, modules/error,
43142         modules/exclude, modules/getdate, modules/getline,
43143         modules/getndelim2, modules/getpass, modules/getpass-gnu,
43144         modules/getusershell, modules/linebuffer, modules/md5,
43145         modules/mountlist, modules/posixtm, modules/readtokens,
43146         modules/readutmp, modules/regex, modules/sha1,
43147         modules/version-etc, modules/yesno:
43148         Remove dependency on unlocked-io.
43149
43150 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
43151
43152         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
43153
43154         * m4/unlocked-io.m4: Add copyright notice.
43155         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
43156
43157 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
43158
43159         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
43160         * lib/xmalloc.c (xmemdup): Likewise.
43161         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
43162         XFREE): Remove these long-obsolescent macros.
43163         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
43164         * lib/xstrdup.c: Remove.
43165
43166         * lib/regex.c (re_comp): Cast gettext return value to char *,
43167         Problem reported by Martin Neitzel via Mark D. Baushke.
43168
43169 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
43170
43171         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
43172         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
43173         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
43174         regex.c, sha1.c, version-etc.c, yesno.c:
43175         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
43176         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
43177         the includer's responsibility.
43178
43179         Sync from coreutils.
43180
43181         * lib/modechange.c (mode_compile): Don't decrement a pointer that
43182         points to the start of a string, as the C Standard says the
43183         resulting behavior is undefined.
43184
43185         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
43186         simple -> simple_backups, numbered_existing ->
43187         numbered_existing_backups, numbered -> numbered_backups
43188         to avoid shadowing problems.  All uses changed.
43189         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
43190         * lib/backupfile.c (check_extension, numbered_backup):
43191         Rename locals to avoid shadowing 'basename'.
43192         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
43193         once.
43194
43195         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
43196         * lib/.cvsignore: Add getopt.h.
43197
43198 2004-10-04  Bruno Haible  <bruno@clisp.org>
43199
43200         * modules/README: New file.
43201         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
43202         not a module.
43203
43204 2004-10-02  Jim Meyering  <jim@meyering.net>
43205
43206         * lib/dirfd.h, getpagesize.h: Add copyright notice.
43207
43208 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43209
43210         * modules/strsep: New file.
43211
43212 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43213
43214         * m4/strsep.m4: New file.
43215
43216 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43217
43218         * lib/strsep.h: New file.
43219         * lib/strsep.c: New file.
43220
43221 2004-10-01  Simon Josefsson  <jas@extundo.com>
43222
43223         * lib/snprintf.c (snprintf): Handle size==0.
43224
43225 2004-10-01  Simon Josefsson  <jas@extundo.com>
43226             Bruno Haible  <bruno@clisp.org>
43227
43228         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
43229         (snprintf): Declare 'args'.
43230
43231 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
43232
43233         * lib/snprintf.c: Remove comments as to why each header is needed.
43234
43235 2004-10-01  Bruno Haible  <bruno@clisp.org>
43236
43237         * MODULES.html.sh: Add strsep.
43238
43239 2004-09-30  Simon Josefsson  <jas@extundo.com>
43240
43241         * modules/snprintf: New file.
43242
43243 2004-09-30  Simon Josefsson  <jas@extundo.com>
43244
43245         * m4/snprintf.m4: New file.
43246
43247 2004-09-30  Simon Josefsson  <jas@extundo.com>
43248
43249         * lib/snprintf.h, lib/snprintf.c: New files.
43250
43251 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43252
43253         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
43254         (hol_entry_help): Never translate an empty string.
43255         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
43256         * lib/argp.h (OPTION_NO_TRANS): New option.
43257
43258 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
43259
43260         * modules/argp (Maintainer): Replace Simon Josefsson
43261         by Sergey Poznyakoff.
43262
43263 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
43264
43265         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
43266         changes merged back into glibc.
43267
43268 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
43269
43270         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
43271
43272 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
43273
43274         * lib/xvasprintf.c: Include xalloc.h.
43275         (xvasprintf): Use xalloc_die, not xmalloc_die.
43276
43277 2004-09-29  Bruno Haible  <bruno@clisp.org>
43278
43279         * modules/alloca-opt: New file, derived from modules/alloca.
43280         * modules/allocsa: Depend on alloca-opt instead of alloca.
43281         * modules/setenv: Likewise.
43282         * modules/vasnprintf: Likewise.
43283         * MODULES.html.sh: Add alloca-opt.
43284
43285 2004-09-28  Simon Josefsson  <jas@extundo.com>
43286
43287         * gnulib-tool: New parameter --lgpl, to asseert that modules are
43288         LGPL, and to replace license template from GPL to LGPL.
43289
43290 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
43291
43292         * modules/dummy: Change license to LGPL.
43293
43294 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
43295
43296         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
43297
43298 2004-09-24  Simon Josefsson  <jas@extundo.com>
43299
43300         * modules/minmax (License): Change from GPL to LGPL.
43301
43302 2004-09-23  Simon Josefsson  <jas@extundo.com>
43303
43304         * gnulib-tool (--import): Typo.
43305
43306 2004-09-23  Simon Josefsson  <jas@extundo.com>
43307
43308         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
43309
43310 2004-09-22  Bruno Haible  <bruno@clisp.org>
43311
43312         * modules/*: Add 'License' field.
43313         * gnulib-tool: Accept --extract-license option.
43314         (func_get_license): New function.
43315
43316 2004-09-21  Bruno Haible  <bruno@clisp.org>
43317
43318         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
43319         Reported by Simon Josefsson.
43320
43321 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
43322
43323         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
43324         gl_AC_TYPE_LONG_LONG.
43325
43326 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
43327
43328         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
43329
43330 2004-09-18  Simon Josefsson  <jas@extundo.com>
43331         and  Paul Eggert  <eggert@cs.ucla.edu>
43332
43333         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
43334         calls with autoreconf.  Define GL_LIB.
43335
43336 2004-09-14  Karl Berry  <karl@gnu.org>
43337
43338         * config/srclist.txt: unsync setenv.c, sigh.
43339
43340 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
43341
43342         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
43343         Problem reported by Bruno Haible in:
43344         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
43345
43346 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
43347
43348         * config/srclist.txt: Comment out argp-pvh.c.
43349
43350 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
43351
43352         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
43353         in case some system header has #define'd it.  Problem reported by
43354         Soeren D. Schulze in
43355         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
43356
43357 2004-09-09  Karl Berry  <karl@gnu.org>
43358
43359         * regex.[ch]: delete from the root.  These were supposed to be
43360                 synced with emacs cvs, but this has not happened for about
43361                 a year, and anyway nothing else uses emacs regex.[ch].
43362                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
43363                 lib/regex[.ch] is untouched.
43364
43365 2004-09-09  Bruno Haible  <bruno@clisp.org>
43366
43367         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
43368
43369 2004-09-09  Bruno Haible  <bruno@clisp.org>
43370
43371         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
43372         modifications.
43373         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
43374
43375 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
43376
43377         * modules/xvasprintf: New file.
43378         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
43379
43380 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
43381
43382         * lib/xvasprintf.h: New file.
43383         * lib/xvasprintf.c: New file.
43384         * lib/xasprintf.c: New file.
43385
43386 2004-09-08  Bruno Haible  <bruno@clisp.org>
43387
43388         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
43389
43390 2004-09-08  Bruno Haible  <bruno@clisp.org>
43391
43392         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
43393         length is > INT_MAX.
43394         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
43395         more.
43396
43397 2004-09-08  Bruno Haible  <bruno@clisp.org>
43398
43399         * lib/stdint_.h: New file, taken from GNU clisp.
43400
43401 2004-09-08  Bruno Haible  <bruno@clisp.org>
43402             Oskar Liljeblad  <oskar@osk.mine.nu>
43403
43404         * modules/stdint: New file.
43405         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
43406
43407 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43408
43409         Import from coreutils.
43410         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
43411         strings on unbounded length.  alloca's performance benefits aren't
43412         that important here.
43413         (V_STRDUP): Remove.
43414         (parse_with_separator): New function, with most of the internals
43415         of the old parse_user_spec.  Allow user to omit both user and group,
43416         for compatibility with FreeBSD.
43417         Clone only the user name, not the entire spec.
43418         Do not set *uid, *gid unless entirely successful.
43419         Avoid memory leak in some failing cases.
43420         Fix regression for USER.GROUP reported by Dmitry V. Levin in
43421         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
43422         (parse_user_spec): Rewrite to use parse_with_separator.
43423
43424 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43425
43426         * modules/userspec: Don't depend on alloca.
43427
43428 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43429
43430         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
43431
43432 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
43433
43434         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
43435         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
43436         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
43437
43438 2004-08-16  Simon Josefsson  <jas@extundo.com>
43439
43440         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
43441         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
43442         Add --dry-run for --import.
43443         Let user provided command line parameters override configure.ac
43444         settings.
43445
43446 2004-08-12  Simon Josefsson  <jas@extundo.com>
43447
43448         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
43449         as discussed with Paul Eggert in threads rooted at
43450         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
43451         and
43452         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
43453         Before, the test was empty, and relied on ELIDE_CODE in source
43454         code.)
43455         (gl_PREREQ_GETOPT): New macro.
43456         (gl_GETOPT): Use them.
43457
43458 2004-08-12  Simon Josefsson  <jas@extundo.com>
43459
43460         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
43461         * lib/getopt_.h: Renamed from getopt.h.
43462
43463 2004-08-12  Simon Josefsson  <jas@extundo.com>
43464
43465         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
43466         Change default library name from libfoo to libgnu.
43467         Now, if you have a configure.ac that says:
43468                 gl_SOURCE_BASE(gl)
43469                 gl_M4_BASE(gl/m4)
43470                 gl_MODULES(error getopt etcetera)
43471                 gl_INIT
43472         you can import all you need by running:
43473                 ../gnulib/gnulib-tool --import
43474
43475         * modules/getopt (Files): Rename getopt.h to getopt_.h.
43476         (Makefile.am): Rewrite, use logic from argz.
43477         (Include): Use <getopt.h> instead of "getopt.h".
43478
43479 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
43480
43481         * modules/argp (Files): Add m4/unlocked-io.m4.
43482         (Depends-on): Add extensions.
43483
43484 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
43485
43486         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
43487         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
43488         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
43489         Check for program_invocation_name, program_invocation_short_name,
43490         flockfile, funlockfile, features.h, _getopt_long_only_r.
43491
43492 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
43493
43494         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
43495         its complicated substitute.
43496         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
43497         and program_invocation_name.
43498         (__argp_basename) [!_LIBC]: Remove; the only use was
43499         replaced by its body.
43500         (__argp_short_program_name): Change condition from
43501         !defined __argp_short_program_name to
43502         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
43503         to match argp-namefrob.h.
43504         (__argp_failure): Don't assume strerror_r returns char *.
43505         * lib/argp-parse.c (N_): Define unconditionally.
43506         (argp_default_options): Fill out initializers with 0 to avoid
43507         gcc warnings.
43508
43509 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
43510
43511         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
43512         getopt1.c.
43513
43514 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
43515
43516         Merge from coreutils.
43517
43518         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
43519
43520         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
43521         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
43522
43523 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
43524
43525         Merge from coreutils.
43526
43527         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
43528         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
43529         for Reliant Unix 5.43.
43530
43531         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
43532         (union fooround): Use uintmax_t, not long int.
43533         The rest is a merge from libc:
43534         [defined _LIBC]: Include <shlib-compat.h>.
43535         (_obstack) [defined _LIBC]: Remove after 2.3.4.
43536
43537         * lib/settime.c (settime): Recode to avoid warning with
43538         Sun Forte C 6U2.
43539
43540         * lib/strverscmp.c: Convert to UTF-8.
43541
43542 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
43543
43544         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
43545         m4/uintmax_t.m4.
43546
43547 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43548
43549         * modules/xalloc-die: New file.
43550         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
43551
43552         * modules/md5 (Files): Add m4/uint32_t.m4.
43553         * modules/sha1: Renamed from modules/sha.
43554         (Files):
43555         Rename lib/sha.h to lib/sha1.h.
43556         Rename lib/sha.c to lib/sha1.c.
43557         Rename m4/sha.m4 to m4/sha1.m4.
43558         (lib_SOURCES): Likewise.
43559         (configure.ac): Rename gl_SHA to gl_SHA1.
43560         (Include): sha.h -> sha1.h.
43561
43562 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43563
43564         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
43565         * m4/sha1.m4: Renamed from sha.m4.
43566         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
43567
43568 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43569
43570         * lib/obstack.h (obstack_empty_p):
43571         Don't assume that chunk->contents is suitably aligned.
43572         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
43573         Likewise. Problem reported by Benno in
43574         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
43575
43576         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
43577         readable.  This could be improved further but it'd take some work.
43578
43579 2004-08-08  Simon Josefsson  <jas@extundo.com>
43580
43581         * modules/xgethostname (Depends-on): Remove exit and error (not
43582         used).
43583
43584         * modules/getpass-gnu: Add getpass.h.
43585         (Depends-on): Add stdbool.
43586         * modules/getpass: Add getpass.h.
43587
43588 2004-08-08  Simon Josefsson  <jas@extundo.com>
43589
43590         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
43591         Check getpass declaration.
43592
43593 2004-08-08  Simon Josefsson  <jas@extundo.com>
43594
43595         * lib/xgethostname.c: Don't include error.h (not used).
43596
43597         * lib/getpass.h: Add.
43598         * lib/getpass.c: Include getpass.h first.
43599
43600 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
43601
43602         * lib/xalloc-die.c: New file.
43603         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
43604         All uses removed.
43605         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
43606         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
43607         xalloc-die.c.
43608         (_, N_, xalloc_die): Move to xalloc-die.c.
43609         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
43610         so that we needn't mess with xalloc_msg_memory_exhausted.
43611
43612         * lib/sha1.h: Renamed from sha.h.
43613         (SHA1_H): Renamed from _SHA_H.
43614         (sha1_ctx): Renamed from sha_ctx.
43615         (sha1_init_ctx): Renamed from sha_init_ctx.
43616         (sha1_process_block): Renamed from sha_process_block.
43617         (sha1_process_bytes): Renamed from sha_process_bytes.
43618         (sha1_finish_ctx): Renamed from sha_finish_ctx.
43619         (sha1_read_ctx): Renamed from sha_read_ctx.
43620         (sha1_stream): Renamed from sha_stream.
43621         (sha1_buffer): Renamed from sha_buffer.
43622         * lib/sha1.c: Likewise; renamed from sha.c.
43623         Do not include <sys/types.h>.
43624         Include <stddef.h> rather than <stdlib.h>.
43625
43626 2004-08-08  Bruno Haible  <bruno@clisp.org>
43627
43628         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
43629         FILESYSTEM_PREFIX_LEN.
43630         * lib/progreloc.c: Likewise.
43631         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
43632
43633 2004-08-06  Simon Josefsson  <jas@extundo.com>
43634
43635         * modules/progname (Depends-on): Don't depend on stdbool.
43636
43637 2004-08-06  Simon Josefsson  <jas@extundo.com>
43638
43639         * modules/getsubopt: New file.
43640         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43641         getsubopt.
43642
43643 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
43644
43645         More merge from coreutils.
43646
43647         * m4/utimens.m4, m4/utimecmp.m4: New files.
43648         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
43649         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
43650         prereq.m4, sha.m4: Import changes from coreutils.
43651
43652 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
43653
43654         More merge from coreutils.
43655         * modules/raise, modules/readtokens0, modules/utimens:
43656         * modules/utimecmp, module/xnanosleep: New files.
43657         * modules/strftime: Add lib/strftime.h.
43658         Change include from <time.h> to "strftime.h".
43659         * modules/yesno: Add lib/yesno.h.
43660         * modules/backupfile: Remove lib/addext.c.
43661         * modules/euidaccess: Add stat-macros.h.
43662         * modules/canonicalize, modules/euidaccess,
43663         modules/filemode, modules/lchown, modules/makepath,
43664         modules/rmdir, modules/stat: Likewise.
43665
43666 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
43667
43668         Merge from tar.
43669         * lib/argp-help.c (make_hol, hol_append): Don't assume that
43670         SIZE_MAX is a valid preprocessor constant.
43671         (__argp_basename): Change from "#ifndef _LIBC"
43672         to "#ifndef __argp_short_program_name", so that
43673         we don't compile these functions for tar.
43674
43675         More merges from coreutils.
43676         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
43677         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
43678         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
43679         * lib/addext.c: Remove; no longer needed.
43680         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
43681         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
43682         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
43683         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
43684         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
43685         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
43686         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
43687         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
43688         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
43689         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
43690         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
43691         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
43692         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
43693         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
43694         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
43695         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
43696         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
43697         Import changes from coreutils.
43698
43699 2004-08-05  Simon Josefsson  <jas@extundo.com>
43700
43701         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
43702
43703 2004-08-05  Simon Josefsson  <jas@extundo.com>
43704
43705         * m4/getsubopt.m4: New file.
43706
43707 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43708
43709         Merge from coreutils.
43710
43711         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
43712         * m4/getcwd-path-max.m4: New files.
43713
43714         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
43715         FILESYSTEM_PREFIX_LEN ->
43716         FILE_SYSTEM_PREFIX_LEN.
43717         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
43718         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
43719         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
43720         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
43721
43722         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
43723         prerequisite modules now handle the DOS stuff.
43724         Don't check for unistd.h.
43725
43726 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43727
43728         Merge from coreutils.
43729
43730         * lib/.gdb-history: Remove; this doesn't belong here.
43731
43732         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
43733         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
43734         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
43735         * lib/getcwd.c: New files.
43736
43737         * lib/dirname.h: Include <stdbool.h>.
43738         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
43739         for consistency with POSIX terminology.  All uses changed.
43740         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
43741         (strip_trailing_slashes): Use bool for booleans.
43742         * lib/stripslash.c (strip_trailing_slashes): Likewise.
43743
43744         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
43745         sometimes returns a positive errno value even when it succeeds.
43746         (print_errno_message) [!LIBC]: Fall back on strerror if
43747         __strerror_r fails.
43748
43749         * lib/path-concat.c (mempcpy): Don't define if a system header defines
43750         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
43751         (longest_relative_suffix): New function.
43752         (path_concat): Use it.  Assume first argument is not NULL.
43753         Port to DOS.  Omit redundant separators.
43754         Report an error instead of returning NULL.
43755         Use mempcpy instead of memcpy.
43756         (xpath_concat): Remove: not declared or used.
43757
43758         * lib/same.h: Include <stdbool.h>
43759         (same_name): Return bool, not int.
43760         * lib/same.c (same_name): Likewise.
43761         (errno): Don't declare; we assume C89 or better now.
43762
43763         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
43764         if not already defined.
43765
43766         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
43767         * lib/dup-safer.c (errno): Likewise.
43768
43769 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
43770
43771         Merge from coreutils.
43772         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
43773         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
43774         * modules/path-concat: Don't depend on strdup.
43775
43776 2004-08-03  Simon Josefsson  <jas@extundo.com>
43777
43778         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
43779         * lib/progname.h: Don't include stdbool.h.
43780
43781 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43782
43783         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
43784         * MODULES.html.sh (func_all_modules): Remove fatal.
43785
43786 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43787
43788         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
43789
43790 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
43791
43792         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
43793         working.
43794
43795 2004-08-02  Simon Josefsson  <jas@extundo.com>
43796
43797         * lib/getsubopt.h: New file, with comments from Bruno Haible.
43798         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
43799         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
43800
43801 2004-08-01  Simon Josefsson  <jas@extundo.com>
43802
43803         * lib/xgetdomainname.c: Include stdlib.h, for free().
43804
43805 2004-07-19  Bruno Haible  <bruno@clisp.org>
43806
43807         * MODULES.html.sh (func_all_modules): Add dummy.
43808
43809 2004-07-16  Simon Josefsson  <jas@extundo.com>
43810
43811         * modules/dummy: New file.
43812
43813 2004-07-16  Simon Josefsson  <jas@extundo.com>
43814
43815         * lib/dummy.c: New file.
43816
43817 2004-07-16  Bruno Haible  <bruno@clisp.org>
43818
43819         * lib/backupfile.h: Add extern "C" for C++.
43820         * lib/closeout.h: Likewise.
43821         * lib/copy-file.h: Likewise.
43822         * lib/findprog.h: Likewise.
43823         * lib/full-write.h: Likewise.
43824         * lib/pathname.h: Likewise.
43825         * lib/progname.h: Likewise.
43826         * lib/stpcpy.h: Likewise.
43827         * lib/stpncpy.h: Likewise.
43828         * lib/strcase.h: Likewise.
43829         * lib/strstr.h: Likewise.
43830         * lib/xalloc.h: Likewise.
43831
43832         * lib/mbswidth.h: Add extern "C" for C++.
43833         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
43834
43835 2004-07-13  Robert Millan  <robertmh@gnu.org>
43836
43837         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
43838
43839 2004-07-09  Simon Josefsson  <jas@extundo.com>
43840
43841         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
43842         failed without this.)
43843
43844 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43845
43846         * modules/chown (Files): Add lib/fchown-stub.c, since
43847         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
43848
43849 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43850
43851         * lib/fchown-stub.c: New file.
43852
43853 2004-06-24  Jim Meyering  <jim@meyering.net>
43854
43855         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
43856
43857 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
43858
43859         * modules/argz: Omit "#include".
43860
43861         * MODULES.html.sh (func_all_modules): Add calloc, to match
43862         2004-06-01 addition of calloc module.
43863
43864 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
43865
43866         * m4/argz.m4: New file, which is autoupdated from libtool.
43867
43868 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
43869
43870         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
43871         libtool.
43872
43873 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
43874
43875         * config/srclist-update: Don't insist on "USA." before the
43876         close-comment, as libtool omits the period and puts the */ on a
43877         separate line.
43878         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
43879         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
43880
43881 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
43882
43883         * modules/argz: New file.
43884         * MODULES.html.sh (func_all_modules): Add argz.
43885
43886 2004-06-12  Jim Meyering  <jim@meyering.net>
43887         and  Paul Eggert  <eggert@cs.ucla.edu>
43888
43889         * modules/hash (Files): Add lib/xalloc.h.
43890         * modules/pipe (Depends-on): Add wait-process.
43891         * modules/stat (Depends-on): Add xalloc.
43892         * modules/userspec (Files): Add lib/userspec.h.
43893         * modules/xstrto
43894
43895         Upgrade from gettext-0.13.
43896         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
43897         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
43898         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
43899
43900 2004-06-10  Jim Meyering  <jim@meyering.net>
43901
43902         * lib/calloc.c: New file.
43903
43904 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
43905
43906         * lib/getdate.y (yylex): Allow space between sign and number.
43907         Problem reported by Dan Jacobson.
43908
43909 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
43910
43911         Merge from coreutils CVS.
43912
43913         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
43914         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
43915         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
43916         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
43917         xstrtol.m4: Fix copyright date and/or serial number.
43918
43919         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
43920         See if we need an fchown replacement.
43921         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
43922         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
43923         and use the replacement function if we detect either defect.
43924
43925         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
43926         gl_UTIMECMP.
43927
43928 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
43929         and  Jim Meyering  <jim@meyering.net>
43930
43931         Merge from coreutils CVS.
43932
43933         * lib/stat-macros.h: New file, with contents from file-type.h
43934         and coreutils' system.h.
43935         * lib/file-type.c: Include "stat-macros.h".
43936         * lib/file-type.h (file_type): Move all macro definitions to new file,
43937         stat-macros.h.
43938
43939         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
43940         Wrap old code with this conditional.
43941         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
43942         function that does not dereference symlinks.
43943         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
43944
43945         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
43946         dependency problems.
43947         (xreadlink): Accept new arg SIZE, for efficiency.
43948         All decls and uses changed.
43949         * lib/xreadlink.h: Include <stddef.h>, for size_t.
43950
43951         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
43952         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
43953
43954         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
43955         sysexits.h.
43956
43957 2004-06-01  Jim Meyering  <jim@meyering.net>
43958
43959         * m4/calloc.m4: New file.
43960
43961 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
43962
43963         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
43964         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
43965         Also, fix a typo in a diagnostic.
43966
43967 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
43968
43969         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
43970         or AC_FUNC_REALLOC.
43971
43972 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
43973
43974         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
43975         macros to be defined.
43976         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
43977         the allocator returns NULL because the requested size is zero.
43978
43979 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
43980
43981         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
43982         var.  Add comment explaining why libc still defines it.  This
43983         merges the following patch from glibc:
43984         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
43985
43986 2004-05-20  Andreas Schwab  <schwab@suse.de>
43987
43988         * m4/free.m4: Replace free if it not known to work, not the other
43989         way round.
43990
43991 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
43992
43993         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
43994         present in glibc since revision 1.1 of this file.
43995         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
43996         obstack_alignment_mask, obstack_alloc, obstack_base,
43997         obstack_blank, obstack_blank_fast, obstack_chunk_size,
43998         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
43999         obstack_grow0, obstack_init, obstack_int_grow,
44000         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
44001         obstack_next_free, obstack_object_size, obstack_ptr_grow,
44002         obstack_ptr_grow_fast, obstack_room): Remove declarations of
44003         nonexistent functions.
44004
44005 2004-05-18  Karl Berry  <karl@gnu.org>
44006
44007         * config/srclist.txt: break link for vasnprintf.c.
44008
44009 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
44010
44011         Port obstack to the AS/400, where pointers are 16 bytes wide and
44012         you cannot cast an integer to a valid pointer.  This patch is
44013         currently waiting to be integrated into glibc; see
44014         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
44015
44016         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
44017         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
44018         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
44019         (struct obstack): temp member is now a union of a pointer and
44020         an integer, instead of an integer.  All integer uses changed.
44021         This does not affect the physical layout of struct obstack,
44022         except on hosts (like the AS/400) where the size or alignment of
44023         void * is greater than that of ptrdiff_t.
44024         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
44025         __STDC__)]: Store temporary in pointer member of union, not
44026         integer member.
44027         * lib/obstack.c: Include <stddef.h>, for offsetof.
44028         (struct fooalign): Remove; it doesn't need a name.
44029         (union fooround): Change double to long double, and add void *.
44030         (DEFAULT_ALIGNMENT): Use offsetof to compute.
44031         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
44032         not a macro.  Hence the values are always int; so remove all
44033         casts-to-int in uses.
44034
44035 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
44036
44037         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
44038         we can get this patch merged into glibc.
44039
44040 2004-05-17  Derek R. Price  <derek@ximbiot.com>
44041             Paul Eggert  <eggert@cs.ucla.edu>
44042
44043         * m4/argp: Depend on alloca.
44044
44045 2004-05-17  Derek R. Price  <derek@ximbiot.com>
44046             Paul Eggert  <eggert@cs.ucla.edu>
44047
44048         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
44049         freecoding.
44050
44051 2004-05-17  Bruno Haible  <bruno@clisp.org>
44052
44053         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
44054         precision that consists of a '.' followed by an empty digit string.
44055         Patch by Tor Lillqvist <tml@iki.fi>.
44056
44057 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
44058
44059         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
44060         for backward compatibility with older code.  We need our own
44061         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
44062         it under some other name, and our alloca.h will define it.
44063
44064 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
44065             Derek Price  <derek@ximbiot.com>
44066
44067         * lib/alloca.c: Include <alloca.h>, to get our interface.
44068         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
44069         include <alloca.h> first.  Use C89 prototype for alloca; this
44070         requires including <stddef.h> for size_t.  Use extern "C" if C++.
44071         Use #elif for simplicity, since we can assume C89 now.
44072         Don't try to source the system alloca.h since it will not be found
44073         and to prevent recursively including its replacement.
44074         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
44075         * lib/regex.c: Likewise.
44076
44077 2004-05-16  Derek Price  <derek@ximbiot.com>
44078             Paul Eggert  <eggert@cs.ucla.edu>
44079
44080         getline cleanup.  This changes the getndelim2 API: both order of
44081         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
44082         no delimiter).
44083
44084         * lib/getline.c: Don't include stddef.h or stdio.h, since our
44085         interface does that.
44086         (getline): Always use getdelim, so that we don't have two
44087         copies of this code.
44088         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
44089         if available.
44090         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
44091         (GETNDELIM2_MAXIMUM): New macro.
44092         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
44093         instead of the old practice of delim2==0.  All callers changed.
44094         Return -1 on overflow, instead of returning junk.
44095         Do not set *linesize unless allocation succeeds.
44096         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
44097         that we include sys/types.h.
44098         * lib/getnline.h: Likewise.
44099         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
44100         (getndelim2): Reorder arguments.
44101         * lib/getnline.c (getnline, getndelim):
44102         Don't discard the NMAX argument.
44103         (getnline): Invoke getndelim, to avoid code duplication.
44104         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
44105         of (size_t) -1 by callers of the getnline family.
44106
44107 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44108
44109         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
44110         Check for gettimeofday.
44111         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
44112         Check for settimeofday, stime.
44113
44114 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44115
44116         * lib/nanosleep.c (suspended): Change its type from int to
44117         sig_atomic_t volatile.
44118         (first_call): Make it private to rpl_nanosleep, and have it
44119         be zero initially as that's a bit faster.
44120         (my_usleep): Round up fractional times instead of truncating them,
44121         as this is the usual meaning for 'sleep'.
44122
44123         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
44124         doesn't work.
44125         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
44126         (ENOSYS): Define if not defined.
44127         (settime): Fall back on stime if it exists and settimeofday fails.
44128         But don't bother with fallbacks if a method fails with errno == EPERM.
44129
44130 2004-05-11  Jim Meyering  <jim@meyering.net>
44131
44132         Prior to this change, the save_cwd caller required read access to the
44133         current directory on most systems (ones with the fchdir function).
44134
44135         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
44136         fails, try write-only, and finally, resort to using xgetcwd.
44137
44138 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
44139
44140         * lib/obstack.c, obstack.h: Import changes from libc.
44141
44142 2004-04-28  Bruno Haible  <bruno@clisp.org>
44143
44144         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
44145         also implicitly appends .exe to executables.
44146         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
44147         accepts Windows pathnames.
44148         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
44149         Treat Cygwin like Windows, since it now accepts Windows pathnames.
44150         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
44151         Treat Cygwin like Windows, since it now accepts Windows pathnames.
44152         Reported by Derek Robert Price <derek@ximbiot.com>.
44153
44154 2004-04-21  Karl Berry  <karl@gnu.org>
44155
44156         * config/srclist.txt (localcharset.c): break sync.
44157
44158 2004-04-20  Paul Eggert  <eggert@twinsun.com>
44159
44160         * m4/host-os.m4: Add a copyright notice.
44161
44162 2004-04-20  Jim Meyering  <jim@meyering.net>
44163
44164         Change UTILS_ to gl_ in AC_DEFINE'd names.
44165         Change utils_- and jm_-prefixed variables, too.
44166         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
44167         UTILS_FUNC_MKDIR_TRAILING_SLASH.
44168         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
44169
44170         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
44171         Don't emit trailing blanks.
44172         Also rename jm_-prefixed variables to have gl_ prefix.
44173
44174         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
44175         Also rename jm_-prefixed variables to have gl_ prefix.
44176
44177         * m4/jm-macros.m4: Reflect the renamings.
44178         * m4/prereq.m4: Likewise.
44179
44180 2004-04-20  Jim Meyering  <jim@meyering.net>
44181
44182         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
44183         memory.
44184
44185 2004-04-20  Jim Meyering  <jim@meyering.net>
44186             Bruno Haible  <bruno@clisp.org>
44187
44188         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
44189         memory when realloc fails.
44190
44191 2004-04-19  Jim Meyering  <jim@meyering.net>
44192
44193         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
44194         now that readutmp.c may call `free (0)'.
44195
44196 2004-04-19  Bruno Haible  <bruno@clisp.org>
44197
44198         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
44199         * m4/inttypes_h.m4: Likewise.
44200         * m4/stdint_h.m4: Likewise.
44201         * m4/intmax_t.m4: Likewise.
44202         * m4/uintmax_t.m4: Likewise.
44203
44204 2004-04-18  Jim Meyering  <jim@meyering.net>
44205
44206         * m4/prereq.m4: Don't forbid jm_ prefix.
44207
44208         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
44209         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
44210         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
44211         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
44212         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
44213         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
44214         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
44215         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
44216         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
44217         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
44218         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
44219         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
44220         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
44221         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
44222         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
44223         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
44224         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
44225         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
44226         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
44227
44228 2004-04-18  Jim Meyering  <jim@meyering.net>
44229
44230         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
44231         failure, don't leak memory and do call END_UTMP_ENT.
44232
44233 2004-04-16  Jim Meyering  <jim@meyering.net>
44234
44235         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
44236         coreutils' stat program.
44237         (gl_PREREQ): Don't require jm_PREREQ_STAT.
44238
44239 2004-04-11  Paul Eggert  <eggert@twinsun.com>
44240
44241         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
44242         C89.
44243         (CHAR_BIT): Remove, since we assume C89.
44244         Include <stdint.h> if available, as per current Autoconf CVS advice.
44245
44246 2004-03-31  Jim Meyering  <jim@meyering.net>
44247
44248         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
44249         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
44250         * m4/xalloc.m4: Likewise.
44251
44252 2004-03-30  Paul Eggert  <eggert@twinsun.com>
44253
44254         Merge from coreutils.
44255
44256         * m4/inttostr.m4: New file.
44257         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
44258         Require AM_STDBOOL_H and gl_TIMESPEC instead.
44259         Require gl_CLOCK_TIME.
44260         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
44261
44262 2004-03-30  Paul Eggert  <eggert@twinsun.com>
44263
44264         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
44265         not bool, to be more consistent with Unix conventions.
44266         Suggested by Bruno Haible.
44267
44268         Merge from coreutils.
44269
44270         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
44271         * lib/umaxtostr.c: New files.
44272
44273         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
44274         the usual <time.h> dance.
44275         (get_date): Change signature to support fractional time stamps.
44276         All callers changed.
44277         * lib/getdate.y: Include "getdate.h" first, as we can now
44278         assume C89 and don't need to worry about 'const'.
44279         Similarly, include "unlocked-io.h" near start, not in middle.
44280         Include <limits.h>.
44281         (textint.value): Use long int rather than int.
44282         (textint.digits): Use size_t rather than int.
44283         (BILLION, LOG10_BILLION): New constants.
44284         (parser_control): New member rel_ns.  Members day_ordinal,
44285         time_zone, month, day, hour, minutes, rel_year, rel_month,
44286         rel_day, rel_hour, rel_minutes, rel_seconds
44287         are now long int, not int.  Member seconds is now struct timespec,
44288         not int.  New member timespec_seen.  Members dates_seen, days_seen,
44289         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
44290         not int.
44291         (%union.intval): Now long int, not int.
44292         New member timespec.
44293         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
44294         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
44295         (spec): Now is a timespec or an item list.
44296         (timespec, items): New nonterminals.
44297         (time, rel, relunit, number, get_date):
44298         Add support for fractional seconds.
44299         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
44300         (gmtime, localtime, mktime): Remove decls; not needed with C89.
44301         (to_hour): First arg is now long int, not int.
44302         (to_year): Returns long int, not int.
44303         Don't treat year -70 like 70.
44304         (tm_diff): Returns long int, not int.
44305         (lookup_word): Use bool instead of int when appropriate.
44306         (yylex): Use size_t for count, not int.
44307         Detect overflow when parsing large integer constants.
44308         Add support for fractions.
44309         (get_date): Make pointers 'const' if possible.
44310         Use more-portable code to detect integer overflow.
44311         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
44312         Don't use ctime; it's not reliable if the year has >4 digits.
44313
44314         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
44315         This is for compatibility with BSD.
44316
44317         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
44318         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
44319         From coreutils' system.h.
44320
44321         * lib/userspec.c: Don't include "posixver.h".
44322         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
44323         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
44324         compatible extension.  Simplify code by removing a boolean int
44325         that was always nonzero if a string was nonnull.
44326
44327 2004-03-30  Jim Meyering  <jim@meyering.net>
44328
44329         Merge from coreutils.
44330
44331         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
44332         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
44333         on some systems one must include <grp.h> before it.
44334         Reported by Christian Krackowizer.
44335
44336 2004-03-30  Jim Meyering  <jim@meyering.net>
44337
44338         Merge from coreutils.
44339
44340         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
44341
44342         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
44343         an empty input stream.
44344
44345         * lib/readtokens.c: Include <stdbool.h>.
44346         (readtoken): Use `size_t' rather than int/long.
44347         All callers adjusted.
44348         Use `bool' rather than `int' where appropriate.
44349         Use memset rather than an explicit loop.
44350         Use x2nrealloc rather than xrealloc.
44351         Allow the use of `\0' as a delimiter.
44352         (readtokens): Likewise.
44353         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
44354
44355 2004-03-30  Jim Meyering  <jim@meyering.net>
44356
44357         * m4/realloc.m4: Remove file, since now it does no more than
44358         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
44359         the `configure.ac' section of module/realloc.
44360         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
44361
44362 2004-03-30  Bruno Haible  <bruno@clisp.org>
44363
44364         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
44365         nonnull.
44366
44367 2004-03-29  Paul Eggert  <eggert@twinsun.com>
44368
44369         Merge changes to getloadavg.c from coreutils and Emacs.
44370
44371         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
44372         Define to an expression, not to the empty string.
44373         Include cloexec.h and xalloc.h.
44374         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
44375         Use set_cloexec_flag rather than rolling our own.
44376         * lib/cloexec.c, lib/cloexec.h: New files.
44377
44378 2004-03-29  Paul Eggert  <eggert@twinsun.com>
44379
44380         * m4/cloexec.m4: New file.
44381
44382 2004-03-18  Paul Eggert  <eggert@twinsun.com>
44383
44384         * lib/getopt.h: Sync with libc CVS.
44385
44386 2004-03-18  Paul Eggert  <eggert@twinsun.com>
44387             Bruno Haible  <bruno@clisp.org>
44388
44389         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
44390         mbswidth.
44391
44392 2004-03-18  Paul Eggert  <eggert@twinsun.com>
44393             Bruno Haible  <bruno@clisp.org>
44394
44395         * lib/mbswidth.h: Include <wchar.h> only if
44396         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
44397         <wchar.h>.
44398         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
44399
44400 2004-03-09  Paul Eggert  <eggert@twinsun.com>
44401
44402         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
44403         Sync with libc CVS.
44404         * lib/getopt_int.h: New file, also synced from libc.
44405
44406 2004-03-09  Paul Eggert  <eggert@twinsun.com>
44407
44408         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
44409         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
44410         Bring back getopt.c, getopt.h, getopt1.c.
44411
44412 2004-03-07  Paul Eggert  <eggert@twinsun.com>
44413
44414         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
44415         All uses changed.  Check for sa_sigaction member; this fixes
44416         a bug first reported by Jason Andrade in
44417         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
44418
44419 2004-03-07  Paul Eggert  <eggert@twinsun.com>
44420
44421         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
44422         '#if' expressions.  Unlike the code it replaces, it does not
44423         depend on (defined _SC_PAGESIZE).  However, it does depend on
44424         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
44425         first reported by Jason Andrade in
44426         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
44427
44428 2004-02-25  Simon Josefsson  <jas@extundo.com>
44429
44430         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
44431
44432 2004-02-25  Simon Josefsson  <jas@extundo.com>
44433
44434         * lib/strdup.h: New file.
44435         * lib/strdup.c: Include it.
44436         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
44437         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
44438
44439 2004-02-23  Karl Berry  <karl@gnu.org>
44440
44441         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
44442         (from fencepost.gnu.org:/gd/gnuorg).
44443
44444 2004-02-23  Karl Berry  <karl@gnu.org>
44445
44446         * config/srclistvars.sh (GNUORG) [karl]: redefine.
44447         * config/srclist.txt: add maintain/standards documents.
44448
44449 2004-02-18  Bruno Haible  <bruno@clisp.org>
44450
44451         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
44452         Reported by Derek Robert Price <derek@ximbiot.com>.
44453
44454 2004-02-16  Karl Berry  <karl@gnu.org>
44455
44456         * config/mkinstalldirs, install-sh: update from automake.
44457
44458 2004-02-06  Karl Berry  <karl@gnu.org>
44459
44460         * m4/po.m4: update from gettext 0.14.1.
44461
44462 2004-02-06  Karl Berry  <karl@gnu.org>
44463
44464         * lib/config.charset: update from gettext 0.14.1.
44465
44466 2004-02-05  Paul Eggert  <eggert@twinsun.com>
44467
44468         Add comments and code, prompted by suggestions from Bruno Haible
44469         for sh-quote.
44470         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
44471         describing the enum quoting_style values.
44472         * lib/quotearg.c (quotearg_alloc): New function.
44473         (quotearg_buffer_restyled): Treat lone { and } as special.
44474         Treat = as special.  Work around bug with older shells
44475         that "see" a '\' that is really the 2nd byte of a multibyte char.
44476         Quote empty string with shell_quoting_style.
44477
44478 2004-02-03  Bruno Haible  <bruno@clisp.org>
44479
44480         * m4/pipe.m4: New file, from GNU gettext.
44481
44482 2004-02-03  Bruno Haible  <bruno@clisp.org>
44483
44484         * lib/pipe.h: New file, from GNU gettext.
44485         * lib/pipe.c: New file, from GNU gettext.
44486
44487 2004-01-27  Bruno Haible  <bruno@clisp.org>
44488
44489         * m4/execute.m4: New file, from GNU gettext.
44490
44491 2004-01-27  Bruno Haible  <bruno@clisp.org>
44492
44493         * lib/execute.h: New file, from GNU gettext.
44494         * lib/execute.c: New file, from GNU gettext.
44495         * lib/w32spawn.h: New file, from GNU gettext.
44496
44497 2004-01-24  Paul Eggert  <eggert@twinsun.com>
44498
44499         Merge from diffutils.
44500
44501         * lib/file-type.c (file_type): Add typed memory objects.
44502         * lib/file-type.h (S_TYPEISTMO): New macro.
44503
44504         * lib/c-stack.h (c_stack_action): Remove argv argument.
44505         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
44506         (die): Don't calculate message unless segv_action returns.
44507         (get_stack_location, min_address_from_argv, max_address_from_argv,
44508         volatile stack_base, volatile_stack_size): Remove.
44509         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
44510         that every segmentation violation is a stack overflow.  (Ouch!)
44511         See Debian bug 136249 (still outstanding) for more info about why
44512         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
44513
44514 2004-01-24  Paul Eggert  <eggert@twinsun.com>
44515
44516         Exit-status fix from coreutils.
44517
44518         Use exit_failure consistently in place of EXIT_FAILURE,
44519         so that program exit statuses are consistent on failure.
44520
44521         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
44522         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
44523         * lib/argmatch.h: Comment fix to match the above.
44524         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
44525         Now a macro referring to exit_failure, instead of a separate
44526         variable.  Include "exitfail.h" to get it.
44527         * lib/xstrtol.h: Include "exitfail.h".
44528         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
44529
44530         * lib/long-options.c (parse_long_options): Use prototype
44531         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
44532         for clarity.
44533
44534 2004-01-21  Jim Meyering  <jim@meyering.net>
44535
44536         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
44537         so as not to conflict with a different-sized __mktime_internal
44538         function in GNU libc.
44539         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
44540         Problem building statically-linked `ls' reported by Michael Brunnbauer.
44541
44542 2004-01-20  Karl Berry  <karl@gnu.org>
44543
44544         * config/config.guess: update from config.
44545
44546         * config/srclistvars.sh: GNUWWWLICENSES for karl.
44547
44548 2004-01-20  Bruno Haible  <bruno@clisp.org>
44549
44550         Safer stack allocation.
44551         * lib/setenv.c: Include allocsa.h.
44552         (alloca): Remove fallback definition.
44553         (freea): Remove macro.
44554         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
44555         instead of freea.
44556
44557 2004-01-20  Bruno Haible  <bruno@clisp.org>
44558
44559         * m4/eealloc.m4: New file, from GNU gettext.
44560
44561 2004-01-20  Bruno Haible  <bruno@clisp.org>
44562
44563         * m4/allocsa.m4: New file, from GNU gettext.
44564
44565 2004-01-20  Bruno Haible  <bruno@clisp.org>
44566
44567         * lib/xallocsa.h: New file, from GNU gettext.
44568         * lib/xallocsa.c: New file, from GNU gettext.
44569
44570 2004-01-20  Bruno Haible  <bruno@clisp.org>
44571
44572         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
44573
44574 2004-01-20  Bruno Haible  <bruno@clisp.org>
44575
44576         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
44577         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
44578         specially.
44579
44580 2004-01-20  Bruno Haible  <bruno@clisp.org>
44581
44582         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
44583         patch.
44584
44585 2004-01-20  Bruno Haible  <bruno@clisp.org>
44586
44587         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
44588
44589 2004-01-20  Bruno Haible  <bruno@clisp.org>
44590
44591         * lib/eealloc.h: New file.
44592
44593 2004-01-20  Bruno Haible  <bruno@clisp.org>
44594
44595         * lib/binary-io.h: Avoid warnings on Cygwin.
44596
44597 2004-01-20  Bruno Haible  <bruno@clisp.org>
44598
44599         * lib/allocsa.h: New file, from GNU gettext.
44600         * lib/allocsa.c: New file, from GNU gettext.
44601
44602 2004-01-18  Karl Berry  <karl@gnu.org>
44603
44604         * doc/gpl.texi, doc/lgpl.texi: new files.
44605
44606 2004-01-18  Karl Berry  <karl@gnu.org>
44607
44608         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
44609         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
44610
44611 2004-01-15  Paul Eggert  <eggert@twinsun.com>
44612
44613         Merge from coreutils.
44614
44615         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
44616         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
44617         (gl_DEFAULT_POSIX2_VERSION): Move
44618         the documentation from 'configure' into 'config.hin',
44619         so that 'configure --help' isn't burdened by it and
44620         we don't have to worry about its formatting there.
44621         Reword the documentation so that it's more succinct
44622         and can be run together into a single paragraph.
44623         * m4/same.m4 (gl_SAME): Check for pathconf.
44624
44625 2004-01-15  Paul Eggert  <eggert@twinsun.com>
44626
44627         Merge from coreutils.
44628
44629         * lib/posixver.c: Include posixver.h.
44630
44631         * lib/same.c: Include <stdbool.h>, <limits.h>.
44632         (_POSIX_NAME_MAX): Define if not defined.
44633         (MIN): New macro.
44634         (same_name): If file names are silently truncated, report
44635         that the file names are the same if they are the same after
44636         the silent truncation.
44637
44638         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
44639         conversion function.
44640         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
44641         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
44642         longer needed.
44643
44644 2004-01-15  Jim Meyering  <jim@meyering.net>
44645
44646         Merge from coreutils.
44647
44648         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
44649         if no library is required.
44650         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
44651         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
44652         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
44653         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
44654         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
44655         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
44656         value, $ac_cv_search_crypt, if it's "none required".
44657         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
44658         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
44659         not gl_FUNC_GETLOADAVG.
44660         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
44661         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
44662
44663 2004-01-15  Jim Meyering  <jim@meyering.net>
44664
44665         Merge from coreutils.
44666
44667         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
44668         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
44669         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
44670
44671         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
44672         optional configure-time default.
44673
44674         * lib/version-etc.c (version_etc_copyright): Update copyright date.
44675
44676         * lib/xreadlink.c (xreadlink): Correct outdated comment.
44677
44678 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
44679
44680         Merge from coreutils.
44681
44682         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
44683         value, $ac_cv_search_nanosleep, if it's "none required".
44684
44685 2004-01-14  Paul Eggert  <eggert@twinsun.com>
44686
44687         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
44688         with like-named macro in fnmatch.c.
44689         (EXT): Use an internal constant instead.
44690
44691         Merge fnmatch patches from glibc.
44692         * lib/fnmatch.c (mbsinit): Remove define.
44693         Add libc_hidden_ver (__fnmatch, fnmatch).
44694         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
44695         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
44696
44697 2004-01-14  Karl Berry  <karl@gnu.org>
44698
44699         * config/install-sh: update from automake.
44700
44701 2004-01-13  Karl Berry  <karl@gnu.org>
44702
44703         * config/install-sh: update from automake.
44704
44705 2004-01-09  Karl Berry  <karl@gnu.org>
44706
44707         * config/install-sh: update from automake.
44708
44709 2004-01-05  Karl Berry  <karl@gnu.org>
44710
44711         * config/config.{sub,guess}: update from config.
44712
44713 2003-12-31  Karl Berry  <karl@gnu.org>
44714
44715         * config/depcomp: update from automake.
44716
44717 2003-12-14  Karl Berry  <karl@gnu.org>
44718
44719         * lib/config.charset: update from gettext-runtime.
44720
44721 2003-12-03  Paul Eggert  <eggert@twinsun.com>
44722
44723         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
44724         Bug reported by Alfred M. Szmidt.
44725
44726 2003-12-03  Bruno Haible  <bruno@clisp.org>
44727
44728         * m4/gettext.m4: Upgrade from gettext-0.13.
44729         * m4/po.m4: Upgrade from gettext-0.13.
44730         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
44731         * m4/intmax.m4: New file, from gettext-0.13.
44732         * m4/printf-posix.m4: New file, from gettext-0.13.
44733
44734 2003-11-29  Karl Berry  <karl@gnu.org>
44735
44736         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
44737
44738 2003-11-25  Paul Eggert  <eggert@twinsun.com>
44739             Bruno Haible  <bruno@clisp.org>
44740
44741         * lib/printf-parse.h: Don't include sys/types.h.
44742         (ARG_NONE): New macro.
44743         (char_directive): Change type of *arg_index fields to size_t.
44744         * lib/printf-parse.c: Don't include sys/types.h.
44745         (SSIZE_MAX): Remove macro.
44746         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
44747         Remove unnecessary overflow check.
44748         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
44749         fields.
44750
44751 2003-11-25  Bruno Haible  <bruno@clisp.org>
44752
44753         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
44754
44755 2003-11-25  Bruno Haible  <bruno@clisp.org>
44756
44757         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
44758         gt_TYPE_SSIZE_T.
44759
44760 2003-11-24  Paul Eggert  <eggert@twinsun.com>
44761
44762         * modules/alloca: Remove dependency on xalloc.
44763
44764 2003-11-24  Paul Eggert  <eggert@twinsun.com>
44765
44766         * lib/alloca.c: Remove dependency on xalloc module.
44767         (xalloc_die): Remove.
44768         (memory_full) [!defined emacs]: New macro.
44769         [!defined emacs]: Don't include xalloc.h.
44770         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
44771         address arithmetic overflows.  Change datatypes a bit to avoid
44772         unnecessary casts.
44773
44774 2003-11-22  Jim Meyering  <jim@meyering.net>
44775
44776         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
44777         s/size/size_t/.
44778
44779 2003-11-21  Karl Berry  <karl@gnu.org>
44780
44781         * config/config.{sub,guess}: update from config.
44782
44783 2003-11-18  Karl Berry  <karl@gnu.org>
44784
44785         * config/config.{sub,guess}: update from config.
44786
44787         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
44788
44789 2003-11-17  Paul Eggert  <eggert@twinsun.com>
44790
44791         * README: Mention that S+T cannot overflow if S is the size of
44792         an existing object and T is sufficiently small.
44793
44794 2003-11-17  Jim Meyering  <jim@meyering.net>
44795
44796         On systems without utime and without a utimes function capable of
44797         dealing with a NULL struct utimbuf* argument, this utime replacement
44798         could -- in unusual circumstances -- leak a file descriptor.
44799         * lib/utime.c: Include <unistd.h> and <errno.h>.
44800         (utime_null): Be sure to close `fd' and to preserve errno.
44801         Reported by Geoff Collyer via Arnold Robbins.
44802
44803 2003-11-17  Bruno Haible  <bruno@clisp.org>
44804
44805         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
44806         (Depends-on): Add xsize.
44807
44808 2003-11-17  Bruno Haible  <bruno@clisp.org>
44809
44810         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
44811
44812 2003-11-17  Bruno Haible  <bruno@clisp.org>
44813
44814         * lib/vasnprintf.c (alloca): Remove fallback definition.
44815         (freea): Remove definition.
44816         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
44817         Reported by Paul Eggert.
44818
44819 2003-11-16  Paul Eggert  <eggert@twinsun.com>
44820             Bruno Haible  <bruno@clisp.org>
44821
44822         Protect against address arithmetic overflow.
44823         * lib/printf-args.h: Include stddef.h.
44824         (arguments): Change type of field 'count' to size_t.
44825         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
44826         'unsigned int' where appropriate.
44827         * lib/printf-parse.h: Include sys/types.h.
44828         (char_directive): Change type of *arg_index fields to ssize_t.
44829         (char_directives): Change type of fields 'count', max_*_length to
44830         size_t.
44831         * lib/printf-parse.c: Include sys/types.h and xsize.h.
44832         (SSIZE_MAX): Define fallback value.
44833         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
44834         instead of 'int' where appropriate. Check a_allocated, d_allocated
44835         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
44836         * lib/vasnprintf.c: Include xsize.h.
44837         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
44838         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
44839         overflow. Avoid wraparound when converting a width or precision from
44840         decimal to binary.
44841
44842 2003-11-16  Bruno Haible  <bruno@clisp.org>
44843
44844         Update from GNU gettext.
44845         * lib/printf-parse.c: Generalize to it can be compiled for wide
44846         strings.
44847         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
44848         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
44849         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
44850         SNPRINTF): New macros.
44851         Don't include <alloca.h> if the file is used inside libintl.
44852         (local_wcslen): New function, for Solaris 2.5.1.
44853         (VASNPRINTF): Use it instead of wcslen.
44854
44855 2003-11-16  Bruno Haible  <bruno@clisp.org>
44856
44857         * lib/xsize.h (xmax): New function.
44858         (xsum, xsum3, xsum4): Declare as "pure" functions.
44859
44860 2003-11-12  Paul Eggert  <eggert@twinsun.com>
44861
44862         * modules/xalloc (Files): Undo latest change, since xalloc.h
44863         no longer needs SIZE_MAX or PTRDIFF_MAX.
44864
44865 2003-11-12  Paul Eggert  <eggert@twinsun.com>
44866
44867         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
44868         gl_PTRDIFF_MAX.
44869
44870 2003-11-12  Paul Eggert  <eggert@twinsun.com>
44871
44872         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
44873         "return", to pacify some unknown compiler.  Problem reported
44874         by Joerg Schilling.
44875
44876 2003-11-12  Paul Eggert  <eggert@twinsun.com>
44877
44878         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
44879         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
44880         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
44881         heuristic is just as accurate as far as we know, and it removes a
44882         dependency on size_max.m4 and ptrdiff_max.m4.
44883
44884 2003-11-11  Bruno Haible  <bruno@clisp.org>
44885
44886         * modules/xsize (Files): Add m4/size_max.m4.
44887         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
44888
44889 2003-11-11  Bruno Haible  <bruno@clisp.org>
44890
44891         * m4/size_max.m4: New file.
44892         * m4/ptrdiff_max.m4: New file.
44893         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
44894         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
44895         (gl_XALLOC): Invoke it.
44896
44897 2003-11-11  Bruno Haible  <bruno@clisp.org>
44898
44899         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
44900         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
44901         defined.
44902
44903 2003-11-10  Paul Eggert  <eggert@twinsun.com>
44904
44905         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
44906         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
44907         rejected some allocations of exactly SIZE_MAX - 2 bytes.
44908         From Bruno Haible.
44909         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
44910         not (size_t) -1, since it's defined here.
44911
44912 2003-11-09  Karl Berry  <karl@gnu.org>
44913
44914         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
44915
44916 2003-11-06  Paul Eggert  <eggert@twinsun.com>
44917
44918         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
44919         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
44920         Reject sizes of exactly SIZE_MAX bytes.
44921         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
44922         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
44923
44924 2003-11-05  Bruno Haible  <bruno@clisp.org>
44925
44926         * lib/xsize.h: Include limits.h, to avoid a possible collision with
44927         SIZE_MAX defined in <limits.h> on Solaris.
44928
44929 2003-11-04  Jim Meyering  <jim@meyering.net>
44930
44931         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
44932         variable names, rather than @VAR@.
44933         * modules/poll: Likewise.
44934
44935 2003-11-04  Bruno Haible  <bruno@clisp.org>
44936
44937         * modules/xsize: New file.
44938         * modules/linebreak: Depend on xsize.
44939         * MODULES.html.sh (func_all_modules): Add xsize.
44940
44941 2003-11-04  Bruno Haible  <bruno@clisp.org>
44942
44943         * m4/xsize.m4: New file.
44944
44945 2003-11-04  Bruno Haible  <bruno@clisp.org>
44946
44947         * lib/xsize.h: New file.
44948         * lib/linebreak.c: Include xsize.h.
44949         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
44950         argument for overflow.
44951         Suggested by Paul Eggert.
44952
44953 2003-11-03  Karl Berry  <karl@gnu.org>
44954
44955         * config/config.{guess,sub}: update from config.
44956
44957 2003-11-03  Jim Meyering  <jim@meyering.net>
44958
44959         * modules/userspec (lib_SOURCES): Add userspec.h.
44960         (Include): Add "userspec.h".
44961         Improve description.
44962
44963 2003-11-03  Jim Meyering  <jim@meyering.net>
44964
44965         * lib/userspec.c: Include "userspec.h".
44966         * lib/userspec.h: New file.
44967
44968 2003-11-03  Bruno Haible  <bruno@clisp.org>
44969
44970         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
44971
44972 2003-11-03  Bruno Haible  <bruno@clisp.org>
44973
44974         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
44975         available, to avoid (extremely rare) race condition.
44976         Suggested by Paul Eggert.
44977
44978 2003-11-02  Karl Berry  <karl@gnu.org>
44979
44980         * config/srclist.txt (vasprintf.c): sync broken, sigh.
44981
44982 2003-10-31  Paul Eggert  <eggert@twinsun.com>
44983
44984         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
44985         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
44986         (read_filesystem_list): Set and use me_type_malloced.
44987         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
44988         whatever the type happens to be), for brevity and consistency.
44989         Check for size calculation overflow on Alphas running OSF/1.
44990
44991 2003-10-31  Jim Meyering  <jim@meyering.net>
44992
44993         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
44994
44995         * lib/linebuffer.c: Include <string.h> for declaration of memset.
44996
44997 2003-10-30  Paul Eggert  <eggert@twinsun.com>
44998             Bruno Haible  <bruno@clisp.org>
44999
45000         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
45001         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
45002
45003 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
45004
45005         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
45006         netbsd*-gnu*.  Suggested by Robert Millan.
45007
45008 2003-10-29  Paul Eggert  <eggert@twinsun.com>
45009
45010         * modules/group-member: Depend on stdbool.
45011
45012 2003-10-29  Paul Eggert  <eggert@twinsun.com>
45013
45014         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
45015
45016 2003-10-29  Paul Eggert  <eggert@twinsun.com>
45017
45018         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
45019         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
45020         after the 'gnu' in these cases.  This fixes some bugs in the
45021         previous change, and is based on suggestions by Robert Millan.
45022
45023 2003-10-29  Paul Eggert  <eggert@twinsun.com>
45024
45025         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
45026         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
45027         no longer needed.
45028         * lib/quotearg.c (quotearg_n_options): Use it.
45029         * lib/group-member.c: Include <stdbool.h>.
45030         (free_group_info): Arg is now const *; don't free arg.
45031         (get_group_info): Now returns bool and accepts struct group_info *,
45032         rather than returning a malloc'ed struct group_info *.
45033         All uses changed.  Check for overflow in internal size calculation.
45034
45035         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
45036         rather than xmalloc/xrealloc.
45037         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
45038         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
45039         conformance bug: the old code used a pointer after freeing the
45040         storage that it addressed.
45041         * lib/hash.c (hash_initialize): Simplify the code by using
45042         xalloc_oversized rather than doing it by hand.
45043         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
45044         the buffer preserved.  Use free and xmalloc instead.
45045         * lib/quotearg.c (quotearg_n_options): Likewise.
45046         Use a simpler test for size overflow.  Don't use xalloc_oversized
45047         because unsigned int might be wider than size_t (!); this suggests
45048         that we should switch from unsigned int to size_t for slot numbers.
45049
45050 2003-10-28  Paul Eggert  <eggert@twinsun.com>
45051
45052         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
45053         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
45054         NetBSD kernels.  Requested by Richard Stallman.
45055
45056 2003-10-27  Paul Eggert  <eggert@twinsun.com>
45057
45058         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
45059         to allocate the returned structure.  Do not allocate a subarray,
45060         as x2nrealloc will do that.
45061         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
45062         instead of xnrealloc.
45063         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
45064
45065 2003-10-27  Bruno Haible  <bruno@clisp.org>
45066
45067         * lib/stdbool_.h: Better support for BeOS.
45068
45069 2003-10-26  Paul Eggert  <eggert@twinsun.com>
45070
45071         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
45072         now uses inline.
45073
45074 2003-10-26  Paul Eggert  <eggert@twinsun.com>
45075
45076         * lib/xalloc.h (xalloc_oversized): New static inline function, for
45077         callers that want to do their own size-overflow checking.  Include
45078         <stdbool.h>, since xalloc_oversized returns bool.
45079         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
45080         to use xalloc_oversized.
45081
45082         Add two functions x2realloc, x2nrealloc, for programs that grow
45083         arrays dynamically by doubling their sizes.
45084         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
45085         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
45086         New functions.
45087
45088         Port to C99 semantics for 'inline' of external functions.
45089         Bug reported by Bruno Haible.
45090         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
45091         with the old contents of xnmalloc.
45092         (xnmalloc, xmalloc): Use it.
45093         (xnrealloc_inline): New static inline function,
45094         with the old contents of xnrealloc.
45095         (xnrealloc, xrealloc): Use it.
45096
45097         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
45098         that.
45099
45100 2003-10-26  Karl Berry  <karl@gnu.org>
45101
45102         * config/srclist.txt (COPYING.DOC): no longer available from
45103         /gd/gnuorg; don't know where the ultimate source is.
45104
45105 2003-10-25  Paul Eggert  <eggert@twinsun.com>
45106
45107         Fix several address-calculation bugs in the hash modules,
45108         plus some minor code cleanup.
45109
45110         * lib/hash.h: Include <stdbool.h>, for bool.
45111         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
45112         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
45113         hash_get_n_entries, hash_get_max_bucket_length,
45114         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
45115         hash_rehash): Use size_t rather than unsigned.
45116         * lib/hash.c (struct hash_table, hash_get_n_buckets,
45117         hash_get_n_buckets_used, hash_get_n_entries,
45118         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
45119         hash_get_entries, hash_do_for_each, hash_string, is_prime,
45120         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
45121         Likewise.
45122         (SIZE_MAX): Define if not defined.
45123         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
45124         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
45125         hash_print):
45126         Use const * when possible.
45127         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
45128         (check_tuning): Fix bug: if tuning parameters were very close to
45129         0 or 1, rounding errors could have caused subscript violations.
45130         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
45131         (hash_initialize): Add 'fail:' label
45132         to free table and return NULL, and use it to simplify code.
45133         Use calloc rather than clearing the storage ourself.
45134         (hash_initialize, hash_rehash): Check for arithmetic overflow in
45135         buffer size calculations.
45136         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
45137         Include <stddef.h>, for size_t.
45138         * lib/hash-pjw.c (hash_pjw): Likewise.
45139         Switch to method described by Bruno Haible.
45140         Include <limits.h>, for CHAR_BIT.
45141         (SIZE_BITS): New macro.
45142
45143 2003-10-23  Paul Eggert  <eggert@twinsun.com>
45144
45145         * m4/getline.m4 (AM_FUNC_GETLINE):
45146         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
45147         hosts.  Problem reported by Derek Robert Price in
45148         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
45149         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
45150         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
45151
45152 2003-10-21  Paul Eggert  <eggert@twinsun.com>
45153
45154         * lib/getndelim2.c (getndelim2): When size calculation overflows,
45155         ceiling the allocation at NMAX bytes rather than silently
45156         discarding input bytes before NMAX is reached.  This makes
45157         a difference only if NMAX exceeds SIZE_MAX / 2.
45158
45159         * lib/obstack.c: Merge from glibc.
45160         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
45161         Add libc_hidden_def (_obstack_newchunk).
45162         (_obstack_free) [! defined _LIBC]: Remove.
45163         [defined _LIBC]: Make a strong alias from obstack_free, rather than
45164         a clone of the function body.
45165         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
45166         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
45167
45168         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
45169         glibc.
45170         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
45171         arg to memcpy.
45172
45173         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
45174         (obstack_ptr_grow_fast, obstack_int_grow_fast):
45175         Don't use lvalue casts, as GCC plans to remove support for them
45176         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
45177         was also present in the non-GCC version, indicating that this
45178         code had always been buggy and had never been widely used.
45179         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
45180         Use the fast variant of each macro, rather than copying the
45181         definiens of the fast variant; that way, we'll be more likely to
45182         catch future bugs in the fast variants.
45183
45184 2003-10-20  Bruno Haible  <bruno@clisp.org>
45185
45186         * modules/wait-process: New file.
45187         * MODULES.html.sh (func_all_modules): Add wait-process.
45188
45189 2003-10-20  Bruno Haible  <bruno@clisp.org>
45190
45191         * m4/wait-process.m4: New file.
45192
45193 2003-10-20  Bruno Haible  <bruno@clisp.org>
45194
45195         * lib/wait-process.h: New file, from GNU gettext.
45196         * lib/wait-process.c: New file, from GNU gettext.
45197
45198 2003-10-19  Jim Meyering  <jim@meyering.net>
45199
45200         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
45201         HPUX 10.20.
45202
45203 2003-10-18  Karl Berry  <karl@gnu.org>
45204
45205         * config/config.guess: update from config.
45206
45207 2003-10-16  Paul Eggert  <eggert@twinsun.com>
45208
45209         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
45210         (getgroups): First arg is int, not size_t.
45211         Don't let 'free' mangle errno.
45212
45213 2003-10-16  Paul Eggert  <eggert@twinsun.com>
45214
45215         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
45216
45217 2003-10-16  Karl Berry  <karl@gnu.org>
45218
45219         * config/config.{guess,sub}: update from config.
45220
45221 2003-10-16  Jim Meyering  <jim@meyering.net>
45222
45223         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
45224         memcpy.
45225
45226 2003-10-15  Paul Eggert  <eggert@twinsun.com>
45227
45228         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
45229         (SIZE_MAX): Remove.
45230         (new_exclude, add_exclude_file): Initial size no longer needs to
45231         be a power of 2.
45232         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
45233         our own address arithmetic overflow checking.
45234
45235         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
45236         (fnmatch): Do not alloca more than 2000 wide characters;
45237         instead, use malloc for large buffers.
45238         Check for address arithmetic overflow, and return -1
45239         with errno set to ENOMEM in that case.
45240         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
45241         (NEW_PATTERN): Do not alloca more than 8000 bytes;
45242         instead, return -1.  Check for address arithmetic overflow.
45243
45244 2003-10-14  Paul Eggert  <eggert@twinsun.com>
45245
45246         Handle invalid suffixes and overflow independently, so that
45247         callers can treat them independently as needed.  Fix some bugs in
45248         suffix handling, e.g., "100k@" was not diagnosed as an invalid
45249         suffix for a human-readable blocksize.  The major caller-visible
45250         change is the addition of a new
45251         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
45252         that both overflow and suffix chars were found.
45253
45254         * lib/human.c (humblock): Don't check separately for invalid suffix
45255         char; that is xstrtoumax's job (now that its bug is fixed).
45256         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
45257         INTMAX_MAX]: New macros.
45258         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
45259         TYPE_MAXIMUM): New macros.
45260         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
45261         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
45262         if overflow occurs, as it's what __strtol does and it's more useful
45263         in practice.
45264         (__xstrtol): If __strtol reports some error other than ERANGE,
45265         reflect it to the caller as LONGINT_INVALID.  If it reports
45266         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
45267         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
45268         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
45269         value.
45270         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
45271         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
45272         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
45273         [defined UINTMAX_MAX]: New macros.
45274
45275 2003-10-14  Bruno Haible  <bruno@clisp.org>
45276
45277         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
45278
45279 2003-10-14  Bruno Haible  <bruno@clisp.org>
45280
45281         * m4/sig_atomic_t: New file, from GNU gettext.
45282         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
45283
45284 2003-10-14  Bruno Haible  <bruno@clisp.org>
45285
45286         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
45287         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
45288         Also use volatile where needed.
45289
45290 2003-10-12  Paul Eggert  <eggert@twinsun.com>
45291
45292         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
45293         Change maintainer from Bruno Haible to 'all'.
45294
45295 2003-10-12  Paul Eggert  <eggert@twinsun.com>
45296
45297         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
45298
45299 2003-10-12  Paul Eggert  <eggert@twinsun.com>
45300
45301         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
45302         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
45303         and define in terms of the other primitives.
45304         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
45305         (SIZE_MAX): Define if not already defined.
45306         (array_size_overflow): New function.
45307         (xalloc_die): Abort instead of exiting if 'error' returns.
45308         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
45309         (xmalloc, xrealloc): Use them.
45310         (xcalloc): Check for address arithmetic overflow.
45311         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
45312         a bit faster than strcpy.
45313
45314 2003-10-10  Simon Josefsson  <jas@extundo.com>
45315
45316         * modules/argp (Depends-on): Add restrict and strcase.
45317
45318 2003-10-10  Simon Josefsson  <jas@extundo.com>
45319
45320         * m4/argp.m4: Add AC_C_INLINE.
45321
45322 2003-10-08  Paul Eggert  <eggert@twinsun.com>
45323
45324         Merge getpass from libc, plus a few fixes.
45325
45326         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
45327         Include <stdbool.h>.
45328         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
45329         __fsetlocking to empty.
45330         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
45331         do include <bits/libc-lock.h>.
45332         Do not include <fcntl.h>; not needed.
45333         [_LIBC]: Include <wchar.h>.
45334         (NOTCANCEL_MODE): New macro.
45335         (flockfile, funlockfile) [_LIBC]: New macros.
45336         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
45337         [!_LIBC]: New macros.
45338         (call_fclose): New function.
45339         (getpass): Use it.  Save tty stream separately; this simplifies the
45340         code and makes it more reliable if stdin happens to equal stdout.
45341         Invoke __fsetlocking on tty.
45342         Handle thread cancellation if needed.
45343         Namespace cleanup (use __tcgetattr, __getline).
45344         Use bool for Booleans.
45345         [USE_IN_LIBIO]: Handle wide streams.
45346         [!_LIBC]: Unconditionally do the fseek, since we don't know what
45347         stream might go where.
45348
45349         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
45350         doesn't have to include <stdio.h> before us.
45351         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
45352         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
45353         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
45354         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
45355         if not declared, so that we can use getpass.c code from libc without
45356         rewriting it.
45357         (flockfile, ftrylockfile, funlockfile): New macros.
45358
45359 2003-10-08  Paul Eggert  <eggert@twinsun.com>
45360
45361         * modules/getpass: Depend on stdbool.
45362
45363 2003-10-08  Paul Eggert  <eggert@twinsun.com>
45364
45365         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
45366
45367 2003-10-07  Karl Berry  <karl@gnu.org>
45368
45369         * config/config.{guess,sub}: update from config.
45370
45371 2003-10-06  Jim Meyering  <jim@meyering.net>
45372             Bruno Haible  <bruno@clisp.org>
45373
45374         This lets translators provide better translations for the
45375         "Written by ..." part of --version output.
45376         * lib/version-etc.h: Include stdarg.h.
45377         (version_etc_copyright): Declare as readonly.
45378         (version_etc): Make this function variadic with a NULL-terminated list
45379         of author name strings.
45380         (version_etc_va): New declaration.
45381         * lib/version-etc.c: Include stdarg.h, stdlib.h.
45382         (version_etc_copyright): Declare as readonly.
45383         (version_etc_va): New function. Provide a different translatable string
45384         for each possible number of authors < 10. Abbreviate when there are 10
45385         authors or more.
45386         (version_etc): Make this function variadic. Call version_etc_va.
45387         Suggestion from Gary V. Vaughan.
45388
45389         * lib/long-options.h (parse_long_options): Change prototype: the
45390         authors string is moved to the end and becomes variadic.
45391         * lib/long-options.c: Include stdarg.h.
45392         (parse_long_options): Make this function variadic, too.
45393         Call version_etc_va, not version_etc.
45394
45395 2003-10-06  Bruno Haible  <bruno@clisp.org>
45396
45397         * modules/version-etc-2: Remove file.
45398         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
45399
45400 2003-10-06  Bruno Haible  <bruno@clisp.org>
45401
45402         * modules/fatal-signal: New file.
45403         * MODULES.html.sh (func_all_modules): Add fatal-signal.
45404
45405 2003-10-06  Bruno Haible  <bruno@clisp.org>
45406
45407         * m4/fatal-signal.m4: New file.
45408         * m4/signalblocking.m4: New file, from GNU gettext.
45409
45410 2003-10-06  Bruno Haible  <bruno@clisp.org>
45411
45412         * lib/version-etc-2.h: Remove file.
45413         * lib/version-etc-2.c: Remove file.
45414
45415 2003-10-06  Bruno Haible  <bruno@clisp.org>
45416
45417         * lib/fatal-signal.h: New file, from GNU gettext.
45418         * lib/fatal-signal.c: New file, from GNU gettext.
45419
45420 2003-10-05  Paul Eggert  <eggert@twinsun.com>
45421
45422         * README: Rework advice for preventing empty .o files.
45423         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
45424         not <sys/types.h>.
45425
45426 2003-10-04  Karl Berry  <karl@gnu.org>
45427
45428         * lib/argp*: update from libc.
45429
45430 2003-10-04  Karl Berry  <karl@gnu.org>
45431
45432         * config/config.{guess,sub}: update from config.
45433
45434 2003-10-02  Bruno Haible  <bruno@clisp.org>
45435
45436         * modules/lchown (Include): Add lchown.h.
45437         * modules/time_r (Include): Use "..." syntax.
45438         * modules/xgetdomainname (Include): Add xgetdomainname.h.
45439
45440 2003-10-01  Simon Josefsson  <jas@extundo.com>
45441
45442         * MODULES.html.sh (func_all_modules): Move gethostname from section
45443         'based on' to section 'lacking' POSIX:2001.
45444
45445 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
45446
45447         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
45448         to output mode on the same stream.
45449
45450 2003-09-29  Paul Eggert  <eggert@twinsun.com>
45451
45452         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
45453         Fix arg typo in previous patch.
45454
45455 2003-09-28  Jim Meyering  <jim@meyering.net>
45456
45457         * lib/error.c: Correct cpp indentation.
45458
45459 2003-09-27  Paul Eggert  <eggert@twinsun.com>
45460
45461         * modules/free: New file.
45462
45463 2003-09-27  Paul Eggert  <eggert@twinsun.com>
45464
45465         * m4/free.m4: New file.
45466
45467 2003-09-27  Paul Eggert  <eggert@twinsun.com>
45468
45469         * lib/minmax.h (MIN, MAX)
45470         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
45471         Omit the special code that used __typeof__, since we worry that
45472         it could be more trouble than it's worth.  See:
45473         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
45474         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
45475
45476         * lib/free.c: New file.
45477
45478 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
45479
45480         Trivial fixes to Makefile.am parts of module listings.
45481         * modules/strstr: Append strstr.h to lib_SOURCES.
45482         * modules/strcase: Likewise, for strcase.h.
45483
45484 2003-09-27  Karl Berry  <karl@gnu.org>
45485
45486         * config/mkinstalldirs: update from automake.
45487
45488 2003-09-26  Paul Eggert  <eggert@twinsun.com>
45489
45490         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
45491         (error_tail): Do not loop, reallocating temporary buffer, since
45492         the output cannot contain more wide characters than the input
45493         contains bytes, the size must be big enough already.  This avoids
45494         one potential size overflow calculation.  Check for size overflow
45495         when calculating temporary buffer size.  Free temporary buffer
45496         when done, if it was allocated with malloc; this plugs a memory
45497         leak.  Remove casts from void * to pointers, that are no longer
45498         needed now that we're assuming C89 or better.
45499
45500         Merge error changes from glibc.
45501
45502         * lib/error.c, error.h: Update copyright notice header to match glibc.
45503         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
45504         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
45505         Disable cancellation while printing error.
45506         * lib/error.h: Prepend __ to parameter names.
45507
45508 2003-09-26  Jim Meyering  <jim@meyering.net>
45509
45510         * lib/error.c (error_tail): Move some declarations
45511         into inner scope where the local variables are used.
45512
45513 2003-09-26  Bruno Haible  <bruno@clisp.org>
45514
45515         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
45516         stpncpy().
45517         Don't define stpncpy through config.h; it's now done through stpncpy.h.
45518
45519 2003-09-26  Bruno Haible  <bruno@clisp.org>
45520
45521         * lib/stpncpy.h (gnu_stpncpy): New declaration.
45522         (stpncpy): Define as alias for gnu_stpncpy.
45523         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
45524
45525 2003-09-25  Simon Josefsson  <jas@extundo.com>
45526
45527         * lib/xgetdomainname.h: New file.
45528         * lib/xgetdomainname.c: New file.
45529
45530 2003-09-25  Simon Josefsson  <jas@extundo.com>
45531             Bruno Haible  <bruno@clisp.org>
45532
45533         * modules/getdomainname: New file.
45534         * modules/xgetdomainname: New file.
45535         * MODULES.html.sh (func_all_modules): Add getdomainname,
45536         xgetdomainname.
45537
45538 2003-09-25  Simon Josefsson  <jas@extundo.com>
45539             Bruno Haible  <bruno@clisp.org>
45540
45541         * m4/getdomainname.m4: New file.
45542
45543 2003-09-25  Simon Josefsson  <jas@extundo.com>
45544             Bruno Haible  <bruno@clisp.org>
45545
45546         * lib/getdomainname.h: New file.
45547         * lib/getdomainname.c: New file.
45548
45549 2003-09-25  Karl Berry  <karl@gnu.org>
45550
45551         * lib/argp-fmtstream.c, argp-help.c: update from libc.
45552
45553 2003-09-25  Karl Berry  <karl@gnu.org>
45554
45555         * config/install-sh: update from automake.
45556
45557 2003-09-25  Bruno Haible  <bruno@clisp.org>
45558
45559         * modules/version-etc-2: New file, from modules/version-etc with
45560         modifications.
45561         * MODULES.html.sh (func_all_modules): Add version-etc-2.
45562
45563 2003-09-25  Bruno Haible  <bruno@clisp.org>
45564
45565         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
45566         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
45567
45568 2003-09-24  Simon Josefsson  <jas@extundo.com>
45569
45570         * modules/xgethostname: Add xgethostname.h.
45571
45572 2003-09-24  Paul Eggert  <eggert@twinsun.com>
45573
45574         * lib/linebuffer.c (freebuffer): Don't free the argument, just
45575         the buffer associated with the argument.  Bug reported by
45576         Simon Josefsson.
45577
45578 2003-09-24  Paul Eggert  <eggert@twinsun.com>
45579
45580         * README: Document assumptions that 'int' is at least 32 bits
45581         wide, that integer arithmetic is 2's complement without overflow,
45582         that there are no holes in integer values, that adding sizes of
45583         two nonoverlapping objects can't overflow, and that all-bits-zero
45584         yields scalar zero.  Fix spelling and capitalization typos.
45585
45586 2003-09-19  Karl Berry  <karl@gnu.org>
45587
45588         * lib/argp.h: update from libc.
45589
45590 2003-09-17  Paul Eggert  <eggert@twinsun.com>
45591
45592         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
45593         to avoid spurious warnings like "AC_RUN_IFELSE was called before
45594         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
45595
45596 2003-09-17  Paul Eggert  <eggert@twinsun.com>
45597
45598         * gnulib-tool: Use "test -h", not "test -L", for portability
45599         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
45600         (tags_regexp): Remove, since \| doesn't conform to POSIX.
45601         (sed_extract_prog): Issue s commands one-by-one, rather than
45602         using \| in one s command.
45603
45604 2003-09-16  Paul Eggert  <eggert@twinsun.com>
45605
45606         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
45607         input error, instead of returning NULL the next time we are called
45608         (and therefore losing track of errno).
45609
45610 2003-09-16  Bruno Haible  <bruno@clisp.org>
45611
45612         * gnulib-tool (func_create_testdir): Warn about duplicated
45613         dependencies.
45614
45615 2003-09-15  Paul Eggert  <eggert@twinsun.com>
45616
45617         * modules/argmatch, modules/fatal, modules/obstack,
45618         modules/xalloc, modules/xgethostname: Sort dependencies by
45619         importance, not alphabetically.
45620
45621 2003-09-15  Paul Eggert  <eggert@twinsun.com>
45622
45623         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
45624         fails, so that the caller gets the proper errno.
45625
45626         * lib/readutmp.c (read_utmp): Likewise.
45627         Check for fstat error.  Close stream and free storage
45628         when failing.
45629
45630 2003-09-14  Karl Berry  <karl@gnu.org>
45631
45632         * config/srclist.txt (strdup.c): disable for c89 changes.
45633
45634 2003-09-14  Jim Meyering  <jim@meyering.net>
45635
45636         * lib/getloadavg.c: Correct cpp indentation.
45637         * lib/strdup.c: Likewise.
45638         * lib/vasnprintf.c: Likewise.
45639
45640 2003-09-14  Bruno Haible  <bruno@clisp.org>
45641
45642         * modules/fwriteerror: New file.
45643         * MODULES.html.sh (func_all_modules): Add fwriteerror.
45644
45645 2003-09-14  Bruno Haible  <bruno@clisp.org>
45646
45647         * lib/fwriteerror.h: New file.
45648         * lib/fwriteerror.c: New file.
45649
45650 2003-09-12  Paul Eggert  <eggert@twinsun.com>
45651
45652         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
45653         modules/xgethostname, modules/xalloc: Depend on exit.
45654
45655 2003-09-12  Paul Eggert  <eggert@twinsun.com>
45656
45657         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
45658
45659         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
45660         and AC_MINIX, too, so that their extensions are available.
45661
45662         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
45663         This macro has been superseded by gl_BACKUPFILE.
45664
45665         More patches to assume C89 or better.
45666
45667         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
45668
45669         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
45670         unconditionally.
45671         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
45672         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
45673         Include <string.h>, <stdlib.h> unconditionally.
45674         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
45675         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
45676         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
45677         headers or for string.h.
45678         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
45679         or strtoul.
45680
45681         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
45682         headers.
45683         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
45684         * m4/userspec.m4 (gl_USERSPEC): Likewise.
45685         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
45686         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
45687         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
45688         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
45689         memcpy, memset.
45690         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
45691         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
45692         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
45693         strtol.
45694         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
45695         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
45696         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
45697         strtoul.
45698
45699 2003-09-12  Paul Eggert  <eggert@twinsun.com>
45700
45701         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
45702         * lib/obstack.c [!defined _LIBC]: Likewise.
45703         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
45704         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
45705         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
45706
45707         More changes to assume C89 or better.
45708
45709         * lib/error.c (error_tail): Assume vprintf.
45710
45711         * lib/argmatch.c (getenv): Remove decl.
45712         * lib/progreloc.c (get_full_program_name): Define via prototype.
45713         * lib/setenv.c (clearenv): Likewise.
45714         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
45715         needed.
45716         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
45717         (malloc, memcpy): Remove decls.
45718         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
45719         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
45720         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
45721         (memcpy): Remove macro.
45722         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
45723         (__P): Remove.  All uses removed.
45724         (PTR): Remove.  All uses changed to void *.
45725         (CHAR_BIT, NULL): Remove.
45726         (spaces, zeros, memset_space, memset_zero)
45727         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
45728         Remove.
45729         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
45730         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
45731         Define with prototype.
45732         Remove now-unnecessary prototype decl.
45733         (extra_args_spec): Assume ANSI C.  All uses changed.
45734         (extra_args_spec_iso): Remove.
45735         (my_strftime, emacs_strftimeu): Define via prototype.
45736         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
45737         unconditionally.
45738         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
45739         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
45740         (strtoul, strtol): Remove decls.
45741         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
45742         LONG_MAX): Remove.
45743         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
45744         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
45745         (LOCALE_PARAM_PROTO): New macro.
45746         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
45747         (INTERNAL (strtol), strtol): Define with a prototype.
45748         (PARAMS): Remove.  All uses removed.
45749         * lib/tempname.c: Include <string.h> unconditionally.
45750         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
45751         * lib/xgethostname.c (main): Define with a prototype.
45752         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
45753         Include <stdlib.h> unconditionally.
45754         (calloc, malloc, realloc, free): Remove decls.
45755         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
45756         Include <stdlib.h> unconditionally.  Sort include file names.
45757         (strtod): Remove.
45758         (xstrtod): Define with a prototype.
45759         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
45760         (strtol, strtoul): Remove decls.
45761
45762 2003-09-11  Paul Eggert  <eggert@twinsun.com>
45763
45764         More patches to assume C89 or better.
45765         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
45766         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
45767         string.h, memchr, STDC_HEADERS.
45768
45769 2003-09-11  Paul Eggert  <eggert@twinsun.com>
45770
45771         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
45772         Include <stdlib.h>, <string.h> unconditionally.
45773         Remove now-unnecessary cast to char *.
45774         * lib/strnlen.c: Include <string.h> unconditionally.
45775         * lib/yesno.c (yesno): Define with a prototype.
45776
45777 2003-09-11  Bruno Haible  <bruno@clisp.org>
45778
45779         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
45780
45781 2003-09-10  Jim Meyering  <jim@meyering.net>
45782
45783         * lib/error.c: Correct indentation of cpp directives.
45784
45785 2003-09-10  Bruno Haible  <bruno@clisp.org>
45786
45787         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
45788         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
45789         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
45790         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
45791         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
45792         <stdlib.h> and <string.h> checks.
45793         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
45794         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
45795
45796 2003-09-10  Bruno Haible  <bruno@clisp.org>
45797
45798         * lib/strcspn.c: Include <string.h> unconditionally.
45799         * lib/strpbrk.c: Include <string.h> unconditionally.
45800         * lib/strstr.c: Include <string.h> unconditionally.
45801         * lib/unicodeio.c: Include <string.h> unconditionally.
45802         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
45803         * lib/unsetenv.c: Likewise.
45804         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
45805         * lib/yesno.c: Include <stdlib.h> unconditionally.
45806         (rpmatch): Add prototype.
45807
45808 2003-09-09  Paul Eggert  <eggert@twinsun.com>
45809
45810         More patches to assume C89 or better.
45811         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
45812         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
45813         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
45814         or for string.h.
45815         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
45816         stdlib.h.
45817         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
45818         C headers.
45819         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
45820         string.h.
45821         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
45822         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
45823         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
45824         or for string.h.
45825         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
45826         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
45827         C headers.
45828         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
45829         memcpy.
45830         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
45831         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
45832         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
45833         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
45834         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
45835         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
45836         string.h, free.
45837         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
45838         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
45839         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
45840         C headers, or for string.h.
45841         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
45842         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
45843         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
45844         headers, memory.h, stdlib.h, string.h, strings.h.
45845         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
45846         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
45847         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
45848         strchr.
45849         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
45850         headers, memory.h, string.h.
45851         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
45852         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
45853         free.
45854         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
45855         headers.
45856         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
45857         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
45858         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
45859         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
45860         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
45861
45862 2003-09-09  Paul Eggert  <eggert@twinsun.com>
45863
45864         More K&R removal.
45865
45866         * lib/acosl.c (main): Use a prototype.
45867         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
45868         tanl.c: Likewise.
45869
45870         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
45871
45872         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
45873         (getopt, etopt_long, getopt_long_only, _getopt_internal)
45874         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
45875         with a prototype.
45876         * lib/getopt.c (const): Remove macro.
45877         Include <string.h> unconditionally.
45878         (my_index): Remove; all uses changed to strchr.
45879         (strlen): Remove decl.
45880         (exchange): Remove forward decl; no longer needed.
45881         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
45882         Define with prototype.
45883         * lib/getopt1.c (const): Remove macro.
45884         (getopt_long, getopt_long_only, main): Define with prototype.
45885
45886         * lib/getugroups.c: Include <string.h> unconditionally.
45887
45888         * lib/getusershell.c: Include <stdlib.h> unconditionally.
45889         (getusershell, setusershell, endusershell, readname, main):
45890         Define with prototypes.
45891
45892         * lib/group-member.c: Include group-member.h first.
45893         Include <stdlib.h> unconditionally.
45894
45895         * lib/hard-locale.c: Include hard-locale.h first.
45896         Include <stdlib.h>, <string.h> unconditionally.
45897
45898         * lib/hash.c (free, malloc): Remove decls.
45899         Include <stdlib.h> unconditionally.
45900
45901         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
45902         (getenv): Do not declare.
45903
45904         * lib/idcache.c: Include <string.h> unconditionally.
45905
45906         * lib/long-options.c: Include long-options.h first, to test interface.
45907         Include <stdlib.h> unconditionally.
45908
45909         * lib/makepath.c: Include makepath.h first, to test interface.
45910         Include <stdlib.h> and <string.h> unconditionally.
45911
45912         * lib/linebuffer.c: Include <stdlib.h>.
45913         (free): Remove decl.
45914
45915         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
45916         stddef.h. rpl_malloc returns void *, not char *.
45917         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
45918         prototype.
45919
45920         * lib/md5.h: Include <limits.h> unconditionally.
45921         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
45922         (__P): Remove; all uses removed.
45923         * lib/md5.c: Include "md5.h" first.
45924         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
45925         md5_buffer, md5_process_bytes, md5_process_block):
45926         Define with prototypes.
45927         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
45928         * lib/sha.c: Include "sha.h" first.
45929         Include <stdlib.h>, <string.h> unconditionally.
45930
45931         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
45932         * lib/memcmp.c (__ptr_t): Likewise.
45933         * lib/memrchr.c (__ptr_t): Likewise.
45934         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
45935         Include <string.h> unconditionally.
45936         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
45937         * lib/memchr.c: Include <stdlib.h> unconditionally.
45938         * lib/memchr.c (LONG_MAX): Remove.
45939         * lib/memrchr.c (LONG_MAX): Likewise.
45940         * lib/memchr.c (__memchr): Define via a prototype.
45941         * lib/memrchr.c (__memrchr): Likewise.
45942         * lib/memcmp.c (__P): Remove, and remove all uses.
45943         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
45944         Remove forward decls; no longer needed.
45945         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
45946         Use types required by C89 in prototype.
45947
45948         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
45949         * lib/savedir.c: Likewise.
45950         * lib/mkdir.c (free): Remove decl.
45951         * lib/rmdir.c (rmdir): Define with a prototype.
45952         * lib/savedir.c: Include savedir.h first, to test interface.
45953
45954         * lib/mktime.c (STDC_HEADERS): Remove.
45955         Include <stdlib.h>, <string.h> unconditionally.
45956
45957         * lib/modechange.c: Include <stdlib.h> unconditionally.
45958         (malloc): Remove decl.
45959
45960         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
45961         (free): Remove decl.
45962
45963         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
45964         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
45965         (This type really should be intptr_t, but that's a C99ism.)
45966         (_obstack_memcpy): Remove: all uses changed to memcpy.
45967         Include <string.h> unconditionally.
45968         (struct obstack): Assume __STDC__ for types of members
45969         chunkfun, freefun, extra_arg.
45970         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
45971         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
45972         obstack_begin, obstack_specify_allocation,
45973         obstack_specify_allocation_with_arg, obstack_chunkfun,
45974         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
45975         Remove unprototyped decls and the macros that use them.
45976         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
45977         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
45978         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
45979         (defined __STDC__ && __STDC__)]:
45980         Remove nonprototyped code.
45981         Include <stdlib.h> unconditionally.
45982         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
45983         _obstack_allocated_p, _obstack_free, obstack_free,
45984         _obstack_memory_used, print_and_abort):
45985         Define using prototypes.
45986         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
45987         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
45988         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
45989         obstack_next_free, obstack_object_size, obstack_room) [0]:
45990         Remove unused, unprototyped code.
45991
45992         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
45993
45994         * lib/physmem.c (physmem_total, physmem_available, main): Define
45995         with prototypes.
45996
45997         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
45998         (main): Define with a prototype.
45999
46000         * lib/posixver.c (getenv): Remove decl.
46001
46002         * lib/putenv.c (malloc): Returns void *, not char *.
46003         Include <string.h> unconditionally.
46004         (strchr, memcpy, NULL): Do not define.
46005
46006         * lib/readtokens.c: Include readtokens.h first, to test interface.
46007         Include <stdlib.h>, <string.h> unconditionally.
46008         (init_tokenbuffer): Define with a prototype.
46009
46010         * lib/regex.c (PARAMS): Remove.  All uses removed.
46011         All uses of _RE_ARGS removed, too.
46012         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
46013         unconditionally.
46014         (bzero): Assume memset exists.
46015         (memcmp, memcpy, NULL): Remove.
46016         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
46017         char, or assignments to local vars of type signed char.
46018         (init_syntax_once, PREFIX(extract_number_and_incr),
46019         PREFIX(print_partial_compiled_pattern),
46020         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
46021         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
46022         PREFIX(regex_grow_registers), PREFIX(regex_compile),
46023         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
46024         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
46025         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
46026         wcs_compile_range, byte_compile_range, truncate_wchar,
46027         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
46028         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
46029         count_mbs_length, wcs_re_match_2_internal,
46030         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
46031         PREFIX(alt_match_null_string_p),
46032         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
46033         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
46034         regfree, PREFIX(extract_number)): Define with prototype.  Remove
46035         now-unnecessary declaration, if any.
46036         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
46037         regcomp, regexec):
46038         Remove now-unnecessary casts among pointer types.
46039         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
46040
46041         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
46042         (free): Remove decl.
46043
46044         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
46045
46046         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
46047         (free): Remove decl.
46048
46049         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
46050         * lib/xgetcwd.c: Likewise.
46051
46052         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
46053         (free): Remove decl.
46054
46055         * lib/strchrnul.c (strchrnul): Define with a prototype.
46056         Fix bug: c_in was not converted to char before searching.
46057
46058         The following changes are not K&R related:
46059
46060         * lib/group-member.h: Include <sys/types.h>, so that this file is
46061         self-contained.
46062         * lib/makepath.h: Likewise.
46063
46064         * lib/getusershell.c (readname, default_index, line_size, readname):
46065         Use size_t, not int, for sizes.
46066         (readname): If the size overflows, report an error instead of
46067         looping forever.
46068
46069 2003-09-09  Paul Eggert  <eggert@twinsun.com>
46070
46071         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
46072         libc.
46073
46074 2003-09-09  Paul Eggert  <eggert@twinsun.com>
46075
46076         * README: New section: portability guidelines.
46077
46078 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
46079
46080         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
46081         C89 spec.
46082
46083 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
46084
46085         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
46086
46087 2003-09-08  Paul Eggert  <eggert@twinsun.com>
46088
46089         Assume C89 or better; remove K&R cruft.
46090         A few of these changes were first proposed by Derek Robert Price
46091         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
46092
46093         * lib/addext.c: Include <string.h> unconditionally.
46094         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
46095         Don't declare getenv or malloc.
46096
46097         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
46098         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
46099         (NULL): Remove.
46100         (find_stack_direction, alloca): Use prototypes.
46101
46102         * lib/atexit.c (atexit): Define using a prototype.
46103
46104         * lib/basename.c, dirname.c, stripslash.c:
46105         Include <string.h> unconditionally.
46106
46107         * lib/bcopy.c: Include <stddef.h>.
46108         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
46109
46110         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
46111
46112         * lib/error.h (error, error_at_line, error_print_progname)
46113         [! (defined (__STDC__) && __STDC__)]: Remove decls.
46114         * lib/error.c: Include error.h first, to check interface.
46115         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
46116         (VA_START): Remove; all uses changeed to va_start.
46117         (exit, strerror): Remove decls.
46118         (error_print_progname): Prototype uncondionally.
46119         Don't include <errno.h>; no longer needed.
46120         (private_strerror): Remove.
46121         (error_tail): Always define.
46122         (error, error_at_line): Assume C89 or better; always use prototypes.
46123         * lib/fatal.c: Include "fatal.h" first, to test interface.
46124         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
46125         (VA_START): Remove; all uses changed to va_start.
46126         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
46127         this case.
46128         (exit): Remove decl.
46129         (fatal): Prototype unconditionally.  Assume va_start works.
46130         Abort at end, to pacify gcc.
46131
46132         * lib/euidaccess.c (main): Define with a prototype.
46133
46134         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
46135
46136         * lib/exitfail.c: Include <stdlib.h> unconditionally.
46137
46138         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
46139         prototypes.
46140         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
46141         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
46142         (getenv): Remove decl.
46143         (fnmatch): Define using a prototype.
46144         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
46145         (FCT): Define using a prototype.
46146
46147         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
46148
46149         * lib/gethostname.c: Include <stddef.h>.
46150         (gethostname): Define with prototype.  Length is size_t, not int.
46151
46152 2003-09-08  Paul Eggert  <eggert@twinsun.com>
46153
46154         Assume C89 or better; remove K&R cruft.
46155         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
46156         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
46157         string.h, getenv, malloc.
46158         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
46159         headers.
46160         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
46161         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
46162         do not check for strerror.
46163         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
46164         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
46165         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
46166         do not check for doprnt or vprintf.
46167         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
46168         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
46169
46170 2003-09-08  Paul Eggert  <eggert@twinsun.com>
46171
46172         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
46173         getversion.c should have been removed then, but was accidentally
46174         preserved.
46175
46176         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
46177         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
46178
46179 2003-09-08  Karl Berry  <karl@gnu.org>
46180
46181         * config/config.sub, config.guess, srclistvars.sh: update from savannah
46182                 config, forget about prep.
46183
46184         * config/depcomp, missing: update from automake.
46185
46186 2003-09-07  Paul Eggert  <eggert@twinsun.com>
46187
46188         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
46189         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
46190
46191 2003-09-07  Paul Eggert  <eggert@twinsun.com>
46192
46193         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
46194         copy_tm_result.  Bug reported by Simon Josefsson in
46195         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
46196
46197 2003-09-06  Paul Eggert  <eggert@twinsun.com>
46198
46199         * m4/time_r.m4: New file.
46200         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
46201         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
46202         is. Check for timegm declaration.
46203         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
46204         Do not check for gmtime_r.
46205         Replace mktime if __mktime_internal does not exist and if mktime
46206         hasn't been replaced already.
46207
46208 2003-09-06  Paul Eggert  <eggert@twinsun.com>
46209
46210         * lib/time_r.c, lib/time_r.h: New files.
46211
46212         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
46213         __localtime_r.
46214         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
46215         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
46216
46217         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
46218         __gmtime_r.
46219         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
46220         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
46221         Include <time_r.h>.
46222
46223         * lib/timegm.c: Switch to glibc implementation, with the following
46224         changes:
46225         [defined HAVE_CONFIG_H]: Include <config.h>.
46226         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
46227         (__mktime_internal) [!defined _LIBC]: New decl.
46228         (__gmtime_r) [!defined _LIBC]: New macro and function.
46229         (timegm): Use a prototype, since gnulib assumes C89.
46230         Do not bother declaring tmp to be const, as it's not really usefu.
46231         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
46232         (timegm): Declare only if HAVE_DECL_TIMEGM.
46233
46234 2003-09-06  Paul Eggert  <eggert@twinsun.com>
46235
46236         * MODULES.html.sh (func_all_modules): Add time_r.
46237         * modules/time_r: New file.
46238         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
46239         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
46240
46241 2003-09-03  Paul Eggert  <eggert@twinsun.com>
46242
46243         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
46244         Bug reported by Lute Kamstra in
46245         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
46246
46247         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
46248         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
46249         course with correspondingly smaller numbers for tomorrow and
46250         yesterday.  From Tadayoshi Funaba.  Originally installed into
46251         sh-utils on 1999-08-07, but the patch got lost (I guess during the
46252         coreutils merge?).
46253
46254 2003-08-31  Simon Josefsson  <jas@extundo.com>
46255
46256         * modules/timegm: New file.
46257         * MODULES.html.sh (func_all_modules): Add timegm.
46258
46259 2003-08-31  Simon Josefsson  <jas@extundo.com>
46260
46261         * m4/timegm.m4: New file.
46262
46263 2003-08-31  Simon Josefsson  <jas@extundo.com>
46264
46265         * lib/timegm.h: New file.
46266         * lib/timegm.c: New file.  Based on
46267         wget-1.8.2/src/http.c:mktime_from_utc.
46268
46269 2003-08-31  Karl Berry  <karl@gnu.org>
46270
46271         * lib/argp.h: update from libc.
46272
46273 2003-08-28  Bruno Haible  <bruno@clisp.org>
46274
46275         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
46276         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
46277         followed by '#define fnmatch fnmatch_posix' gives an error.
46278
46279 2003-08-28  Bruno Haible  <bruno@clisp.org>
46280
46281         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
46282         warning on QNX, which defines O_BINARY to 000000.
46283
46284 2003-08-27  Jim Meyering  <jim@meyering.net>
46285
46286         * m4/mkstemp.m4: Require that the system mkstemp be able to create
46287         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
46288         would fail after 32.  Reported by Danny Levinson.  Details here:
46289         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
46290
46291 2003-08-24  Bruno Haible  <bruno@clisp.org>
46292
46293         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
46294         MSVC7 <stdio.h> is included later.
46295
46296 2003-08-22  Simon Josefsson  <jas@extundo.com>
46297
46298         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
46299
46300 2003-08-20  Karl Berry  <karl@gnu.org>
46301
46302         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
46303
46304 2003-08-20  Bruno Haible  <bruno@clisp.org>
46305
46306         * modules/progname: New file.
46307         * MODULES.html.sh (func_all_modules): Add progname.
46308
46309 2003-08-20  Bruno Haible  <bruno@clisp.org>
46310
46311         * lib/progname.h: New file, from GNU gettext.
46312         * lib/progname.c: New file, from GNU gettext.
46313         * lib/progreloc.c: New file, from GNU gettext.
46314
46315 2003-08-19  Jim Meyering  <jim@meyering.net>
46316
46317         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
46318         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
46319
46320 2003-08-19  Bruno Haible  <bruno@clisp.org>
46321
46322         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
46323         more.
46324
46325 2003-08-19  Bruno Haible  <bruno@clisp.org>
46326
46327         * lib/xstrdup.c: Assume <string.h> exists.
46328
46329 2003-08-18  Paul Eggert  <eggert@twinsun.com>
46330
46331         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
46332         in makefile rules.
46333
46334 2003-08-18  Jim Meyering  <jim@meyering.net>
46335
46336         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
46337         * m4/lib-ld.m4: Likewise.
46338
46339 2003-08-18  Jim Meyering  <jim@meyering.net>
46340
46341         * lib/setenv.h: Indent nested cpp directive.
46342         * lib/vasnprintf.c: Remove trailing blanks.
46343
46344 2003-08-17  Simon Josefsson  <jas@extundo.com>
46345
46346         * modules/xstrndup: New file.
46347         * MODULES.html.sh (func_all_modules): Add xstrndup.
46348
46349 2003-08-17  Simon Josefsson  <jas@extundo.com>
46350
46351         * modules/argp: Fix autoconf macro name. Add more dependencies.
46352
46353 2003-08-17  Simon Josefsson  <jas@extundo.com>
46354
46355         * m4/xstrndup.m4: New file.
46356
46357 2003-08-17  Simon Josefsson  <jas@extundo.com>
46358
46359         * m4/argp.m4: New file.
46360
46361 2003-08-17  Simon Josefsson  <jas@extundo.com>
46362             Bruno Haible  <bruno@clisp.org>
46363
46364         * lib/xstrndup.h: New file.
46365         * lib/xstrndup.c: New file.
46366
46367 2003-08-17  Bruno Haible  <bruno@clisp.org>
46368
46369         * modules/strndup (Files, Include): Add lib/strndup.h.
46370
46371 2003-08-17  Bruno Haible  <bruno@clisp.org>
46372
46373         * modules/euidaccess (Files): Add lib/euidaccess.h.
46374
46375 2003-08-17  Bruno Haible  <bruno@clisp.org>
46376
46377         * lib/strndup.h: New file.
46378
46379 2003-08-17  Bruno Haible  <bruno@clisp.org>
46380
46381         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
46382         like AC_GNU_SOURCE.
46383         * modules/extensions (configure.ac): Comment out the invocation of
46384         gl_USE_SYSTEM_EXTENSIONS.
46385
46386 2003-08-16  Paul Eggert  <eggert@twinsun.com>
46387
46388         Merges from coreutils, etc.
46389         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
46390         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
46391         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
46392         fixing a typo.
46393         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
46394         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
46395
46396 2003-08-16  Paul Eggert  <eggert@twinsun.com>
46397
46398         Document merge from coreutils.
46399         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
46400         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
46401         * modules/utime: Add m4/utimes-null.m4.
46402
46403 2003-08-16  Paul Eggert  <eggert@twinsun.com>
46404
46405         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
46406         space, undoing this 2003-08-12 change:
46407         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
46408
46409 2003-08-16  Paul Eggert  <eggert@twinsun.com>
46410
46411         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
46412         strtoul.c from libc, undoing this 2003-08-12 change:
46413         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
46414
46415 2003-08-16  Jim Meyering  <jim@meyering.net>
46416
46417         Merges from coreutils.
46418         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
46419         prefix.  Adjust cache variables similarly.  Create 500 rather than
46420         just 300 files, to exercise bug on Darwin6.5, too.
46421         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
46422         $missing_dir.
46423         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
46424         AM_SYS_POSIX_TERMIOS.
46425         Reported by mkc@mathdogs.com.
46426         Also change use of $am_cv_sys_posix_termios
46427         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
46428         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
46429         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
46430         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
46431         in /proc/mounts until it finds one with matching device number.  This
46432         is unnecessary when the FILE argument *is* a mount point.  No stat call
46433         is necessary in that case.  So, disable the statvfs-testing code on
46434         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
46435         as RedHat bug# 84846.
46436         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
46437         to 1MB, so as not to render systems with no stack size limit (e.g.,
46438         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
46439         Include <unistd.h>.  On some systems,
46440         it is required for the definition of _SC_PAGESIZE.
46441
46442 2003-08-16  Jim Meyering  <jim@meyering.net>
46443
46444         Merge from coreutils.
46445         * lib/xstrtoimax.c: #else #if -> #elif.
46446         * lib/xstrtoumax.c: Likewise.
46447
46448 2003-08-16  Jim Meyering  <jim@meyering.net>
46449
46450         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
46451         * m4/utimes.m4: Removed.
46452         * m4/utimes-null.m4: Renamed from utimes.m4.
46453
46454         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
46455         to 1MB, so as not to render systems with no stack size limit (e.g.,
46456         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
46457         Include <unistd.h>.  On some systems,
46458         it is required for the definition of _SC_PAGESIZE.
46459
46460 2003-08-16  Jim Meyering  <jim@meyering.net>
46461         and Paul Eggert  <eggert@cs.ucla.edu>
46462
46463         Merges from coreutils, etc.
46464
46465         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
46466         using the latest version from cvs.  This avoids problems with #line
46467         directives using a vendor (Sun) compiler.
46468         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
46469         Don't set GETGROUPS_LIB here; now it's
46470         done via getgroups.m4's wrapper function.
46471         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
46472         rather than just in sh-util/configure.in, so that the
46473         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
46474         same.
46475         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
46476         AC_FUNC_GETLOADAVG where to find getloadavg.c.
46477         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
46478         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
46479         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
46480         Remove code that is now done by the newly-required macros.
46481         Append $(EXEEXT) to DF_PROG.
46482         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
46483         Do not invoke or require the following here,
46484         since prereq.m4 or some gnulib .m4 now does this for us:
46485         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
46486         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
46487         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
46488         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
46489         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
46490         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
46491         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
46492         AC_FUNC_OBSTACK.
46493         Do not replace the following functions, as this is now the job
46494         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
46495         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
46496         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
46497         atexit getpass, strdup, getpagesize.
46498         Replace 'raise'.
46499         Do not check for the following functions, as this is now the job
46500         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
46501         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
46502         setregid.
46503         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
46504         Check for sys/sysctl.h.
46505         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
46506         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
46507         of checking for ssize_t ourselves.
46508
46509         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
46510         Require every macro that gnulib/modules/* suggests for us.
46511         (jm_PREREQ_ADDEXT): New macro.
46512         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
46513         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
46514
46515         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
46516         (gl_PHYSMEM): Use it.
46517         Also check for `table' function.
46518         Check for new headers and functions.
46519         Add check for sys/sysmp.h.
46520         With suggestions from Kaveh Ghazi.
46521         Ignore headers that are present but cannot be compiled.  This
46522         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
46523         C 5.4.
46524
46525 2003-08-15  Paul Eggert  <eggert@twinsun.com>
46526
46527         Document merge from coreutils.
46528         * modules/userspec: Depend on posixver.
46529         * modules/strftime: Depend on tzset.
46530
46531 2003-08-15  Paul Eggert  <eggert@twinsun.com>
46532
46533         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
46534         rather than tab, after '#' in shell-script copyright notices.
46535         Suggested by Bruno Haible.
46536
46537 2003-08-15  Paul Eggert  <eggert@twinsun.com>
46538
46539         * config/srclist-update: Use three spaces, rather than tab, after '#'
46540         in shell-script copyright notices.  Suggested by Bruno Haible.
46541         Remove unnecessary parenthesization in regular expression.
46542
46543 2003-08-15  Jim Meyering  <jim@meyering.net>
46544
46545         Merge from coreutils.
46546         * lib/xgethostname.c: Include <stdlib.h>.
46547         (xghostname): Don't exit for anything other than memory-related
46548         failure; just return NULL.
46549         * lib/userspec.c: Include "posixver.h".
46550         (parse_user_spec): Accept `.' as a separator only
46551         in pre-POSIX-200112 mode.
46552         * lib/strtoimax.c: Use #elif rather than #else #if.
46553         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
46554         Remove function, now that we can rely on a working tzset function.
46555         [!_LIBC]: Ensure that the required autoconf test has been run.
46556         [!defined _NL_CURRENT && HAVE_STRFTIME]:
46557         Use underlying_strftime for %r.
46558         * lib/sha.c: Merge in some clean-up and optimization changes from
46559         glibc.
46560         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
46561         Ensure that it is a multiple of 64.
46562         Rearrange loop exit tests so as to avoid performing an
46563         additional fread after encountering an error or EOF.
46564         * lib/realloc.c: Update copyright date.
46565
46566 2003-08-15  Jim Meyering  <jim@meyering.net>
46567         and Paul Eggert  <eggert@twinsun.com>
46568
46569         Merge from coreutils.
46570         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
46571         member but strut utmpx does not.  Needed for AIX 4.3.3.
46572         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
46573
46574 2003-08-15  Jim Meyering  <jim@meyering.net>
46575         and Paul Eggert  <eggert@cs.ucla.edu>
46576
46577         Merges from coreutils, etc.
46578         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
46579         Require gl_FUNC_TZSET_CLOBBER.
46580         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
46581         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
46582         members.
46583
46584 2003-08-14  Paul Eggert  <eggert@twinsun.com>
46585
46586         Help the merge from coreutils.
46587         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
46588         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
46589         * m4/tzset.m4: Use it too.
46590
46591 2003-08-14  Paul Eggert  <eggert@twinsun.com>
46592
46593         * modules/tzset: New file.
46594
46595 2003-08-14  Jim Meyering  <jim@meyering.net>
46596
46597         Merges from coreutils.
46598         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
46599         variable names, rather than @FNMATCH_H@.
46600         * modules/alloca: Likewise for $(ALLOCA_H).
46601
46602         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
46603         the three copies of the literal target, `fnmatch.h'.
46604         * modules/alloca (alloca.h): Likewise.
46605
46606 2003-08-14  Jim Meyering  <jim@meyering.net>
46607
46608         Merge from coreutils.
46609         * m4/tzset.m4: New file.
46610         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
46611         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
46612         otherwise, AIX 5.1 systems would end up using the latter.
46613         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
46614         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
46615         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
46616         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
46617
46618 2003-08-14  Jim Meyering  <jim@meyering.net>
46619
46620         Merge from coreutils.
46621         * lib/obstack.h: Whitespace changes.
46622         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
46623         and xcalloc return values.
46624         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
46625         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
46626         hang on OSF/1 5.1 for DIR on both local and remote file systems.
46627         Reported by (and fix confirmed by) Nelson H. F. Beebe.
46628         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
46629         error from mntctl.
46630         Use mntctl's return value to drive the entry-processing loop, since
46631         we can't rely on the value of the vmt_length member in the last
46632         entry.  On some systems doing so could result in exhausting
46633         virtual memory.  Based in part on a patch from Mike Jetzer.
46634
46635 2003-08-14  Jim Meyering  <jim@meyering.net>
46636         and Paul Eggert  <eggert@twinsun.com>
46637
46638         Merges from coreutils, plus other fixes.
46639         * lib/physmem.c: Merge in portability changes from gcc/libiberty
46640         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
46641         for credits and details.  Thanks to Kaveh Ghazi for helping
46642         to keep these files in sync.
46643         (ARRAY_SIZE): Define it.
46644         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
46645         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
46646         (memcasecmp): Don't assume size_t fits in unsigned int.
46647         Remove casts and duplicate code.
46648         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
46649         (memcpy): Remove definition.
46650         Merge in some clean-up and optimization changes from glibc.
46651         [BLOCKSIZE]: Move definition to top of file.
46652         Ensure that it is a multiple of 64.
46653         Rearrange loop exit tests so as to avoid performing an
46654         additional fread after encountering an error or EOF.
46655         * lib/md5.h (md5_uintptr): Define.
46656         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
46657         return to the initial working directory.  Preserve errno
46658         for caller.
46659         * lib/idcache.c: Include "xalloc.h".
46660         (xmalloc, xrealloc): Remove decls.
46661         (getuser): Remove casts no longer required in C89.
46662         * lib/human.c: Include stdio.h, for sprintf.
46663         * lib/group-member.c: Include "xalloc.h".
46664         (xmalloc, xrealloc): Remove decls.
46665         (get_group_info): Remove casts no longer required in C89.
46666         * lib/getusershell.c (readname): Remove casts no longer required in
46667         C89.
46668         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
46669         * lib/getline.c: Whitespace fix, from coreutils.
46670
46671 2003-08-13  Paul Eggert  <eggert@twinsun.com>
46672
46673         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
46674         Check for isascii.
46675
46676         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
46677         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
46678         Undo previous (whitespace-only) change.
46679
46680 2003-08-13  Paul Eggert  <eggert@twinsun.com>
46681
46682         * lib/exclude.c: Include <ctype.h>
46683         (IN_CTYPE_DOMAIN): New macro.
46684         (is_space): New fn.
46685         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
46686         and empty lines.
46687
46688         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
46689         Undo previous (whitespace-only) change.
46690
46691 2003-08-13  Paul Eggert  <eggert@twinsun.com>
46692
46693         * config/srclist-update: Change update back to the old behavior,
46694         leaving whitespace alone.  Use one 'sed' command rather than a
46695         pipeline.
46696         (fixlicense): Now a variable, not a function.
46697         (remove_trailing_blanks): Remove.
46698         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
46699         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
46700         Undo previous (whitespace-only) change.
46701
46702 2003-08-12  Paul Eggert  <eggert@twinsun.com>
46703
46704         Merge from coreutils.
46705         * modules/euidaccess: Add lib_SOURCES, include for new
46706         file euidaccess.h
46707
46708 2003-08-12  Paul Eggert  <eggert@twinsun.com>
46709
46710         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
46711         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
46712         Normalize leading white space and remove trailing white space.
46713
46714         Merge from coreutils
46715         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
46716
46717         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
46718         0.12.1.  These files are now being upgraded automatically by
46719         ../config/srclist-update.
46720
46721 2003-08-12  Paul Eggert  <eggert@twinsun.com>
46722
46723         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
46724         Normalize leading white space and remove trailing white space.
46725         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
46726         notice, as per ../config/srclist-update.
46727
46728         Merge from coreutils.
46729         * lib/euidaccess.h: New file.
46730         * lib/euidaccess.c: Include it.
46731         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
46732         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
46733         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
46734
46735 2003-08-12  Paul Eggert  <eggert@twinsun.com>
46736
46737         * config/srclist-update: Add copyright notice.
46738         (remove_id_lines, remove_trailing_blanks): New constants.
46739         (fixfile): Use them to normalize spacing a bit in copied files.
46740         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
46741         Normalize leading white space and remove trailing white space.
46742
46743         * config/texinfo.tex: Sync with texinfo.
46744
46745         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
46746         strtoul.c from libc, to merge coreutils whitespace changes.
46747
46748         * config/srclist.txt: Get the following m4 files from gettext:
46749         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
46750         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
46751         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
46752         wint_t.m4.
46753
46754 2003-08-12  Karl Berry  <karl@gnu.org>
46755
46756         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
46757         been made.
46758
46759 2003-08-11  Paul Eggert  <eggert@twinsun.com>
46760
46761         * modules/gnu-source, m4/gnu-source.m4:
46762         Remove; we're assuming Autoconf 2.54 or later now.
46763         Suggested by Bruno Haible.
46764         * MODULES.html.sh (func_all_modules): Remove gnu-source.
46765
46766 2003-08-11  Bruno Haible  <bruno@clisp.org>
46767
46768         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
46769
46770 2003-08-11  Bruno Haible  <bruno@clisp.org>
46771
46772         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
46773         (vasnprintf): Use it instead of wcslen.
46774
46775 2003-08-11  Bruno Haible  <bruno@clisp.org>
46776
46777         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
46778         value to ensure that _Bool promotes to int. Use #define for _Bool when
46779         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
46780
46781 2003-08-10  Karl Berry  <karl@gnu.org>
46782
46783         * lib/regex.h: update from libc (whitespace fix).
46784
46785 2003-08-09  Paul Eggert  <eggert@twinsun.com>
46786
46787         Merge some files from coreutils.  These changes were
46788         originally made by Jim Meyering.
46789         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
46790         many older Unixes require this.
46791         * lib/alloca.c (alloca): Remove cast to argument of free;
46792         no longer needed in C89.
46793         * lib/alloca_.h, regex.h: Fix white space to match
46794         what GNU indent does.
46795
46796 2003-08-09  Paul Eggert  <eggert@twinsun.com>
46797
46798         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
46799         apparently Emacs's Unicode mode got confused before my 2003-08-05
46800         checkin.
46801
46802 2003-08-08  Paul Eggert  <eggert@twinsun.com>
46803
46804         * m4/extensions.m4: New file.
46805         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
46806         Require gl_USE_SYSTEM_EXTENSIONS.
46807         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
46808         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
46809
46810 2003-08-08  Paul Eggert  <eggert@twinsun.com>
46811
46812         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
46813         * modules/extensions, modules/gnu-source: New files.
46814         * modules/timespec, modules/unlocked-io: Depend on extensions.
46815
46816 2003-08-07  Paul Eggert  <eggert@twinsun.com>
46817
46818         * modules/restrict: New file.
46819         * MODULES.html.sh (func_all_modules): Add restrict.
46820         * modules/regex: Depend on restrict.
46821
46822 2003-08-07  Paul Eggert  <eggert@twinsun.com>
46823
46824         * m4/restrict.m4: New file.
46825         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
46826
46827 2003-08-07  Bruno Haible  <bruno@clisp.org>
46828
46829         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
46830         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
46831
46832 2003-08-07  Bruno Haible  <bruno@clisp.org>
46833
46834         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
46835         makes the module 'getndelim2' compatible with the module 'getline'.
46836
46837 2003-08-05  Paul Eggert  <eggert@twinsun.com>
46838
46839         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
46840         byte with "\201" to avoid glitches when editing that source file
46841         with multi-gnome-terminal.
46842
46843 2003-08-05  Paul Eggert  <eggert@twinsun.com>
46844
46845         * lib/bumpalloc.h: Remove.
46846
46847 2003-08-05  Paul Eggert  <eggert@twinsun.com>
46848
46849         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
46850         * modules/bumpalloc: Remove.
46851
46852 2003-08-04  Paul Eggert  <eggert@twinsun.com>
46853
46854         * lib/getloadavg.c: Change copyright notice and spacing to conform to
46855         GNU coding style.
46856
46857         Merge from coreutils.
46858         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
46859         1. From glibc.
46860         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
46861         from Karl Berry, implemented by Jim Meyering.
46862         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
46863         from Dmitry V. Levin.
46864         Remove anachronistic cast of xrealloc.
46865         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
46866         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
46867         type. Otherwise, it wouldn't compile with at least /bin/cc on
46868         ymp-cray-unicos9.0.2.X.
46869         Combine two mostly-identical uses of alloca into one.
46870         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
46871
46872 2003-08-04  Dave Love  <d.love@dl.ac.uk>
46873
46874         [From Emacs.]
46875
46876         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
46877         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
46878         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
46879         obsolete NLIST_NAME_UNION.
46880         [__GNU__]: Undef BSD and FSCALE.
46881         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
46882
46883 2003-08-03  Paul Eggert  <eggert@twinsun.com>
46884
46885         * lib/stdbool_.h (_Bool): Make it signed char, instead of
46886         an enum type, so that it's guaranteed to promote to int.  See:
46887         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
46888
46889 2003-08-03  Karl Berry  <karl@gnu.org>
46890
46891         * config/depcomp: update from automake.
46892
46893 2003-07-31  Paul Eggert  <eggert@twinsun.com>
46894
46895         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
46896         (strerror): Don't assume that a printable int fits in 14 bytes.
46897
46898 2003-07-31  Bruno Haible  <bruno@clisp.org>
46899
46900         * modules/getpass-gnu: New file.
46901         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
46902
46903 2003-07-31  Bruno Haible  <bruno@clisp.org>
46904
46905         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
46906
46907 2003-07-24  Karl Berry  <karl@gnu.org>
46908
46909         * config/missing: update from automake.
46910
46911 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
46912             Bruno Haible  <bruno@clisp.org>
46913
46914         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
46915         * lib/getline.c (getline, getdelim): Likewise.
46916         Remove _GNU_SOURCE define; now it's defined in config.h through
46917         m4/getline.m4.
46918
46919 2003-07-23  Karl Berry  <karl@gnu.org>
46920
46921         * config/config.sub: update from prep.
46922
46923 2003-07-22  Paul Eggert  <eggert@twinsun.com>
46924
46925         * modules/xalloc (Depends-on): Add exitfail.
46926         * modules/xmemcoll: Likewise.
46927
46928 2003-07-22  Paul Eggert  <eggert@twinsun.com>
46929
46930         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
46931         over-parenthesization in macros.
46932
46933         Sync with coreutils.
46934
46935         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
46936         required by C99.
46937
46938         Use `exit_failure' for xalloc and xmemcoll instead of their own
46939         private exit-failure variables.
46940         * lib/xalloc.h (xalloc_exit_failure): Remove.
46941         * lib/xmalloc.c: Likewise.  Include exitfail.h.
46942         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
46943         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
46944         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
46945         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
46946
46947 2003-07-20  Jim Meyering  <jim@meyering.net>
46948
46949         * modules/closeout (Depends-on): Add exitfail.
46950         Suggestion from Bruno Haible.
46951
46952 2003-07-19  Karl Berry  <karl@gnu.org>
46953
46954         * config/config.sub: update from prep.
46955
46956 2003-07-18  Paul Eggert  <eggert@twinsun.com>
46957
46958         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
46959         Remove.
46960         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
46961         to test that it can stand by itself.  Include "exitfail.h".
46962         Clients should set exit_failure instead.
46963         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
46964
46965 2003-07-18  Bruno Haible  <bruno@clisp.org>
46966
46967         * modules/getndelim2: New file.
46968         * modules/getline: Share files with module getndelim2.
46969         * modules/getnline: Depend on getndelim2 instead of sharing files with
46970         it. Add getnline.c to lib_SOURCES.
46971         * MODULES.html.sh (func_all_modules): Add getndelim2.
46972
46973 2003-07-18  Bruno Haible  <bruno@clisp.org>
46974
46975         * m4/getndelim2.m4: New file.
46976         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
46977         invoke gl_PREREQ_GETNDELIM2.
46978         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
46979         gl_PREREQ_GETNDELIM2.
46980         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
46981         gl_GETNDELIM2.
46982
46983 2003-07-18  Bruno Haible  <bruno@clisp.org>
46984
46985         * lib/getndelim2.h: New file.
46986         * lib/getndelim2.c: Make into a module of its own. Include config.h,
46987         getndelim2.h.
46988         (getndelim2): Make non-static. Change return type to ssize_t.
46989         * lib/getline.h: Change argument names.
46990         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
46991         * lib/getnline.c: Include getndelim2.h.
46992
46993 2003-07-18  Andreas Schwab  <schwab@suse.de>
46994
46995         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
46996
46997 2003-07-17  Karl Berry  <karl@gnu.org>
46998
46999         * config/config.sub: update from prep.
47000
47001 2003-07-17  Bruno Haible  <bruno@clisp.org>
47002
47003         * modules/getnline: New file.
47004         * modules/getline: Add lib/getndelim2.c to source file list.
47005         * MODULES.html.sh (func_all_modules): Add getnline.
47006
47007 2003-07-17  Bruno Haible  <bruno@clisp.org>
47008
47009         * m4/getnline.m4: New file.
47010
47011 2003-07-17  Bruno Haible  <bruno@clisp.org>
47012
47013         * m4/Makefile.am.in: Remove file.
47014         * m4/Makefile.am: Remove file.
47015         * m4/Makefile.in: Remove file.
47016
47017 2003-07-17  Bruno Haible  <bruno@clisp.org>
47018
47019         * lib/getnline.h: New file.
47020         * lib/getnline.c: New file.
47021         * lib/getndelim2.c: New file, extracted from getline.c.
47022         (getndelim2): Renamed from getdelim2, with added nmax argument.
47023         * lib/getline.c: Include getndelim2.c.
47024         (getdelim2): Moved out to getndelim2.c.
47025         (getline, getdelim): Update.
47026
47027 2003-07-17  Bruno Haible  <bruno@clisp.org>
47028
47029         * lib/Makefile.am: Remove file.
47030         * lib/Makefile.in: Remove file.
47031
47032 2003-07-17  Bruno Haible  <bruno@clisp.org>
47033
47034         * configure.in: Remove file.
47035         * Makefile.in: Remove file.
47036
47037 2003-07-17  Bruno Haible  <bruno@clisp.org>
47038
47039         * MODULES.html.sh: Put the </BODY> right before </HTML>.
47040
47041 2003-07-16  Karl Berry  <karl@gnu.org>
47042
47043         * config/srclist-update: was running fixlicense twice, which caused
47044                 texinfo.tex to be nullified for some reason.  Simplify,
47045                 $gplsrc is no longer needed as far as I can see?
47046
47047 2003-07-16  Jim Meyering  <jim@meyering.net>
47048
47049         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
47050
47051 2003-07-15  Paul Eggert  <eggert@twinsun.com>
47052
47053         * config/srclist.txt: Get the following files from gettext-runtime/intl
47054         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
47055         ref-del.sin.  From Bruno Haible.
47056         * config/srclist-update (fixfile): Change grep pattern again, since the
47057         previous fix didn't work (there was another trailing $).  Use
47058         '[$]' to escape the $s.
47059
47060 2003-07-15  Karl Berry  <karl@gnu.org>
47061
47062         * lib/vasnprintf.c: update from gettext.
47063
47064 2003-07-15  Karl Berry  <karl@gnu.org>
47065
47066         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
47067         gets expanded when surrounded by '$'.
47068
47069 2003-07-15  Jim Meyering  <jim@meyering.net>
47070
47071         * modules/save-cwd: Don't depend on error.  From Derek Price.
47072
47073 2003-07-15  Jim Meyering  <jim@meyering.net>
47074
47075         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
47076
47077 2003-07-14  Simon Josefsson  <jas@extundo.com>
47078
47079         * modules/mempcpy: New file.
47080         * MODULES.html.sh (func_all_modules): Add mempcpy.
47081
47082 2003-07-14  Simon Josefsson  <jas@extundo.com>
47083
47084         * m4/mempcpy.m4: New file.
47085
47086 2003-07-14  Simon Josefsson  <jas@extundo.com>
47087
47088         * lib/mempcpy.h: New file.
47089         * lib/mempcpy.c: New file.
47090
47091 2003-07-14  Paul Eggert  <eggert@twinsun.com>
47092
47093         * modules/getdate, modules/posixtm: Depend on mktime.
47094
47095 2003-07-14  Paul Eggert  <eggert@twinsun.com>
47096
47097         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
47098         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
47099         unicodeio.c, unicodeio.h, unlocked-io.h:
47100         Switch from LGPL to GPL.
47101
47102 2003-07-14  Paul Eggert  <eggert@twinsun.com>
47103
47104         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
47105         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
47106         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
47107         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
47108         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
47109         updated automatically by ../config/srclist-update.  This changes
47110         their license from LPGL to GPL.
47111
47112 2003-07-14  Paul Eggert  <eggert@twinsun.com>
47113
47114         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
47115         assumed to refer to the root of the most recent stable gettext version.
47116         * config/srclistvars.sh: Add defaults for eggert.
47117         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
47118         Match "This program" as well as "The program".  This is needed
47119         for gettext.
47120
47121 2003-07-14  Jim Meyering  <jim@meyering.net>
47122
47123         Don't emit diagnostics.  Let callers do that.
47124         * lib/save-cwd.c: Don't include "error.h".
47125         (save_cwd): Don't call error.  Ensure that errno is valid
47126         when returning nonzero.
47127
47128         * lib/save-cwd.h (restore_cwd): Update prototype.
47129         * lib/save-cwd.c (restore_cwd): Remove two parameters.
47130         Simplify.  Don't call error upon failure.  Let callers do that.
47131         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
47132         when auditing is enabled.  But don't bother updating the #if.
47133
47134 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
47135
47136         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
47137         it breaks C++ compilation.
47138         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
47139
47140 2003-07-10  Simon Josefsson  <jas@extundo.com>
47141
47142         * modules/strchrnul (Makefile.am): Add strchrnul.h.
47143
47144 2003-07-10  Jim Meyering  <jim@meyering.net>
47145
47146         * m4/clock_time.m4: Remove trailing blank.
47147         * m4/intmax_t.m4: Likewise.
47148
47149 2003-07-10  Jim Meyering  <jim@meyering.net>
47150
47151         * lib/vasnprintf.c: Remove trailing blanks.
47152         Make cpp indentation consistent.
47153
47154 2003-07-09  Paul Eggert  <eggert@twinsun.com>
47155
47156         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
47157         posixver.c, strftime.c, strnlen.c, strverscmp.c:
47158         Switch from LGPL to GPL.
47159
47160 2003-07-09  Paul Eggert  <eggert@twinsun.com>
47161
47162         * config/srclist.txt: Sort sublists.  Add
47163         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
47164         that differ from gnulib for one reason or another; we'd like this list
47165         to be smaller but for now let's document what we have.
47166
47167 2003-07-08  Paul Eggert  <eggert@twinsun.com>
47168
47169         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
47170         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
47171         and sweeter "eval x=$x".
47172         * config/srclist.txt: Get lib/argp* from glibc.
47173
47174 2003-07-07  Paul Eggert  <eggert@twinsun.com>
47175
47176         * lib/mktime.c: Fix some boundary cases and remove need for floating
47177         point.
47178
47179         Issue a compile-time diagnostic if time_t is floating point, or if
47180         two's complement arithmetic is not in effect, or if arithmetic
47181         right shift does not propagate the sign.  These assumptions were
47182         all in the original code but they weren't checked.
47183
47184         (TIME_T_MIDPOINT, verify): New macros.
47185         (__isleap): Remove; it has integer overflow problems.
47186         (leapyear): New function, without those problems.
47187         (ydhms_tm_diff): Remove; splitting into two parts.
47188         (ydhms_diff): New function, containing the arithmetic part of
47189         the old ydhms_tm_diff function.  Issue a compile-time
47190         diagnostic if we are not using C99 integer division.
47191         Avoid casts when possible.
47192         (guess_time_tm): New function, containing the checking part of
47193         the old ydhms_tm_diff function.  Return the new value, rather than
47194         the difference between it and the old.  Accept a new argument T
47195         so that *T specifies the old value.  Check for overflow in the result.
47196
47197         (__mktime_internal): Use a time_t offset, not a long int offset.
47198         This undoes the 2003-06-04 change, which is no longer needed now
47199         that we have better overflow checking.
47200         (localtime_offset): Likewise.
47201
47202         (__mktime_internal): Avoid harmful overflow on hosts where time_t
47203         and long are 64-bit but int is only 32-bit.
47204         (ydhms_diff): Use long int to store year1 and yday1.
47205         Issue a compile-time diagnostic if long int is not wide enough.
47206
47207         (__mktime_internal): Use long int to store adjusted year and yday.
47208         Use plain C rather than preprocessor commands, if that doesn't
47209         affect efficiency.
47210         Check for overflow (and try to repair) after each probe
47211         rather than checking only at the very end.  This avoids some bugs
47212         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
47213         does not equal GMT offset at maximum time).
47214         Use integer to check for overflow rather than floating point; this
47215         is more portable to non-IEEE hosts, and is a tad faster.
47216         When we detect that we are oscillating between two values,
47217         don't check whether tm_isdst has the requested value, since
47218         we already know the answer.  When tm_isdst has the wrong value,
47219         use a different heuristic to find the right one, based on the
47220         extreme values actually observed in practice in tz2003a,
47221         rather than the (overly optimistic) "previous 3 calendar quarters".
47222
47223         (not_equal_tm, print_tm, check_result): Use "const T" rather than
47224         "T const" to accommodate glibc style.
47225         (check_result): Use less-confusing report format.  "long" -> "long int.
47226         (main): Likewise.
47227         Don't loop if the iteration overflows time_t.
47228         Allow a negative step in the iteration.
47229
47230 2003-07-06  Karl Berry  <karl@gnu.org>
47231
47232         * config/depcomp: update from automake.
47233         * config/config.sub: update from prep.
47234
47235 2003-07-03  Karl Berry  <karl@gnu.org>
47236
47237         * config/config.guess: update from prep.
47238
47239 2003-07-01  Paul Eggert  <eggert@twinsun.com>
47240
47241         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
47242         xreadlink.c now includes it unconditionally.
47243
47244 2003-07-01  Paul Eggert  <eggert@twinsun.com>
47245
47246         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
47247         having it depend on HAVE_SYS_TYPES_H.
47248
47249 2003-07-01  Bruno Haible  <bruno@clisp.org>
47250
47251         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
47252         <sys/types.h> should be sufficient.
47253         Reported by Paul Eggert.
47254
47255 2003-06-26  Karl Berry  <karl@gnu.org>
47256
47257         * config/depcomp: update from automake.
47258
47259 2003-06-26  Bruno Haible  <bruno@clisp.org>
47260
47261         * modules/human: Depend on module stdbool.
47262
47263 2003-06-25  Bruno Haible  <bruno@clisp.org>
47264
47265         * modules/readlink: New file.
47266         * modules/xreadlink: Depend on it.
47267         * MODULES.html.sh (func_all_modules): Add readlink.
47268
47269 2003-06-25  Bruno Haible  <bruno@clisp.org>
47270
47271         * m4/readlink.m4: New file.
47272
47273 2003-06-25  Bruno Haible  <bruno@clisp.org>
47274
47275         * lib/readlink.c: New file.
47276
47277 2003-06-22  Karl Berry  <karl@gnu.org>
47278
47279         * config/srclist.txt: update mkinstalldirs from automake.
47280         * config/mkinstalldirs: update.
47281
47282 2003-06-22  Bruno Haible  <bruno@clisp.org>
47283
47284         Portability to mingw32.
47285         * m4/ssize_t.m4: New file, from GNU gettext.
47286         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
47287         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
47288
47289 2003-06-22  Bruno Haible  <bruno@clisp.org>
47290
47291         * modules/safe-read: Add m4/ssize_t.m4.
47292         * modules/xreadlink: Add m4/ssize_t.m4.
47293
47294 2003-06-20  Bruno Haible  <bruno@clisp.org>
47295
47296         Assume C89, so PARAMS isn't needed.
47297         * lib/unicodeio.h (PARAMS): Remove.
47298         * lib/unicodeio.c: Don't use PARAMS.
47299
47300 2003-06-18  Karl Berry  <karl@gnu.org>
47301
47302         * config/config.{guess,sub}: update from prep.
47303
47304 2003-06-18  Jim Meyering  <jim@meyering.net>
47305
47306         Merge changes from coreutils.
47307         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
47308         Remove explicit declarations of xmalloc and realloc.
47309         Include xalloc.h.
47310         (read_utmp): Remove anachronistic cast of xmalloc.
47311
47312 2003-06-17  Paul Eggert  <eggert@twinsun.com>
47313
47314         Assume C89, so PARAMS isn't needed.
47315         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
47316         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
47317         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
47318         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
47319         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
47320         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
47321         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
47322         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
47323         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
47324         lib/xstrtod.h, lib/xstrtol.h: Likewise.
47325         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
47326         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
47327         no longer needed. Anyway, config.h should always be included before any
47328         other file.
47329
47330 2003-06-11  Simon Josefsson  <jas@extundo.com>
47331
47332         * modules/sysexits: New file.
47333         * MODULES.html.sh (func_all_modules): Add sysexits.
47334
47335 2003-06-11  Simon Josefsson  <jas@extundo.com>
47336
47337         * lib/sysexit_.h: New file.
47338
47339 2003-06-11  Derek Price  <derek@ximbiot.com>
47340
47341         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
47342         necessary.
47343
47344 2003-06-11  Bruno Haible  <bruno@clisp.org>
47345
47346         * m4/sysexits.m4: New file.
47347
47348 2003-06-10  Simon Josefsson  <jas@extundo.com>
47349
47350         * lib/argp.h: New file, from glibc.
47351         * lib/argp-ba.c: New file, from glibc.
47352         * lib/argp-eexst.c: New file, from glibc.
47353         * lib/argp-fmtstream.c: New file, from glibc.
47354         * lib/argp-fmtstream.h: New file, from glibc.
47355         * lib/argp-fs-xinl.c: New file, from glibc.
47356         * lib/argp-help.c: New file, from glibc.
47357         * lib/argp-namefrob.h: New file, from glibc.
47358         * lib/argp-parse.c: New file, from glibc.
47359         * lib/argp-pv.c: New file, from glibc.
47360         * lib/argp-pvh.c: New file, from glibc.
47361         * lib/argp-xinl.c: New file, from glibc.
47362
47363 2003-06-10  Simon Josefsson  <jas@extundo.com>
47364
47365         * modules/strchrnul: New file.
47366
47367 2003-06-10  Simon Josefsson  <jas@extundo.com>
47368
47369         * modules/argp: New file.
47370
47371 2003-06-10  Simon Josefsson  <jas@extundo.com>
47372
47373         * m4/strchrnul.m4: New file.
47374
47375 2003-06-10  Simon Josefsson  <jas@extundo.com>
47376
47377         * lib/strchrnul.h: New file.
47378         * lib/strchrnul.c: New file.
47379
47380 2003-06-10  Bruno Haible  <bruno@clisp.org>
47381
47382         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
47383
47384 2003-06-07  Karl Berry  <karl@gnu.org>
47385
47386         * config/config.{guess,sub}: update from prep.
47387
47388 2003-06-07  Jim Meyering  <jim@meyering.net>
47389
47390         * modules/strtod: Use $(...) notation, not @...@ for
47391         AC_REPLACE'd variables.
47392         * modules/localcharset: Likewise.
47393
47394 2003-06-07  Jim Meyering  <jim@meyering.net>
47395
47396         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
47397         in place of my name in the copyright comment.
47398         Remove definition and uses of __P.
47399
47400         From coreutils.
47401         * lib/stat.c: Don't declare xmalloc explicitly.
47402         Instead, include "xalloc.h".
47403         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
47404         xrealloc, and xcalloc return values.
47405         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
47406         Improve comment.
47407         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
47408
47409 2003-06-07  Bruno Haible  <bruno@clisp.org>
47410
47411         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
47412         avoid AC_CONFIG_LINKS.
47413         * modules/fnmatch (Makefile.am): Use explicit creation rule for
47414         fnmatch.h, to avoid AC_CONFIG_LINKS.
47415         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
47416
47417 2003-06-07  Bruno Haible  <bruno@clisp.org>
47418
47419         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
47420         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
47421         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
47422         directory.
47423         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
47424         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
47425         directory.
47426
47427 2003-06-06  Jim Meyering  <jim@meyering.net>
47428
47429         Merge from coreutils.
47430         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
47431         Consolidate declarations and initializations of *_base* locals.
47432
47433         Merge from coreutils.
47434         This avoids a core dump on systems without GNU putenv,
47435         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
47436         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
47437         (unsetenv): New static function, from GNU libc.
47438         (rpl_putenv): Use it.
47439
47440         * lib/modechange.c: Remove trailing blanks.
47441
47442         Merge from coreutils.
47443         * lib/fsusage.c: Remove declaration of statfs.
47444         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
47445
47446         * lib/posixtm.c: Include <stdbool.h> unconditionally.
47447
47448 2003-06-06  Jim Meyering  <jim@meyering.net>
47449
47450         * lib/stdbool_.h: Renamed from stdbool.h.in.
47451
47452 2003-06-06  Jim Meyering  <jim@meyering.net>
47453             Bruno Haible  <bruno@clisp.org>
47454
47455         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
47456         Adjust Makefile.am snippet not to redirect directly to target.
47457         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
47458
47459 2003-06-05  Paul Eggert  <eggert@twinsun.com>
47460
47461         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
47462         mismatch, look in future quarters as well as past.  This fixes a
47463         bug when processing fall-backwards gaps immediately after a long
47464         period of daylight-saving time.
47465
47466         * lib/mktime.c: Assume freestanding C89 or better.
47467         (HAVE_LIMITS_H): Remove.  Assume it's 1.
47468         (__P): Remove; not used.
47469         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
47470         (mktime, not_equal_tm, print_tm, check_result,
47471         main): Use prototypes.  Use const * where appropriate.
47472         (main): Fix typo in testing code that uncovered by above changes.
47473         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
47474
47475 2003-06-04  Paul Eggert  <eggert@twinsun.com>
47476
47477         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
47478         locale.h, localeconv.  This merges changes from coreutils.
47479
47480         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
47481         It can be removed after the next Autoconf is released.
47482         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
47483         needed.
47484
47485 2003-06-04  Paul Eggert  <eggert@twinsun.com>
47486
47487         * lib/mktime.c: Fix Debian bug 177940
47488         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
47489         (localtime_offset): Now long int, not time_t, because we want it
47490         to be guaranteed to be signed.  All uses changed.
47491         (__mktime_internal): If overflow would occur when adding offset,
47492         don't add it.
47493
47494         Merge 'human' changes from coreutils.  Rewrite to support
47495         locale-specific notations like thousands separators.
47496         * lib/human.c: Simplify authorship notice.
47497         Include human.h immediately after config.h.
47498         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
47499         <limits.h>: Do not include, since human.h does.
47500         (SIZE_MAX, UINTMAX_MAX): New macros.
47501         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
47502         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
47503         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
47504         (power_letter): Renamed from suffixes.
47505         (generate_suffix_backwards): Remove.
47506         (adjust_value): Now takes int style (because of human.h changes)
47507         and long double value (for greater precision on some platforms).
47508         (group_number): New function.
47509         (human_readable): Use it.  Use integer options, not enum.
47510         Put the options before the sizes in the arg list.
47511         Support all the new options.
47512         The old human_readable function has been removed;
47513         use inttostr.h instead.
47514         (human_readable, default_block_size, humblock):
47515         Use uintmax_t, not int, for block sizes.
47516         (human_readable_inexact, block_size_types): Remove.
47517         (block_size_opts): New constant.
47518         (human_options): Renamed from human_block_size, with new signature
47519         that allows block sizes up to UINTMAX_MAX.  All callers changed.
47520         * lib/human.h: Add copyright and authorship notice.
47521         Include <limits.h> and <stdbool.h> unconditionally.
47522         (PARAMS): Remove.  All uses removed.
47523         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
47524         (enum human_inexact_style): Remove tag; now a nameless enum.
47525         (human_floor, human_ceiling, human_round_to_even): Now have
47526         values 2, 0, 1 rather than -1, 1, 0.
47527         (human_group_digits, human_suppress_point_zero, human_autoscale,
47528         human_base_1024, human_SI, human_B): New constants.
47529         (human_readable_inexact, human_block_size): Remove.
47530         (human_readable): Size args are now uintmax_t, not int.
47531         (human_options): New decl.
47532
47533         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
47534         unnecessary now that we assume C89 or better.  This change
47535         imported from coreutils.
47536
47537         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
47538         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
47539         in the 2003-05-30 sync from glibc.
47540
47541         .h files should stand alone, but we shouldn't include <sys/types.h>
47542         if we can get away with just <stddef.h>.
47543
47544         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
47545         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
47546         rather than <sys/types.h>, as we merely need size_t.
47547         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
47548         to get size_t.
47549         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
47550         Include <stdio.h>, to get FILE.
47551         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
47552         memcasecmp.h has included <stddef.h> and all we need is size_t.
47553         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
47554         our interface, instead of including <sys/types.h>
47555
47556 2003-06-04  Paul Eggert  <eggert@twinsun.com>
47557
47558         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
47559         now, as glibc mktime is buggy on non-glibc systems.
47560
47561 2003-06-03  Karl Berry  <karl@gnu.org>
47562
47563         * config/config.sub: update from prep.
47564
47565 2003-06-02  Paul Eggert  <eggert@twinsun.com>
47566
47567         [from coreutils]
47568         Fix some minor time-related bugs with POSIX time arguments.
47569         Some valid time stamps were being rejected (notably -1, and
47570         time stamps before 1900 on 64-bit hosts).  And some invalid
47571         time stamps were being accepted, e.g. September 31.
47572
47573         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
47574         that we can return (time_t) -1 successfully.
47575         * lib/posixtm.c: Likewise.
47576         [HAVE_STDBOOL_H]: Include <stdbool.h>.
47577         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
47578         (t): Remove static var.
47579         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
47580         of static var.  All uses changed.
47581         (year): Do not reject years before 1900; they can occur with
47582         64-bit time_t.
47583         (posix_time_parse): Do not check for out-of-range components;
47584         that is now the caller's responsibility, since our checks were
47585         only approximations.
47586         (posixtime): Use mktime to check for out-of-range components,
47587         since it knows them exactly.
47588         If mktime returns (time_t) -1, check whether an error actually occurred
47589         by invoking localtime on -1.
47590         (main) [TEST_POSIXTIME]: Check for input data errors, and report
47591         posixtime failures better.
47592         Improve the test data (in comments only).
47593
47594 2003-06-02  Karl Berry  <karl@gnu.org>
47595
47596         * config/mkinstalldirs (version): new variable.
47597         (--version): new option.
47598         (usage): improve message.
47599
47600 2003-05-30  Karl Berry  <karl@gnu.org>
47601
47602         * lib/mktime.c: update from libc.
47603
47604 2003-05-30  Bruno Haible  <bruno@clisp.org>
47605
47606         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
47607         * config/config.rpath: Upgrade to gettext-0.12.1.
47608
47609 2003-05-30  Bruno Haible  <bruno@clisp.org>
47610
47611         * m4/gettext.m4: Upgrade to gettext-0.12.1.
47612         * m4/nls.m4: New file, from gettext-0.12.1.
47613         * m4/po.m4: New file, from gettext-0.12.1.
47614         * m4/progtest.m4: Upgrade to gettext-0.12.1.
47615
47616 2003-05-30  Bruno Haible  <bruno@clisp.org>
47617
47618         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
47619         * lib/localcharset.h: Likewise.
47620         * lib/localcharset.c: Likewise.
47621
47622 2003-05-29  Karl Berry  <karl@gnu.org>
47623
47624         * config/config.rpath: update from gettext.
47625
47626 2003-05-28  Paul Eggert  <eggert@twinsun.com>
47627
47628         Assume the headers required for C89 freestanding compilers.
47629         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
47630         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
47631         * m4/human.m4 (gl_HUMAN): Likewise.
47632         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
47633         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
47634         * m4/userspec.m4 (gl_USERSPEC): Likewise.
47635         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
47636         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
47637         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
47638
47639 2003-05-28  Paul Eggert  <eggert@twinsun.com>
47640
47641         Assume the headers required for C89 freestanding compilers.
47642         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
47643         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
47644         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
47645         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
47646         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
47647         define, since <limits.h> is guaranteed to do that.
47648         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
47649         * lib/exclude.c: Include <stdbool.h> unconditionally.
47650         * lib/tempname.c: Include <stddef.h> unconditionally.
47651         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
47652         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
47653         <stddef.h> does that.
47654         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
47655         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
47656         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
47657         needed.
47658         * lib/xstrtol.c: Likewise.
47659         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
47660         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
47661
47662         * lib/addext.c (addext): Use assignment rather than cast, to avoid
47663         warnings on some platforms.
47664
47665         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
47666         arbitrarily.
47667
47668 2003-05-26  Jim Meyering  <jim@meyering.net>
47669
47670         Merge in a change from coreutils:
47671         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
47672         that is guaranteed to be `no'.  Use `no_such_member' to indicate
47673         that condition, rather than `-1' which is slightly misleading.
47674         Change the name of the cache variable to have the gl_ prefix.
47675         Prompted by a patch from Richard Dawe for DJGPP.
47676
47677 2003-05-24  Karl Berry  <karl@gnu.org>
47678
47679         * config/config.guess: update from prep.
47680
47681 2003-05-22  Karl Berry  <karl@gnu.org>
47682
47683         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
47684
47685 2003-05-20  Karl Berry  <karl@gnu.org>
47686
47687         * config/config.guess: update from prep.
47688
47689 2003-05-18  Karl Berry  <karl@gnu.org>
47690
47691         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
47692         might actually be set by the user.
47693
47694         * config/depcomp, install-sh, mdate-sh: update from automake.
47695
47696 2003-05-17  Bruno Haible  <bruno@clisp.org>
47697
47698         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
47699         invalid expansion for AC_EGREP_CPP.
47700         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
47701         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
47702         Suggested by Akim Demaille <akim@epita.fr> in
47703         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
47704
47705 2003-05-12  Jim Meyering  <jim@meyering.net>
47706
47707         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
47708         the space-padded-by-default conversion specifiers, %e, %k, %l.
47709
47710 2003-05-12  Bruno Haible  <bruno@clisp.org>
47711
47712         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
47713         the string is longer than 4 KB.
47714
47715 2003-05-11  Karl Berry  <karl@gnu.org>
47716
47717         * config/config.{guess,sub}: update from prep.
47718
47719 2003-05-09  Bruno Haible  <bruno@clisp.org>
47720
47721         * modules/error: Add m4/strerror_r.m4 to file list.
47722
47723 2003-05-03  Bruno Haible  <bruno@clisp.org>
47724
47725         Upgrade to Unicode-4.0.
47726         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
47727         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
47728         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
47729         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
47730         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
47731         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
47732         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
47733         Change width of U+E0100..U+E01EF from 1 to 0.
47734
47735 2003-04-25  Jim Meyering  <jim@meyering.net>
47736
47737         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
47738         of type size_t, not int.
47739
47740 2003-04-25  Bruno Haible  <bruno@clisp.org>
47741
47742         * lib/copy-file.c: Include <stddef.h>, for size_t.
47743
47744 2003-04-21  Paul Eggert  <eggert@twinsun.com>
47745
47746         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
47747         code which expansion is under static control.  Patch imported from
47748         Akim Demaille's patch to Bison; see
47749         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
47750
47751 2003-04-14  Bruno Haible  <bruno@clisp.org>
47752
47753         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
47754
47755 2003-04-11  Jim Meyering  <jim@meyering.net>
47756
47757         Merge changes from Coreutils.
47758
47759         2003-03-22  Jim Meyering  <jim@meyering.net>
47760
47761         * lib/strftime.c (widen): Cast alloca return value to proper type.
47762
47763         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
47764
47765         From GNU libc.
47766         * lib/strftime.c (my_strftime): Handle very large width
47767         specifications for numeric values correctly.  Improve checks for
47768         overflow.
47769
47770         2003-01-19  Jim Meyering  <jim@meyering.net>
47771
47772         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
47773         definitions.
47774         (nl_get_alt_digit) [! defined my_strftime]: Define.
47775         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
47776         _nl_get_alt_digit and _nl_get_walt_digit.
47777
47778         * lib/strftime.c (my_strftime): Merge in locale-related changes from
47779         libc. These changes have no effect outside of _LIBC.
47780
47781 2003-04-10  Bruno Haible  <bruno@clisp.org>
47782
47783         * modules/findprog: New file.
47784         * MODULES.html.sh (func_all_modules): Add it.
47785
47786 2003-04-10  Bruno Haible  <bruno@clisp.org>
47787
47788         * m4/findprog.m4: New file.
47789         * m4/eaccess.m4: New file.
47790
47791 2003-04-10  Bruno Haible  <bruno@clisp.org>
47792
47793         * lib/findprog.h: New file, from GNU gettext.
47794         * lib/findprog.c: New file, from GNU gettext.
47795
47796 2003-04-05  Jim Meyering  <jim@meyering.net>
47797
47798         Merge changes from Coreutils.
47799
47800         * lib/exclude.h (PARAMS): Remove definition and uses.
47801         * lib/exclude.c: Remove uses of `PARAMS'.
47802
47803         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
47804         Add test-cases for DOS filenames. Declare program_name.
47805         (main): Set up program_name.  Patch by Rich Dawe.
47806
47807         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
47808         error from mntctl.
47809         Use mntctl's return value to drive the entry-processing loop, since
47810         we can't rely on the value of the vmt_length member in the last
47811         entry.  On some systems doing so could result in exhausting
47812         virtual memory.  Based in part on a patch from Mike Jetzer.
47813
47814 2003-04-04  Bruno Haible  <bruno@clisp.org>
47815
47816         * modules/linebreak: New file.
47817         * MODULES.html.sh (func_all_modules): Add it.
47818
47819 2003-04-04  Bruno Haible  <bruno@clisp.org>
47820
47821         * m4/linebreak.m4: New file.
47822
47823 2003-04-04  Bruno Haible  <bruno@clisp.org>
47824
47825         * lib/linebreak.h: New file, from GNU gettext.
47826         * lib/linebreak.c: New file, from GNU gettext with slight
47827         modifications.
47828         * lib/lbrkprop.h: New file, from GNU gettext.
47829
47830 2003-04-03  Bruno Haible  <bruno@clisp.org>
47831
47832         * modules/utf8-ucs4: New file.
47833         * modules/utf16-ucs4: New file.
47834         * modules/ucs4-utf8: New file.
47835         * modules/ucs4-utf16: New file.
47836         * MODULES.html.sh (func_all_modules): Add them.
47837
47838 2003-04-03  Bruno Haible  <bruno@clisp.org>
47839
47840         * m4/utf-ucs4.m4: New file.
47841         * m4/ucs4-utf.m4: New file.
47842
47843 2003-04-03  Bruno Haible  <bruno@clisp.org>
47844
47845         * lib/utf8-ucs4.h: New file, from GNU gettext.
47846         * lib/utf16-ucs4.h: New file, from GNU gettext.
47847         * lib/ucs4-utf8.h: New file, from GNU gettext.
47848         * lib/ucs4-utf16.h: New file, from GNU gettext.
47849
47850 2003-04-02  Bruno Haible  <bruno@clisp.org>
47851
47852         * modules/binary-io: New file.
47853         * MODULES.html.sh (func_all_modules): Add it.
47854
47855 2003-04-02  Bruno Haible  <bruno@clisp.org>
47856
47857         * lib/binary-io.h: New file, from GNU gettext.
47858
47859 2003-04-01  Bruno Haible  <bruno@clisp.org>
47860
47861         * modules/pathname: New file.
47862         * MODULES.html.sh (func_all_modules): Add it.
47863
47864 2003-04-01  Bruno Haible  <bruno@clisp.org>
47865
47866         * lib/pathname.h: New file, from GNU gettext.
47867         * lib/concatpath.c: New file, from GNU gettext.
47868
47869 2003-03-30  Bruno Haible  <bruno@clisp.org>
47870
47871         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
47872
47873 2003-03-30  Bruno Haible  <bruno@clisp.org>
47874
47875         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
47876         function chown() doesn't exist.
47877
47878 2003-03-28  Bruno Haible  <bruno@clisp.org>
47879
47880         * modules/copy-file: New file.
47881         * MODULES.html.sh (func_all_modules): Add it.
47882
47883 2003-03-28  Bruno Haible  <bruno@clisp.org>
47884
47885         * m4/copy-file.m4: New file.
47886
47887 2003-03-28  Bruno Haible  <bruno@clisp.org>
47888
47889         * lib/copy-file.h: New file, from GNU gettext.
47890         * lib/copy-file.c: New file, from GNU gettext.
47891
47892 2003-03-18  Jim Meyering  <jim@meyering.net>
47893
47894         * lib/quote.c (quote_n): Fix typo in comment.
47895
47896 2003-03-18  Bruno Haible  <bruno@clisp.org>
47897
47898         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
47899         checking.
47900         * m4/onceonly_2_57.m4: Likewise.
47901
47902 2003-03-17  Bruno Haible  <bruno@clisp.org>
47903
47904         * m4/onceonly.m4: Require autoconf 2.54 or newer.
47905         (m4_quote): Remove macro.
47906         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
47907
47908 2003-03-14  Jim Meyering  <jim@meyering.net>
47909
47910         Merge changes from Coreutils.
47911         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
47912         to be const, in order to avoid warnings.
47913         (obstack_room): Likewise.
47914         (obstack_empty_p): Likewise.
47915
47916 2003-03-14  Bruno Haible  <bruno@clisp.org>
47917
47918         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
47919         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
47920
47921 2003-03-13  Paul Eggert  <eggert@twinsun.com>
47922
47923         Merge changes from Bison.
47924         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
47925         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
47926         when compiling Bison 1.875's `bitset bset = obstack_alloc
47927         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
47928         * lib/hash.c: Include <stdbool.h> unconditionally.
47929
47930 2003-03-13  Paul Eggert  <eggert@twinsun.com>
47931
47932         * m4/onceonly.m4 (m4_quote): New macro.
47933         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
47934         Quote AC_FOREACH variable-expansions properly.
47935
47936 2003-03-13  Paul Eggert  <eggert@twinsun.com>
47937
47938         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
47939
47940 2003-03-09  Paul Eggert  <eggert@twinsun.com>
47941
47942         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
47943         Reported by Bruce Becker; see:
47944         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
47945
47946 2003-03-03  Paul Eggert  <eggert@twinsun.com>
47947             Bruno Haible  <bruno@clisp.org>
47948
47949         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
47950         Reported by John Hughes, see
47951         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
47952
47953 2003-02-20  Bruno Haible  <bruno@clisp.org>
47954
47955         * MODULES.html.sh (func_all_modules): Add poll.
47956
47957 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
47958
47959         * modules/poll: New file.
47960
47961 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
47962
47963         * lib/poll_.h: New file.
47964         * lib/poll.c: New file.
47965
47966 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
47967
47968         * m4/poll.m4: New file.
47969
47970 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
47971
47972         * modules/mathl: New file.
47973
47974 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
47975
47976         * lib/mathl.h: New file.
47977         * lib/acosl.c: New file.
47978         * lib/asinl.c: New file.
47979         * lib/atanl.c: New file.
47980         * lib/ceill.c: New file.
47981         * lib/cosl.c: New file.
47982         * lib/expl.c: New file.
47983         * lib/floorl.c: New file.
47984         * lib/frexpl.c: New file.
47985         * lib/ldexpl.c: New file.
47986         * lib/logl.c: New file.
47987         * lib/sincosl.c: New file.
47988         * lib/sinl.c: New file.
47989         * lib/sqrtl.c: New file.
47990         * lib/tanl.c: New file.
47991         * lib/trigl.c: New file.
47992         * lib/trigl.h: New file.
47993
47994 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
47995
47996         * m4/mathl.m4: New file.
47997
47998 2003-02-18  Bruno Haible  <bruno@clisp.org>
47999
48000         * MODULES.html.sh (func_all_modules): Add mathl.
48001
48002 2003-02-17  Bruno Haible  <bruno@clisp.org>
48003
48004         * modules/mkdtemp: New module.
48005         * MODULES.html.sh (func_all_modules): Add it.
48006
48007 2003-02-17  Bruno Haible  <bruno@clisp.org>
48008
48009         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
48010
48011 2003-02-17  Bruno Haible  <bruno@clisp.org>
48012
48013         * lib/mkdtemp.h: New file, from GNU gettext.
48014         * lib/mkdtemp.c: New file, from GNU gettext.
48015
48016 2003-02-02  Jim Meyering  <jim@meyering.net>
48017
48018         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
48019         e.g. glibc-2.2.93.
48020
48021 2003-01-31  Bruno Haible  <bruno@clisp.org>
48022
48023         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
48024         'rpl_rename'.
48025         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
48026         'rpl_strnlen'.
48027         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
48028         'rpl_strtod'.
48029         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
48030         'rpl_utime'.
48031
48032 2003-01-31  Bruno Haible  <bruno@clisp.org>
48033
48034         * lib/rename.c: #undef rename before defining rpl_rename.
48035         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
48036
48037 2003-01-30  Bruno Haible  <bruno@clisp.org>
48038
48039         * modules/vasnprintf, modules/vasprintf: New modules.
48040         * MODULES.html.sh (func_all_modules): Add them.
48041
48042 2003-01-30  Bruno Haible  <bruno@clisp.org>
48043
48044         * m4/signed.m4: New file, from GNU gettext.
48045         * m4/longdouble.m4: New file, from GNU gettext.
48046         * m4/wchar_t.m4: New file, from GNU gettext.
48047         * m4/wint_t.m4: New file, from GNU gettext.
48048         * m4/vasnprintf.m4: New file.
48049         * m4/vasprintf.m4: New file.
48050
48051 2003-01-30  Bruno Haible  <bruno@clisp.org>
48052
48053         * lib/printf-args.h: New file, from GNU gettext.
48054         * lib/printf-args.c: New file, from GNU gettext.
48055         * lib/printf-parse.h: New file, from GNU gettext.
48056         * lib/printf-parse.c: New file, from GNU gettext.
48057         * lib/vasnprintf.h: New file, from GNU gettext.
48058         * lib/vasnprintf.c: New file, from GNU gettext.
48059         * lib/asnprintf.c: New file, from GNU gettext.
48060         * lib/vasprintf.h: New file, from GNU gettext with modifications.
48061         * lib/vasprintf.c: New file, from GNU gettext.
48062         * lib/asprintf.c: New file, from GNU gettext.
48063
48064 2003-01-29  Bruno Haible  <bruno@clisp.org>
48065
48066         * modules/stpncpy: New module.
48067         * MODULES.html.sh (func_all_modules): Add it.
48068
48069 2003-01-29  Bruno Haible  <bruno@clisp.org>
48070
48071         * m4/stpncpy.m4: New file.
48072
48073 2003-01-29  Bruno Haible  <bruno@clisp.org>
48074
48075         * lib/stpncpy.h: New file, from GNU gettext with modifications.
48076         * lib/stpncpy.c: New file, from GNU gettext with modifications.
48077
48078 2003-01-28  Bruno Haible  <bruno@clisp.org>
48079
48080         * modules/c-ctype: New module.
48081         * MODULES.html.sh (func_all_modules): Add it.
48082
48083 2003-01-28  Bruno Haible  <bruno@clisp.org>
48084
48085         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
48086         Paul Eggert.
48087         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
48088         Paul Eggert.
48089
48090 2003-01-27  Bruno Haible  <bruno@clisp.org>
48091
48092         * modules/xsetenv: New module.
48093         * MODULES.html.sh (func_all_modules): Add it.
48094
48095 2003-01-27  Bruno Haible  <bruno@clisp.org>
48096
48097         * lib/xsetenv.h: New file, from GNU gettext.
48098         * lib/xsetenv.c: New file, from GNU gettext.
48099
48100 2003-01-23  Jim Meyering  <jim@meyering.net>
48101
48102         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
48103         from working on systems without dirfd (at least Irix and OSF1/Tru64).
48104
48105 2003-01-23  Bruno Haible  <bruno@clisp.org>
48106
48107         * modules/minmax: New module.
48108         * MODULES.html.sh (func_all_modules): Add it.
48109
48110 2003-01-23  Bruno Haible  <bruno@clisp.org>
48111
48112         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
48113         Eggert.
48114
48115 2003-01-22  Bruno Haible  <bruno@clisp.org>
48116
48117         * modules/exit: New module.
48118         * MODULES.html.sh (func_all_modules): Add it.
48119
48120 2003-01-22  Bruno Haible  <bruno@clisp.org>
48121
48122         * lib/exit.h: New file, from GNU gettext.
48123
48124 2003-01-19  Bruno Haible  <bruno@clisp.org>
48125
48126         * gnulib-tool: Recognize option --extract-maintainer.
48127         (func_get_maintainer): New function.
48128         * modules/*: Add Maintainer entry.
48129
48130 2003-01-16  Jim Meyering  <jim@meyering.net>
48131
48132         * m4/regex.m4: The `regex' struct is both input and output.
48133         Initialize it before each use.  Patch by Tim Waugh.
48134
48135 2003-01-16  Bruno Haible  <bruno@clisp.org>
48136
48137         * MODULES.html.sh: Add a table of contents. Add the module name as
48138         leftmost column. Add hyperlinks.
48139
48140 2003-01-15  Bruno Haible  <bruno@clisp.org>
48141
48142         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
48143
48144 2003-01-15  Bruno Haible  <bruno@clisp.org>
48145
48146         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
48147         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
48148         suffix.
48149
48150 2003-01-15  Bruno Haible  <bruno@clisp.org>
48151
48152         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
48153
48154 2003-01-15  Bruno Haible  <bruno@clisp.org>
48155
48156         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
48157         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
48158
48159 2003-01-14  Jim Meyering  <jim@meyering.net>
48160
48161         * lib/same.c (same_name): Tweak a comment.
48162
48163 2003-01-14  Bruno Haible  <bruno@clisp.org>
48164
48165         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
48166         when a string comparison is sufficient.
48167
48168 2003-01-14  Bruno Haible  <bruno@clisp.org>
48169
48170         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
48171         'unsigned int'.
48172
48173 2003-01-14  Bruno Haible  <bruno@clisp.org>
48174
48175         * lib/hash-pjw.c: Add comment about low quality of this function.
48176
48177 2003-01-13  Bruno Haible  <bruno@clisp.org>
48178
48179         * modules/stpcpy: Distribute lib/stpcpy.h.
48180         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
48181
48182 2003-01-13  Bruno Haible  <bruno@clisp.org>
48183
48184         * modules/*: Add a description.
48185         * modules/strpbrk: Fix Makefile.am snippet.
48186         * modules/strtoimax: Fix dependencies.
48187         * modules/strtoumax: Likewise.
48188
48189 2003-01-13  Bruno Haible  <bruno@clisp.org>
48190
48191         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
48192         * modules/alloca (Makefile.am): All object files depend on alloca.h.
48193         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
48194
48195 2003-01-13  Bruno Haible  <bruno@clisp.org>
48196
48197         * gnulib-tool (func_create_testdir): Store config/* files in the main
48198         directory.
48199         * config.rpath: Move to ...
48200         * config/config.rpath: ... here.
48201         * modules/gettext: Contains config/config.rpath, not config.rpath.
48202         * modules/iconv: Likewise.
48203
48204 2003-01-12  Paul Eggert  <eggert@twinsun.com>
48205
48206         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
48207         to avoid collisions with libcurses and libreadline.
48208
48209         * m4/getstr.m4: Remove.
48210         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
48211
48212 2003-01-12  Paul Eggert  <eggert@twinsun.com>
48213
48214         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
48215         to avoid collisions with libcurses and libreadline.
48216
48217         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
48218         * lib/getstr.h, getstr.c: Remove.
48219         * lib/getline.c: Include "getline.h", to check interface.
48220         Move body of old getstr.c here: this defines MIN_CHUNK and
48221         declares getdelim2, which is renamed from getstr.
48222         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
48223
48224         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
48225         All uses changed.
48226         * lib/linebuffer.h: Likewise.
48227         (readline): Remove backward-compatibility macro.
48228
48229 2003-01-12  Paul Eggert  <eggert@twinsun.com>
48230
48231         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
48232         to avoid collisions with libcurses and libreadline.
48233         * getstr: Remove.
48234         * MODULES.html.sh: Remove getstr.
48235         * modules/getline: Depend on unlocked-io, not getstr.
48236
48237 2003-01-12  Jim Meyering  <jim@meyering.net>
48238
48239         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
48240
48241 2003-01-10  Bruno Haible  <bruno@clisp.org>
48242
48243         * modules/alloca: Change Makefile.am requirements. Simplify Include
48244         requirements. Add lib/alloca_.h to file list.
48245
48246 2003-01-10  Bruno Haible  <bruno@clisp.org>
48247
48248         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
48249
48250 2003-01-10  Bruno Haible  <bruno@clisp.org>
48251
48252         * lib/alloca_.h: New file.
48253         * lib/getdate.y: Unconditionally include alloca.h.
48254         * lib/makepath.c: Likewise.
48255         * lib/setenv.c: Likewise.
48256         * lib/userspec.c: Likewise.
48257
48258 2003-01-09  Karl Berry  <karl@gnu.org>
48259
48260         * MODULES.html.sh: include `dirname $0` in PATH, to find
48261         gnulib-tool.
48262
48263 2003-01-09  Bruno Haible  <bruno@clisp.org>
48264
48265         * modules/stdbool: Change configure.ac, Makefile.am requirements.
48266         Simplify Include requirements. Add lib/stdbool.h.in to file list.
48267
48268 2003-01-09  Bruno Haible  <bruno@clisp.org>
48269
48270         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
48271
48272 2003-01-09  Bruno Haible  <bruno@clisp.org>
48273
48274         * lib/stdbool.h.in: New file.
48275
48276 2003-01-09  Bruno Haible  <bruno@clisp.org>
48277
48278         * gnulib-tool (func_all_modules): Ignore files ending in ~.
48279         * MODULES.html.sh: Likewise.
48280
48281 2003-01-08  Jim Meyering  <jim@meyering.net>
48282
48283         * lib/full-write.c: Undefine and define-away `const' after inclusion
48284         of errno.h, not before.  Suggestion from Bruno Haible.
48285
48286 2003-01-08  Bruno Haible  <bruno@clisp.org>
48287
48288         * modules/full-read: Depend on full-write.
48289
48290 2003-01-08  Bruno Haible  <bruno@clisp.org>
48291
48292         * lib/safe-read.c: Include specification header first, to ensure its
48293         selfcontainedness.
48294         * lib/full-write.c: Likewise.
48295
48296 2003-01-07  Jim Meyering  <jim@meyering.net>
48297
48298         * lib/full-write.c: Rework so that it may serve to define full_read,
48299         too.
48300         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
48301
48302 2003-01-07  Bruno Haible  <bruno@clisp.org>
48303
48304         * lib/strtoimax.c: Include <stdint.h> as an alternative to
48305         <inttypes.h>.
48306         * lib/xstrtol.h: Likewise.
48307         * lib/xstrtoimax.c: Likewise.
48308         * lib/xstrtoumax.c: Likewise.
48309         * lib/human.h: Likewise.
48310
48311         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
48312         on systems that have <inttypes.h> but not <stdint.h>.
48313
48314 2003-01-07  Bruno Haible  <bruno@clisp.org>
48315
48316         * MODULES.html.sh: Add copyright notice.
48317         (missed_files): Omit CVS directory entries.
48318         (func_module): Make it work with sed-3.02.
48319         * MODULES.txt: Remove file.
48320
48321 2003-01-06  Jim Meyering  <jim@meyering.net>
48322
48323         * lib/version-etc.c: Update year in translatable copyright string.
48324
48325 2003-01-03  Karl Berry  <karl@gnu.org>
48326
48327         * config/config.{guess,sub}: update from prep.
48328
48329 2003-01-02  Karl Berry  <karl@gnu.org>
48330
48331         * doc/COPYING.DOC: belatedly updated to 1.2.
48332
48333 2003-01-01  Karl Berry  <karl@gnu.org>
48334
48335         * gnulib-tool (func_verify_module): report module name $module in
48336         error message, not $1.
48337         * gnulib-tool (create-testdir): don't complain if destdir couldn't
48338         be created, only if it doesn't exist.
48339         * gnulib-tool (last_checkin_date): don't expand the $Date here.
48340
48341 2002-12-31  Paul Eggert  <eggert@twinsun.com>
48342
48343         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
48344
48345 2002-12-31  Paul Eggert  <eggert@twinsun.com>
48346
48347         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
48348         memcmp if strcoll doesn't work.
48349
48350 2002-12-31  Bruno Haible  <bruno@clisp.org>
48351
48352         * lib/utime.c (utime_null): No need to call ftruncate if the file was
48353         nonempty.
48354
48355 2002-12-31  Bruno Haible  <bruno@clisp.org>
48356
48357         * lib/memcoll.c (STRCOLL): New macro.
48358         (memcoll): Use it.
48359
48360 2002-12-31  Bruno Haible  <bruno@clisp.org>
48361
48362         * lib/localcharset.h: New file.
48363         * lib/localcharset.c: Include it.
48364         * lib/unicodeio.c: Likewise.
48365
48366 2002-12-31  Bruno Haible  <bruno@clisp.org>
48367
48368         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
48369         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
48370
48371 2002-12-31  Bruno Haible  <bruno@clisp.org>
48372
48373         * lib/getline.h: Include <stddef.h>, for size_t.
48374
48375         * lib/unicodeio.h: Include <stddef.h>, for size_t.
48376         * lib/unicodeio.c: Don't include <stddef.h>.
48377
48378 2002-12-31  Bruno Haible  <bruno@clisp.org>
48379
48380         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
48381         HAVE_TM_ZONE.
48382
48383 2002-12-24  Karl Berry  <karl@gnu.org>
48384
48385         * config/config.guess: update from prep.
48386
48387 2002-12-24  Bruno Haible  <bruno@clisp.org>
48388
48389         General infrasructure.
48390         * m4/README: Rewritten.
48391         * m4/onceonly.m4: New file.
48392         * m4/onceonly_2_57.m4: New file.
48393
48394         Module atexit.
48395         * m4/atexit.m4: New file.
48396
48397         Module strtod.
48398         * m4/strtod.m4: New file.
48399
48400         Module strtol.
48401         * m4/strtol.m4: New file.
48402
48403         Module strtoul.
48404         * m4/strtoul.m4: New file.
48405
48406         Module memchr.
48407         * m4/memchr.m4: New file.
48408
48409         Module memcmp.
48410         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
48411         (jm_FUNC_MEMCMP): Invoke it.
48412
48413         Module memcpy.
48414         * m4/memcpy.m4: New file.
48415
48416         Module memmove.
48417         * m4/memmove.m4: New file.
48418
48419         Module memset.
48420         * m4/memset.m4: New file.
48421
48422         Module strcspn.
48423         * m4/strcspn.m4: New file.
48424
48425         Module strpbrk.
48426         * m4/strpbrk.m4: New file.
48427
48428         Module strstr.
48429         * m4/strstr.m4: New file.
48430
48431         Module strerror.
48432         * m4/strerror.m4: New file.
48433
48434         Module mktime.
48435         * m4/mktime.m4: Renamed from jm-mktime.m4.
48436         (gl_PREREQ_MKTIME): New macro.
48437         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
48438
48439         Module malloc.
48440         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
48441         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
48442         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
48443
48444         Module realloc.
48445         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
48446         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
48447         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
48448
48449         Module strftime.
48450         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
48451         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
48452         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
48453         gl_TM_GMTOFF.
48454         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
48455
48456         Module xalloc.
48457         * m4/xalloc.m4: New file.
48458
48459         Module alloca.
48460         * m4/alloca.m4: New file.
48461
48462         Module putenv.
48463         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
48464         (jm_FUNC_PUTENV): Invoke it.
48465
48466         Module setenv.
48467         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
48468         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
48469         when invoked twice.
48470         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
48471         gt_FUNC_SETENV.
48472
48473         Module memrchr.
48474         * m4/memrchr.m4: New file.
48475
48476         Module stpcpy.
48477         * m4/stpcpy.m4: New file.
48478
48479         Module strcase.
48480         * m4/strcase.m4: New file.
48481
48482         Module strdup.
48483         * m4/strdup.m4: New file.
48484
48485         Module strnlen.
48486         * m4/strnlen.m4: New file.
48487
48488         Module strndup.
48489         * m4/strndup.m4: New file.
48490
48491         Module xstrtod.
48492         * m4/xstrtod.m4: New file.
48493
48494         Module xstrtol.
48495         * m4/xstrtol.m4: New file.
48496
48497         Module getdate.
48498         * m4/getdate.m4: New file.
48499
48500         Module unlocked-io.
48501         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
48502         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
48503         * m4/jm-glibc-io.m4n: Remove file.
48504
48505         Module long-options.
48506         * m4/long-options.m4: New file.
48507
48508         Module md5.
48509         * m4/md5.m4: New file.
48510
48511         Module sha.
48512         * m4/sha.m4: New file.
48513
48514         Module getstr.
48515         * m4/getstr.m4: New file.
48516
48517         Module getline.
48518         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
48519         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
48520         <sys/types.h>, for size_t. Use the function name gnu_getline, not
48521         simply getline. Infoke gl_PREREQ_GETLINE.
48522
48523         Module obstack.
48524         * m4/obstack.m4: New file.
48525
48526         Module hash.
48527         * m4/hash.m4: New file.
48528
48529         Module readtokens.
48530         * m4/readtokens.m4: New file.
48531
48532         Module strverscmp.
48533         * m4/strverscmp.m4: New file.
48534
48535         Module stdbool.
48536         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
48537         OSF/1.
48538
48539         Module strtoll.
48540         * m4/strtoll.m4: New file.
48541
48542         Module strtoull.
48543         * m4/strtoull.m4: New file.
48544
48545         Module strtoimax.
48546         * m4/strtoimax.m4: New file.
48547
48548         Module strtoumax.
48549         * m4/strtoumax.m4: New file.
48550
48551         Module xstrtoimax.
48552         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
48553         jm_AC_PREREQ_XSTRTOIMAX.
48554         Moved the strtol prerequisites to strtol.m4.
48555         Moved the strtoll prerequisites to strtoll.m4.
48556         Moved the strtoimax prerequisites to strtoimax.m4.
48557
48558         Module xstrtoumax.
48559         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
48560         jm_AC_PREREQ_XSTRTOUMAX.
48561         Moved the strtoul prerequisites to strtoul.m4.
48562         Moved the strtoull prerequisites to strtoull.m4.
48563         Moved the strtoumax prerequisites to strtoumax.m4.
48564
48565         Module chown.
48566         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
48567         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
48568
48569         Module dup2.
48570         * m4/dup2.m4: New file.
48571
48572         Module ftruncate.
48573         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
48574         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
48575
48576         Module getgroups.
48577         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
48578         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
48579
48580         Module gettimeofday.
48581         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
48582         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
48583         gl_PREREQ_GETTIMEOFDAY.
48584
48585         Module mkdir.
48586         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
48587         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
48588
48589         Module mkstemp.
48590         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
48591         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
48592         jm_AC_TYPE_UINTMAX_T.
48593         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
48594
48595         Module stat.
48596         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
48597         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
48598
48599         Module lstat.
48600         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
48601         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
48602
48603         Module timespec.
48604         * m4/timespec.m4 (gl_TIMESPEC): New macro.
48605         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
48606         * m4/st_mtim.m4: Indentation.
48607
48608         Module nanosleep.
48609         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
48610         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
48611         gl_PREREQ_NANOSLEEP.
48612
48613         Module regex.
48614         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
48615         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
48616         (gl_REGEX): New macro.
48617
48618         Module rename.
48619         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
48620         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
48621
48622         Module rmdir.
48623         * m4/rmdir.m4: New file.
48624
48625         Module utime.
48626         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
48627         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
48628         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
48629
48630         Module dirname.
48631         * m4/dirname.m4: New file.
48632
48633         Module getopt.
48634         * m4/getopt.m4: New file.
48635
48636         Module unistd-safer.
48637         * m4/unistd-safer.m4: New file.
48638
48639         Module fnmatch.
48640         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
48641         declaration.
48642         (gl_PREREQ_FNMATCH_EXTRA): New macro.
48643         (gl_FUNC_FNMATCH_POSIX): New macro.
48644         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
48645         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
48646         simply fnmatch.
48647
48648         Module exclude.
48649         * m4/exclude.m4: New file.
48650
48651         Module human.
48652         * m4/human.m4: New file.
48653
48654         Module acl.
48655         * m4/acl.m4: Nop.
48656
48657         Module backupfile.
48658         * m4/backupfile.m4: New file.
48659         * m4/d-ino.m4: Indentation.
48660
48661         Module fsusage.
48662         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
48663         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
48664         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
48665
48666         Module dirfd.
48667         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
48668         requirements.
48669
48670         Module euidaccess.
48671         * m4/euidaccess.m4: New file.
48672
48673         Module file-type.
48674         * m4/file-type.m4: New file.
48675
48676         Module fileblocks.
48677         * m4/fileblocks.m4: New file.
48678
48679         Module filemode.
48680         * m4/filemode.m4: New file.
48681
48682         Module isdir.
48683         * m4/isdir.m4: New file.
48684
48685         Module lchown.
48686         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
48687         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
48688
48689         Module makepath.
48690         * m4/makepath.m4: New file.
48691
48692         Module modechange.
48693         * m4/modechange.m4: New file.
48694
48695         Module mountlist.
48696         * m4/mountlist.m4: New file.
48697         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
48698         Indentation.
48699
48700         Module path-concat.
48701         * m4/path-concat.m4: New file.
48702
48703         Module pathmax.
48704         * m4/pathmax.m4: New file.
48705
48706         Module same.
48707         * m4/same.m4: New file.
48708
48709         Module save-cwd.
48710         * m4/save-cwd.m4: New file.
48711
48712         Module savedir.
48713         * m4/savedir.m4: New file.
48714
48715         Module xgetcwd.
48716         * m4/xgetcwd.m4: New file.
48717         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
48718
48719         Module xreadlink.
48720         * m4/xreadlink.m4: New file.
48721
48722         Module safe-read.
48723         * m4/safe-read.m4: New file.
48724
48725         Module safe-write.
48726         * m4/safe-write.m4: New file.
48727
48728         Module closeout.
48729         * m4/closeout.m4: New file.
48730
48731         Module stdio-safer.
48732         * m4/stdio-safer.m4: New file.
48733
48734         Module getpass.
48735         * m4/getpass.m4: New file.
48736
48737         Module getugroups.
48738         * m4/getugroups.m4: New file.
48739
48740         Module group-member.
48741         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
48742         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
48743
48744         Module idcache.
48745         * m4/idcache.m4: New file.
48746
48747         Module userspec.
48748         * m4/userspec.m4: New file.
48749
48750         Module gettime.
48751         * m4/clock_time.m4: New file.
48752         * m4/gettime.m4: New file.
48753
48754         Module settime.
48755         * m4/settime.m4: New file.
48756
48757         Module posixtm.
48758         * m4/posixtm.m4: New file.
48759
48760         Module gethostname.
48761         * m4/gethostname.m4: New file.
48762
48763         Module canon-host.
48764         * m4/canon-host.m4: New file.
48765
48766         Module gettext.
48767         * m4/codeset.m4: New file, from gettext-0.11.5.
48768         * m4/gettext.m4: New file, from gettext-0.11.5.
48769         * m4/glibc21.m4: New file, from gettext-0.11.5.
48770         * m4/iconv.m4: New file, from gettext-0.11.5.
48771         * m4/intdiv0.m4: New file, from gettext-0.11.5.
48772         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
48773         * m4/inttypes.m4: New file, from gettext-0.11.5.
48774         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
48775         * m4/isc-posix.m4: New file, from gettext-0.11.5.
48776         * m4/lcmessage.m4: New file, from gettext-0.11.5.
48777         * m4/lib-ld.m4: New file, from gettext-0.11.5.
48778         * m4/lib-link.m4: New file, from gettext-0.11.5.
48779         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
48780         * m4/progtest.m4: New file, from gettext-0.11.5.
48781         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
48782         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
48783         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
48784
48785         Module localcharset.
48786         * m4/localcharset.m4: New file.
48787
48788         Module hard-locale.
48789         * m4/hard-locale.m4: New file.
48790
48791         Module mbswidth.
48792         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
48793         onceonly macros.
48794         * m4/mbrtowc.m4: Add comment.
48795
48796         Module memcasecmp.
48797         * m4/memcasecmp.m4: New file.
48798
48799         Module memcoll.
48800         * m4/memcoll.m4: New file.
48801
48802         Module unicodeio.
48803         * m4/unicodeio.m4: New file.
48804
48805         Module rpmatch.
48806         * m4/rpmatch.m4: New file.
48807
48808         Module yesno.
48809         * m4/yesno.m4: New file.
48810
48811         Module exitfail.
48812         * m4/exitfail.m4: New file.
48813
48814         Module c-stack.
48815         * m4/c-stack.m4 (gl_C_STACK): New macro.
48816         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
48817
48818         Module error.
48819         * m4/error.m4 (gl_ERROR): New macro.
48820         (jm_PREREQ_ERROR): Use onceonly macros.
48821
48822         Module fatal.
48823         * m4/fatal.m4: New file.
48824
48825         Module getloadavg.
48826         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
48827         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
48828
48829         Module getpagesize.
48830         * m4/getpagesize.m4: New file.
48831
48832         Module getusershell.
48833         * m4/getusershell.m4: New file.
48834
48835         Module physmem.
48836         * m4/physmem.m4: New file.
48837
48838         Module posixver.
48839         * m4/posixver.m4: New file.
48840
48841         Module quotearg.
48842         * m4/quotearg.m4: New file.
48843
48844         Module quote.
48845         * m4/quote.m4: New file.
48846
48847         Module readutmp.
48848         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
48849
48850         Module sig2str.
48851         * m4/sig2str.m4: New file.
48852
48853         Other.
48854         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
48855         ulonglong.m4.
48856         * m4/intmax_t.m4: New file.
48857         * m4/d-type.m4: Indentation.
48858         * m4/jm-macros.m4: Update.
48859         * m4/prereq.m4 (jm_PREREQ): Update.
48860         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
48861         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
48862         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
48863         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
48864         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
48865         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
48866         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
48867         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
48868         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
48869         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
48870         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
48871         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
48872         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
48873         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
48874         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
48875         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
48876         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
48877         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
48878         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
48879
48880 2002-12-24  Bruno Haible  <bruno@clisp.org>
48881
48882         * MODULES.txt: Update according to m4/ changes.
48883
48884         Module gettext.
48885         * config.rpath: New file, from gettext-0.11.5.
48886
48887         * modules/*: New module descriptions.
48888         * gnulib-tool: New file.
48889         * MODULES.html.sh: New file.
48890
48891 2002-12-21  Karl Berry  <karl@gnu.org>
48892
48893         * doc/fdl.texi: update to version 1.2.
48894
48895 2002-12-19  Karl Berry  <karl@gnu.org>
48896
48897         * config/config.guess: update from prep.
48898
48899 2002-12-18  Bruno Haible  <bruno@clisp.org>
48900
48901         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
48902         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
48903
48904 2002-12-17  Bruno Haible  <bruno@clisp.org>
48905
48906         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
48907         stdlib.h, string.h.
48908
48909 2002-12-17  Bruno Haible  <bruno@clisp.org>
48910
48911         * lib/canon-host.c (strdup): Remove unused declaration.
48912
48913         * lib/fsusage.c: Include full_read.h.
48914         (get_fs_usage): Use full_read instead of safe_read.
48915
48916         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
48917
48918 2002-12-12  Karl Berry  <karl@gnu.org>
48919
48920         * config/config.guess: update from prep.
48921
48922 2002-12-11  Bruno Haible  <bruno@clisp.org>
48923
48924         * m4/setenv.m4: New file, from gettext-0.11.5.
48925
48926 2002-12-11  Bruno Haible  <bruno@clisp.org>
48927
48928         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
48929         not unsetenv().
48930         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
48931         modifications:
48932
48933         2002-12-11  Bruno Haible  <bruno@clisp.org>
48934
48935                 * setenv.c (alloca): Fall back to malloc.
48936                 (freea): New macro.
48937                 (setenv): Use freea() to free memory allocated with alloca().
48938
48939         2002-11-13  Bruno Haible  <bruno@clisp.org>
48940
48941                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
48942                 function declarations.
48943                 * unsetenv.c (unsetenv): Likewise.
48944
48945         2002-03-04  Bruno Haible  <bruno@clisp.org>
48946
48947                 Portability to AIX 4.3.3.
48948                 * unsetenv.c: New file, extracted from setenv.c.
48949                 * setenv.c: Move the unsetenv() function to unsetenv.c.
48950
48951         2001-12-20  Bruno Haible  <bruno@clisp.org>
48952
48953                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
48954                 use malloc instead. For SunOS 4.
48955
48956         2001-12-11  Bruno Haible  <bruno@clisp.org>
48957
48958                 * setenv.c: Declare alloca.
48959                 (compar_fn_t): New typedef.
48960                 (KNOWN_VALUE, STORE_VALUE): Use it.
48961
48962         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
48963         setenv.h.
48964
48965 2002-12-10  Paul Eggert  <eggert@twinsun.com>
48966
48967         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
48968         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
48969         Choose values that are less likely to collide with system fnmatch
48970         options.
48971         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
48972         defined (e.g., a pure POSIX system).
48973         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
48974         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
48975
48976 2002-12-06  Paul Eggert  <eggert@twinsun.com>
48977
48978         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
48979         a pain in practice to deal with generated m4 files.  This change
48980         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
48981
48982         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
48983         and jm-glibc-io.m4, as they are no longer a special case.
48984         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
48985         kludge and the auto-generation stuff.  Check only whether the
48986         functions are declared, not whether they exist, since older hosts
48987         that don't declare the functions can't use the optimization anyway.
48988
48989 2002-12-06  Jim Meyering  <jim@meyering.net>
48990
48991         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
48992
48993         Merge in changes from libc's misc/error.c, in preparation
48994         for the merge of gnulib's changes back into libc.
48995
48996         * lib/error.c (_): Define only if not already defined.
48997         Move definition to follow all #include directives.
48998         Include unlocked-io.h only if !_LIBC.
48999         [_LIBC]: Include <libio/libioP.h>.
49000         [USE_IN_LIBIO]: Include <libio/iolibio.h>
49001         (fflush): Tweak definition to use INTUSE.
49002         (putc): Define.
49003
49004 2002-12-05  Paul Eggert  <eggert@twinsun.com>
49005
49006         * lib/alloca.c [defined emacs]: Include "lisp.h".
49007         (xalloc_die) [defined emacs]: New macro.
49008         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
49009         [! defined emacs]: Include <xalloc.h>.
49010         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
49011         (pointer): Typedef to POINTER_TYPE *.
49012         (malloc): Remove decl; we now always use xmalloc.
49013         (alloca): Use old-style definition, since Emacs needs this.
49014         Check for arithmetic overflow when computing combined size.
49015
49016 2002-12-04  Paul Eggert  <eggert@twinsun.com>
49017
49018         Do not generate unlocked-io.h automatically, since it's easier to
49019         maintain it by hand.
49020
49021         * lib/unlocked-io.h: New file, from GNU diffutils,
49022         but with proper copyright notice and attribution.
49023         * lib/gen-uio: Remove.
49024         * lib/Makefile.am: Add copyright notice.
49025         (libfetish_a_SOURCES): Add unlocked-io.h.
49026         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
49027         (DISTCLEANFILES, io_functions): Remove macros.
49028         (EXTRA_DIST): Remove gen_uio.
49029         (unlocked-io.h): Remove rule.
49030
49031 2002-12-04  Jim Meyering  <jim@meyering.net>
49032
49033         Reflect the fact that stat.c and lstat.c are no longer generated.
49034         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
49035         (DISTCLEANFILES): Likewise.
49036         (EXTRA_DIST): Likewise.
49037         (all_local): Don't depend on stat.c or lstat.c.
49038         (stat.c, lstat.c): Remove rules.
49039         (EXTRA_DIST): Remove xstat.in.
49040
49041         * lib/xstat.in: Remove file.  Contents moved into stat.c.
49042         * lib/stat.c: New file.  Contents mostly from xstat.in.
49043         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
49044         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
49045
49046         * lib/safe-read.c: Rework so that it may serve to define safe_write,
49047         too.
49048         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
49049
49050 2002-12-03  Jim Meyering  <jim@meyering.net>
49051
49052         * lib/safe-read.c, safe-write.c: Change variable names and comments,
49053         but not semantics, to minimize the differences between these two files.
49054         (safe_read): Change comment to mention SAFE_READ_ERROR.
49055
49056         * lib/safe-read.c (IS_EINTR): Define.
49057         (safe_read): Use IS_EINTR in place of in-function cpp directives.
49058
49059 2002-12-02  Jim Meyering  <jim@meyering.net>
49060
49061         * lib/safe-read.c (EINTR): Define.
49062         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
49063         (INT_MAX): Provide fallback.
49064         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
49065
49066         * lib/safe-read.h (SAFE_READ_ERROR): Define.
49067
49068 2002-12-02  Bruno Haible  <bruno@clisp.org>
49069
49070         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
49071         Define, taken from safe-read.c.
49072         (INT_MAX): Provide fallback.
49073         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
49074         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
49075
49076         * lib/safe-read.c (EINTR): Remove definition.
49077         (safe_read): Don't use EINTR if it is absent.
49078
49079 2002-12-01  Jim Meyering  <jim@meyering.net>
49080
49081         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
49082         zero.
49083         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
49084
49085 2002-11-27  Paul Eggert  <eggert@twinsun.com>
49086
49087         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
49088         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
49089         with `if (! (value < limit)) abort ();', for readability.
49090
49091 2002-11-26  Karl Berry  <karl@gnu.org>
49092
49093         * lib/strdup.c: copy from libc again, with jim's ok.
49094         * lib/.cppi-disable: re-add strdup.c
49095
49096 2002-11-25  Karl Berry  <karl@gnu.org>
49097
49098         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
49099         instead of "strtol.c".
49100
49101 2002-11-25  Karl Berry  <karl@gnu.org>
49102
49103         * config/install-sh: update from automake for variable quoting, $0 in
49104         error msgs, etc.
49105
49106         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
49107         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
49108         entry.
49109
49110 2002-11-25  Jim Meyering  <jim@meyering.net>
49111
49112         * lib/mktime.c: Sync from libc, now that it has the latest fix.
49113
49114 2002-11-24  Karl Berry  <karl@gnu.org>
49115
49116         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
49117         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
49118
49119 2002-11-24  Jim Meyering  <jim@meyering.net>
49120
49121         Update from coreutils:
49122
49123         * lib/mktime.c: Merge in changes from libc.
49124
49125         Avoid a link-time failure on some Linux systems.
49126         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
49127         (otherwise).
49128         (__mon_yday): Declare with the STATIC attribute.
49129         (__mktime_internal): Likewise.
49130         Based on a report from Greg Schafer.
49131
49132 2002-11-23  Jim Meyering  <jim@meyering.net>
49133
49134         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
49135         Use `unsigned', not `int', as type of index.
49136
49137         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
49138
49139         * lib/fsusage.c: Remove unneeded parentheses around operands of
49140         `defined'.
49141
49142 2002-11-22  Paul Eggert  <eggert@twinsun.com>
49143
49144         * lib/quotearg.h: Allow multiple inclusion by surrounding with
49145         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
49146         so that we can be included first.
49147         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
49148         * lib/quotearg.c: Include quotearg.h immediately after config.h.
49149         No need to include stddef.h or sys/types.h any more.
49150         Surround local include files with "", not "<>".
49151         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
49152         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
49153         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
49154         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
49155         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
49156         (ISPRINT): Remove; no longer needed now that we assume C89.
49157
49158         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
49159         Preserve errno.
49160
49161         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
49162         quotearg_char): Use SIZE_MAX rather than
49163         (size_t) -1 when we are talking about "infinity".
49164
49165         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
49166
49167 2002-11-22  Paul Eggert  <eggert@twinsun.com>
49168
49169         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
49170         hint that one should use `if (! x) abort ();' rather than `assert
49171         (x);', and anyway it's one less thing to worry about configuring.
49172         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
49173         hash_rehash, hash_insert): Use abort rather than assert.
49174
49175 2002-11-22  Bruno Haible  <bruno@clisp.org>
49176
49177         * lib/safe-read.h: Assume C89. Add comments.
49178         (safe_read): Change return type to size_t.
49179         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
49180         byte counts > SSIZE_MAX correctly.
49181         * lib/safe-write.h: New file.
49182         * lib/safe-write.c: New file.
49183         * lib/full-read.h: New file.
49184         * lib/full-read.c: New file.
49185         * lib/full-write.h: Assume C89. Add comments.
49186         * lib/full-write.c: Include safe-write.h.
49187         (full_write): Rewritten to use safe_write.
49188         Suggested by Jim Meyering and Paul Eggert.
49189
49190 2002-11-21  Jim Meyering  <jim@meyering.net>
49191
49192         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
49193
49194         Merge in changes from the coreutils.
49195
49196         2002-09-25  Paul Eggert  <eggert@twinsun.com>
49197         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
49198         <stdint.h>.
49199         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
49200         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
49201         int.  Work more efficiently if X is the same width as uintmax_t.
49202         Do not compare X to -1, to avoid bogus compiler warning.
49203         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
49204         Don't assume that f_frsize and f_bsize are the same type.
49205
49206         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
49207         warning on FreeBSD.
49208
49209         * lib/makepath.c (make_path): Restore umask *before* creating the final
49210         component.
49211         (make_path): Minor reformatting.
49212
49213         * lib/xmalloc.c: Adjust to work with new autoconf macros,
49214         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
49215         HAVE_MALLOC/HAVE_REALLOC.
49216
49217         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
49218         dummy ones.  At least on GNU/Linux systems, `auto' means something
49219         else.
49220         From Michael Stone.
49221
49222 2002-11-21  Bruno Haible  <bruno@clisp.org>
49223
49224         Remove case insensitive option matching.
49225         * lib/argmatch.h (argcasematch): Remove declaration.
49226         (ARGCASEMATCH): Remove macro.
49227         (__xargmatch_internal): Remove case_sensitive argument.
49228         (XARGMATCH): Update.
49229         (XARGCASEMATCH): Remove macro.
49230         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
49231         case_sensitive argument.
49232         (argcasematch): Remove function.
49233         (__xargmatch_internal): Remove case_sensitive argument.
49234         (main): Use XARGMATCH instead of XARGCASEMATCH.
49235
49236         * lib/xmalloc.c: Change compile-time error message. Add comment about
49237         required autoconf version.
49238
49239 2002-11-20  Paul Eggert  <eggert@twinsun.com>
49240
49241         Merge argmatch cleanups from Bison.  Assume C89.
49242
49243         * lib/argmatch.c: Include config.h here, not in argmatch.h.
49244         Include stdlib.h, for EXIT_FAILURE.
49245         Always include <string.h>, since we assume C89.
49246         (EXIT_FAILURE): Remove pre-C89 bug workaround.
49247         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
49248         Include <stddef.h> instead, since it's all we need for size_t.
49249         (PARAMS): Remove.  All uses removed.
49250         (ARRAY_CARDINALITY): Do not bother to #undef.
49251         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
49252         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
49253         Remove unnecessary parentheses.
49254         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
49255         Insert necessary parentheses.
49256         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
49257         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
49258
49259 2002-11-19  Bruno Haible  <bruno@clisp.org>
49260
49261         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
49262         * lib/mbswidth.h: Include <stddef.h>, for size_t.
49263
49264         * lib/mbswidth.h (PARAMS): Remove macro.
49265         (mbswidth, mbsnwidth): Use ANSI C function declarations.
49266         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
49267
49268         * lib/gcd.h (PARAMS): Remove macro.
49269         (gcd): Use ANSI C function declarations.
49270         * lib/gcd.c (gcd): Likewise.
49271
49272 2002-11-15  Bruno Haible  <bruno@clisp.org>
49273
49274         * lib/strcspn.c: Include <stddef.h>.
49275         (strcspn): Use ANSI C function declaration. Change return type to
49276         size_t. Use NULL.
49277         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
49278         (strpbrk): Use NULL.
49279         * lib/strpbrk.h (PARAMS): Remove macro.
49280         (strpbrk): Use ANSI C function declaration.
49281         * lib/strstr.c: Don't include <sys/types.h>.
49282         * lib/strstr.h (PARAMS): Remove macro.
49283         (strstr): Use ANSI C function declarations.
49284
49285 2002-11-14  Karl Berry  <karl@gnu.org>
49286
49287         * config/mkinstalldirs: `do' on separate line, instead of
49288         `for var; do'.
49289
49290 2002-11-06  Bruno Haible  <bruno@clisp.org>
49291
49292         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
49293         * lib/gcd.c (gcd): Likewise.
49294
49295 2002-11-05  Bruno Haible  <bruno@clisp.org>
49296
49297         * lib/gcd.h: New file, from gettext-0.11.5.
49298         * lib/gcd.c: New file, from gettext-0.11.5.
49299
49300 2002-11-05  Bruno Haible  <bruno@clisp.org>
49301
49302         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
49303         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
49304         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
49305         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
49306
49307         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
49308         <libintl.h>.
49309         * lib/makepath.c: Include gettext.h instead of <locale.h> and
49310         <libintl.h>.
49311
49312         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
49313         * lib/human.c: Include gettext.h instead of <libintl.h>.
49314         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
49315         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
49316         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
49317         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
49318         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
49319         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
49320         (textdomain): Remove definition.
49321         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
49322
49323         * lib/long-options.c: Remove include of <libintl.h> and definition of
49324         _.
49325         * lib/same.c: Remove include of <libintl.h> and definition of _.
49326
49327 2002-11-04  Owen Taylor  <otaylor@redhat.com>
49328
49329         * lib/config.charset: A few additions for Solaris.
49330
49331 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
49332
49333         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
49334         * lib/localcharset.c (locale_charset): Declare as extern "C".
49335
49336 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
49337
49338         * lib/config.charset: msdos in uk_UA uses CP1125.
49339
49340 2002-11-04  Bruno Haible  <bruno@clisp.org>
49341
49342         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
49343         * lib/strcase.h: New file, from GNU gettext-0.11.5.
49344         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
49345         * lib/strstr.h: New file, from GNU gettext-0.11.5.
49346         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
49347
49348 2002-11-04  Bruno Haible  <bruno@clisp.org>
49349
49350         * lib/localcharset.c (locale_charset): Don't return an empty string.
49351
49352 2002-11-04  Bruno Haible  <bruno@clisp.org>
49353
49354         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
49355         aliases.
49356
49357 2002-11-04  Bruno Haible  <bruno@clisp.org>
49358
49359         * lib/config.charset: Update for newest glibc. Add canonical names
49360         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
49361
49362 2002-11-04  Bruno Haible  <bruno@clisp.org>
49363
49364         * lib/config.charset: Add support for NetBSD.
49365
49366 2002-11-04  Bruno Haible  <bruno@clisp.org>
49367
49368         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
49369
49370 2002-11-01  Bruno Haible  <bruno@clisp.org>
49371
49372         * configure.in: Add AC_CONFIG_AUX_DIR call.
49373         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
49374         test/Makefile.
49375         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
49376
49377 2002-09-28  Karl Berry  <karl@gnu.org>
49378
49379         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
49380         installed automake until the next release, since changes have been
49381         made.
49382
49383 2002-09-25  Karl Berry  <karl@gnu.org>
49384
49385         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
49386         * lib/getopt*: copy from libc/posix.
49387         * lib/gettext.h: copy from gettext.
49388         * lib/.cppi-disable: add strdup.c, gettext.h.
49389
49390 2002-09-25  Karl Berry  <karl@gnu.org>
49391
49392         * config/srclist.txt: enable gettext.h check.
49393         * config/config.{guess,sub}: update from prep.
49394         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
49395                 from automake 1.6.3.
49396         See srclist*.
49397
49398 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
49399
49400         * regex.c (PATFETCH): Remove the translating fetch.
49401         (PATFETCH_RAW): Rename to PATFETCH.
49402         (set_image_of_range): New fun.
49403         (SET_RANGE_TABLE_WORK_AREA): Use it.
49404         (regex_compile): Don't translate the pattern chars so eagerly.
49405         Only do it when inserting an `exactn' bytecode or when handling
49406         a char-range.
49407         (mutually_exclusive_p): Avoid empty statement.
49408
49409 2002-07-06  Jim Meyering  <meyering@lucent.com>
49410
49411         * m4/README: Don't mention Makefile.am.in.
49412         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
49413
49414 2002-07-01  Jim Meyering  <meyering@lucent.com>
49415
49416         * lib/c-stack.c: Include sys/time.h.
49417         From Volker Borchert.
49418
49419 2002-06-26  Paul Eggert  <eggert@twinsun.com>
49420
49421         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
49422
49423 2002-06-26  Paul Eggert  <eggert@twinsun.com>
49424
49425         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
49426         New macro.  Use it uniformly instead of
49427         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
49428         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
49429         reported by Vin Shelton.
49430
49431 2002-06-22  Paul Eggert  <eggert@twinsun.com>
49432
49433         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
49434         Do not assume SA_SIGINFO behavior.
49435         Bug reported by Jim Meyering on NetBSD 1.5.2.
49436
49437 2002-06-22  Jim Meyering  <meyering@lucent.com>
49438
49439         * m4/c-stack.m4: New file, from diffutils-2.8.2.
49440         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
49441
49442         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
49443         now that configure.ac uses AC_GNU_SOURCE.
49444         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
49445         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
49446
49447         Update to latest tools.  Suggestions from Paul Eggert.
49448         * m4/stdbool.m4: New file, from diffutils-2.8.2.
49449         * m4/gnu-source.m4: Update from diffutils-2.8.2.
49450         * m4/fnmatch.m4: Likewise.
49451         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
49452         to AC_HEADER_STDBOOL
49453
49454 2002-06-22  Jim Meyering  <meyering@lucent.com>
49455
49456         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
49457         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
49458
49459 2002-06-22  Jim Meyering  <meyering@lucent.com>
49460
49461         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
49462
49463         * lib/exitfail.c, exitfail.h: Likewise.
49464         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
49465
49466         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
49467         of fnmatch.h.
49468         (EXTRA_DIST): Add fnmatch_loop.c.
49469         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
49470
49471         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
49472         * lib/fnmatch.c: Update from diffutils-2.8.2.
49473         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
49474         * lib/fnmatch.h: Remove file.
49475
49476 2002-06-21  Jim Meyering  <meyering@lucent.com>
49477
49478         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
49479         * m4/mbrtowc.m4: Likewise.
49480
49481         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
49482         * m4/mbswidth.m4: Reflect name change:
49483         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
49484         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
49485
49486         * m4/lib-link.m4: Update from gettext-0.11.2.
49487         * m4/gettext.m4: Likewise.
49488
49489         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
49490         From Alfred M. Szmidt.
49491
49492 2002-06-18  Paul Eggert  <eggert@twinsun.com>
49493
49494         * lib/file-type.h: Report an error if neither S_ISREG nor
49495         S_IFREG is defined, instead of using a test specific to glibc
49496         2.2.  This should be safe, since POSIX requires S_ISREG and
49497         Unix Version 7 had S_IFREG.  We don't need to check for
49498         <sys/types.h> since we don't use any symbols that it defines.
49499
49500 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
49501
49502         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
49503         $@-t, so that each temporary file name is unique and valid in the first
49504         8 characters, for operation under DOS.
49505
49506 2002-06-15  Paul Eggert  <eggert@twinsun.com>
49507
49508         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
49509
49510 2002-06-15  Jim Meyering  <meyering@lucent.com>
49511
49512         Work even with DJGPP 2.03, which lacks support for symlinks.
49513         From Richard Dawe.
49514         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
49515         is defined.
49516         * lib/lchown.c (S_ISLNK): Likewise.
49517
49518 2002-06-15  Jim Meyering  <meyering@lucent.com>
49519
49520         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
49521         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
49522         have been included before this file.
49523
49524 2002-06-14  Jim Meyering  <meyering@lucent.com>
49525
49526         * lib/file-type.h: Use the version from diffutils-2.8.2.
49527         * lib/file-type.c: Likewise.
49528
49529 2002-06-07  Jim Meyering  <meyering@lucent.com>
49530
49531         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
49532         They're needed at least for NetBSD 1.5.2.
49533         ($statxfs_includes): Include those same headers.
49534         ($statxfs_includes): Include sys/vfs.h if available.
49535         ($statxfs_includes): Likewise for sys/statvfs.h.
49536         Check for the following members in both structs statfs and statvfs:
49537         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
49538
49539 2002-06-01  Jim Meyering  <meyering@lucent.com>
49540
49541         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
49542         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
49543
49544 2002-05-28  Jim Meyering  <meyering@lucent.com>
49545
49546         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
49547         Reported by Volker Borchert.
49548
49549 2002-05-27  Jim Meyering  <meyering@lucent.com>
49550
49551         Fix a problem seen only on nonconforming systems whereby ls.c's
49552         use of localtime, and then of gettimeofday would cause trouble:
49553         the localtime call used to initialize rpl_gettimeofday's save
49554         mechanism would clobber ls's current local time information so
49555         that in any long listing the first file would always be listed
49556         with date 1970-01-01.  Analysis by Volker Borchert.
49557
49558         * lib/gettimeofday.c (localtime): Undefine.
49559         (rpl_localtime): New function.
49560
49561 2002-05-27  Jim Meyering  <meyering@lucent.com>
49562
49563         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
49564         localtime.
49565
49566         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
49567         use the replacement function; it wouldn't resolve at link time.
49568         Reported by Volker Borchert.
49569
49570 2002-05-22  Jim Meyering  <meyering@lucent.com>
49571
49572         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
49573         file-type.h.
49574         * lib/file-type.h: New file.
49575         * lib/file-type.c (file_type): New file/function.  Extracted from
49576         diffutils.
49577
49578 2002-04-30  Jim Meyering  <meyering@lucent.com>
49579
49580         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
49581
49582 2002-04-29  Paul Eggert  <eggert@twinsun.com>
49583
49584         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
49585
49586 2002-04-29  Paul Eggert  <eggert@twinsun.com>
49587
49588         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
49589         Do not check for alloca.h (no longer used) or stdbool.h (was never
49590         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
49591
49592 2002-04-29  Paul Eggert  <eggert@twinsun.com>
49593
49594         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
49595
49596 2002-04-29  Jim Meyering  <meyering@lucent.com>
49597
49598         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
49599         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
49600         Use AC_FUNC_STRNLEN here instead.
49601
49602         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
49603         With autoconf-2.53a, it's part of AC_PROG_CC.
49604
49605 2002-04-28  Paul Eggert  <eggert@twinsun.com>
49606
49607         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
49608         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
49609
49610 2002-04-28  Paul Eggert  <eggert@twinsun.com>
49611
49612         * lib/sig2str.h, lib/sig2str.c: New files.
49613         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
49614
49615 2002-04-28  Paul Eggert  <eggert@twinsun.com>
49616
49617         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
49618         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
49619         of 127, since 64 is the largest conceivable number for ancient
49620         nonstandard hosts.
49621         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
49622
49623 2002-04-28  Jim Meyering  <meyering@lucent.com>
49624
49625         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
49626
49627 2002-04-24  Jim Meyering  <meyering@lucent.com>
49628
49629         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
49630         (jm_PREREQ): Use it.
49631
49632         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
49633         mach/mach.h fcntl.h.
49634         Check for this function: setlocale.
49635
49636 2002-04-24  Jim Meyering  <meyering@lucent.com>
49637
49638         * lib/gettext.h: New file, from Gettext.
49639         * lib/Makefile.am (INCLUDES): Remove -I../intl.
49640         (libfetish_a_SOURCES): Add gettext.h.
49641
49642 2002-04-16  Jim Meyering  <meyering@lucent.com>
49643
49644         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
49645         ut_pid, ut_id, ut_exit.
49646
49647 2002-04-16  Jim Meyering  <meyering@lucent.com>
49648
49649         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
49650         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
49651         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
49652
49653 2002-04-12  Jim Meyering  <meyering@lucent.com>
49654
49655         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
49656         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
49657         existence of the getmntinfo function.  Needed for Darwin 5.3.
49658
49659         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
49660         This is necessary at least on Darwin 5.3.
49661
49662         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
49663         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
49664         strnlen.o in the library, and that makes some versions of ranlib
49665         object.
49666
49667 2002-04-12  Jim Meyering  <meyering@lucent.com>
49668
49669         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
49670
49671 2002-04-09  Jim Meyering  <meyering@lucent.com>
49672
49673         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
49674         to be more precise.  Rather than saying we're checking whether the
49675         function `works', say what we're testing.
49676         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
49677         Reported by Bruno Haible.
49678
49679 2002-03-10  Jim Meyering  <meyering@lucent.com>
49680
49681         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
49682         Suggestion from Santiago Vila.
49683
49684 2002-03-08  Jim Meyering  <meyering@lucent.com>
49685
49686         * lib/rename.c: Mention that this wrapper is needed also on
49687         mips-dec-ultrix4.4 systems.
49688
49689 2002-03-02  Jim Meyering  <meyering@lucent.com>
49690
49691         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
49692         not HAVE_CLOCK_SETTIME.
49693
49694 2002-02-27  Paul Eggert  <eggert@twinsun.com>
49695
49696         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
49697         Check for clock_settime.
49698
49699 2002-02-27  Paul Eggert  <eggert@twinsun.com>
49700
49701         * lib/nanosleep.h: Rename to....
49702         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
49703
49704         * lib/gettime.c: New file.
49705         * lib/settime.c: New file.
49706         * lib/stime.c: Remove.
49707
49708         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
49709         timespec.h.  Remove nanosleep.h.
49710
49711 2002-02-25  Paul Eggert  <eggert@twinsun.com>
49712
49713         * m4/acl.m4: New file.
49714         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
49715         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
49716
49717 2002-02-25  Paul Eggert  <eggert@twinsun.com>
49718
49719         * lib/acl.c, lib/acl.h: New files.
49720         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
49721
49722 2002-02-24  Jim Meyering  <meyering@lucent.com>
49723
49724         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
49725         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
49726         cause trouble.  Reported by Nelson Beebe.
49727
49728 2002-02-23  Paul Eggert  <eggert@twinsun.com>
49729
49730         * lib/path-concat.c (xpath_concat): Reorder code to pacify
49731         compilers that don't know that xalloc_die never returns.
49732
49733 2002-02-20  Jim Meyering  <meyering@lucent.com>
49734
49735         * lib/getdate.c: Regenerate using bison-1.33.
49736
49737 2002-02-17  Jim Meyering  <meyering@lucent.com>
49738
49739         * config/config.guess (main): Don't use `head -1'; it's no longer
49740         portable. Use `sed 1q' instead.
49741
49742 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
49743
49744         * m4/codeset.m4: Upgrade to gettext-0.11.
49745         * m4/gettext.m4: Upgrade to gettext-0.11.
49746         * m4/glibc21.m4: Upgrade to gettext-0.11.
49747         * m4/iconv.m4: Upgrade to gettext-0.11.
49748         * m4/isc-posix.m4: Upgrade to gettext-0.11.
49749         * m4/lcmessage.m4: Upgrade to gettext-0.11.
49750         * m4/lib-ld.m4: New file, from gettext-0.11.
49751         * m4/lib-link.m4: New file, from gettext-0.11.
49752         * m4/lib-prefix.m4: New file, from gettext-0.11.
49753         * m4/progtest.m4: Upgrade to gettext-0.11.
49754
49755 2002-02-15  Paul Eggert  <eggert@twinsun.com>
49756
49757         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
49758         (jm_PREREQ): Use it.
49759
49760 2002-02-15  Paul Eggert  <eggert@twinsun.com>
49761
49762         * lib/posixver.c, lib/posixver.h: New files.
49763         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
49764
49765 2002-02-02  Paul Eggert  <eggert@twinsun.com>
49766             Bruno Haible  <bruno@clisp.org>
49767
49768         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
49769         (fwrite_success_callback): New declaration.
49770         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
49771         print_unicode_char. Call failure callback instead of error.
49772         (fwrite_success_callback): New function.
49773         (exit_failure_callback): New function.
49774         (fallback_failure_callback): New function.
49775         (print_unicode_char): Call unicode_to_mb.
49776
49777 2002-01-26  Jim Meyering  <meyering@lucent.com>
49778
49779         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
49780         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
49781
49782 2002-01-26  Jim Meyering  <meyering@lucent.com>
49783
49784         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
49785
49786 2002-01-22  Paul Eggert  <eggert@twinsun.com>
49787
49788         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
49789
49790 2002-01-22  Jim Meyering  <meyering@lucent.com>
49791
49792         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
49793         Otherwise, some versions of automake would omit the rule that makes
49794         Makefile from Makefile.in.
49795
49796 2002-01-21  Paul Eggert  <eggert@twinsun.com>
49797
49798         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
49799         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
49800         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
49801         (memcoll): Set errno to zero if there is no error.
49802
49803         * lib/quotearg.c (quotearg_buffer_restyled):
49804         Fix bug with quoting buffers containing NUL when backslashing escapes.
49805         This bug was exposed by the other changes in this patch.
49806         (quotearg_n_options): New arg ARGSIZE.
49807         All callers changed.
49808         (quoting_options_from_style): New function.
49809         (quotearg_n_style): Use it.
49810         (quotearg_n_style_mem): New function.
49811
49812         * lib/quotearg.h (quotearg_n_style_mem): New function.
49813
49814 2002-01-19  Jim Meyering  <meyering@lucent.com>
49815
49816         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
49817         Remove useless quotes: DF_PROG="df".
49818         * m4/strnlen.m4: New file.
49819
49820 2002-01-16  Paul Eggert  <eggert@twinsun.com>
49821
49822         * lib/backupfile.c (ISDIGIT): Comment fix.
49823         * lib/getdate.y (ISDIGIT): Likewise.
49824         * lib/posixtm.c (ISDIGIT, year): Likewise.
49825         * lib/strverscmp.c (ISDIGIT): Likewise.
49826         * lib/userspec.c (ISDIGIT): Likewise.
49827
49828 2002-01-16  Jim Meyering  <meyering@lucent.com>
49829
49830         * lib/getdate.y: Add three semicolons, each just before a closing
49831         brace. Bison (as of version 1.31) no longer papers over that mistake.
49832
49833 2002-01-05  Jim Meyering  <meyering@lucent.com>
49834
49835         * lib/version-etc.c (version_etc_copyright): Update copyright year.
49836
49837 2001-12-19  Paul Eggert  <eggert@twinsun.com>
49838
49839         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
49840         not silently exit merely because the output buffer happens to
49841         have nothing pending.
49842
49843 2001-12-18  Paul Eggert  <eggert@twinsun.com>
49844
49845         See the big note in ../ChangeLog.
49846         * lib/human.c (suffixes): Prefer K to k for 1024.
49847         (generate_suffix_backwards): New function.
49848         (human_readable_inexact): Use it.
49849         * lib/xstrtol.c (__xstrtol): If there is no number but there
49850         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
49851         Accept 'K' as well as 'k'.
49852
49853 2001-12-15  Jim Meyering  <meyering@lucent.com>
49854
49855         * lib/regex.h (__restrict_arr): Update from libc.
49856
49857         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
49858         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
49859         (STREQ): Define.
49860
49861 2001-12-14  Jim Meyering  <meyering@lucent.com>
49862
49863         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
49864         Suggestion from Bruno Haible.
49865
49866 2001-12-10  Jim Meyering  <meyering@lucent.com>
49867
49868         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
49869         xrealloc, Instead, include "xalloc.h".
49870         (initbuffer): Don't cast xmalloc return value to char*.
49871         (readline): Reword comment.
49872         Don't cast xrealloc return value to char*
49873         Return NULL, not 0.
49874
49875 2001-12-09  Jim Meyering  <meyering@lucent.com>
49876
49877         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
49878         about `signed and unsigned type in conditional expression'.
49879         * lib/posixtm.c (posix_time_parse): Likewise.
49880
49881         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
49882
49883         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
49884         to avoid a pedantic warning.
49885
49886         * lib/getstr.c: Don't include assert.h.
49887         (getstr): Remove warning-evoking assertions.
49888         Return -1 if offset parameter is out of bounds.
49889         Change the type of a local from int to size_t.
49890
49891         * lib/strftime.c (my_strftime_localtime_r): Include this function
49892         definition in the `#if ! HAVE_TM_GMTOFF' block.
49893
49894         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
49895         Include xalloc.h instead.
49896
49897 2001-12-02  Jim Meyering  <meyering@lucent.com>
49898
49899         * lib/tempname.c: Don't declare getenv, thus reverting the change of
49900         2001-11-18.  It's no longer necessary, now that stdlib.h is always
49901         included.
49902
49903         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
49904         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
49905
49906 2001-11-30  Akim Demaille  <akim@epita.fr>
49907
49908         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
49909         before being defined.
49910
49911 2001-11-27  Paul Eggert  <eggert@twinsun.com>
49912
49913         * lib/quotearg.h (quotearg_n, quotearg_n_style):
49914         First arg is int, not unsigned.
49915         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
49916         (SIZE_MAX, UINT_MAX): New macros.
49917         (quotearg_n_options): Abort if N is negative.
49918         Avoid overflow check on hosts where size_t is 64 bits and int
49919         is 32 bits, as overflow is impossible there.
49920         Fix off-by-one typo that caused unnecessary reallocation.
49921
49922 2001-11-27  Jim Meyering  <meyering@lucent.com>
49923
49924         * lib/tempname.c: Merge with version from libc.
49925         * lib/regex.c: Likewise.
49926
49927         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
49928         systems for which STDC_HEADERS is 0, it was not included, resulting in
49929         a warning about an integer-to-pointer conversion problem with getenv.
49930         Reported by Volker Borchert.
49931
49932 2001-11-26  Jim Meyering  <meyering@lucent.com>
49933
49934         * lib/gtod.h: Remove file.
49935         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
49936         * lib/gettimeofday.c: Don't include gtod.h.
49937         (GTOD_init): Remove function.
49938         (rpl_gettimeofday): Do its job here instead, rather than aborting.
49939         Suggestion from Volker Borchert.
49940
49941 2001-11-23  Jim Meyering  <meyering@lucent.com>
49942
49943         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
49944         it.
49945         * lib/hash.c (struct hash_table): Define it here instead.
49946
49947 2001-11-22  Jim Meyering  <meyering@lucent.com>
49948
49949         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
49950
49951 2001-11-20  Jim Meyering  <meyering@lucent.com>
49952
49953         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
49954         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
49955
49956 2001-11-19  Jim Meyering  <meyering@lucent.com>
49957
49958         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
49959         directory.  Use "conftestXXXXXX" as the template.
49960         Suggestion from Paul Eggert.
49961
49962         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
49963         immediately, so the test doesn't mistakenly hit the max-open-files
49964         limit.
49965
49966 2001-11-18  Paul Eggert  <eggert@twinsun.com>
49967
49968         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
49969         (TEMPORARIES): New macro.
49970         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
49971         removes an artificial limitation (e.g. HP-UX 10.20, where
49972         TMP_MAX is 17576).
49973
49974 2001-11-18  Jim Meyering  <meyering@lucent.com>
49975
49976         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
49977
49978 2001-11-18  Jim Meyering  <meyering@lucent.com>
49979
49980         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
49981         on SunOS 4.
49982
49983         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
49984         files will be created before anything else.
49985
49986 2001-11-17  Paul Eggert  <eggert@twinsun.com>
49987
49988         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
49989         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
49990
49991 2001-11-17  Jim Meyering  <meyering@lucent.com>
49992
49993         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
49994         Prompted by a report from Bob Proulx.
49995
49996         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
49997         Instead, require UTILS_FUNC_MKSTEMP.
49998
49999 2001-11-17  Jim Meyering  <meyering@lucent.com>
50000
50001         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
50002         Now, that's done as part of AC_FUNC_STRTOD.
50003
50004 2001-11-17  Jim Meyering  <meyering@lucent.com>
50005
50006         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
50007         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
50008         rather than group writable.  Patch by Juan F. Codagnone.
50009
50010         * lib/readtokens.c: Remove explicit declarations of xmalloc and
50011         xrealloc, Instead, include "xalloc.h".
50012
50013         * lib/mountlist.c: Include unlocked-io.h after all system headers.
50014         Remove explicit declarations of xmalloc, xrealloc,
50015         and xstrdup.  Instead, include "xalloc.h".
50016
50017         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
50018         unlocked-io.h.
50019         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
50020         Likewise.
50021         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
50022
50023         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
50024         Reported by Padraig Brady.
50025
50026         * lib/mkstemp.c: #undef mkstemp.
50027         Include config.h.
50028         (rpl_mkstemp): Rename from mkstemp.
50029         Protoize.
50030
50031 2001-11-16  Jim Meyering  <meyering@lucent.com>
50032
50033         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
50034         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
50035         determine the amount of total physical memory, use pstat_getstatic.
50036         HPUX-11 doesn't define _SC_PHYS_PAGES.
50037         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
50038         If sysconf couldn't be used to determine the amount of available
50039         physical memory, use both pstat_getstatic and pstat_getdynamic.
50040         Based on a patch from Bob Proulx.
50041
50042 2001-11-10  Jim Meyering  <meyering@lucent.com>
50043
50044         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
50045         (jm_PREREQ): Use it.
50046
50047 2001-11-09  Jim Meyering  <meyering@lucent.com>
50048
50049         * m4/jm-macros.m4: Require autoconf-2.52f.
50050         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
50051         Use these AC_-prefixed names, not the AM_-prefixed ones.
50052
50053         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
50054
50055 2001-11-05  Jim Meyering  <meyering@lucent.com>
50056
50057         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
50058
50059 2001-11-04  Jim Meyering  <meyering@lucent.com>
50060
50061         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
50062         $DEFS.
50063
50064 2001-11-03  Jim Meyering  <meyering@lucent.com>
50065
50066         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
50067         of AC_DEFUN.
50068
50069         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
50070         know the name of the variable in the macro definition.
50071
50072 2001-11-03  Jim Meyering  <meyering@lucent.com>
50073
50074         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
50075         in argmatch_to_argument call.
50076
50077         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
50078         argument.
50079
50080         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
50081         e.g., a fault due to an attempt to free a NULL pointer.
50082
50083 2001-11-01  Jim Meyering  <meyering@lucent.com>
50084
50085         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
50086         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
50087
50088 2001-11-01  Jim Meyering  <meyering@lucent.com>
50089
50090         * lib/dirfd.c, lib/dirfd.h: New files.
50091         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
50092
50093         * lib/hash.c (hash_print) [TESTING]: Clean up.
50094
50095 2001-10-22  Paul Eggert  <eggert@twinsun.com>
50096
50097         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
50098         to avoid a warning if -Wall.
50099
50100 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
50101
50102         * README: New file
50103         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
50104         (per RMS's instructions, this is now the canonical source)
50105         * lgpl/, gpl/: New directories.
50106
50107 2001-10-21  Paul Eggert  <eggert@twinsun.com>
50108
50109         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
50110
50111 2001-10-21  Jim Meyering  <meyering@lucent.com>
50112
50113         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
50114         this code would end up calling gettext even in packages built
50115         with --disable-nls.
50116         * lib/getopt.c (_): Likewise.
50117         * lib/regex.c (_): Likewise.
50118
50119 2001-10-20  Paul Eggert  <eggert@twinsun.com>
50120
50121         * m4/error.m4 (jm_PREREQ_ERROR):
50122         Do not invoke AC_CHECK_FUNCS with strerror_r, as
50123         AC_FUNC_STRERROR_R does that.
50124         Check for strerror declaration.
50125
50126         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
50127         are supposed to have them these days.
50128         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
50129         Merge changes from latest Autoconf CVS.
50130         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
50131         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
50132         POSIX decided to standardize on the int flavor of strerror_r.
50133
50134 2001-10-20  Paul Eggert  <eggert@twinsun.com>
50135
50136         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
50137         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
50138         Use strerror_r that is only a macro, even if it is not a function.
50139         (strerror): Check for HAVE_DECL_STRERROR before declaring.
50140         (private_strerror): Use prototypes, not old-style function definition.
50141         (print_errno_message): New function.
50142         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
50143         char*-flavored one.
50144         (error_tail, error, error_at_line): Use it.
50145
50146 2001-10-11  Jim Meyering  <meyering@lucent.com>
50147
50148         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
50149         and quote_n (1, ... to avoid clobbering a buffer.
50150
50151 2001-10-05  Jim Meyering  <meyering@lucent.com>
50152
50153         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
50154         hash-pjw.h.
50155         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
50156         * lib/hash-pjw.h: New file.
50157
50158 2001-09-30  Jim Meyering  <meyering@lucent.com>
50159
50160         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
50161         `struct fsstat' has the `f_fstypename' member.
50162         Use that to define FS_TYPE, which is now used to make
50163         the getfsstat link test tighter.
50164
50165 2001-09-30  Jim Meyering  <meyering@lucent.com>
50166
50167         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
50168         Include <sys/ucred.h>, for Apple Darwin.
50169         Include sys/mount.h and sys/fs_types.h only if available.
50170         (FS_TYPE): Define.
50171         (read_filesystem_list): Use FS_TYPE.
50172
50173 2001-09-29  Paul Eggert  <eggert@twinsun.com>
50174
50175         * lib/exclude.c (excluded_filename): 0 -> false, since it's
50176         a boolean context.
50177
50178 2001-09-29  Jim Meyering  <meyering@lucent.com>
50179
50180         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
50181         [one-argument getmntent function]): Include stdio.h before mntent.h.
50182         SunOS 4.1.x needs it for the declaration of `FILE'.
50183         Patch by Volker Borchert.
50184
50185         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
50186         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
50187         sys/fs_types.h, and make the link-test for getfsstat guard #include
50188         directives with appropriate #if HAVE_*_H tests so that we can
50189         detect getfsstat on Apple Darwin1.3.7 systems.
50190         Reported by Nelson Beebe.
50191         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
50192
50193 2001-09-28  Paul Eggert  <eggert@twinsun.com>
50194
50195         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
50196         #defines strtoimax.  Also treat the other strto* functions
50197         like strtoimax.
50198
50199         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
50200         Check for strtoul and strtoumax,
50201         as those declarations are made even in the signed case.
50202         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
50203         Likewise, for strtol and strtoimax.
50204
50205 2001-09-28  Paul Eggert  <eggert@twinsun.com>
50206
50207         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
50208         #defines strtoimax.  Also treat the other strto* functions
50209         like strtoimax.
50210
50211         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
50212         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
50213         (strtoimax, strtoumax): Do not declare if already defined as a macro.
50214
50215 2001-09-26  Jim Meyering  <meyering@lucent.com>
50216
50217         Most macros in unlocked-io.h had the wrong number of arguments.
50218         * lib/gen-uio: New script.
50219         (USE_UNLOCKED_IO): Define to 1 if not already defined.
50220         * lib/unlocked-io.hin: Remove file.
50221         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
50222         rather than trying to embed it here.
50223         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
50224         Reported by Padraig Brady.
50225
50226 2001-09-25  Volker Borchert  <bt@teknon.de>
50227
50228         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
50229         `result'.
50230
50231 2001-09-24  Jim Meyering  <meyering@lucent.com>
50232
50233         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
50234
50235 2001-09-23  Jim Meyering  <meyering@lucent.com>
50236
50237         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
50238         instead of the mere test for existence of mntent.h.  The latter
50239         would get a false-positive on AIX 3.4 systems.
50240         In the outer getmntent if-block, don't die if neither of the getmntent
50241         tests succeeds.  Instead, just fall through and continue with the
50242         remaining tests.
50243
50244 2001-09-23  Jim Meyering  <meyering@lucent.com>
50245
50246         * lib/mountlist.c: Remove useless parentheses in #if directives.
50247         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
50248         the deprecated MOUNTED symbol is no longer defined in mntent.h.
50249
50250 2001-09-22  Jim Meyering  <meyering@lucent.com>
50251
50252         * m4/gettext.m4: New file.  From gettext.
50253         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
50254         * m4/progtest.m4: Likewise
50255         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
50256         * m4/glibc21.m4: Likewise.
50257
50258         * m4/libintl.m4: Remove.  No longer used.
50259
50260 2001-09-22  Jim Meyering  <meyering@lucent.com>
50261
50262         * lib/localcharset.c: Update from latest gettext.
50263         * lib/config.charset: Likewise.
50264
50265 2001-09-20  Jim Meyering  <meyering@lucent.com>
50266
50267         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
50268         strtoimax.
50269         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
50270         strtoumax.
50271
50272 2001-09-20  Jim Meyering  <meyering@lucent.com>
50273
50274         * lib/xstrtol.c (strtoimax): Guard declaration with
50275         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
50276         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
50277         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
50278         (strtoumax): Likewise, for completeness (it wasn't necessary).
50279
50280 2001-09-17  Paul Eggert  <eggert@twinsun.com>
50281
50282         * lib/strtoimax.c (HAVE_LONG_LONG):
50283         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
50284         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
50285         to work around bug in IBM C compiler.
50286
50287 2001-09-17  Jim Meyering  <meyering@lucent.com>
50288
50289         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
50290         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
50291         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
50292         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
50293         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
50294         whenever the right hand side need not be expanded by the shell.
50295
50296 2001-09-16  Paul Eggert  <eggert@twinsun.com>
50297
50298         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
50299         library.  It's not correct, as some older glibcs are buggy.
50300         fnmatch wasn't fixed until glibc 2.2.
50301
50302         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
50303         special shell magic here.
50304
50305 2001-09-16  Jim Meyering  <meyering@lucent.com>
50306
50307         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
50308         * m4/jm-macros.m4: Require it.
50309
50310 2001-09-16  Jim Meyering  <meyering@lucent.com>
50311
50312         * lib/mkdir.c: New file.
50313
50314 2001-09-15  Jim Meyering  <meyering@lucent.com>
50315
50316         * m4/jm-macros.m4: Check for help2man.
50317
50318 2001-09-11  Jim Meyering  <meyering@lucent.com>
50319
50320         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
50321         The body, by Paul Eggert, was moved here from configure.in.
50322         * m4/jm-macros.m4: Require UTILS_HOST_OS.
50323
50324 2001-09-04  Paul Eggert  <eggert@twinsun.com>
50325
50326         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
50327         (jm_PREREQ): Use it.
50328
50329 2001-09-04  Paul Eggert  <eggert@twinsun.com>
50330
50331         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
50332         Use ssize_t, not int, to store result of readlink.
50333         Check for ssize_t overflow as well as size_t overflow,
50334         as POSIX says the result of readlink is implementation-defined
50335         when ssize_t overflows.
50336         Remove unnecessary cast to char*.
50337         Use free+malloc instead of realloc, as the storage doesn't need
50338         to be preserved and it's clearer and can be more efficient that way.
50339         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
50340         * lib/xreadlink.h (xreadlink): Update prototype.
50341
50342 2001-09-04  Paul Eggert  <eggert@twinsun.com>
50343
50344         * lib/xgetcwd.c: Revert some of the previous change; intead,
50345         fix the HAVE_GETCWD_NULL code to behave more like the
50346         !HAVE_GETCWD_NULL code used to.
50347
50348         Include "xalloc.h".
50349         (xgetcwd): Do not return NULL when memory is exhausted; instead,
50350         invoke xalloc_die.
50351
50352 2001-09-03  Paul Eggert  <eggert@twinsun.com>
50353
50354         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
50355         sys/param.h, as pathmax.h includes them.
50356
50357 2001-09-03  Paul Eggert  <eggert@twinsun.com>
50358
50359         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
50360         (jm_PREREQ_XGETCWD): New macro.
50361
50362         * m4/getcwd.m4: New file.
50363
50364 2001-09-03  Paul Eggert  <eggert@twinsun.com>
50365
50366         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
50367         like the HAVE_GETCWD_NULL code.
50368         Include pathmax.h if not HAVE_GETCWD.
50369         Do not include xalloc.h.
50370         (INITIAL_BUFFER_SIZE): New symbol.
50371         Do not use xmalloc / xrealloc, since the caller is responsible for
50372         handling errors.  Preserve errno around `free' during failure.
50373         Do not overrun buffer when using getwd.
50374
50375 2001-09-03  Paul Eggert  <eggert@twinsun.com>
50376
50377         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
50378         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
50379         getcwd (NULL, 0).
50380
50381 2001-09-03  Paul Eggert  <eggert@twinsun.com>
50382
50383         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
50384         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
50385         spotted by Jim Meyering.
50386
50387 2001-09-03  Jim Meyering  <meyering@lucent.com>
50388
50389         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
50390         failure.
50391
50392 2001-09-02  Jim Meyering  <meyering@lucent.com>
50393
50394         * lib/error.c: Update from GNU libc.
50395
50396 2001-09-01  Jim Meyering  <meyering@lucent.com>
50397
50398         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
50399         Used by df.
50400
50401 2001-09-01  Jim Meyering  <meyering@lucent.com>
50402
50403         * lib/xreadlink.c: New file.
50404         * lib/xreadlink.h: New file.
50405         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
50406         xreadlink.h.
50407
50408         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
50409         doesn't conflict with sparc Solaris 7's definition in
50410         /usr/include/sys/int_types.h.
50411
50412         * lib/exclude.c: Use `""', not `<>' to #include non-system header
50413         files.
50414         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
50415         and strncasecmp as r-values.  Unixware didn't have declarations.
50416
50417 2001-08-31  Paul Eggert  <eggert@twinsun.com>
50418
50419         * lib/xstrtol.h: Add copyright notice.
50420         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
50421         LONGINT_INVALID_SUFFIX_CHAR.
50422
50423 2001-08-31  Paul Eggert  <eggert@twinsun.com>
50424
50425         * lib/xstrtol.c (strtoimax): New decl.
50426
50427 2001-08-31  Paul Eggert  <eggert@twinsun.com>
50428
50429         * lib/xgetcwd.c: Don't include pathmax.h.
50430         Include stdlib.h and unistd.h if available.
50431         Include xalloc.h.
50432         (xmalloc, xstrdup, free): Remove decls.
50433         (xgetcwd): Don't assume sizes fit in unsigned.
50434         Check for overflow when computing sizes.
50435         Simplify reallocation code.
50436
50437 2001-08-31  Paul Eggert  <eggert@twinsun.com>
50438
50439         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
50440         a directory's st_size can have an arbitrary value, so the old
50441         usage could waste an arbitrary amount of memory.  All uses
50442         changed.
50443         * lib/savedir.h: Update prototype.
50444
50445 2001-08-31  Paul Eggert  <eggert@twinsun.com>
50446
50447         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
50448
50449         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
50450         old strtoimax.c.
50451
50452         Also, make the following further changes to make this file's
50453         configuration more similar to that of strtol.c:
50454         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
50455         (strtoumax, uintmax_t, strtoull, strtol): Remove.
50456         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
50457         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
50458         changed to signed values.
50459
50460         And make the following changes as well:
50461         Fix copyright notice, as 1999 was missing.
50462         (verify): New macro.
50463         (strtoimax): Check sizes at compile-time, not run-time.
50464         Prefer strtol to strtoll if both work.
50465         (main): Remove; it was not that useful and was a pain to maintain.
50466
50467         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
50468
50469 2001-08-31  Jim Meyering  <meyering@lucent.com>
50470
50471         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
50472         Use an initial, malloc'd, buffer of length 128 rather than
50473         a statically allocated one of length 1024.
50474
50475 2001-08-30  Paul Eggert  <eggert@twinsun.com>
50476
50477         Simplify code, partly by assuming autoconf 2.52 semantics.
50478
50479         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
50480
50481         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
50482         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
50483         All uses removed.
50484         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
50485         Move AC_REQUIRE to next-to-top level, to avoid confusion.
50486         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
50487         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
50488         jm_AC_HEADER_INTTYPES_H.
50489         * m4/jm-macros.m4 (jm_MACROS): Likewise.
50490
50491         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
50492
50493         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
50494         Quote first arg of AC_DEFUN.
50495         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
50496         since they are needed to parse the include file even if we need
50497         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
50498         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
50499         but with opposite signedness.
50500
50501 2001-08-30  Paul Eggert  <eggert@twinsun.com>
50502
50503         Merge 'exclude' changes from tar 1.13.22.
50504         This fixes one or two unlikely storage allocation overflow bugs,
50505         but doesn't change user-visible behavior otherwise.
50506
50507 2001-08-30  Paul Eggert  <eggert@twinsun.com>
50508
50509         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
50510         (jm_PREREQ_EXCLUDE): New macro.
50511
50512 2001-08-30  Paul Eggert  <eggert@twinsun.com>
50513
50514         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
50515         tm to be declared.
50516
50517 2001-08-30  Paul Eggert  <eggert@twinsun.com>
50518
50519         * lib/hash.c: Remove '2001' from copyright notice.
50520
50521 2001-08-30  Paul Eggert  <eggert@twinsun.com>
50522
50523         * lib/full-write.h: New file.
50524         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
50525         * lib/full-write.c: Correct credits, as cccp.c no longer
50526         exists and anyway it was so heavily changed from the old cccp
50527         code as to be unrecognizable.  Include full-write.h.
50528         (full_write) Return size_t, with short writes meaning failure.
50529         All callers changed.  This fixes a bug with large buffers
50530         on 64-bit hosts.
50531         * lib/utime.c: Include full-write.h.
50532
50533 2001-08-30  Paul Eggert  <eggert@twinsun.com>
50534
50535         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
50536         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
50537         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
50538         Include if available.
50539         (<xalloc.h>): Include
50540         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
50541         (verify): New macro.  Use it to verify that EXCLUDE macros do not
50542         collide with FNM macros.
50543         (struct patopts): New struct.
50544         (struct exclude): Use it, as exclude patterns now come with options.
50545         (new_exclude): Support above changes.
50546         (new_exclude, add_exclude_file):
50547         Initial size must now be a power of two to simplify overflow checking.
50548         (free_exclude, fnmatch_no_wildcards): New function.
50549         (excluded_filename): No longer requires options arg, as the options
50550         are determined by add_exclude.  Now returns bool, not int.
50551         (excluded_filename, add_exclude):
50552         Add support for the fancy new exclusion options.
50553         (add_exclude, add_exclude_file): Now takes int options arg.
50554         Check for arithmetic overflow when computing sizes.
50555         (add_exclude_file): xrealloc might modify errno, so don't
50556         realloc until after errno might be used.
50557
50558         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
50559         New macros.
50560         (free_exclude): New decl.
50561         (add_exclude, add_exclude_file): Now takes int options arg.
50562         (excluded_filename): No longer requires options arg, as the options
50563         are determined by add_exclude.  Now returns bool, not int.
50564
50565 2001-08-30  Paul Eggert  <eggert@twinsun.com>
50566
50567         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
50568
50569 2001-08-27  Jim Meyering  <meyering@lucent.com>
50570
50571         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
50572
50573         * lib/version-etc.c (N_): Remove definition.
50574         Revert most of last change.
50575         Instead, simply don't mark the `Copyright...' string for translation.
50576         Based on advice from Paul Eggert.
50577
50578         * lib/strtoxmax.c: Tweak comment.
50579
50580 2001-08-26  Jim Meyering  <meyering@lucent.com>
50581
50582         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
50583
50584         * m4/xstrtoimax.m4: New file.
50585         * m4/xstrtoumax.m4: Add comments explaining why we
50586         AC_REPLACE_FUNCS(strtol).
50587
50588 2001-08-26  Jim Meyering  <meyering@lucent.com>
50589
50590         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
50591         of copyright with `%s' so translators don't get an untranslated
50592         message in 2002.
50593         (COPYRIGHT_YEAR): Define.
50594         (version_etc): Use fprintf rather than fputs.
50595         Suggestion from Ulrich Drepper.
50596
50597         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
50598
50599         * lib/strtoll.c: New file, from GNU libc.
50600         * lib/xstrtoimax.c: New file.
50601
50602         * lib/xstrtol.h: Add xstrtoimax.
50603         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
50604         * lib/strtoimax.c: New file.  Likewise, but first define
50605         STRTOUXMAX_SIGNED.
50606
50607         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
50608         ...
50609         * lib/strtoxmax.c: ... then renamed to this.
50610
50611 2001-08-18  Paul Eggert  <eggert@twinsun.com>
50612
50613         * m4/inttypes.m4: Add AC_PREREQ(2.13).
50614         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
50615         (jm_AC_TYPE_INTMAX_T): New macro.
50616         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
50617
50618         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
50619
50620         * m4/longlong.m4: Renamed from ulonglong.m4.
50621         * m4/inttypes.m4: Renamed from inttypes_h.m4.
50622         * m4/uintmax_t.m4: Removed.
50623
50624 2001-08-13  Paul Eggert  <eggert@twinsun.com>
50625
50626         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
50627         Port to Solaris 8, where 'sed' requires a space after the 'r'
50628         command, and where sh dislikes "$/".  Clean up the spacing a bit.
50629         Redirect output to $tmp just once.
50630
50631 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
50632
50633         * lib/addext.c (<errno.h>): Include.
50634         (errno): Declare if not defined.
50635         (addext): Work correctly when pathconf returns -1 and leaves
50636         errno alone because there is no limit.  Also, work even if
50637         pathconf returns a value greater than SIZE_MAX.
50638
50639 2001-08-12  Jim Meyering  <meyering@lucent.com>
50640
50641         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
50642         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
50643         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
50644         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
50645         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
50646         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
50647         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
50648         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
50649         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
50650         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
50651         utime.m4, utimes.m4, xstrtoumax.m4:
50652         Quote the first argument in each use of AC_DEFUN.
50653
50654 2001-08-12  Jim Meyering  <meyering@lucent.com>
50655
50656         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
50657         Simply `return getcwd (NULL, 0);'.
50658         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
50659         Use 1300 as initial value for length, not PATH_MAX.
50660
50661         * lib/pathmax.h: Clean up cpp syntax.
50662
50663 2001-08-12  Jim Meyering  <meyering@lucent.com>
50664
50665         * lib/gettimeofday.c: New file.
50666         * lib/gtod.h: New file.
50667         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
50668
50669 2001-08-05  Jim Meyering  <meyering@lucent.com>
50670
50671         * m4/jm-macros.m4: Require autoconf-2.52.
50672
50673 2001-08-04  Jim Meyering  <meyering@lucent.com>
50674
50675         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
50676         stmt, to get in sync with glibc.
50677
50678 2001-08-03  Paul Eggert  <eggert@twinsun.com>
50679
50680         The following changes are from gettext 0.10.39 as maintained by
50681         Bruno Haible.
50682
50683         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
50684         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
50685         with inverted sense.  All uses changed.
50686
50687         * lib/mbswidth.c: Don't include <limits.h>.
50688         Include <stdlib.h> and <string.h> unconditionally.
50689         (iswcntrl, mbsinit, ISCNTRL): New macros.
50690         (mbsnwidth): Use K&R style function declarations.
50691         Don't bother checking for MB_LEN_MAX == 1, since the compiler
50692         can optimize it when MB_CUR_MAX == 1.
50693         The width of control characters is zero, not 1.
50694
50695 2001-08-03  Paul Eggert  <eggert@twinsun.com>
50696
50697         The following changes are from gettext 0.10.39 as maintained by
50698         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
50699
50700         * m4/codeset.m4: Upgrade to serial AM1.
50701         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
50702         all uses changed.  Quote first arg of AC_DEFUN.
50703         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
50704
50705         * m4/iconv.m4: Upgrade to serial AM2.
50706         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
50707         Add --with-libconv-prefix.
50708         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
50709         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
50710         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
50711         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
50712         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
50713
50714         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
50715         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
50716         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
50717         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
50718         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
50719         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
50720         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
50721         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
50722         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
50723
50724         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
50725         string.h any more.
50726
50727         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
50728         not the default value.
50729
50730         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
50731         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
50732         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
50733         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
50734         Also check for iswcntrl, used for wcwidth fallback.
50735         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
50736         to Autoconf 2.13.
50737
50738 2001-08-03  Jim Meyering  <meyering@lucent.com>
50739
50740         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
50741         as it was in the original.  Reported by Paul Eggert.
50742
50743 2001-07-16  Jim Meyering  <meyering@lucent.com>
50744
50745         * m4/gettimeofday.m4: New file.
50746         Prompted by a report from Bernhard Baehr.
50747
50748 2001-07-15  Jim Meyering  <meyering@lucent.com>
50749
50750         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
50751         stuff. Now it's in ../Makefile.cfg.
50752
50753 2001-07-15  Jim Meyering  <meyering@lucent.com>
50754
50755         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
50756         (BUILT_SOURCES): Add unlocked-io.h.
50757         (io_functions): Define.
50758         (unlocked-io.h): New rule.
50759         (DISTCLEANFILES): Add unlocked-io.h.
50760         (all-local): Depend on unlocked-io.h, to ensure it is created.
50761
50762         * lib/unlocked-io.hin: New file
50763
50764         * lib/regex.c: Update from glibc.
50765
50766 2001-07-05  Jim Meyering  <meyering@lucent.com>
50767
50768         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
50769         recommendation.
50770         (libfetish_a_SOURCES): Put all .h files here instead.
50771         Remove a thus-exposed (better checks in automake) duplicate and
50772         two unnecessary .h files.
50773
50774 2001-07-04  Jim Meyering  <meyering@lucent.com>
50775
50776         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
50777         that generates jm-glibc-io.m4 so that it doesn't trigger any make
50778         distcheck failure.
50779
50780 2001-07-02  Jim Meyering  <meyering@lucent.com>
50781
50782         The following changes were prompted by suggestions from Bruno Haible.
50783
50784         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
50785         is now generated.
50786         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
50787         definition of EXTRA_DIST.
50788         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
50789         ensure that the generated file is created/updated whenever the list
50790         of $(unlocked_functions) is changed.
50791         (jm-glibc-io.m4): New rule.
50792         (unlocked-io.h): New rule -- currently unused.
50793
50794 2001-06-24  Jim Meyering  <meyering@lucent.com>
50795
50796         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
50797         unmatched right bracket, rather than kludging it with an extra,
50798         falsely-matching quote in a comment.  Patch by Akim Demaille.
50799
50800 2001-06-11  Jim Meyering  <meyering@lucent.com>
50801
50802         * lib/regex.c: Update from GNU libc.
50803
50804 2001-05-27  Jim Meyering  <meyering@lucent.com>
50805
50806         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
50807         Check for ut_type in struct utmp.
50808
50809 2001-05-27  Jim Meyering  <meyering@lucent.com>
50810
50811         * lib/readutmp.h (UT_TYPE): Define.
50812
50813 2001-05-24  Jim Meyering  <meyering@lucent.com>
50814
50815         * lib/argmatch.c: Include "quote.h".
50816         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
50817         quote function.  Reported by Göran Uddeborg.
50818
50819 2001-05-22  Jim Meyering  <meyering@lucent.com>
50820
50821         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
50822         now that we use the package-supplied version unconditionally.
50823         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
50824
50825 2001-05-21  Jim Meyering  <meyering@lucent.com>
50826
50827         * m4/regex.m4: Change a couple backticks to single quotes to avoid
50828         shell syntax errors.
50829
50830 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
50831
50832         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
50833
50834 2001-05-20  Paul Eggert  <eggert@twinsun.com>
50835
50836         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
50837         Don't bother to check library strftime, since
50838         we'll be using our own my_strftime function anyway.
50839         Define my_strftime instead of strftime.
50840
50841 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
50842
50843         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
50844         which is not yet declared.
50845
50846 2001-05-15  Jim Meyering  <meyering@lucent.com>
50847
50848         * m4/regex.m4: Use proper quoting so brackets appear in the test
50849         program.
50850         Reported by, and with help from, Bruno Haible.
50851
50852 2001-05-13  Jim Meyering  <meyering@lucent.com>
50853
50854         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
50855         undefined.
50856
50857 2001-05-11  Paul Eggert  <eggert@twinsun.com>
50858
50859         dirname code cleanup.  base_name now behaves more compatibly
50860         with POSIX basename when given file names that have trailing
50861         slashes, and similarly for dir_name.  Add new primitives
50862         base_len and dir_len.  Put the directory-name-related decls
50863         into dirname.h.
50864
50865         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
50866         * lib/backupfile.c (base_name): Likewise.
50867         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
50868         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
50869         * lib/makepath.c (strip_trailing_slashes): Likewise.
50870         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
50871         ISSLASH): Likewise.
50872         * lib/rename.c (strip_trailing_slashes): Likewise.
50873         * lib/same.c (base_name): Likewise.
50874         * lib/stripslash.c (ISSLASH): Likewise.
50875
50876         * lib/addext.c: Include <dirname.h> after size_t is defined.
50877         * lib/backupfile.c: Likewise.
50878
50879         * lib/addext.c (addext): Use base_len to trim redundant
50880         trailing slashes instead of doing it ourselves.
50881         But do not trim the last slash if it is not redundant.
50882
50883         * lib/backupfile.c (find_backup_file_name,
50884         max_backup_version): Use base_len instead of rolling it ourselves.
50885         Handle the case of "" and (on DOS) "C:" correctly.
50886
50887         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
50888         needed. Include <string.h>, <dirname.h>.
50889         (base_name): Allow file names ending in slashes, other than names
50890         that are all slashes.  In this case, return the basename followed
50891         by the slashes.  This is more general, and can be used in places
50892         where the original base_name purposely had an assertion failure.
50893         (base_len): New function.
50894
50895         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
50896         Do not include <assert.h>; no longer needed.
50897         Include xalloc.h.
50898         (memrchr): Remove decl.
50899         (dir_name_r): Remove.
50900         (dir_len): Renamed from dirlen.  All callers changed.
50901         Rewrite in terms of base_name, for simplicity and consistency.
50902         (dir_name): Never return NULL.  All callers changed.
50903         Do not include <stdlib.h> in test program; no longer needed.
50904         return 0; is fine for test program.
50905
50906         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
50907         New macros.
50908         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
50909
50910         * lib/path-concat.c (path_concat): Use base_len to compute
50911         base length, not strlen; this means we cannot rely on memcpy
50912         to null-terminate.
50913
50914         * lib/same.c (STREQ): Remove.
50915         (same_name): Handle the case where the basename ends in trailing '/'.
50916
50917         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
50918         a slash was stripped.  Do not strip the last slash after a
50919         file system prefix.
50920
50921 2001-05-11  Paul Eggert  <eggert@twinsun.com>
50922
50923         * lib/Makefile.am (libfetish_a_SOURCES):
50924         Add strftime.c, since we now compile it on all hosts.
50925
50926         * lib/strftime.c (my_strftime):
50927         Define to nstrftime if emacs, but only if my_strftime is not defined.
50928         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
50929         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
50930         Add one more extra argument: a nanoseconds value.
50931         All uses changed.
50932         (ns): New macro.
50933         (my_strftime function): Add %N format.
50934         (emacs_strftimeu): Renamed from emacs_strftime,
50935         with extra ut argument.
50936
50937 2001-05-09  Paul Eggert  <eggert@twinsun.com>
50938
50939         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
50940
50941 2001-04-21  Jim Meyering  <meyering@lucent.com>
50942
50943         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
50944         doesn't interfere.
50945
50946 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
50947
50948         * m4/ftruncate.m4: Check for chsize.
50949         Link with ftruncate.o unconditionally if ftruncate is missing.
50950         This was required when cross-compiling to i586-mingw32msvc.
50951
50952 2001-04-08  Jim Meyering  <meyering@lucent.com>
50953
50954         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
50955         recomputed; that's necessary when the offset spans a DST transition.
50956         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
50957
50958 2001-04-02  Jim Meyering  <meyering@lucent.com>
50959
50960         * lib/regex.h, regex.c: Update from GNU libc.
50961
50962 2001-03-24  Jim Meyering  <meyering@lucent.com>
50963
50964         * m4/jm-macros.m4: Require autoconf-2.49d.
50965
50966 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
50967
50968         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
50969
50970 2001-03-19  Paul Eggert  <eggert@twinsun.com>
50971
50972         * lib/version-etc.c (version_etc_copyright): Update to 2001.
50973
50974 2001-03-17  Jim Meyering  <meyering@lucent.com>
50975
50976         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
50977         now that the version in autoconf is equivalent.
50978         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
50979
50980         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
50981         Suggestion from Akim Demaille.
50982
50983         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
50984         (jm_PREREQ_TEMPNAME): New function.
50985
50986 2001-03-16  Paul Eggert  <eggert@twinsun.com>
50987
50988         * lib/tempname.c (uint64_t): Define to uintmax_t if
50989         not defined, and if UINT64_MAX is not defined.
50990         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
50991         Reported by John David Anglin.
50992
50993 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
50994
50995         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
50996         resolve alias if codeset is empty.
50997         * lib/config.charset (BeOS): Use wildcard syntax.
50998
50999 2001-03-13  Jim Meyering  <meyering@lucent.com>
51000
51001         * lib/path-concat.c (path_concat)
51002         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
51003         concatenating e.g., `C:' and `foo'.
51004         From Bruno Haible.
51005
51006 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
51007
51008         * lib/localcharset.c (locale_charset): Don't use
51009         setlocale(LC_CTYPE,NULL). Don't return NULL.
51010         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
51011
51012 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
51013
51014         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
51015         support for DOS/DJGPP.
51016
51017 2001-03-01  Paul Eggert  <eggert@twinsun.com>
51018
51019         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
51020         lacks mkstemp.  Compile our own tempname.c if we compile our own
51021         mkstemp.c, as mkstemp relies on tempname.
51022
51023 2001-03-01  Jim Meyering  <meyering@lucent.com>
51024
51025         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
51026         AH_VERBATIM really does output its argument verbatim.
51027
51028 2001-02-28  Paul Eggert  <eggert@twinsun.com>
51029
51030         * lib/Makefile.am (libfetish_a_SOURCES):
51031         Add dup-safer.c, fopen-safer.c.
51032         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
51033
51034         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
51035         * lib/unistd-safer.h: New files.
51036
51037 2001-02-25  Paul Eggert  <eggert@twinsun.com>
51038
51039         The mkstemp replacement is taken from glibc 2.2.2, with some
51040         portability fixes for use outside glibc, as follows:
51041
51042         * lib/tempname.c (struct_stat64): New macro.
51043         (direxists, __gen_tempname): Use it.
51044         This avoids a portability problem with Solaris 8.
51045
51046         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
51047         (<stddef.h>, <stdint.h>, <string.h>):
51048         Include only if STDC_HEADERS || _LIBC.
51049         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
51050         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
51051         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
51052         (__set_errno): Define this macro if <errno.h> doesn't.
51053         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
51054         Define these macros if <stdio.h> doesn't.
51055         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
51056         Define these macros if <sys/stat.h>
51057         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
51058         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
51059         __xstat64): Define if not _LIBC.
51060         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
51061         (__gen_tempname): Invoke gettimeofday only if
51062         HAVE_GETTIMEOFDAY || _LIBC;
51063         otherwise, fall back on plain "time".
51064         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
51065
51066         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
51067
51068         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
51069
51070 2001-02-18  Paul Eggert  <eggert@twinsun.com>
51071
51072         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
51073
51074 2001-02-17  Paul Eggert  <eggert@twinsun.com>
51075
51076         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
51077         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
51078         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
51079         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
51080
51081 2001-02-17  Paul Eggert  <eggert@twinsun.com>
51082
51083         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
51084         Remove workaround macros for hosts that have mbrtowc but not
51085         mbstate_t, as we now insist on proper declarations for both
51086         before using mbrtowc.
51087
51088 2001-02-17  Jim Meyering  <meyering@lucent.com>
51089
51090         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
51091         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
51092         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
51093         UnixWare 7.1.1.
51094
51095         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
51096         rather than AC_CACHE_VAL.
51097
51098 2001-02-17  Jim Meyering  <meyering@lucent.com>
51099
51100         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
51101         around included file name.
51102
51103         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
51104
51105         * lib/strftime.c: Update from GNU libc (the only changes were to
51106         comments).
51107
51108 2001-02-17  Jim Meyering  <meyering@lucent.com>
51109
51110         * lib/regex.c: Update from libc.
51111
51112 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
51113
51114         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
51115         clash.
51116
51117 2001-02-16  Paul Eggert  <eggert@twinsun.com>
51118
51119         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
51120         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
51121         Reported by Mark Hounschell via Paul Eggert.
51122
51123 2001-02-07  Jim Meyering  <meyering@lucent.com>
51124
51125         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
51126
51127 2001-02-05  Jim Meyering  <meyering@lucent.com>
51128
51129         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
51130         it includes the patch required for `large file' support with at least
51131         HP-UX's 10.20 /bin/cc.
51132
51133 2001-02-03  Jim Meyering  <meyering@lucent.com>
51134
51135         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
51136         AS_IF, now that it works once again (mysteriously).
51137         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
51138
51139 2001-01-30  Jim Meyering  <meyering@lucent.com>
51140
51141         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
51142         * m4/chown.m4: Rename conftestchown to conftest.chown.
51143         * m4/rename.m4: s/conftestdir/conftest.d1/ and
51144         s/conftestdir2/conftest.d2/.
51145         * m4/utimes.m4: s/conftestdata/conftest.data/
51146         Inspired by Pavel Roskin's change in autoconf.
51147
51148 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
51149
51150         * lib/config.charset: Update for FreeBSD 4.2.
51151
51152 2001-01-27  Jim Meyering  <meyering@lucent.com>
51153
51154         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
51155         a use of AS_IF.
51156         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
51157
51158 2001-01-26  Jim Meyering  <meyering@lucent.com>
51159
51160         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
51161         quotearg.c includes it.
51162
51163 2001-01-26  Jim Meyering  <meyering@lucent.com>
51164
51165         * lib/quotearg.c: Include stddef.h.
51166         * lib/quote.c: Include stddef.h.
51167         Reported by Axel Kittenberger.
51168
51169         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
51170         line in double quotes so that it evokes a better diagnostic.
51171         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
51172         Reported by Axel Kittenberger.
51173
51174 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
51175
51176         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
51177         as if it was a `charset'.
51178
51179 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
51180
51181         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
51182         has const.
51183
51184 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
51185
51186         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
51187         to avoid a warning.  Add back 'const' to inptr.
51188
51189 2001-01-20  Jim Meyering  <meyering@lucent.com>
51190
51191         Be sure that headers are checked before used in code compiled
51192         for the type checks.
51193         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
51194         In place of that, invoke jm_CHECK_ALL_TYPES.
51195         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
51196         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
51197         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
51198         The check for ssize_t was mistakenly run before the test for unistd.h.
51199
51200         The configure-time check for stdbool.h was missing.
51201         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
51202         (jm_PREREQ_HASH): New function.
51203
51204 2001-01-17  Jim Meyering  <meyering@lucent.com>
51205
51206         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
51207         for autoconf-2.49c.
51208         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
51209
51210 2001-01-16  Jim Meyering  <meyering@lucent.com>
51211
51212         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
51213         From Bruno Haible.
51214
51215 2001-01-14  Jim Meyering  <meyering@lucent.com>
51216
51217         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
51218         foo and bar.  Create conftestdir/ in the script, not in the C code.
51219         Remove directories in the script, not in the C code.
51220         Remove conftestdir{,2} before trying to create the directory.
51221         Make the entire configure script fail if the mkdir fails.
51222
51223 2001-01-14  Jim Meyering  <meyering@lucent.com>
51224
51225         * lib/rename.c: New file.  From Volker Borchert.
51226         Include stdlib.h, string.h or strings.h, and xalloc.h.
51227         Use strip_trailing_slashes rather than open-coding it.
51228
51229 2001-01-03  Paul Eggert  <eggert@twinsun.com>
51230
51231         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
51232
51233 2001-01-03  Jim Meyering  <meyering@lucent.com>
51234
51235         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
51236         of local `inptr' to avoid warning with some system declarations of
51237         iconv.
51238
51239 2001-01-02  Volker Borchert  <bt@teknon.de>
51240
51241         * m4/rename.m4: New file.
51242         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
51243
51244 2001-01-01  Jim Meyering  <meyering@lucent.com>
51245
51246         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
51247         even on systems with utmpx.h.  It's necessary for the declaration of
51248         utmp's ut_user member.  Reported by Andreas Jaeger.
51249
51250         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
51251         available. They are required for the declarations of getgrgid and
51252         getpwuid resp.
51253         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
51254         Reported by Andreas Jaeger.
51255
51256 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
51257
51258         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
51259         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
51260         so `make install' also works in VPATH builds.
51261
51262 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
51263
51264         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
51265         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
51266         can be used in subdirectories.
51267
51268 2000-12-29  Paul Eggert  <eggert@twinsun.com>
51269
51270         * lib/modechange.c: Do not assume that mode_t uses the
51271         traditional octal encoding.  E.g. "chmod 1 FOO" should set
51272         the other-execute bit of FOO even if S_IXOTH != 1.
51273
51274         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
51275         WOTH, XOTH, ALLM): New macros.
51276         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
51277          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
51278         Use them.
51279         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
51280         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
51281         (mode_compile):
51282         No need to use uintmax_t; unsigned long is long enough.
51283         Don't bother to get suffix since we don't use it.
51284
51285 2000-12-26  Jim Meyering  <meyering@lucent.com>
51286
51287         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
51288         better with autoheader.
51289
51290 2000-12-24  Jim Meyering  <meyering@lucent.com>
51291
51292         * lib/hash.c (is_prime): Return explicit boolean values.
51293         (hash_get_first): Return NULL to appease Irix5.6's 89.
51294         Reported by Nelson Beebe.
51295
51296 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
51297
51298         * lib/localcharset.c (locale_charset): Add support for Win32.
51299
51300 2000-12-18  Paul Eggert  <eggert@twinsun.com>
51301
51302         * lib/physmem.h, lib/physmem.c: New files.
51303
51304         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
51305         (noinst_HEADERS): Add physmem.h.
51306
51307         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
51308         't' for compatibility with Solaris 8 sort.
51309
51310 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
51311
51312         * lib/config.charset: Add support for BeOS.
51313
51314 2000-12-17  Jim Meyering  <meyering@lucent.com>
51315
51316         * m4/dos.m4 (jm_AC_DOS): New file and macro.
51317         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
51318
51319 2000-12-16  Jim Meyering  <meyering@lucent.com>
51320
51321         This bug had a serious impact on chown: `chown N:M FILE' (for integer
51322         N and M) would have treated it like `chown N:N FILE'.
51323
51324         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
51325
51326 2000-12-16  Jim Meyering  <meyering@lucent.com>
51327
51328         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
51329         SHELLS_FILE to a file name that's useful on djgpp systems.
51330         Include stdlib.h.
51331         (ADDITIONAL_DEFAULT_SHELLS): Define.
51332         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
51333         Based mostly on a patch from Prashant TR.
51334
51335 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
51336
51337         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
51338         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
51339         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
51340
51341 2000-12-08  Andreas Schwab  <schwab@suse.de>
51342
51343         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
51344         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
51345
51346 2000-12-07  Jim Meyering  <meyering@lucent.com>
51347
51348         * lib/stripslash.c (ISSLASH): Define.
51349         (strip_trailing_slashes): Use ISSLASH rather than comparing against
51350         `/'.
51351         From Prashant TR.
51352
51353         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
51354         (dir_name_r): Declare this function as static.
51355         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
51356         manifest itself on a name containing a mix of slashes and
51357         backslashes.
51358         Make this function work with names starting with a DOS-style
51359         drive letter and colon prefix.
51360         (dir_name): Append `.' if necessary.
51361         Based mostly on patches from Prashant TR and Eli Zaretskii.
51362
51363         * lib/dirname.h (dir_name_r): Remove prototype.
51364
51365 2000-12-06  Paul Eggert  <eggert@twinsun.com>
51366
51367         * m4/off_t-format.m4: Remove this file.
51368         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
51369
51370 2000-12-06  Jim Meyering  <meyering@lucent.com>
51371
51372         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
51373         replacement strtoull, we may well need the replacement strtoul, too.
51374         Check for declarations of strtoul and strtoull.
51375         Check for strtol.  Mainly as a cue to cause automake to include
51376         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
51377         Check for limits.h -- strtol.c needs it.
51378
51379 2000-12-05  Jim Meyering  <meyering@lucent.com>
51380
51381         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
51382
51383 2000-12-04  Jim Meyering  <meyering@lucent.com>
51384
51385         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
51386         Also include memory.h, stdlib.h, unistd.h if appropriate.
51387         Reported by Andreas Jaeger (conflicting declaration of malloc).
51388
51389 2000-12-02  Jim Meyering  <meyering@lucent.com>
51390
51391         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
51392         * m4/jm-macros.m4 (jm_MACROS): require it.
51393
51394 2000-12-02  Jim Meyering  <meyering@lucent.com>
51395
51396         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
51397
51398 2000-12-01  Paul Eggert  <eggert@twinsun.com>
51399
51400         * lib/memrchr.c: Include <config.h> before any system include file.
51401
51402 2000-11-30  Jim Meyering  <meyering@lucent.com>
51403
51404         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
51405
51406 2000-11-30  Jim Meyering  <meyering@lucent.com>
51407
51408         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
51409
51410 2000-11-29  Paul Eggert  <eggert@twinsun.com>
51411
51412         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
51413
51414 2000-11-26  Jim Meyering  <meyering@lucent.com>
51415
51416         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
51417
51418 2000-11-22  Paul Eggert  <eggert@twinsun.com>
51419
51420         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
51421         size of (size_t) -1; it's not portable.
51422
51423 2000-11-17  Jim Meyering  <meyering@lucent.com>
51424
51425         * lib/strstr.c: Update from GNU libc.
51426
51427 2000-11-17  Akim Demaille  <akim@epita.fr>
51428
51429         * lib/obstack.h: Formatting changes.
51430         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
51431         prevent type checking.
51432         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
51433         cast the value to (void *): assigning a `foo *' to a `void *'
51434         variable is valid.
51435         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
51436
51437 2000-11-16  Jim Meyering  <meyering@lucent.com>
51438
51439         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
51440
51441 2000-11-11  Jim Meyering  <meyering@lucent.com>
51442
51443         * lib/error.c: Add a couple #includes, merging from GNU libc version.
51444
51445 2000-11-10  Jim Meyering  <meyering@lucent.com>
51446
51447         * lib/obstack.h: Update from GNU libc.
51448         * lib/obstack.c: Likewise.
51449
51450 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
51451
51452         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
51453
51454 2000-11-06  Paul Eggert  <eggert@twinsun.com>
51455
51456         * lib/getusershell.c (setusershell): Use rewind rather than
51457         fseek/fseeko, to avoid configuration hassles with fseeko.
51458         Don't bother opening SHELLS_FILE if shellstream is NULL;
51459         it's not necessary.
51460
51461 2000-11-05  Jim Meyering  <meyering@lucent.com>
51462
51463         * lib/makepath.h (make_dir): Declare.
51464         * lib/makepath.c (make_dir): Remove `static' attribute.
51465         Tweak a comment.
51466
51467 2000-11-04  Jim Meyering  <meyering@lucent.com>
51468
51469         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
51470
51471 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
51472
51473         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
51474         last one in a bucket, advance to the next bucket.
51475
51476 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
51477
51478         * lib/fnmatch.c: Do not comment out all the code if we are using
51479         the GNU C library, because in some cases we are replacing buggy
51480         code in the GNU C library itself.
51481
51482 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
51483
51484         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
51485         (regex_compile): Catch bogus \(\1\).
51486
51487 2000-10-30  Paul Eggert  <eggert@twinsun.com>
51488
51489         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
51490         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
51491         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
51492
51493 2000-10-30  Paul Eggert  <eggert@twinsun.com>
51494
51495         * lib/error.h, getline.h, modechange.h:
51496         Remove "2000" from Copyright line, as the file hasn't been
51497         changed this year other than in the copyright notice.
51498
51499         * lib/xalloc.h: Add "2000" to Copyright line, as this file
51500         was changed this year.
51501
51502 2000-10-29  Jim Meyering  <meyering@lucent.com>
51503
51504         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
51505         renaming.
51506         * m4/ls-mntd-fs.m4: Likewise
51507
51508 2000-10-29  Jim Meyering  <meyering@lucent.com>
51509
51510         * lib/xstat.in: Fix grammar in comment.
51511
51512 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
51513
51514         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
51515         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
51516         doesn't define __restrict_arr.
51517
51518 2000-10-28  Jim Meyering  <meyering@lucent.com>
51519
51520         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
51521         (jm_PREREQ_MEMCHR): New function.
51522
51523 2000-10-28  Jim Meyering  <meyering@lucent.com>
51524
51525         * lib/memchr.c: Update from libc.
51526         Adjust for portability:
51527         [HAVE_STDLIB_H]: Include stdlib.h.
51528         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
51529         Undef __memchr, too.
51530         [!weak_alias]: Define __memchr to memchr.
51531
51532         * lib/regex.c: Update from libc.
51533         * lib/regex.h: Likewise.
51534         * lib/getopt1.c: Likewise.
51535         * lib/memcmp.c: Likewise.
51536
51537         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
51538         Avoid using fseek, when possible -- it's broken by design.
51539         Patch by Ulrich Drepper.
51540
51541 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
51542
51543         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
51544         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
51545         Giving in to popular pressure to shut up the compiler with casts.
51546
51547 2000-10-26  Jim Meyering  <meyering@lucent.com>
51548
51549         * lib/strftime.c: Update from libc.
51550
51551 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
51552
51553         * regex.c: More `unsigned char' -> `re_char' changes.
51554         Also change several `int' into `re_wchar_t'.
51555         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
51556         (PUSH_FAILURE_POINTER): Don't cast any more.
51557         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
51558         We want GCC to complain, since this piece of code makes
51559         re_match non-reentrant, which *should* be fixed.
51560         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
51561         (EXTEND_BUFFER): Use RETALLOC.
51562         (SET_LIST_BIT): Don't cast.
51563         (re_wchar_t): New type.
51564         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
51565         that those two functions will always properly return.
51566         (IMMEDIATE_QUIT_CHECK): Cast to void.
51567         (analyse_first): Use recursion rather than an explicit stack.
51568         (re_compile_fastmap): Can't fail anymore.
51569         (re_search_2): Don't check re_compile_fastmap for failure.
51570         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
51571         Now also sets the new value (passed in a new argument).
51572         (re_match_2_internal): Use it.
51573         Also, use a new var `reg' of type size_t when looping through regs
51574         rather than reuse the inappropriate `mcnt'.
51575
51576 2000-10-25  Jim Meyering  <meyering@lucent.com>
51577
51578         * lib/obstack.c: Update from libc.
51579
51580 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
51581
51582         * regex.c (regex_compile): Change the way of handling a range from
51583         a char less than 256 to a char not less than 256.
51584
51585 2000-10-24  Andrew Innes  <andrewi@gnu.org>
51586
51587         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
51588         NT-Emacs only.
51589         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
51590         so that re_search functions only quit when callers expect them to.
51591
51592 2000-10-23  Jim Meyering  <meyering@lucent.com>
51593
51594         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
51595         wrong.  That set_locale call must not have any side effects.
51596         From Paul Eggert.
51597
51598 2000-10-22  Jim Meyering  <meyering@lucent.com>
51599
51600         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
51601         [CYCLIC]: Remove now-unused definition.
51602
51603         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
51604         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
51605         Suggestion from Ulrich Drepper.
51606
51607 2000-10-21  Jim Meyering  <meyering@lucent.com>
51608
51609         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
51610         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
51611         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
51612
51613 2000-10-21  Jim Meyering  <meyering@lucent.com>
51614
51615         * lib/dirname.c (memrchr): Declare if necessary.
51616         (dir_name): Remove the restriction that there be no
51617         trailing slashes.  Now, this code skips past them, effectively
51618         ignoring them.
51619         [TEST_DIRNAME] (main): New unit tests.
51620
51621         * lib/memrchr.c: New file from GNU libc.
51622         Undef __memrchr, too.
51623         [!weak_alias]: Define __memrchr to memrchr.
51624         Guard weak_alias use with `#ifdef weak_alias'.
51625
51626 2000-10-21  Jim Meyering  <meyering@lucent.com>
51627
51628         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
51629         (dir_name): Use dir_name_r.
51630         * lib/dirname.h (dir_name_r): Declare it.
51631
51632 2000-10-17  Jim Meyering  <meyering@lucent.com>
51633
51634         * lib/quote.h (PARAMS): Define and use.
51635         Reported by Akim Demaille.
51636
51637         * lib/getopt.c: Update from libc.
51638
51639 2000-10-16  Jim Meyering  <meyering@lucent.com>
51640
51641         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
51642         setlocale.
51643         From Jan Fedak.
51644
51645 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
51646
51647         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
51648
51649 2000-09-25  Jim Meyering  <meyering@lucent.com>
51650
51651         * lib/md5.h (rol): Define (from GnuPG).
51652
51653         * lib/sha.c: Give credit (GnuPG) where due.
51654         (M): Use rol rather than open-coding it.
51655         Add a FIXME comment.
51656
51657 2000-09-21  Jim Meyering  <meyering@lucent.com>
51658
51659         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
51660         Reported by Michael Stone.
51661
51662 2000-09-20  Jim Meyering  <meyering@lucent.com>
51663
51664         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
51665         (noinst_HEADERS): Add sha.h.
51666         Based on code from Scott G. Miller and from GnuPG.
51667
51668 2000-09-18  Jim Meyering  <meyering@lucent.com>
51669
51670         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
51671         LIBS. Otherwise, everyone ends up linking with -lelf for some
51672         configurations.
51673         Reported by Mike Stone.
51674
51675 2000-09-15  Jim Meyering  <meyering@lucent.com>
51676
51677         * lib/regex.c: Update from libc.
51678
51679 2000-09-10  Jim Meyering  <meyering@lucent.com>
51680
51681         * lib/getopt.c (_getopt_internal): Update from glibc.
51682
51683 2000-09-09  Jim Meyering  <meyering@lucent.com>
51684
51685         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
51686         think it should be used as a general replacement for isascii.
51687         * lib/fnmatch.c: Likewise.
51688         * lib/mbswidth.c: Likewise
51689         * lib/regex.c: Likewise.
51690
51691         Don't use atoi.
51692         * lib/userspec.c: Include sys/param.h and limits.h.
51693         Include xstrtol.h.
51694         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
51695         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
51696         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
51697         UID, GID.  Check range.
51698
51699 2000-09-06  Jim Meyering  <meyering@lucent.com>
51700
51701         * lib/getopt.c (_getopt_internal): Update from glibc.
51702
51703 2000-08-30  Jim Meyering  <meyering@lucent.com>
51704
51705         * lib/strftime.c: Merge in changes from GNU libc.
51706
51707 2000-08-26  Jim Meyering  <meyering@lucent.com>
51708
51709         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
51710         * m4/fpending.m4: New file.
51711
51712 2000-08-26  Jim Meyering  <meyering@lucent.com>
51713
51714         * lib/closeout.c: Include "__fpending.h".
51715         (close_stdout_status): Return right away if there's nothing to flush.
51716
51717         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
51718         * lib/__fpending.c: New file.
51719         * lib/__fpending.h: New file.
51720
51721 2000-08-20  Jim Meyering  <meyering@lucent.com>
51722
51723         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
51724         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
51725         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
51726
51727 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
51728
51729         Improve fileutils installation on systems where running
51730         programs (like install) can't be unlinked.
51731         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
51732         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
51733
51734 2000-08-07  Paul Eggert  <eggert@twinsun.com>
51735
51736         Standardize on "memory exhausted" instead of "Memory exhausted"
51737         or "virtual memory exhausted".
51738         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
51739         "virtual memory exhausted".
51740         * lib/same.c (same_name): Invoke xalloc_die instead of printing
51741         our own message.
51742         * lib/userspec.c (parse_user_spec): Likewise.
51743         * lib/bumpalloc.h: comment fix
51744         * lib/same.c, userspec.c: Include xalloc.h.
51745
51746         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
51747         not char *const and pointing to a constant array.
51748         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
51749         (xrealloc): Comment fix.
51750
51751         * lib/userspec.c (parse_user_spec):
51752         Don't translate a message until just before returning,
51753         to avoid unnecessary translation.
51754
51755 2000-08-07  Jim Meyering  <meyering@lucent.com>
51756
51757         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
51758         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
51759         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
51760         getgroups.c, gethostname.c, getopt.h, group-member.c,
51761         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
51762         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
51763         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
51764         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
51765         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
51766         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
51767         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
51768         yesno.c: Back out Copyright date changes for each file with no change
51769         this year.  This eases coordination with other programs using the same
51770         source code modules.  From Paul Eggert.
51771
51772 2000-08-06  Paul Eggert  <eggert@twinsun.com>
51773
51774         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
51775         not char, for compatibility with glibc 2.1.3 strftime.c.
51776
51777 2000-08-03  Greg McGary  <greg@mcgary.org>
51778
51779         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
51780         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
51781         (EXTEND_BUFFER): Use them.
51782
51783 2000-08-01  Jim Meyering  <meyering@lucent.com>
51784
51785         * lib/dirname.c (ISSLASH): Define.
51786         (BACKSLASH_IS_PATH_SEPARATOR): Define.
51787         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
51788         both `\' and `/' may be use as path separators.
51789         Based on a patch from Prashant TR.
51790
51791 2000-07-31  Paul Eggert  <eggert@twinsun.com>
51792
51793         * lib/quotearg.c (quotearg_n_options): Don't make the initial
51794         slot vector a constant, since it might get modified.
51795
51796 2000-07-31  Jim Meyering  <meyering@lucent.com>
51797
51798         * lib/xmalloc.c: Use `virtual memory exhausted', not
51799         `Memory exhausted'.
51800         * lib/obstack.c (print_and_abort): Likewise.
51801
51802 2000-07-30  Paul Eggert  <eggert@twinsun.com>
51803
51804         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
51805         buffer, so that the caller can always quote one small
51806         component of a "memory exhausted" message in slot 0.
51807         From a suggestion by Jim Meyering.
51808
51809 2000-07-30  Jim Meyering  <meyering@lucent.com>
51810
51811         * lib/makepath.c (make_path): Quote the other instance, too.
51812
51813         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
51814         (STATIC_BUF_SIZE): Define.
51815         (quotearg_n_options): Use only statically allocated storage when
51816         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
51817         than STATIC_BUF_SIZE.
51818
51819 2000-07-29  Jim Meyering  <meyering@lucent.com>
51820
51821         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
51822         * lib/dirname.c (dir_name): Likewise.
51823
51824         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
51825         `/'.
51826
51827         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
51828         (dir_name): Assert that there are no trailing slashes.
51829
51830 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
51831
51832         * lib/mbswidth.h (mbswidth): Add a flags argument.
51833         (mbswidth): New declaration.
51834         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
51835         * lib/mbswidth.c (mbswidth): Add a flags argument.
51836         (mbsnwidth): New function.
51837
51838 2000-07-24  Jim Meyering  <meyering@lucent.com>
51839
51840         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
51841
51842 2000-07-23  Paul Eggert  <eggert@twinsun.com>
51843
51844         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
51845
51846 2000-07-23  Paul Eggert  <eggert@twinsun.com>
51847
51848         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
51849         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
51850         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
51851         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
51852         invoke multibyte primitives.
51853
51854 2000-07-23  Paul Eggert  <eggert@twinsun.com>
51855
51856         * lib/quotearg.c:
51857         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
51858         so that mbstate_t is always defined.
51859
51860         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
51861         be 1 in at least one GCC installation, and this configuration
51862         error is likely to be common.  Ignoring MB_LEN_MAX hurts
51863         performance on hosts that have mbrtowc but have only unibyte
51864         locales, but I assume these hosts are rare.
51865
51866 2000-07-23  Paul Eggert  <eggert@twinsun.com>
51867
51868         * lib/mbswidth.c (_XOPEN_SOURCE):
51869         Don't define; this causes problems on Solaris 7.
51870         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
51871
51872 2000-07-23  Jim Meyering  <meyering@lucent.com>
51873
51874         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
51875         too: getgrgid, getpwuid, getuid.
51876
51877 2000-07-23  Jim Meyering  <meyering@lucent.com>
51878
51879         * lib/basename.c (base_name): Add an assertion.
51880
51881 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
51882
51883         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
51884         shadow its mbsinit function.
51885
51886 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
51887
51888         * lib/mbswidth.h: New file.
51889         * lib/mbswidth.c: New file.
51890         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
51891         (noinst_HEADERS): Add mbswidth.h.
51892
51893 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
51894
51895         * lib/config.charset: Add support for FreeBSD. Improve support for
51896         HP-UX and IRIX 6.
51897
51898 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
51899
51900         * m4/mbswidth.m4: New file.
51901         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
51902
51903 2000-07-15  Jim Meyering  <meyering@lucent.com>
51904
51905         * lib/makepath.c: Include quote.h.
51906         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
51907         corresponding argument in a `quote (...)' call.
51908         Give better diagnostics.
51909
51910         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
51911         (noinst_HEADERS): Add quote.h.
51912
51913         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
51914         from tar's src/misc.c.
51915         * lib/quote.h: New file.  Prototypes for same.
51916
51917 2000-07-14  Paul Eggert  <eggert@twinsun.com>
51918
51919         From a suggestion by Bruno Haible.
51920         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
51921         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
51922         to decide whether to define the BeOS workaround macro;
51923         this adjusts to the change to AC_MBSTATE_T.
51924
51925 2000-07-14  Jim Meyering  <meyering@lucent.com>
51926
51927         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
51928         jm_AC_TYPE_UINTMAX_T.
51929
51930 2000-07-13  Paul Eggert  <eggert@twinsun.com>
51931
51932         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
51933
51934         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
51935         quotearg_buffer_restyled): Add support for
51936         clocale_quoting_style.  Undo previous change to
51937         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
51938         and "{RIGHT QUOTATION MARK}" msgids.
51939
51940 2000-07-10  Paul Eggert  <eggert@twinsun.com>
51941
51942         From a suggestion by Bruno Haible.
51943         * m4/mbstate_t.m4 (AC_MBSTATE_T):
51944         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
51945         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
51946         and mbstate_t, to a single-part test that simply defines mbstate_t.
51947         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
51948         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
51949
51950 2000-07-10  Jim Meyering  <meyering@lucent.com>
51951
51952         * m4/strerror_r.m4: Mirror the correction made in autoconf.
51953
51954         * m4/gnu-source.m4: Output to confdefs.h directly.
51955         Suggestion from Akim Demaille.
51956
51957 2000-07-09  Paul Eggert  <eggert@twinsun.com>
51958
51959         The old behavior of quoting `like this' doesn't look good with
51960         newer, ISO-style fonts.  See:
51961         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
51962
51963         Instead, quote "like this" by default.  Let the translator
51964         tailor the locale-specific quoting behavior by providing
51965         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
51966
51967         * lib/quotearg.c (N_): New macro.
51968         (gettext_default): New function.
51969         (quotearg_buffer_restyled): Use
51970         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
51971         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
51972
51973 2000-07-09  Jim Meyering  <meyering@lucent.com>
51974
51975         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
51976         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
51977
51978         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
51979         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
51980
51981 2000-07-09  Jim Meyering  <meyering@lucent.com>
51982
51983         * lib/Most files: Update copyright dates to include 2000.
51984
51985 2000-07-08  Jim Meyering  <meyering@lucent.com>
51986
51987         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
51988         if not defined.
51989         (xgethostname): Remove now-unnecessary #ifdef.
51990         Move declaration of `err' into loop where it's used.
51991
51992 2000-07-05  Paul Eggert  <eggert@twinsun.com>
51993         and Bruno Haible  <haible@clisp.cons.org>
51994
51995         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
51996         only if the test for an object-type mbstate_t fails.  This
51997         prevents us from mistakenly reporting that mbstate_t is a
51998         system object type after we "#define mbstate_t int" to work
51999         around its lack.
52000
52001 2000-07-05  Paul Eggert  <eggert@twinsun.com>
52002         and Bruno Haible  <haible@clisp.cons.org>
52003
52004         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
52005
52006 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
52007
52008         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
52009         to strerror_r.
52010         Include <ctype.h> for use of isalpha.
52011
52012 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
52013
52014         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
52015         by allocating a larger buffer. Test the gethostname return value for
52016         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
52017         returns an error and ENAMETOOLONG isn't defined.
52018
52019 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
52020
52021         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
52022         dimension.
52023
52024 2000-07-04  Jim Meyering  <meyering@lucent.com>
52025
52026         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
52027         of the deprecated AC_CHECKING.
52028
52029 2000-07-04  Jim Meyering  <meyering@lucent.com>
52030
52031         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
52032         Reported by Bruno Haible.
52033
52034 2000-07-04  Jim Meyering  <meyering@lucent.com>
52035
52036         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
52037         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
52038         lacks mbrtowc.
52039
52040 2000-07-03  Paul Eggert  <eggert@twinsun.com>
52041
52042         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
52043         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
52044
52045 2000-07-03  Paul Eggert  <eggert@twinsun.com>
52046         and Bruno Haible  <haible@clisp.cons.org>
52047
52048         * lib/quotearg.c (mbrtowc):
52049         Assign to *pwc, and return 1 only if result is nonzero.
52050         (iswprint): Use ISPRINT when substituting our own mbrtowc.
52051
52052 2000-07-03  Jim Meyering  <meyering@lucent.com>
52053
52054         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
52055
52056 2000-07-03  Jim Meyering  <meyering@lucent.com>
52057
52058         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
52059         This is necessary to get a definition of e.g., UTMP_FILE on
52060         HP-UX 10.20.
52061         From Bob Proulx.
52062
52063 2000-07-02  Jim Meyering  <meyering@lucent.com>
52064
52065         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
52066
52067         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
52068         AC_LIBOBJ(function_name).
52069         * m4/chown.m4: Likewise.
52070         * m4/fnmatch.m4: Likewise.
52071         * m4/ftruncate.m4: Likewise.
52072         * m4/getgroups.m4: Likewise.
52073         * m4/getline.m4: Likewise.
52074         * m4/group-member.m4: Likewise.
52075         * m4/jm-macros.m4: Likewise.
52076         * m4/lstat.m4: Likewise.
52077         * m4/malloc.m4: Likewise.
52078         * m4/memcmp.m4: Likewise.
52079         * m4/nanosleep.m4: Likewise.
52080         * m4/putenv.m4: Likewise.
52081         * m4/realloc.m4: Likewise.
52082         * m4/regex.m4: Likewise.
52083         * m4/stat.m4: Likewise.
52084         * m4/strftime.m4: Likewise.
52085
52086 2000-07-02  Jim Meyering  <meyering@lucent.com>
52087
52088         * lib/quotearg.c (mbstate_t): Don't define here.
52089
52090 2000-07-02  Jim Meyering  <meyering@lucent.com>
52091
52092         * lib/nanosleep.c (SIGCONT): Define if not already defined.
52093
52094 2000-07-01  Jim Meyering  <meyering@lucent.com>
52095
52096         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
52097
52098 2000-07-01  Jim Meyering  <meyering@lucent.com>
52099
52100         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
52101         problem.
52102
52103 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
52104
52105         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
52106         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
52107
52108 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
52109
52110         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
52111         per change in ../m4/ls-mntd-fs.m4.
52112         (read_filesystem_list): Ignore symbolic links.
52113
52114 2000-06-29  Jim Meyering  <meyering@lucent.com>
52115
52116         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
52117         for declaration of strcmp.
52118
52119         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
52120
52121         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
52122         Avoid warning by casting result to `char *' to remove `const'.
52123
52124 2000-06-28  Jim Meyering  <meyering@lucent.com>
52125
52126         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
52127         included by quotearg.c, for which we perform this test.  From
52128         Bruno Haible.
52129
52130 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
52131
52132         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
52133         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
52134         <utmpx.h> exists, put readutmp.o into LIBOBJS.
52135
52136 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
52137
52138         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
52139
52140 2000-06-26  Paul Eggert  <eggert@twinsun.com>
52141
52142         savedir now sets errno on failure and invokes xmalloc to get memory.
52143         Fix a couple of other minor bugs while we're at it.
52144
52145         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
52146         (NAMLEN): Remove macro.
52147         (malloc, realloc): Remove decls.
52148         (stpcpy): Likewise.
52149         ("xalloc.h"): Include.
52150         (NAME_SIZE_DEFAULT): New macro.
52151         (savedir): Use xmalloc / xrealloc to allocate memory.
52152         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
52153         Skip "" directory entries.
52154         Use strlen to calculate directory entry length, since the old method
52155         is rarely used these days and isn't worth supporting.
52156         Don't use a pointer after freeing it.
52157         Check for integer overflow when calculating allocation size.
52158         Use memcpy to copy entries, instead of stpcpy.
52159         Set errno properly when returning NULL.
52160         Check for readdir error.
52161
52162 2000-06-26  Jim Meyering  <meyering@lucent.com>
52163
52164         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
52165
52166 2000-06-25  Jim Meyering  <meyering@lucent.com>
52167
52168         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
52169         Linux header bug when _XOPEN_SOURCE is defined to 500.
52170
52171 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
52172
52173         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
52174         deficiency.
52175
52176 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
52177
52178         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
52179         Include xalloc.h.
52180         Don't include <stdlib.h>.  Don't declare malloc, realloc.
52181
52182 2000-06-24  Jim Meyering  <meyering@lucent.com>
52183
52184         * m4/strerror_r.m4: Revive this file -- to try out an experimental
52185         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
52186         for which strerror does return char*, but which lacks a conveniently
52187         accessible declaration of the function.  If the compile-test says
52188         strerror_r doesn't work, then resort to a `run'-test that works on
52189         BeOS and segfaults on DEC Unix.
52190
52191 2000-06-24  Jim Meyering  <meyering@lucent.com>
52192
52193         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
52194
52195 2000-06-23  Paul Eggert  <eggert@twinsun.com>
52196
52197         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
52198         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
52199
52200 2000-06-23  Paul Eggert  <eggert@twinsun.com>
52201
52202         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
52203         (mbrtowc, mbstate_t): Define substitutes if
52204         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
52205         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
52206         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
52207
52208 2000-06-23  Jim Meyering  <meyering@lucent.com>
52209
52210         * m4/afs.m4: Add missing AC_MSG_RESULT.
52211         Reported by Bruno Haible.
52212
52213         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
52214         Suggestion from Bruno Haible.
52215
52216 2000-06-23  Jim Meyering  <meyering@lucent.com>
52217
52218         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
52219
52220 2000-06-21  Jim Meyering  <meyering@lucent.com>
52221
52222         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
52223
52224 2000-06-21  Jim Meyering  <meyering@lucent.com>
52225
52226         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
52227         (noinst_HEADERS): Add getstr.h.
52228
52229         * lib/getline.c (getstr): Move into a separate file.
52230         * lib/getstr.c (getstr): New file, extracted from getline.c, with
52231         the following changes: new parameter, delim2; both delim[12]
52232         parameters have type `int', not `char'.  The latter would lose
52233         with 8-bit delimiters.
52234         * lib/getstr.h: New file.
52235
52236 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
52237
52238         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
52239         than 1024, return a memory chunk of least possible size, instead
52240         of size PATH_MAX + 2. In the loop, increment the size proportionally.
52241         Use free/xmalloc instead of xrealloc to avoid copying for very long
52242         paths.
52243
52244 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
52245
52246         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
52247         the empty string.
52248
52249 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
52250
52251         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
52252         address, not strdup.  Include <stdlib.h> and don't declare free().
52253
52254 2000-06-19  Jim Meyering  <meyering@lucent.com>
52255
52256         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
52257
52258 2000-06-18  Jim Meyering  <meyering@lucent.com>
52259
52260         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
52261
52262         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
52263         `checking whether...' message to be consistent with that of the
52264         lstat test.
52265
52266 2000-06-18  Jim Meyering  <meyering@lucent.com>
52267
52268         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
52269         Besides, these days every porting target provides a mkdir function.
52270
52271         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
52272         needed. (this snippet comes from src/system.h).
52273
52274 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
52275
52276         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
52277
52278 2000-06-15  Paul Eggert  <eggert@twinsun.com>
52279
52280         * lib/human.c (adjust_value): New function.
52281         (human_readable_inexact): Apply rounding style even when
52282         printing approximate values.
52283
52284 2000-06-14  Paul Eggert  <eggert@twinsun.com>
52285
52286         * lib/human.c (human_readable_inexact): Allow an input block
52287         size that is not a multiple of the output block size, and vice versa.
52288         Reported by Piergiorgio Sartor.
52289
52290 2000-06-14  Paul Eggert  <eggert@twinsun.com>
52291
52292         * lib/getdate.y (get_date): Apply relative times after time
52293         zone indicator, not before.  Reported by Todd A. Jacobs.
52294
52295 2000-06-13  Jim Meyering  <meyering@lucent.com>
52296
52297         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
52298
52299         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
52300
52301 2000-06-12  Paul Eggert  <eggert@twinsun.com>
52302
52303         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
52304
52305 2000-06-12  Jim Meyering  <meyering@lucent.com>
52306
52307         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
52308         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
52309         optional argument.
52310         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
52311         the optional argument, `lib'.
52312
52313 2000-06-08  Jim Meyering  <meyering@lucent.com>
52314
52315         * m4/largefile.m4: Remove file (now that it's part of autoconf).
52316
52317 2000-06-04  Paul Eggert  <eggert@twinsun.com>
52318
52319         Rewrite largefile configuration so that we don't need to run
52320         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
52321         AC_CANONICAL_HOST in configure.in -- jmm]
52322
52323         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
52324         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
52325         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
52326         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
52327         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
52328         All uses changed.
52329         Instead of inspecting the output of getconf, try to compile the
52330         test program without and with the macro definition.
52331         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
52332         for getconf.  Instead, check for the needed flags by compiling
52333         test programs.
52334
52335 2000-06-04  Paul Eggert  <eggert@twinsun.com>
52336
52337         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
52338
52339 2000-06-04  Jim Meyering  <meyering@lucent.com>
52340
52341         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
52342         SunOS 4.1.4 for which gid_t is an unsigned type.
52343
52344 2000-06-03  Jim Meyering  <meyering@lucent.com>
52345
52346         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
52347         now that autoconf requires that.
52348
52349         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
52350         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
52351         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
52352
52353 2000-06-03  Jim Meyering  <meyering@lucent.com>
52354
52355         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
52356
52357 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
52358
52359         * m4/glibc21.m4: New file.
52360         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
52361
52362 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
52363
52364         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
52365         newer, don't install charset.alias.
52366         * lib/config.charset: Change the Linux/glibc rules so they become empty
52367         on glibc-2.1 or newer.
52368
52369 2000-06-02  Jim Meyering  <meyering@lucent.com>
52370
52371         * lib/mountlist.c: Back out last change.  Instead, do this...
52372         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
52373         me_dummy member using the same `ignore'-testing code.
52374         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
52375         fs_type strings.
52376         From Mark D. Roth.
52377
52378 2000-05-29  Jim Meyering  <meyering@lucent.com>
52379
52380         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
52381         mounts with the `ignore' attribute.  Based on a patch from
52382         Mark D. Roth.
52383
52384 2000-05-28  Jim Meyering  <meyering@lucent.com>
52385
52386         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
52387         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52388         * m4/stat.m4: Likewise.
52389         * m4/lstat.m4: Likewise.
52390         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
52391
52392         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
52393         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
52394
52395 2000-05-26  Jim Meyering  <meyering@lucent.com>
52396
52397         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
52398
52399 2000-05-24  Jim Meyering  <meyering@lucent.com>
52400
52401         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
52402         autoconf requires that.
52403         * m4/lib-check.m4: Likewise.
52404         * m4/jm-macros.m4: Likewise.
52405         * m4/strftime.m4: Likewise.
52406
52407         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
52408         AC_CHECK_DECLS, now that autoconf requires that.
52409
52410 2000-05-22  Jim Meyering  <meyering@lucent.com>
52411
52412         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52413         * m4/lstat.m4: Likewise.
52414
52415 2000-05-22  Jim Meyering  <meyering@lucent.com>
52416
52417         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
52418
52419 2000-05-20  Jim Meyering  <meyering@lucent.com>
52420
52421         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
52422         (jm_PREREQ): Use it.
52423
52424 2000-05-18  Jim Meyering  <meyering@lucent.com>
52425
52426         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
52427         back, too, since it may have been modified by allocate_entry.
52428         (hash_delete): Rewrite to use neither the assignment operator
52429         nor the comma operator in an if-expression.
52430
52431 2000-05-15  Paul Eggert  <eggert@twinsun.com>
52432
52433         * lib/closeout.c:
52434         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
52435         Remove; no longer needed.
52436         "quotearg.h": Add include.
52437         (file_name): Do not bother to explicitly initialize to NULL; it's less
52438         efficient on some hosts.
52439         (close_stdout_status): Remove test as to whether stdout was already
52440         closed; it breaks for the case "echo x | sort >&-".
52441         Quote file name colons.
52442         Do not assume that _("write error") lacks format strings.
52443
52444 2000-05-15  Jim Meyering  <meyering@lucent.com>
52445
52446         * lib/version-etc.c (version_etc_copyright): Update the copyright
52447         string used in all --version output.
52448
52449 2000-05-14  Jim Meyering  <meyering@lucent.com>
52450
52451         * lib/closeout.c (close_stdout_set_file_name): New function.
52452         (close_stdout_status): Use new file-scoped global.
52453         Return right away if fstat says the stdout file descriptor is invalid.
52454         * lib/closeout.h (close_stdout_set_file_name): Declare.
52455
52456 2000-05-10  Jim Meyering  <meyering@lucent.com>
52457
52458         * lib/closeout.c [default_exit_status]: New file-scoped variable.
52459         (close_stdout_set_status): New function.
52460         * lib/closeout.h (close_stdout_set_status): Declare.
52461
52462 2000-05-09  Jim Meyering  <meyering@lucent.com>
52463
52464         * m4/gettext.m4: Rename this...
52465         * m4/libintl.m4: ...to this.
52466
52467 2000-05-08  Jim Meyering  <meyering@lucent.com>
52468
52469         * lib/long-options.c: Don't include closeout.h.
52470         (parse_long_options): Don't call close_stdout for --version.
52471
52472 2000-05-06  Paul Eggert  <eggert@twinsun.com>
52473
52474         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
52475         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
52476         2.1.3 bug.  This avoids a clash when files like regex.c define
52477         _GNU_SOURCE.
52478
52479 2000-05-06  Jim Meyering  <meyering@lucent.com>
52480
52481         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
52482         (AC_REPLACE_FUNCS): Add strnlen.
52483
52484         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
52485         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
52486
52487         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
52488         AC_SEARCH_LIBS call for nanosleep.
52489         (LIB_NANOSLEEP): Set and AC_SUBST.
52490
52491 2000-05-06  Jim Meyering  <meyering@lucent.com>
52492
52493         * lib/strnlen.c: Undefine __strnlen and strnlen.
52494         [!weak_alias]: Define __strnlen to strnlen.
52495
52496         * lib/atexit.c: New file, from libiberty.
52497
52498 2000-05-06  Jim Meyering  <meyering@lucent.com>
52499
52500         * lib/closeout.c (close_stdout_status): Also check for errors on the
52501         stderr stream.
52502
52503 2000-05-05  Jim Meyering  <meyering@lucent.com>
52504
52505         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
52506         AC_SEARCH_LIBS call for clock_gettime.
52507         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
52508
52509         * m4/search-libs.m4: Update from autoconf.
52510
52511         su doesn't work on Solaris 2.6.
52512         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
52513         <shadow.h>.  Reported by Dragos Harabor.
52514
52515 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
52516
52517         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
52518         memcpy instead of xmalloc, xrealloc, path_concat.
52519         (locale_charset): Treat empty environment variables as absent.
52520         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
52521
52522 2000-05-04  Jim Meyering  <meyering@lucent.com>
52523
52524         * lib/getopt.c: Update from glibc.
52525         * lib/obstack.c: Likewise.
52526         * lib/obstack.h: Likewise.
52527         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
52528         file
52529
52530         * lib/regex.h: Likewise.
52531         * lib/strndup.c: Likewise.
52532         * lib/strnlen.c: New file, from glibc.
52533
52534 2000-05-03  Jim Meyering  <meyering@lucent.com>
52535
52536         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
52537
52538 2000-05-02  Paul Eggert  <eggert@twinsun.com>
52539
52540         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
52541         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
52542         compile-time test, rather than inspecting host and OS, to
52543         decide whether to define _LARGEFILE_SOURCE.
52544
52545 2000-05-01  Jim Meyering  <meyering@lucent.com>
52546
52547         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
52548
52549         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
52550         Based on a patch from Bruno Haible.
52551
52552 2000-05-01  Jim Meyering  <meyering@lucent.com>
52553
52554         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
52555
52556 2000-04-29  Jim Meyering  <meyering@lucent.com>
52557
52558         * lib/path-concat.c: Declare strdup only if it's not defined.
52559         * lib/canon-host.c: Likewise.
52560
52561 2000-04-28  Jim Meyering  <meyering@lucent.com>
52562
52563         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
52564         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
52565         is included first, then limits.h is included by locale.h by libintl.h.
52566         From John David Anglin.
52567
52568 2000-04-25  Jim Meyering  <meyering@lucent.com>
52569
52570         * lib/makepath.c (S_IRWXUGO): Define.
52571         (make_path): Always perform explicit chmod if MODE specifies any
52572         of the `special' permission bits.  Prompted by a bug report against
52573         install from Mate Wierdl and Joost van Baal.
52574
52575 2000-04-18  Jim Meyering  <meyering@lucent.com>
52576
52577         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
52578         (jm_PREREQ): Use it.
52579
52580 2000-04-18  Jim Meyering  <meyering@lucent.com>
52581
52582         * lib/README: New file.
52583
52584         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
52585         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
52586
52587 2000-04-17  Jim Meyering  <meyering@lucent.com>
52588
52589         Get it right :-)
52590         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
52591         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
52592         Suggestion from Akim Demaille.
52593
52594 2000-04-17  Jim Meyering  <meyering@lucent.com>
52595
52596         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
52597         the definition of it to rpl_strftime also defined-away the system's
52598         declaration.
52599
52600 2000-04-15  Jim Meyering  <meyering@lucent.com>
52601
52602         Use `C' to denote so-called `contiguous' files, the same way
52603         that tar does.
52604         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
52605         (ftypelet): Use S_ISCTG.
52606         From Michael Deutschmann.
52607
52608 2000-04-14  Jim Meyering  <meyering@lucent.com>
52609
52610         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
52611         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
52612         clobbered.
52613
52614 2000-04-14  Jim Meyering  <meyering@lucent.com>
52615
52616         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
52617
52618 2000-04-13  Jim Meyering  <meyering@lucent.com>
52619
52620         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
52621         AH_VERBATIM to insert required #ifndef into config.h.in.
52622         Suggestion from Akim Demaille.
52623
52624 2000-04-12  Jim Meyering  <meyering@lucent.com>
52625
52626         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
52627         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
52628         Christian Krackowizer.
52629
52630         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
52631         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
52632         (AC_SYS_LARGEFILE): Require.
52633         (AM_C_PROTOTYPES): Require.
52634
52635 2000-04-08  Jim Meyering  <meyering@lucent.com>
52636
52637         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
52638         names don't conflict.  Reported by Eli Zaretskii.
52639
52640 2000-04-07  Jim Meyering  <meyering@lucent.com>
52641
52642         * lib/putenv.c: Move inclusion of errno.h so it follows that of
52643         sys/types.h, to work around system header problems on AIX 3.2.5.
52644         From Bruno Haible.
52645
52646 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
52647
52648         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
52649         bug.  Deal with the different error behavior of Irix iconv.
52650
52651 2000-04-05  Paul Eggert  <eggert@twinsun.com>
52652
52653         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
52654         IRIX if the installer said otherwise.
52655
52656 2000-04-05  Jim Meyering  <meyering@lucent.com>
52657
52658         Portability tweaks required for ultrix4.3.
52659         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
52660         (jm_CHECK_DECLS): Add getutent to the list of functions.
52661         (_jm_DECL_HEADERS): Add utmpx.h.
52662         From John David Anglin.
52663
52664         * m4/strftime.m4: Back out the 2000-04-02 change.
52665         Instead of that change, simply undefine putenv in the test program.
52666
52667 2000-04-05  Jim Meyering  <meyering@lucent.com>
52668
52669         Portability tweaks required for ultrix4.3.
52670         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
52671         getutent.
52672         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
52673         * lib/canon-host.c: Declare strdup.
52674         * lib/path-concat.c: Likewise.
52675         From John David Anglin.
52676
52677 2000-04-04  Jim Meyering  <meyering@lucent.com>
52678
52679         Be more DOS 8.3-friendly.
52680         * lib/ref-add.sin: Renamed from ref-add.sed.in.
52681         * lib/ref-del.sin: Renamed from ref-del.sed.in.
52682         * lib/Makefile.am: Reflect renaming.
52683         Reported by Eli Zaretskii.
52684
52685         Use a temporary file name that won't clash with `charset.alias'
52686         in the DOS 8.3 name space.
52687         * lib/Makefile.am (charset_tmp): Define.
52688         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
52689         (uninstall-local): Likewise.
52690         Reported by Eli Zaretskii.
52691
52692 2000-04-03  Jim Meyering  <meyering@lucent.com>
52693
52694         * m4/gettext.m4: Fix typo in comment.
52695
52696         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
52697         textutils/configure.in).  Suggestion from Paul Eggert.
52698         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
52699
52700 2000-04-02  Paul Eggert  <eggert@twinsun.com>
52701
52702         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
52703         variable in the shell rather than using putenv, which isn't
52704         portable.  This avoids the configure-time inter-test dependency
52705         on the potentially-renamed putenv function.
52706
52707 2000-03-30  Paul Eggert  <eggert@twinsun.com>
52708
52709         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
52710         before checking struct stat.st_blksize, so that
52711         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
52712
52713 2000-03-29  Paul Eggert  <eggert@twinsun.com>
52714
52715         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
52716         since strftime.c uses HAVE_STRFTIME to decide whether to use
52717         the underlying strftime.
52718
52719 2000-03-29  Paul Eggert  <eggert@twinsun.com>
52720
52721         * lib/time/strftime.c (my_strftime): Make sure we call the system
52722         strftime, not ourselves, when invoking the underlying strftime.
52723
52724 2000-03-24  Jim Meyering  <meyering@lucent.com>
52725
52726         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
52727         (charset_alias): Define.
52728         (install-exec-local): Factor out common code.
52729         (uninstall-local): Split lines longer than 80.
52730         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
52731         (SUFFIXES): Define.
52732         (.sed.in.sed): New rule.  Don't redirect directly to $@.
52733         (CLEANFILES): Add ref-add.sed and ref-del.sed.
52734
52735 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
52736
52737         * lib/config.charset: Output a line containing "Packages using this
52738         file".
52739         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
52740         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
52741         ref-del.sed): New rules.
52742
52743 2000-03-17  Jim Meyering  <meyering@lucent.com>
52744
52745         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
52746         Otherwise, include <strings.h>
52747
52748 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
52749
52750         * lib/unicodeio.c (utf8_wctomb): New function.
52751         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
52752         format instead of in UCS-4 with platform dependent endianness.
52753
52754 2000-03-10  Jim Meyering  <meyering@lucent.com>
52755
52756         * m4/lib-check.m4: Look for getspnam in -lgen, too.
52757         From Marco Franzen.
52758
52759 2000-03-07  Paul Eggert  <eggert@twinsun.com>
52760
52761         * lib/savedir.c (savedir): Work even if directory size is
52762         negative; this can happen with some screwy NFS configurations.
52763
52764 2000-03-06  Jim Meyering  <meyering@lucent.com>
52765
52766         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
52767         if it's NULL (because we ran out of memory).  From Bruno Haible.
52768
52769 2000-03-05  Jim Meyering  <meyering@lucent.com>
52770
52771         * lib/localcharset.c ("path-concat.h"): Include.
52772         (get_charset_aliases): Use path_concat instead of ANSI string
52773         concatenation.
52774
52775         * lib/unicodeio.h (PARAMS): Define.
52776         Use it to guard prototype.
52777
52778 2000-03-04  Jim Meyering  <meyering@lucent.com>
52779
52780         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
52781         for lib/localcharset.c.
52782
52783 2000-03-04  Jim Meyering  <meyering@lucent.com>
52784
52785         * lib/Makefile.am (install-exec-local): Create $(libdir) before
52786         installing into it.
52787         (uninstall-local): Uncomment this rule so `make distcheck' works
52788         once again.
52789
52790         * lib/unicodeio.c (<errno.h>): Include it.
52791         (errno): Declare if not defined.
52792
52793         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
52794
52795         * lib/config.charset: New version, incorporating remarks from a linux
52796         i18n mailing list.  From Bruno Haible.
52797
52798 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
52799
52800         * m4/codeset.m4: New file.
52801         * m4/iconv.m4: New file.
52802         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
52803
52804 2000-03-03  Jim Meyering  <meyering@lucent.com>
52805
52806         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
52807
52808 2000-03-02  Jim Meyering  <meyering@lucent.com>
52809
52810         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
52811         the messages come out on separate lines.
52812
52813         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
52814         rather than jm_CHECK_DECLARATIONS.
52815         * m4/decl.m4: Remove now-unused file.
52816
52817         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
52818         geteuid.
52819
52820 2000-03-02  Jim Meyering  <meyering@lucent.com>
52821
52822         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
52823
52824 2000-03-01  Jim Meyering  <meyering@lucent.com>
52825
52826         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
52827         * lib/unicodeio.c: Likewise.
52828
52829 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
52830
52831         * lib/config.charset: New file.
52832         * lib/localcharset.c: New file.
52833         * lib/unicodeio.h, lib/unicodeio.c: New files.
52834         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
52835         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
52836         (noinst_HEADERS): Add unicodeio.h.
52837         (all-local, install-exec-local, charset.alias): New targets.
52838
52839 2000-02-28  Paul Eggert  <eggert@twinsun.com>
52840
52841         * lib/quotearg.c (ALERT_CHAR): New macro.
52842         (quotearg_buffer_restyled): Use it.
52843
52844 2000-02-27  Jim Meyering  <meyering@lucent.com>
52845
52846         * m4/check-decl.m4: Add getenv to the list.
52847
52848 2000-02-27  Jim Meyering  <meyering@lucent.com>
52849
52850         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
52851         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
52852
52853         * lib/backupfile.c: Guard inclusion of stdlib.h with
52854         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
52855         Declare malloc if needed.
52856
52857         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
52858         `#ifndef HAVE_DECL..'
52859         now that autoconf always defines the HAVE_DECL_ symbols.
52860         * lib/human.c: Likewise.
52861         * lib/same.c: Likewise.
52862         * lib/strtoumax.c: Likewise.
52863
52864         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
52865         declaration check was not run.
52866         * lib/hash.c: Likewise.
52867         * lib/human.c: Likewise.
52868         * lib/same.c: Likewise.
52869         * lib/strtoumax.c: Likewise.
52870
52871         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
52872         `.', then first look up the entire `.'-containing string as a login
52873         name.
52874
52875 2000-02-23  Jim Meyering  <meyering@lucent.com>
52876
52877         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
52878         in place of my hack.
52879
52880 2000-02-18  Paul Eggert  <eggert@twinsun.com>
52881
52882         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
52883         (textint): New typedef.
52884         (parser_control): Member year changed from int to textint.
52885         All uses changed.
52886         (YYSTYPE): Removed; replaced by %union with int and textint members.
52887         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
52888         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
52889         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
52890         (tSNUMBER, tUNUMBER): Now of type <textintval>.
52891         (date, number, to_year): Use width of number in digits, not its value,
52892         to determine whether it's a 2-digit year, or a 2-digit time.
52893         (yylex): Store number of digits of numeric tokens.
52894         Reported by John Kendall.
52895
52896         (parser_control): Changed from struct parser_control to typedef (for
52897         consistency).  All uses changed.
52898
52899         (tID): Removed; not used.
52900         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
52901
52902 2000-02-14  Paul Eggert  <eggert@twinsun.com>
52903
52904         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
52905         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
52906
52907 2000-02-12  Jim Meyering  <meyering@lucent.com>
52908
52909         * lib/userspec.c (ISDIGIT): Define it.
52910         (isdigit): Remove definition.
52911         (is_number): Use ISDIGIT, not isdigit.
52912         <libintl.h>: Include.
52913         (_ and N_): Define.
52914         (parse_user_spec): Mark translatable strings.
52915
52916 2000-02-10  Jim Meyering  <meyering@lucent.com>
52917
52918         With these changes, nanosleep.[ch] are finally enough like the other
52919         lib/* replacement files to compile on a few more losing systems.
52920
52921         * lib/nanosleep.h: Don't include config.h.
52922         Remove prototype from declaration of nanosleep.
52923         (PARAMS): Remove now-unneeded definition.
52924         * lib/nanosleep.c: #undef nanosleep.
52925         (rpl_nanosleep): Rename from nanosleep.
52926
52927 2000-02-10  Jim Meyering  <meyering@lucent.com>
52928
52929         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
52930         gnu_nanosleep to rpl_nanosleep.
52931
52932 2000-02-09  Jim Meyering  <meyering@lucent.com>
52933
52934         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
52935         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
52936
52937 2000-02-08  Akim Demaille  <akim@epita.fr>
52938
52939         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
52940         `[' and `]' and remove uses of `changequote'.
52941         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
52942         (AC_SYS_LARGEFILE): Likewise.
52943         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52944         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
52945         of changequote.
52946         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
52947         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
52948         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
52949         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
52950
52951 2000-02-05  Jim Meyering  <meyering@lucent.com>
52952
52953         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
52954         Remove explicit use of AC_HEADER_TIME.  It is required by
52955         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
52956         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
52957         in autoconf whereby the expansion of the latter ended up preceding
52958         the expansion of its prerequisite, AC_HEADER_TIME.
52959         Reported by Volker Borchert.
52960
52961 2000-02-03  Jim Meyering  <meyering@lucent.com>
52962
52963         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
52964
52965 2000-02-03  Jim Meyering  <meyering@lucent.com>
52966
52967         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
52968         rather than with `#if HAVE_UTMPNAME'.
52969
52970 2000-02-02  Jim Meyering  <meyering@lucent.com>
52971
52972         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
52973         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
52974         Reported by Eli Zaretskii.
52975
52976 2000-02-01  Jim Meyering  <meyering@lucent.com>
52977
52978         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
52979
52980 2000-01-31  Jim Meyering  <meyering@lucent.com>
52981
52982         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
52983         functions.  Add the time.h and sys/time.h headers along with the
52984         AC_REQUIRE'ment of AC_HEADER_TIME.
52985
52986 2000-01-31  Jim Meyering  <meyering@lucent.com>
52987
52988         * lib/nanosleep.h (nanosleep): Guard declaration with
52989         `#if ! HAVE_DECL_NANOSLEEP'.
52990         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
52991         the declaration in that vendor's sys/timers.h.
52992         Reported by Christian Krackowizer.
52993
52994         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
52995         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
52996         (ISPRINT): Likewise.
52997         Reported by Tom Tromey.
52998
52999 2000-01-30  Jim Meyering  <meyering@lucent.com>
53000
53001         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
53002
53003         * m4/prereq.m4 (utmp_includes): Define.
53004         Check for ut_user and ut_name members in both struct utmpx
53005         and struct utmp.
53006
53007 2000-01-30  Jim Meyering  <meyering@lucent.com>
53008
53009         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
53010         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
53011         header files where only utmpx.ut_user is declared.
53012
53013         * lib/readutmp.h (UT_USER): Define.
53014
53015 2000-01-29  Jim Meyering  <meyering@lucent.com>
53016
53017         * m4/lib-check.m4: New file containing library-related checks from
53018         fileutils and sh-utils (textutils had none).
53019
53020 2000-01-28  Jim Meyering  <meyering@lucent.com>
53021
53022         * m4/perl.m4: Change format of warning message to look more like that
53023         from the missing script.  Suggestion from François Pinard.
53024
53025 2000-01-25  Jim Meyering  <meyering@lucent.com>
53026
53027         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
53028         well as time.h in the compile check.
53029         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
53030         Fix typo in cross-compiling case: s/yes/no/.
53031
53032 2000-01-23  Jim Meyering  <meyering@lucent.com>
53033
53034         * m4/jm-macros.m4: Move df-related tests here from
53035         fileutils/configure.in
53036
53037         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
53038         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
53039
53040         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
53041         s/space/ac_fsusage_space/.
53042         (jm_FILE_SYSTEM_USAGE): Take two parameters.
53043
53044         * m4/ftruncate.m4: New file (derived from part of
53045         fileutils/configure.in).
53046         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
53047         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
53048
53049         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
53050         AC_SUBST these here, rather than just in sh-util/configure.in, so
53051         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
53052         all the same.
53053         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
53054         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
53055         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
53056         (AC_SUBST(POW_LIBM)): Likewise.
53057         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
53058
53059 2000-01-23  Jim Meyering  <meyering@lucent.com>
53060
53061         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
53062         obstack.c.
53063
53064 2000-01-22  Jim Meyering  <meyering@lucent.com>
53065
53066         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
53067
53068         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
53069
53070         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
53071         configure.in
53072         (AC_CHECK_HEADERS): Likewise for sh-utils.
53073         (AC_CHECK_HEADERS): Likewise for textutils.
53074         Merge the three lists of headers.
53075
53076         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
53077         from fileutils' configure.in.
53078
53079         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
53080         code. Moved tests into their own function (_jm_DECL_HEADERS) in
53081         check-decl.m4.
53082
53083         * m4/check-decl.m4: Use #if rather than #ifdef.
53084         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
53085         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
53086         (_jm_DECL_HEADERS): Define new function.
53087         (jm_CHECK_DECLARATIONS): Require it.
53088
53089 2000-01-22  Jim Meyering  <meyering@lucent.com>
53090
53091         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
53092         [! HAVE_DECL_STRTOULL]: Declare strtoull.
53093         Required for some AIX systems.  Reported by Christian Krackowizer.
53094         [TESTING] (main): New function.
53095
53096         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
53097         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
53098         letters.
53099
53100         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
53101         iswprint.
53102
53103         * lib/strverscmp.c (ISDIGIT): Define.
53104         (strverscmp): Use ISDIGIT, not isdigit.
53105
53106 2000-01-19  Jim Meyering  <meyering@lucent.com>
53107
53108         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
53109         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
53110         defines `struct timespec' in <sys/time.h>
53111
53112         * m4/c-bs-a.m4: Remove uses of changequote altogether.
53113         Thanks to Akim for explaining.
53114
53115 2000-01-17  Paul Eggert  <eggert@twinsun.com>
53116
53117         * lib/nanosleep.c (nanosleep):
53118         Don't use SA_INTERRUPT to decide whether to call sigaction, as
53119         POSIX.1 doesn't require SA_INTERRUPT and some systems
53120         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
53121         it's been part of POSIX.1 since day 1 (in 1988).
53122
53123 2000-01-17  Jim Meyering  <meyering@lucent.com>
53124
53125         * lib/interlock: Remove unused file.  Reported by François Pinard.
53126
53127 2000-01-16  Paul Eggert  <eggert@twinsun.com>
53128
53129         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
53130         alert, backslash, formfeed, and vertical tab unnecessarily in
53131         shell quoting style.
53132
53133 2000-01-16  Jim Meyering  <meyering@lucent.com>
53134
53135         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
53136         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
53137         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
53138         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
53139
53140 2000-01-16  Jim Meyering  <meyering@lucent.com>
53141
53142         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
53143         because the latter didn't work.
53144
53145 2000-01-15  Jim Meyering  <meyering@lucent.com>
53146
53147         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
53148         (AC_REPLACE_FUNCS): Add memcpy and memset.
53149         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
53150         Add strpbrk.
53151         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
53152
53153 2000-01-12  Jim Meyering  <meyering@lucent.com>
53154
53155         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
53156         (jm_PREREQ): Use it.
53157         (jm_PREREQ_READUTMP): New macro.
53158         (jm_PREREQ): Use it.
53159
53160 2000-01-11  Paul Eggert  <eggert@twinsun.com>
53161
53162         Quote multibyte characters correctly.
53163         * m4/c-bs-a.m4: New file.
53164         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
53165         (jm_PREREQ): Use it.
53166
53167 2000-01-11  Paul Eggert  <eggert@twinsun.com>
53168
53169         * m4/uintmax_t.m4: Port to autoconf 2.13.
53170
53171 2000-01-08  Jim Meyering  <meyering@ascend.com>
53172
53173         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
53174         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
53175
53176 2000-01-04  Jim Meyering  <meyering@ascend.com>
53177
53178         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
53179         jm_STRUCT_DIRENT_D_TYPE.
53180         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
53181         jm_STRUCT_DIRENT_D_INO.
53182         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
53183         jm_STRUCT_UTIMBUF.
53184         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
53185         renamings.
53186         * m4/utime.m4: Likewise.
53187
53188         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
53189         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
53190
53191 2000-01-03  Paul Eggert  <eggert@twinsun.com>
53192
53193         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
53194         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
53195
53196 2000-01-02  Jim Meyering  <meyering@ascend.com>
53197
53198         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
53199         remember if this is necessary.
53200
53201 1999-12-26  Jim Meyering  <meyering@ascend.com>
53202
53203         * m4/jm-macros.m4: Use it here.
53204         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
53205
53206 1999-12-23  Jim Meyering  <meyering@ascend.com>
53207
53208         * m4/jm-macros.m4: Check for clock_gettime (moved from
53209         fileutils/configure.in)
53210         Check for gettimeofday.
53211
53212 1999-12-20  Jim Meyering  <meyering@ascend.com>
53213
53214         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
53215         autoconf-2.14a-1999-12-20.
53216
53217 1999-12-19  Jim Meyering  <meyering@ascend.com>
53218
53219         * m4/lstat-slash.m4: New file.
53220         * m4/jm-macros.m4: Use the new macro:
53221         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53222
53223 1999-12-07  Jim Meyering  <meyering@ascend.com>
53224
53225         * m4/perl.m4: Require that File::Compare be available, too.
53226         Too many systems seem to lack it.
53227
53228         * m4/strftime.m4: Add checks for most of the cpp macros tested in
53229         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
53230
53231 1999-11-18  Paul Eggert  <eggert@twinsun.com>
53232
53233         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
53234         problem with the QNX 4.25 shell, which doesn't propagate exit
53235         status of failed commands inside shell assignments.
53236
53237 1999-11-17  Jim Meyering  <meyering@ascend.com>
53238
53239         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
53240
53241 1999-11-07  Jim Meyering  <meyering@ascend.com>
53242
53243         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
53244
53245 1999-11-06  Jim Meyering  <meyering@ascend.com>
53246
53247         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
53248         * m4/jm-macros.m4 (jm_MACROS): Use it here.
53249
53250 1999-11-05  Jim Meyering  <meyering@ascend.com>
53251
53252         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
53253         configure.in of textutils, fileutils, and sh-utils into this one
53254         (shared between those packages) file.
53255         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
53256         AC_STRUCT_ST_BLKSIZE.
53257
53258 1999-11-03  Jim Meyering  <meyering@ascend.com>
53259
53260         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
53261         of AC_CHECK_TYPE checks includes unistd.h.
53262         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
53263         Suggestion from Akim Demaille.
53264
53265 1999-10-30  Jim Meyering  <meyering@ascend.com>
53266
53267         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
53268         m4-quoted string.
53269         * m4/ls-mntd-fs.m4: Likewise.
53270         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
53271         * m4/jm-winsz1.m4: Likewise.
53272
53273         * m4/const.m4: Remove file, since the fix made it into the experimental
53274         version of autoconf.
53275         * m4/mktime.m4: Likewise.
53276
53277         * m4/check-type.m4: Remove file, now that the latest version of
53278         AC_CHECK_TYPE takes a third arg to specify additional #includes.
53279
53280         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
53281         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
53282         AC_CHECK_TYPE.
53283
53284 1999-10-04  Jim Meyering  <meyering@ascend.com>
53285
53286         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
53287
53288 1999-09-22  Paul Eggert  <eggert@twinsun.com>
53289
53290         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
53291         2.95.1 bug with HP-UX 10.20.
53292
53293 1999-09-17  Jim Meyering  <meyering@ascend.com>
53294
53295         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
53296         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
53297         due to missing strdup (against sh-utils-2.0).
53298
53299 1999-08-29  Jim Meyering  <meyering@ascend.com>
53300
53301         * m4/jm-macros.m4: Require jm_BISON.
53302         * m4/bison.m4: New file.
53303
53304 1999-08-17  Paul Eggert  <eggert@twinsun.com>
53305
53306         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
53307         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
53308
53309 1999-08-05  Jim Meyering  <meyering@ascend.com>
53310
53311         * m4/getline.m4: Rename test file from conftestdata to conftest.data
53312         to avoid conflicts with `conftest' on 8+3 filesystems.
53313         Suggestion from Eli Zaretskii.
53314
53315 1999-08-04  Jim Meyering  <meyering@ascend.com>
53316
53317         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
53318         fileutils and sh-utils (textutils's getline test was inadequate).
53319         (AM_FUNC_GETLINE): Run this test.
53320         (AC_CHECK_FUNCS): Check for getdelim.
53321         Reported by Bob Proulx.
53322
53323 1999-08-02  Jim Meyering  <meyering@ascend.com>
53324
53325         * m4/jm-macros.m4: Add a comment.
53326
53327 1999-08-01  Paul Eggert  <eggert@twinsun.com>
53328
53329         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
53330         <inttypes.h> defines strtoumax as a macro (and not as a
53331         function).
53332
53333 1999-08-01  Paul Eggert  <eggert@twinsun.com>
53334
53335         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
53336         that we can shift, multiply and divide unsigned long long
53337         values; Ultrix cc can't do it.
53338
53339 1999-08-01  Paul Eggert  <eggert@twinsun.com>
53340
53341         * m4/mktime.m4: New file, which is a preview of what should appear
53342         in the next public autoconf release.
53343
53344 1999-08-01  Paul Eggert  <eggert@twinsun.com>
53345
53346         * m4/lfs.m4: Remove this file.
53347         * m4/largefile.m4: New file.  It contains the old contents of
53348         lfs.m4, except that all names with prefix AC_LFS have been
53349         changed to use the prefix AC_SYS_LARGEFILE instead, to be
53350         compatible with future autoconf versions.  Also, some minor m4
53351         quoting problems have been fixed.
53352
53353 1999-08-01  Paul Eggert  <eggert@twinsun.com>
53354
53355         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
53356         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
53357         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
53358         and simplify the shell code.
53359
53360 1999-08-01  Jim Meyering  <meyering@ascend.com>
53361
53362         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
53363         m4.
53364
53365 1999-07-20  Jim Meyering  <meyering@ascend.com>
53366
53367         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
53368
53369 1999-07-15  Jim Meyering  <meyering@ascend.com>
53370
53371         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
53372
53373 1999-05-22  Jim Meyering  <meyering@ascend.com>
53374
53375         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
53376
53377 1999-05-20  Jim Meyering  <meyering@ascend.com>
53378
53379         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
53380         Add a colon after each `then' in case $4 is empty.
53381
53382 1999-05-16  Jim Meyering  <meyering@ascend.com>
53383
53384         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
53385
53386 1999-05-10  Jim Meyering  <meyering@ascend.com>
53387
53388         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
53389
53390         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
53391         AC_FUNC_MKTIME.
53392
53393 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
53394
53395         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
53396
53397 1999-05-04  Paul Eggert  <eggert@twinsun.com>
53398
53399         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
53400         not CPPFLAGS, so that linking works correctly in IRIX.
53401
53402 1999-04-30  Paul Eggert  <eggert@twinsun.com>
53403
53404         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
53405
53406 1999-04-20  Paul Eggert  <eggert@twinsun.com>
53407
53408         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
53409         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
53410         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
53411         jm_AC_TYPE_UNSIGNED_LONG_LONG.
53412         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
53413
53414         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
53415
53416 1999-04-20  Jim Meyering  <meyering@ascend.com>
53417
53418         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
53419         AC_REPLACE xstroull if necessary.  From Paul Eggert.
53420         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
53421
53422 1999-04-18  Jim Meyering  <meyering@ascend.com>
53423
53424         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
53425         * m4/jm-macros.m4: Use it.
53426
53427 1999-04-06  Jim Meyering  <meyering@ascend.com>
53428
53429         * m4/strftime.m4: Remove test for %f.
53430
53431 1999-03-29  Jim Meyering  <meyering@ascend.com>
53432
53433         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
53434         superset of the AC_TYPE_* checks in the textutils, fileutils,
53435         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
53436         AC_TYPE_PID_T.
53437
53438 1999-03-28  Jim Meyering  <meyering@ascend.com>
53439
53440         * m4/jm-macros.m4: Define GNU_PACKAGE here.
53441         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
53442         replaced e.g., in the *.sh files of the sh-utils.
53443
53444 1999-03-20  Jim Meyering  <meyering@ascend.com>
53445
53446         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
53447         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
53448         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
53449
53450 1999-03-19  Jim Meyering  <meyering@ascend.com>
53451
53452         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
53453
53454 1999-03-12  Jim Meyering  <meyering@ascend.com>
53455
53456         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
53457
53458 1999-03-07  Jim Meyering  <meyering@ascend.com>
53459
53460         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
53461         declared.
53462
53463 1999-02-17  Jim Meyering  <meyering@ascend.com>
53464
53465         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
53466         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
53467
53468 1999-02-07  Jim Meyering  <meyering@ascend.com>
53469
53470         * m4/group-member.m4: New file -- extracted from sh-utils'
53471         configure.in.
53472
53473         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
53474         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
53475
53476 1999-02-06  Jim Meyering  <meyering@ascend.com>
53477
53478         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
53479         * m4/fnmatch.m4: Likewise.
53480         * m4/getgroups.m4: Likewise.
53481         * m4/lstat.m4: Likewise.
53482         * m4/malloc.m4: Likewise.
53483         * m4/putenv.m4: Likewise.
53484         * m4/realloc.m4: Likewise.
53485         * m4/regex.m4: Likewise.
53486         * m4/stat.m4: Likewise.
53487         * m4/strftime.m4: Likewise.
53488         Suggestion from Alain Magloire.
53489
53490         * m4/chown.m4: Use `.$ac_objext', not `.o'.
53491         * m4/fnmatch.m4: Likewise.
53492         * m4/getgroups.m4: Likewise.
53493         * m4/getline.m4: Likewise.
53494         * m4/lstat.m4: Likewise.
53495         * m4/malloc.m4: Likewise.
53496         * m4/memcmp.m4: Likewise.
53497         * m4/putenv.m4: Likewise.
53498         * m4/realloc.m4: Likewise.
53499         * m4/regex.m4: Likewise.
53500         * m4/stat.m4: Likewise.
53501         * m4/strftime.m4: Likewise.
53502         Suggestion from Alain Magloire.
53503
53504         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
53505         an argument.
53506
53507         * m4/regex.m4: Add a run-time Test for proper operation of
53508         re_compile_pattern.
53509
53510 1999-01-31  Jim Meyering  <meyering@ascend.com>
53511
53512         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
53513
53514 1999-01-30  Jim Meyering  <meyering@ascend.com>
53515
53516         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
53517
53518         * m4/jm-mktime.m4: Make this a wrapper around the official
53519         AM_FUNC_MKTIME rather than my private copy, now that the official one
53520         is up to date.
53521         * m4/mktime.m4: Remove file.
53522
53523         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
53524         * m4/uptime.m4: Likewise.
53525         * m4/uintmax_t.m4: Likewise.
53526
53527 1999-01-28  Jim Meyering  <meyering@ascend.com>
53528
53529         * m4/jm-macros.m4: Use jm_AFS.
53530         * m4/afs.m4: New file (from fileutils' configure.in).
53531
53532         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
53533         * m4/chown.m4: Likewise.
53534         * m4/d-ino.m4: Likewise.
53535         * m4/d-type.m4: Likewise.
53536         * m4/fnmatch.m4: Likewise.
53537         * m4/getgroups.m4: Likewise.
53538         * m4/gettext.m4: Likewise.
53539         * m4/jm-mktime.m4: Likewise.
53540         * m4/jm-winsz2.m4: Likewise.
53541         * m4/lcmessage.m4: Likewise.
53542         * m4/ls-mntd-fs.m4: Likewise.
53543         * m4/malloc.m4: Likewise.
53544         * m4/memcmp.m4: Likewise.
53545         * m4/putenv.m4: Likewise.
53546         * m4/realloc.m4: Likewise.
53547         * m4/st_mtim.m4: Likewise.
53548         * m4/strftime.m4: Likewise.
53549
53550 1999-01-16  Jim Meyering  <meyering@ascend.com>
53551
53552         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
53553         (ARGMATCH_DIE_DECL): Define.
53554
53555 1999-01-12  Jim Meyering  <meyering@ascend.com>
53556
53557         * m4/Makefile.am.in: Rewrite to avoid using fmt.
53558         Reported by Lars Hecking.
53559
53560 1999-01-10  Jim Meyering  <meyering@ascend.com>
53561
53562         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
53563         gross kludge.
53564         * m4/inttypes_h.m4: Likewise.
53565         * m4/lstat.m4: Likewise.
53566         * m4/malloc.m4: Likewise.
53567         * m4/readdir.m4: Likewise.
53568         * m4/realloc.m4: Likewise.
53569         * m4/st_dm_mode.m4: Likewise.
53570         * m4/stat.m4: Likewise.
53571         * m4/utimbuf.m4: Likewise.
53572         * m4/utimes.m4: Likewise.
53573
53574         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
53575         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
53576         comments in config.h.in are meaningful.
53577
53578         * m4/jm-macros.m4: Require autoconf-2.13 here.
53579
53580         * m4/regex.m4: By default, don't use the included regex.c on systems
53581         with glibc 2.  Suggestion from Uli Drepper.
53582
53583 1999-01-02  Jim Meyering  <meyering@ascend.com>
53584
53585         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
53586
53587 1998-12-18  Jim Meyering  <meyering@ascend.com>
53588
53589         * m4/Makefile.am.in (Makefile.am): Simplify rule.
53590         Based on a suggestion from Lars Hecking.
53591
53592 1998-11-16  Paul Eggert  <eggert@twinsun.com>
53593
53594         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
53595
53596 1998-11-16  Jim Meyering  <meyering@ascend.com>
53597
53598         * m4/lfs.m4: Double-quote the `uname...` expression.
53599
53600 1998-11-14  Jim Meyering  <meyering@ascend.com>
53601
53602         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
53603         * m4/stat.m4: Likewise.
53604
53605 1998-11-03  Jim Meyering  <meyering@ascend.com>
53606
53607         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
53608         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
53609
53610 1998-10-18  Jim Meyering  <meyering@ascend.com>
53611
53612         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
53613
53614 1998-10-17  Jim Meyering  <meyering@ascend.com>
53615
53616         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
53617         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
53618         calls for those previously hard-coded headers.  Instead, take a new
53619         parameter.
53620         (jm_CHECK_DECLARATIONS): Reflect interface change.
53621         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
53622         (jm_CHECK_DECL_LOCALTIME_R): New macro.
53623
53624         * m4/mktime.m4: Test for spring-forward gap before long-running test.
53625
53626 1998-10-14  Jim Meyering  <meyering@ascend.com>
53627
53628         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
53629         instead of "TZ=America/Vancouver".  From Paul Eggert.
53630
53631 1998-10-11  Jim Meyering  <meyering@ascend.com>
53632
53633         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
53634         This adds a test for a recently added compatibility fix for mktime.c.
53635         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
53636
53637 1998-09-27  Jim Meyering  <meyering@ascend.com>
53638
53639         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
53640
53641         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
53642         ../configure.in, including a change from Gordon Matzigkeit to allow
53643         cross-compiling for the Hurd.
53644
53645         * m4/glibc.m4: New file/macro to test for the GNU C Library
53646         versions 1 and 2.  From Gordon Matzigkeit.
53647         Indent.
53648
53649 1998-09-21  Jim Meyering  <meyering@ascend.com>
53650
53651         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
53652
53653 1998-08-18  Paul Eggert  <eggert@twinsun.com>
53654
53655         Port nanosecond-resolution times to UnixWare 2.1.2 and
53656         pedantic Solaris 2.6.
53657
53658         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
53659         AC_STRUCT_ST_MTIM.
53660         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
53661         Generate name of ns member, instead of just 1 or undef.
53662         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
53663
53664 1998-08-15  Jim Meyering  <meyering@ascend.com>
53665
53666         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
53667         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
53668         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
53669         instead of jm_TYPE_SSIZE_T.
53670
53671 1998-08-12  Jim Meyering  <meyering@ascend.com>
53672
53673         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
53674
53675 1998-08-02  Jim Meyering  <meyering@ascend.com>
53676
53677         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
53678         in acconfig.h manually.
53679
53680 1998-07-31  Paul Eggert  <eggert@twinsun.com>
53681
53682         * m4/st_mtim.m4: New file.
53683
53684 1998-07-28  Jim Meyering  <meyering@ascend.com>
53685
53686         * m4/utimes.m4: Undef stat.
53687
53688 1998-07-25  Jim Meyering  <meyering@ascend.com>
53689
53690         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
53691         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
53692
53693 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
53694
53695         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
53696         uid and gid actually remain unchanged.
53697
53698 1998-07-07  Jim Meyering  <meyering@ascend.com>
53699
53700         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
53701
53702 1998-07-04  Jim Meyering  <meyering@ascend.com>
53703
53704         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
53705         to prove that this macro can be used in packages without regex.c.
53706
53707 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
53708
53709         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
53710         is to be used.
53711
53712 1998-07-03  Jim Meyering  <meyering@ascend.com>
53713
53714         * m4/gettext.m4: Add -lintl if it's found to be necessary.
53715
53716         * m4/gettext.m4: New file -- from gettext-0.10.35.
53717         * m4/lcmessage.m4: Likewise.
53718         * m4/progtest.m4: Likewise.
53719
53720         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
53721         * m4/jm-macros.m4: Require the new macro.
53722
53723 1998-06-29  Jim Meyering  <meyering@ascend.com>
53724
53725         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
53726         for the definition of NGROUPS (used in a system header included
53727         by sys/mount.h).
53728
53729 1998-06-28  Jim Meyering  <meyering@ascend.com>
53730
53731         * m4/ls-mntd-fs.m4: New file.
53732         * m4/fstypename.m4: New file.
53733
53734         * m4/jm-macros.m4: Require the new macro.
53735         * m4/jm-glibc-io.m4: New file.
53736
53737 1998-05-19  Jim Meyering  <meyering@ascend.com>
53738
53739         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
53740         * m4/lchown.m4: New file.
53741
53742         * m4/Makefile.am.in: New file.
53743         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
53744
53745 1998-05-14  Jim Meyering  <meyering@ascend.com>
53746
53747         * m4/Makefile.am (EXTRA_DIST): Add them.
53748         * m4/jm-macros.m4: New file.
53749         * m4/utimbuf.m4: New file.
53750
53751 1998-05-12  Jim Meyering  <meyering@ascend.com>
53752
53753         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
53754
53755 1998-05-11  Jim Meyering  <meyering@ascend.com>
53756
53757         * m4/isc-posix.m4: New file.
53758
53759 1998-05-10  Jim Meyering  <meyering@ascend.com>
53760
53761         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
53762
53763 1998-05-09  Jim Meyering  <meyering@ascend.com>
53764
53765         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
53766         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
53767         with automake.
53768
53769         * m4/ssize_t.m4: New file.
53770         * m4/mktime.m4: Remove file -- the new automake has this now.
53771
53772 1998-04-26  Jim Meyering  <meyering@ascend.com>
53773
53774         * m4/assert.m4: New file.
53775         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
53776
53777 1998-04-05  Jim Meyering  <meyering@ascend.com>
53778
53779         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
53780         (jm_PREREQ): Use it here.
53781
53782 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
53783
53784         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
53785         in acconfig.h.
53786
53787 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
53788
53789         * m4/prereq.m4: New file.
53790         * m4/error.m4: New file.
53791         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
53792
53793 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
53794
53795         * m4/getline.m4: Don't set am_cv_func_working_getline before the
53796         cache-check for the same variable -- that defeated the purpose of
53797         the test; the test program was never run.  This was a problem only
53798         on systems with losing getline functions -- HP-UX 10.20 is one.
53799         Reported by Bjorn Helgaas.
53800
53801 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
53802
53803         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
53804
53805 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
53806
53807         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
53808
53809         * m4/const.m4: New file.  Use an initializer in this declaration
53810         typedef int charset[2]; const charset x;
53811         Reported by Bob Glickstein.
53812
53813 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
53814
53815         * m4/chown.m4: Fix reversed types on -1 args to chown.
53816         From Kaveh Ghazi.
53817
53818 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
53819
53820         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
53821         Add lseek and memchr.
53822
53823         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
53824         T.E.Dickey <dickey@clark.net> said that some older preprocessors
53825         have a 20-character limit on names.
53826
53827 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
53828
53829         * m4/inttypes_h.m4: New file.
53830         * m4/uintmax_t.m4: New file.
53831         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
53832
53833
53834         -----
53835
53836         Local Variables:
53837         coding: utf-8
53838         End:
53839
53840         Copyright (C) 1997-2009 Free Software Foundation, Inc.
53841
53842         Copying and distribution of this file, with or without
53843         modification, are permitted provided the copyright notice
53844         and this notice are preserved.