c616f52e171e30034f086fdc2de8bdf9965193bb
[gnulib.git] / ChangeLog
1 2011-09-20  Bruno Haible  <bruno@clisp.org>
2
3         ftello tests: EBADF tests.
4         * tests/test-ftello4.sh: New file.
5         * tests/test-ftello4.c: New file.
6         * modules/ftello-tests (Files): Add them.
7         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
8
9         fseeko tests: EBADF tests.
10         * tests/test-fseeko4.sh: New file.
11         * tests/test-fseeko4.c: New file.
12         * modules/fseeko-tests (Files): Add them.
13         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
14
15         Tests for function fputc().
16         * modules/fputc-tests: New file.
17         * tests/test-fputc.c: New file.
18         * modules/stdio-tests (Depends-on): Add fputc-tests.
19
20         Tests for function fgetc().
21         * modules/fgetc-tests: New file.
22         * tests/test-fgetc.c: New file.
23         * modules/stdio-tests (Depends-on): Add fgetc-tests.
24
25         Tests for function fdopen().
26         * modules/fdopen-tests: New file.
27         * tests/test-fdopen.c: New file.
28         * modules/stdio-tests (Depends-on): Add fdopen-tests.
29
30         Tests for module 'vdprintf'.
31         * modules/vdprintf-tests: New file.
32         * tests/test-vdprintf.c: New file.
33
34         Tests for module 'dprintf'.
35         * modules/dprintf-tests: New file.
36         * tests/test-dprintf.c: New file.
37
38 2011-09-20  Bruno Haible  <bruno@clisp.org>
39
40         Tests for module 'ioctl'.
41         * modules/ioctl-tests: New file.
42         * tests/test-ioctl.c: New file.
43
44 2011-09-20  Bruno Haible  <bruno@clisp.org>
45
46         fcntl tests: EBADF tests.
47         * tests/test-fcntl.c (main): Add more tests for EBADF.
48
49 2011-09-20  Bruno Haible  <bruno@clisp.org>
50
51         utimensat tests: EBADF tests.
52         * tests/test-utimensat.c (main): Add tests for EBADF.
53
54         renameat tests: EBADF tests.
55         * tests/test-renameat.c (main): Add tests for EBADF.
56
57         mkfifoat tests: EBADF tests.
58         * tests/test-mkfifoat.c (main): Add tests for EBADF.
59
60         readlinkat tests: EBADF tests.
61         * tests/test-readlinkat.c (main): Add tests for EBADF.
62
63         symlinkat tests: EBADF tests.
64         * tests/test-symlinkat.c (main): Add tests for EBADF.
65
66         linkat tests: EBADF tests.
67         * tests/test-linkat.c (main): Add tests for EBADF.
68
69         Tests for module 'faccessat'.
70         * modules/faccessat-tests: New file.
71         * tests/test-faccessat.c: New file.
72
73         fdopendir tests: EBADF tests.
74         * tests/test-fdopendir.c (main): Add more tests for EBADF.
75
76         openat tests: EBADF tests.
77         * tests/test-fchownat.c (main): Add tests for EBADF.
78         * tests/test-fstatat.c (main): Likewise.
79         * tests/test-mkdirat.c (main): Likewise.
80         * tests/test-openat.c (main): Likewise.
81         * tests/test-unlinkat.c (main): Likewise.
82         * tests/test-fchmodat.c: New file.
83         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
84         (Makefile.am): Also run 'test-fchmodat'.
85
86 2011-09-20  Bruno Haible  <bruno@clisp.org>
87
88         utimens, futimens, fdutimensat tests: EBADF tests.
89         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
90
91         Tests for function fstat().
92         * modules/fstat-tests: New file.
93         * tests/test-fstat.c: New file.
94         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
95
96 2011-09-20  Bruno Haible  <bruno@clisp.org>
97
98         test-ttyname_r tests: EBADF tests.
99         * tests/test-ttyname_r.c (main): Add tests for EBADF.
100
101         Tests for module 'isatty'.
102         * modules/isatty-tests: New file.
103         * tests/test-isatty.c: New file.
104
105         Tests for module 'write'.
106         * modules/write-tests: New file.
107         * tests/test-write.c: New file.
108
109         Tests for module 'read'.
110         * modules/read-tests: New file.
111         * tests/test-read.c: New file.
112
113         pwrite tests: EBADF tests.
114         * tests/test-pwrite.c (main): Add tests for EBADF.
115
116         pread tests: EBADF tests.
117         * tests/test-pread.c (main): Add tests for EBADF.
118
119         lseek tests: EBADF tests.
120         * tests/test-lseek.c (main): Add more tests for EBADF.
121
122         Tests for module 'ftruncate'.
123         * modules/ftruncate-tests: New file.
124         * tests/test-ftruncate.sh: New file.
125         * tests/test-ftruncate.c: New file.
126
127         fsync tests: EBADF tests.
128         * tests/test-fsync.c (main): Add more tests for EBADF.
129
130         fdatasync tests: EBADF tests.
131         * tests/test-fdatasync.c (main): Add more tests for EBADF.
132
133         Tests for module 'fchown'.
134         * modules/fchown-tests: New file.
135         * tests/test-fchown.c: New file.
136
137         Tests for module 'fchmod'.
138         * modules/fchmod-tests: New file.
139         * tests/test-fchmod.c: New file.
140
141         fchdir tests: EBADF tests.
142         * tests/test-fchdir.c (main): Add more tests for EBADF.
143
144         dup2 tests: EBADF tests.
145         * tests/test-dup2.c (main): Add more tests for EBADF.
146
147         Tests for module 'dup'.
148         * modules/dup-tests: New file.
149         * tests/test-dup.c: New file.
150
151         Tests for module 'close'.
152         * modules/close-tests: New file.
153         * tests/test-close.c: New file.
154
155 2011-09-20  Bruno Haible  <bruno@clisp.org>
156
157         Tests for module 'shutdown'.
158         * modules/shutdown-tests: New file.
159         * tests/test-shutdown.c: New file.
160
161         Tests for module 'setsockopt'.
162         * modules/setsockopt-tests: New file.
163         * tests/test-setsockopt.c: New file.
164
165         Tests for module 'sendto'.
166         * modules/sendto-tests: New file.
167         * tests/test-sendto.c: New file.
168
169         Tests for module 'send'.
170         * modules/send-tests: New file.
171         * tests/test-send.c: New file.
172
173         Tests for module 'recvfrom'.
174         * modules/recvfrom-tests: New file.
175         * tests/test-recvfrom.c: New file.
176
177         Tests for module 'recv'.
178         * modules/recv-tests: New file.
179         * tests/test-recv.c: New file.
180
181         Tests for module 'listen'.
182         * modules/listen-tests: New file.
183         * tests/test-listen.c: New file.
184
185         Tests for module 'getsockopt'.
186         * modules/getsockopt-tests: New file.
187         * tests/test-getsockopt.c: New file.
188
189         Tests for module 'getsockname'.
190         * modules/getsockname-tests: New file.
191         * tests/test-getsockname.c: New file.
192
193         Tests for module 'getpeername'.
194         * modules/getpeername-tests: New file.
195         * tests/test-getpeername.c: New file.
196
197         Tests for module 'connect'.
198         * modules/connect-tests: New file.
199         * tests/test-connect.c: New file.
200
201         Tests for module 'bind'.
202         * modules/bind-tests: New file.
203         * tests/test-bind.c: New file.
204
205         accept4 tests: Fix for native Windows.
206         * tests/test-accept4.c: Include sockets.h.
207         (main): Invoke gl_sockets_startup.
208         * modules/accept4-tests (Depends-on): Add sockets.
209
210         accept tests: Fix for native Windows.
211         * tests/test-accept.c: Include sockets.h.
212         (main): Invoke gl_sockets_startup.
213         * modules/accept-tests (Depends-on): Add sockets.
214
215 2011-09-19  Bruno Haible  <bruno@clisp.org>
216
217         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
218         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
219         do...while(0).
220         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
221         Suggested by Paul Eggert.
222
223 2011-09-19  Bruno Haible  <bruno@clisp.org>
224
225         sched: Ensure pid_t is defined.
226         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
227         not define pid_t.
228         * lib/sched.in.h: Include <sys/types.h>.
229         * doc/posix-headers/sched.texi: Mention the pid_t problem.
230         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
231
232 2011-09-19  Bruno Haible  <bruno@clisp.org>
233
234         msvc-inval: Ensure the entire expansion is a single statement.
235         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
236         of braces.
237
238 2011-09-19  Jim Meyering  <meyering@redhat.com>
239
240         tests: use printf, not echo in init.sh's warn_ function
241         * tests/init.sh (warn_): Use printf, not echo.  The latter would
242         misbehave when given strings containing a backslash or starting
243         with e.g., -n.  James Youngman suggested setting IFS.
244
245 2011-09-19  Eric Blake  <eblake@redhat.com>
246
247         futimens: enhance test
248         * tests/test-futimens.h (test_futimens): Also check for EBADF on
249         closed non-negative fd.
250
251         date: accept 'hence' as opposite of 'ago'
252         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
253         * tests/test-parse-datetime.c (main): Enhance test.
254         Suggested by Jesse Wilson.
255
256 2011-09-19  Jim Meyering  <meyering@redhat.com>
257
258         getcwd: don't fail in a deep directory on a system without openat
259         Before this change, getcwd would fail when called from a directory
260         of depth PATH_MAX / 3 or greater.  That was due to the fact that
261         the non-openat implementation used "..", "../..", "../../..", etc.
262         to access ancestor directories.  With too many, that string would
263         be longer than PATH_MAX.
264         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
265         using gnulib's openat replacement.
266         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
267         we're using the replacement function.
268
269 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
270
271         maint.mk: avoid warnings from perl about missing files
272         * top/maint.mk (def_sym_regex): Ignore files listed in
273         $(gl_other_headers_) that do not exist, say because a project
274         does not use a corresponding module.
275
276 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
277
278         stat: use pathmax.h only if needed
279         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
280         This is better for Emacs, which does not have a mingw port and
281         therefore can avoid the pathmax module.
282
283         utimens: remove dependency on dup2
284         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
285         to work around the Linux kernel bug.
286         * modules/utimens (Depends-on): Remove dup2.
287
288 2011-09-18  Bruno Haible  <bruno@clisp.org>
289
290         inet_ntop, inet_pton: Look for it also in libresolv.
291         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
292         libnsl, search for it in libresolv.
293         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
294         Needed on Solaris 7.
295
296 2011-09-18  Bruno Haible  <bruno@clisp.org>
297
298         accept, accept4 tests: Avoid link error on Solaris.
299         * modules/accept-tests (Makefile.am): Link test-accept against
300         $(LIBSOCKET).
301         * modules/accept4-tests (Makefile.am): Link test-accept4 against
302         $(LIBSOCKET).
303
304         accept4: Avoid link error on Solaris.
305         * modules/accept4 (Link): New section.
306
307         socket functions: Avoid link errors on Solaris.
308         * modules/accept (Depends-on): Add socketlib.
309         (Link): New section.
310         * modules/bind (Depends-on): Add socketlib.
311         (Link): New section.
312         * modules/connect (Depends-on): Add socketlib.
313         (Link): New section.
314         * modules/getpeername (Depends-on): Add socketlib.
315         (Link): New section.
316         * modules/getsockname (Depends-on): Add socketlib.
317         (Link): New section.
318         * modules/getsockopt (Depends-on): Add socketlib.
319         (Link): New section.
320         * modules/listen (Depends-on): Add socketlib.
321         (Link): New section.
322         * modules/recv (Depends-on): Add socketlib.
323         (Link): New section.
324         * modules/recvfrom (Depends-on): Add socketlib.
325         (Link): New section.
326         * modules/send (Depends-on): Add socketlib.
327         (Link): New section.
328         * modules/sendto (Depends-on): Add socketlib.
329         (Link): New section.
330         * modules/setsockopt (Depends-on): Add socketlib.
331         (Link): New section.
332         * modules/shutdown (Depends-on): Add socketlib.
333         (Link): New section.
334         * modules/socket (Depends-on): Add socketlib.
335         (Link): New section.
336
337 2011-09-18  Bruno Haible  <bruno@clisp.org>
338
339         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
340         * tests/test-ptsname.c (main): Terminate the test if it takes longer
341         than 5 seconds.
342         * modules/ptsname-tests (configure.ac): Test for alarm.
343
344 2011-09-18  Bruno Haible  <bruno@clisp.org>
345
346         posix_spawn_file_actions_add*: Fix module dependencies.
347         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
348         posix_spawn_file_actions_init.
349         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
350         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
351
352 2011-09-18  Bruno Haible  <bruno@clisp.org>
353
354         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
355         * tests/test-rename.h (test_rename): Allow error code EEXIST.
356         * tests/test-renameat.c (main): Likewise.
357
358 2011-09-18  Bruno Haible  <bruno@clisp.org>
359
360         Tests for module 'accept4'.
361         * modules/accept4-tests: New file.
362         * tests/test-accept4.c: New file.
363
364 2011-09-18  Bruno Haible  <bruno@clisp.org>
365
366         Tests for module 'accept'.
367         * modules/accept-tests: New file.
368         * tests/test-accept.c: New file.
369
370 2011-09-18  Bruno Haible  <bruno@clisp.org>
371
372         dup2: Support for MSVC.
373         * lib/dup2.c: Include msvc-inval.h.
374         (rpl_dup2): Handle invalid parameter notifications during dup2 and
375         _get_osfhandle calls.
376         * modules/dup2 (Depends-on): Add msvc-inval.
377         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
378
379         New module 'msvc-inval'.
380         * lib/msvc-inval.h: New file.
381         * lib/msvc-inval.c: New file.
382         * m4/msvc-inval.m4: New file.
383         * modules/msvc-inval: New file.
384
385 2011-09-17  Bruno Haible  <bruno@clisp.org>
386
387         Tests for module 'pclose'.
388         * modules/pclose-tests: New file.
389
390         New module 'pclose'.
391         * lib/stdio.in.h (pclose): New declaration.
392         * lib/pclose.c: New file.
393         * m4/pclose.m4: New file.
394         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
395         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
396         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
397         * modules/pclose: New file.
398         * modules/popen-tests (Depends-on): Add pclose.
399         * modules/popen-safer-tests (Depends-on): Likewise.
400         * doc/posix-functions/pclose.texi: Mention the new module.
401
402 2011-09-17  Bruno Haible  <bruno@clisp.org>
403
404         popen: Support for MSVC.
405         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
406         * lib/popen.c (popen): Provide alternate definition for native Windows.
407         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
408         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
409         * modules/popen (Depends-on, configure.ac): Update condition.
410         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
411         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
412         fixed.
413
414 2011-09-17  Bruno Haible  <bruno@clisp.org>
415
416         isnanl, isnand, isnanf: Work around MSVC bug.
417         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
418
419 2011-09-17  Bruno Haible  <bruno@clisp.org>
420
421         sys_socket tests: Fix recent mistake.
422         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
423
424 2011-09-17  Bruno Haible  <bruno@clisp.org>
425
426         putenv: Support for MSVC.
427         * modules/putenv (Depends-on): Add environ.
428         * lib/putenv.c (environ): Disable declaration.
429         * lib/unistd.in.h: Update comment.
430
431 2011-09-17  Bruno Haible  <bruno@clisp.org>
432
433         math: Avoid macro redefinition warnings on MSVC.
434         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
435         Undefine before redefining.
436
437 2011-09-17  Bruno Haible  <bruno@clisp.org>
438
439         doc: Mention functions which are declared as macros.
440         * doc/posix-functions/*[fl].texi: Mention that some functions are
441         defined as macros with arguments only.
442
443 2011-09-17  Bruno Haible  <bruno@clisp.org>
444
445         Add dependencies to new dirent related modules.
446         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
447         * modules/fts (Depends-on): Likewise.
448         * modules/glob (Depends-on): Likewise.
449         * modules/savedir (Depends-on): Likewise.
450         * modules/scandir (Depends-on): Likewise.
451         * modules/dirent-safer (Depends-on): Add opendir, closedir.
452         * modules/fdopendir (Depends-on): Add opendir.
453
454 2011-09-17  Bruno Haible  <bruno@clisp.org>
455
456         inet_pton: Support for MSVC on Windows Vista or newer.
457         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
458         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
459         HAVE_DECL_INET_PTON is defined.
460         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
461         On platforms with <winsock2.h>, test whether inet_pton is declared in
462         <ws2tcpip.h>. If so, arrange to replace it.
463         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
464         REPLACE_INET_PTON.
465         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
466         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
467         (Depends-on, configure.ac): Update condition.
468         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
469
470 2011-09-17  Bruno Haible  <bruno@clisp.org>
471
472         inet_ntop: Support for MSVC on Windows Vista or newer.
473         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
474         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
475         HAVE_DECL_INET_NTOP is defined.
476         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
477         On platforms with <winsock2.h>, test whether inet_ntop is declared in
478         <ws2tcpip.h>. If so, arrange to replace it.
479         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
480         REPLACE_INET_NTOP.
481         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
482         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
483         (Depends-on, configure.ac): Update condition.
484         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
485
486 2011-09-16  Eric Blake  <eblake@redhat.com>
487
488         test-fsync: yet another enhancement
489         * tests/test-fsync.c (main): Also test behavior on read-only text
490         file.
491
492 2011-09-16  Bruno Haible  <bruno@clisp.org>
493
494         Enhance fsync, fdatasync tests.
495         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
496         * tests/test-fdatasync.c (main): Likewise.
497
498 2011-09-16  Bruno Haible  <bruno@clisp.org>
499
500         Support for MSVC compiler: Ensure mode_t gets defined.
501         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
502         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
503         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
504         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
505         * tests/test-fcntl-h.c: Check that mode_t is defined.
506         * tests/test-sys_stat.c: Likewise.
507         * tests/test-sys_types.c: Likewise.
508         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
509         * doc/posix-headers/sys_stat.texi: Likewise.
510         * doc/posix-headers/sys_types.texi: Likewise.
511
512 2011-09-16  Bruno Haible  <bruno@clisp.org>
513
514         sys_stat: Support for MSVC.
515         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
516         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
517         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
518         MSVC.
519
520 2011-09-16  Bruno Haible  <bruno@clisp.org>
521
522         Support for MSVC compiler: Ensure off_t gets defined.
523         * lib/unistd.in.h: Include <sys/types.h>.
524         * tests/test-fcntl-h.c: Check that off_t is defined.
525         * tests/test-sys_stat.c: Likewise.
526         * tests/test-sys_types.c: Likewise.
527
528 2011-09-16  Eric Blake  <eblake@redhat.com>
529
530         fdatasync: port to Solaris
531         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
532         * modules/fdatasync (Link): Document it.
533         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
534
535         fdatasync: port to MacOS X 10.7
536         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
537         declared.
538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
539         * modules/unistd (Makefile.am): Substitute it.
540         * lib/unistd.in.h (fdatasync): Declare on MacOS.
541         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
542
543         fdatasync: minor improvements
544         * modules/fdatasync (Depends-on): Add condition for fsync.
545         * lib/fdatasync.c (fdatasync): Add comment.
546         * tests/test-unistd-c++.cc: Test fdatasync.
547
548         unistd: update refs to newer POSIX
549         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
550         Suggested by Bruno Haible.
551
552         fdatasync: new module
553         * modules/fsync (Description): Document difference to fdatasync.
554         * modules/fdatasync: New module.
555         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
556         * lib/fdatasync.c (fdatasync): Likewise.
557         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
558         defaults.
559         * modules/unistd (Makefile.am): Set witnesses.
560         * lib/unistd.in.h (fdatasync): Declare.
561         * MODULES.html.sh: Document it.
562         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
563         * modules/fdatasync-tests: New test.
564         * tests/test-fdatasync.c: Likewise.
565
566 2011-09-16  Eric Blake  <eblake@redhat.com>
567
568         test-fsync: enhance tests
569         * modules/fsync-tests (Depends-on): Add errno, for mingw.
570         * tests/test-fsync.c (main): Enhance test.
571
572 2011-09-15  Bruno Haible  <bruno@clisp.org>
573
574         Support for MSVC compiler: Ensure ssize_t gets defined.
575         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
576         * doc/posix-headers/stdio.texi: Likewise.
577         * modules/stdio (Depends-on): Add ssize_t.
578         * modules/sys_socket (Depends-on): Likewise.
579         * modules/sys_types (Depends-on): Likewise.
580         * modules/sys_uio (Depends-on): Likewise.
581         * modules/unistd (Depends-on): Likewise.
582         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
583         * tests/test-sys_types.c: Check that ssize_t is defined.
584
585 2011-09-14  Bruno Haible  <bruno@clisp.org>
586
587         Avoid using #, the m4 comment starter character, near brackets.
588         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
589         delimiter character in sed expressions.
590         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
591         Suggested by Eric Blake.
592
593         Properly quote AC_CHECK_DECLS' 4th argument.
594         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
595         argument.
596         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
597         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
598         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
599         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
600         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
601         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
602         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
603         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
604         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
605         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
606         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
607         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
608         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
609         * m4/isinf.m4 (gl_ISINF): Likewise.
610         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
611         * m4/readutmp.m4 (gl_READUTMP): Likewise.
612         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
613         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
614         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
615         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
616         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
617         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
618         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
619         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
620         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
621         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
622         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
623         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
624         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
625         Reported by Eric Blake.
626
627         Properly quote AC_CHECK_DECL's 4th argument.
628         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
629         argument.
630         * m4/argp.m4 (gl_ARGP): Likewise.
631         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
632         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
633         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
634         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
635         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
636         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
637         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
638         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
639         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
640         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
641         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
642         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
643         Reported by Eric Blake.
644
645 2011-09-14  Eric Blake  <eblake@redhat.com>
646
647         opendir: avoid compile warning
648         * lib/opendir.c (includes): Always include errno.h.
649         Reported by Tatsuro MATSUOKA.
650
651 2011-09-14  Jim Meyering  <meyering@redhat.com>
652
653         maint.mk: sc_tight_scope: propagate failure from sub-make
654         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
655         Reported by Martin von Gagern.
656
657 2011-09-13  Bruno Haible  <bruno@clisp.org>
658
659         tempname: Support for MSVC.
660         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
661         MSVC.
662         * modules/tempname (Depends-on): Add fcntl-h.
663
664 2011-09-13  Bruno Haible  <bruno@clisp.org>
665
666         sys_time: Support for MSVC.
667         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
668         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
669         include <winsock2.h>.
670         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
671         function declarations that collide with POSIX.
672         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
673         (Makefile.am): Substitute HAVE_WINSOCK2_H.
674
675 2011-09-13  Bruno Haible  <bruno@clisp.org>
676
677         stat: Support for MSVC.
678         * lib/stat.c: Include pathmax.h.
679         * modules/stat (Depends-on): Add pathmax.
680
681         pathmax: Support for native Windows.
682         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
683
684 2011-09-12  Bruno Haible  <bruno@clisp.org>
685
686         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
687         * lib/dirent.in.h (struct dirent): New type.
688         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
689         DT_WHT): New macros.
690         (DIR): New type.
691         (opendir, closedir): Declare only if the module 'opendir' is enabled.
692         (readdir, rewinddir): New declarations.
693         * lib/dirent-private.h: New file.
694         * lib/opendir.c: New file.
695         * lib/readdir.c: New file.
696         * lib/rewinddir.c: New file.
697         * lib/closedir.c: New file.
698         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
699         * m4/opendir.m4: New file.
700         * m4/readdir.m4: New file.
701         * m4/rewinddir.m4: New file.
702         * m4/closedir.m4: New file.
703         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
704         REPLACE_CLOSEDIR here.
705         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
706         readdir, rewinddir are declared.
707         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
708         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
709         HAVE_REWINDDIR, HAVE_CLOSEDIR.
710         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
711         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
712         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
713         * modules/opendir: New file.
714         * modules/readdir: New file.
715         * modules/rewinddir: New file.
716         * modules/closedir: New file.
717         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
718         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
719         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
720         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
721         * NEWS: Mention the 'fchdir' change.
722
723 2011-09-11  Bruno Haible  <bruno@clisp.org>
724
725         asm-underscore.m4: Support for MSVC.
726         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
727         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
728
729 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
730
731         Doc about crypt functions.
732         * doc/posix-functions/crypt.texi: Expand range of glibc versions
733         needing for _GNU_SOURCE to get crypt.
734         * doc/posix-functions/encrypt.texi: Likewise.
735         * doc/posix-functions/setkey.texi: Likewise.
736
737 2011-09-11  Bruno Haible  <bruno@clisp.org>
738
739         doc: Update regarding MSVC 9.
740         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
741         tested".
742         * doc/posix-functions/*.texi: Update with info about MSVC 9.
743         * doc/posix-headers/*.texi: Likewise.
744         * doc/pastposix-functions/*.texi: Likewise.
745         * doc/glibc-functions/*.texi: Likewise.
746         * doc/glibc-headers/*.texi: Likewise.
747
748 2011-09-11  Bruno Haible  <bruno@clisp.org>
749
750         unistd et al.: Don't assume <unistd.h> exists.
751         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
752         does not exist.
753         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
754         exist. But include <stdlib.h>.
755         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
756         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
757         symlink() does not exist.
758         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
759         include <io.h> instead.
760         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
761         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
762         include <direct.h> instead.
763         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
764         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
765         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
766         <io.h> instead.
767         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
768         correctly if the system does not have hard links.
769         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
770         <direct.h> instead.
771         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
772         it when looking for function declarations.
773         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
774         <direct.h> and <io.h> instead.
775         * doc/posix-headers/unistd.texi: More details about MSVC problem.
776
777 2011-09-11  Bruno Haible  <bruno@clisp.org>
778
779         strcase: Support for MSVC.
780         * modules/strcase (Status, Notice): Remove obsoletion mark.
781         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
782         * doc/posix-functions/strncasecmp.texi: Likewise.
783
784         strings: Don't assume <strings.h> exists.
785         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
786         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
787         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
788         * doc/posix-headers/strings.texi: Mention the MSVC problem.
789
790 2011-09-11  Bruno Haible  <bruno@clisp.org>
791
792         dirent: Don't assume <dirent.h> exists.
793         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
794         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
795         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
796         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
797
798 2011-09-11  Bruno Haible  <bruno@clisp.org>
799
800         Fix wint_t on MSVC.
801         * lib/wchar.in.h (wint_t): On MSVC, override it.
802         * lib/wctype.in.h (wint_t): Likewise.
803         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
804         MSVC.
805         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
806         * doc/posix-headers/wctype.texi: Likewise.
807
808 2011-09-11  Bruno Haible  <bruno@clisp.org>
809
810         sys_types: Fix typo.
811         * lib/sys_types.in.h: Fix typo in comment.
812         Reported by Paul Eggert.
813
814         Support for MSVC compiler: Ensure size_t gets defined.
815         * modules/strings (Depends-on): Add 'sys_types'.
816         * modules/sys_uio (Depends-on): Likewise.
817         * lib/sys_uio.in.h: Update comment.
818
819         C++ tests for module 'sys_types'.
820         * modules/sys_types-c++-tests: New file.
821         * tests/test-sys_types-c++.cc: New file.
822
823         Tests for module 'sys_types'.
824         * modules/sys_types-tests: New file.
825         * tests/test-sys_types.c: New file.
826
827         New module 'sys_types'.
828         * lib/sys_types.in.h: New file.
829         * m4/sys_types_h.m4: New file.
830         * modules/sys_types: New file.
831         * doc/posix-headers/sys_types.texi: Mention the new module and the
832         size_t problem on MSVC 9.
833
834 2011-09-11  Bruno Haible  <bruno@clisp.org>
835
836         Support for MSVC compiler: Avoid division by a literal 0.
837         * lib/math.in.h (NAN): Define through a function call also on MSVC.
838         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
839         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
840         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
841         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
842         * tests/infinity.h: New file.
843         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
844         on MSVC.
845         * tests/test-ceilf1.c: Include infinity.h.
846         (main): Use Infinityf.
847         * tests/test-ceil1.c: Include infinity.h.
848         (main): Use Infinityd.
849         * tests/test-ceill.c: Include infinity.h.
850         (main): Use Infinityl.
851         * tests/test-dprintf-posix.c: Include infinity.h.
852         (test_function): Use Infinityd.
853         * tests/test-floorf1.c: Include infinity.h.
854         (main): Use Infinityf.
855         * tests/test-floor1.c: Include infinity.h.
856         (main): Use Infinityd.
857         * tests/test-floorl.c: Include infinity.h.
858         (main): Use Infinityl.
859         * tests/test-fprintf-posix.c: Include infinity.h.
860         (test_function): Use Infinityd.
861         * tests/test-frexp.c: Include infinity.h.
862         (main): Use Infinityd.
863         * tests/test-frexpl.c: Include infinity.h.
864         (main): Use Infinityl.
865         * tests/test-isfinite.c: Include infinity.h.
866         (test_isfinitef): Use Infinityf.
867         (test_isfinited): Use Infinityd.
868         (test_isfinitel): Use Infinityl.
869         * tests/test-isinf.c: Include infinity.h.
870         (test_isinff): Use Infinityf.
871         (test_isinfd): Use Infinityd.
872         (test_isinfl): Use Infinityl.
873         * tests/test-isnan.c: Include infinity.h.
874         (test_float): Use Infinityf.
875         (test_double): Use Infinityd.
876         (test_long_double): Use Infinityl.
877         * tests/test-isnanf.h: Include infinity.h.
878         (main): Use Infinityf.
879         * tests/test-isnand.h: Include infinity.h.
880         (main): Use Infinityd.
881         * tests/test-isnanl.h: Include infinity.h.
882         (main): Use Infinityl.
883         * tests/test-ldexpl.c: Include infinity.h.
884         (main): Use Infinityl.
885         * tests/test-printf-posix.h: Include infinity.h.
886         (test_function): Use Infinityd.
887         * tests/test-roundf1.c: Include infinity.h.
888         (main): Use Infinityf.
889         * tests/test-round1.c: Include infinity.h.
890         (main): Use Infinityd.
891         * tests/test-roundl.c: Include infinity.h.
892         (main): Use Infinityl.
893         * tests/test-signbit.c: Include infinity.h.
894         (test_signbitf): Use Infinityf.
895         (test_signbitd): Use Infinityd.
896         (test_signbitl): Use Infinityl.
897         * tests/test-snprintf-posix.h: Include infinity.h.
898         (test_function): Use Infinityd, Infinityl.
899         * tests/test-sprintf-posix.h: Include infinity.h.
900         (test_function): Use Infinityd, Infinityl.
901         * tests/test-truncf1.c: Include infinity.h.
902         (main): Use Infinityf.
903         * tests/test-trunc1.c: Include infinity.h.
904         (main): Use Infinityd.
905         * tests/test-truncl.c: Include infinity.h.
906         (main): Use Infinityl.
907         * tests/test-vasnprintf-posix.c: Include infinity.h.
908         (test_function): Use Infinityd, Infinityl.
909         * tests/test-vasprintf-posix.c: Include infinity.h.
910         (test_function): Use Infinityd, Infinityl.
911         * modules/ceilf-tests (Files): Add tests/infinity.h.
912         * modules/ceil-tests (Files): Likewise.
913         * modules/ceill-tests (Files): Likewise.
914         * modules/dprintf-posix-tests (Files): Likewise.
915         * modules/floorf-tests (Files): Likewise.
916         * modules/floor-tests (Files): Likewise.
917         * modules/floorl-tests (Files): Likewise.
918         * modules/fprintf-posix-tests (Files): Likewise.
919         * modules/frexp-tests (Files): Likewise.
920         * modules/frexp-nolibm-tests (Files): Likewise.
921         * modules/frexpl-tests (Files): Likewise.
922         * modules/frexpl-nolibm-tests (Files): Likewise.
923         * modules/isfinite-tests (Files): Likewise.
924         * modules/isinf-tests (Files): Likewise.
925         * modules/isnan-tests (Files): Likewise.
926         * modules/isnanf-tests (Files): Likewise.
927         * modules/isnanf-nolibm-tests (Files): Likewise.
928         * modules/isnand-tests (Files): Likewise.
929         * modules/isnand-nolibm-tests (Files): Likewise.
930         * modules/isnanl-tests (Files): Likewise.
931         * modules/isnanl-nolibm-tests (Files): Likewise.
932         * modules/ldexpl-tests (Files): Likewise.
933         * modules/printf-posix-tests (Files): Likewise.
934         * modules/roundf-tests (Files): Likewise.
935         * modules/round-tests (Files): Likewise.
936         * modules/roundl-tests (Files): Likewise.
937         * modules/signbit-tests (Files): Likewise.
938         * modules/snprintf-posix-tests (Files): Likewise.
939         * modules/sprintf-posix-tests (Files): Likewise.
940         * modules/truncf-tests (Files): Likewise.
941         * modules/trunc-tests (Files): Likewise.
942         * modules/truncl-tests (Files): Likewise.
943         * modules/vasnprintf-posix-tests (Files): Likewise.
944         * modules/vasprintf-posix-tests (Files): Likewise.
945         * modules/vdprintf-posix-tests (Files): Likewise.
946         * modules/vfprintf-posix-tests (Files): Likewise.
947         * modules/vprintf-posix-tests (Files): Likewise.
948         * modules/vsnprintf-posix-tests (Files): Likewise.
949         * modules/vsprintf-posix-tests (Files): Likewise.
950         * modules/xprintf-posix-tests (Files): Likewise.
951
952 2011-09-11  Bruno Haible  <bruno@clisp.org>
953
954         Ensure pid_t gets defined.
955         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
956         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
957         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
958         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
959         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
960         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
961         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
962         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
963         * tests/test-fcntl-h.c: Check that pid_t is defined.
964         * tests/test-sched.c: Likewise.
965         * tests/test-termios.c: Likewise.
966         * tests/test-time.c: Likewise.
967         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
968         * doc/posix-headers/signal.texi: Likewise.
969         * doc/posix-headers/sys_types.texi: Likewise.
970         * doc/posix-headers/time.texi: Likewise.
971
972 2011-09-11  Bruno Haible  <bruno@clisp.org>
973
974         acl: Fix compilation on Solaris 10 (older version).
975         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
976         of ACE_EVERYONE.
977         * lib/set-mode-acl.c (qset_acl): Likewise.
978         Reported by Christian Jullien <eligis@orange.fr>.
979
980 2011-09-10  Bruno Haible  <bruno@clisp.org>
981
982         iconv, unsetenv: Add support for MSVC compiler.
983         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
984         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
985
986 2011-09-10  Bruno Haible  <bruno@clisp.org>
987
988         *printf: Add support for MSVC compiler.
989         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
990         handles the exception caused by the %n directive. When cross-compiling,
991         guess no on native Windows.
992         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
993         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
994         emulate it through vsnprintf.
995         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
996         * doc/posix-functions/dprintf.texi: Update documentation regarding
997         MSVC 9.
998         * doc/posix-functions/fprintf.texi: Likewise.
999         * doc/posix-functions/printf.texi: Likewise.
1000         * doc/posix-functions/snprintf.texi: Likewise.
1001         * doc/posix-functions/sprintf.texi: Likewise.
1002         * doc/posix-functions/swprintf.texi: Likewise.
1003         * doc/posix-functions/vdprintf.texi: Likewise.
1004         * doc/posix-functions/vfprintf.texi: Likewise.
1005         * doc/posix-functions/vprintf.texi: Likewise.
1006         * doc/posix-functions/vsnprintf.texi: Likewise.
1007         * doc/posix-functions/vsprintf.texi: Likewise.
1008         * doc/glibc-functions/asprintf.texi: Likewise.
1009         * doc/glibc-functions/obstack_printf.texi: Likewise.
1010         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
1011         * doc/glibc-functions/vasprintf.texi: Likewise.
1012
1013 2011-09-10  Bruno Haible  <bruno@clisp.org>
1014
1015         nocrash: Add support for native Windows.
1016         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
1017
1018 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
1019             Bruno Haible  <bruno@clisp.org>
1020
1021         absolute-header, include-next: Add support for MSVC compiler.
1022         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
1023         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
1024         directory separator in #line directives.
1025         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
1026         recognize also backslash as directory separator in #line directives.
1027
1028 2011-09-08  Jim Meyering  <meyering@redhat.com>
1029
1030         maint.mk: mark the post-release commit log with "maint: " prefix
1031         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
1032         one-line commit-log summary.
1033
1034 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
1035             Bruno Haible  <bruno@clisp.org>
1036
1037         Doc about crypt functions.
1038         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
1039         systems.
1040         * doc/posix-functions/encrypt.texi: Likewise.
1041         * doc/posix-functions/setkey.texi: Likewise.
1042
1043 2011-09-08  Simon Josefsson  <simon@josefsson.org>
1044
1045         * lib/gc.h: Fix copyright header.
1046
1047 2011-09-07  Bruno Haible  <bruno@clisp.org>
1048
1049         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
1050         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
1051         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
1052
1053 2011-09-07  Bruno Haible  <bruno@clisp.org>
1054
1055         openat: Work around compilation error with OSF/1 5.1 DTK cc.
1056         * lib/fopen.c: Use different syntax for include of <stdio.h>.
1057         * lib/freopen.c: Likewise.
1058         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
1059         * lib/lstat.c: Likewise.
1060         * lib/stat.c: Likewise.
1061         * lib/open.c: Use different syntax for include of <fcntl.h>.
1062         * lib/openat.c: Include fcntl.h again, explicitly.
1063
1064 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
1065
1066         parse-datetime: document the newly accepted format
1067         * doc/parse-datetime.texi (Combined date and time of day items):
1068         New section.
1069
1070 2011-09-06  Bruno Haible  <bruno@clisp.org>
1071
1072         acl: Fix a test failure on newer Solaris 10 with ZFS.
1073         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
1074         ENOSYS as no ACL.
1075         Reported by Jim Meyering.
1076
1077 2011-09-06  Bruno Haible  <bruno@clisp.org>
1078
1079         acl: Update for AIX >= 5.3 with NFS.
1080         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
1081         ENOSYS as no ACL.
1082
1083         acl: Fix a test failure on AIX >= 5.3 with NFS.
1084         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
1085         as no ACL.
1086
1087 2011-09-06  Bruno Haible  <bruno@clisp.org>
1088
1089         acl: Fix a test failure on IRIX 6.5 with NFS.
1090         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
1091         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
1092         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
1093         * lib/copy-acl.c (qcopy_acl): Likewise.
1094
1095 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
1096
1097         openat: port to AIX 7.1 with large files
1098         AIX 7.1 does a "#define openat open64at" if large files are in use,
1099         so we can't simply #undef openat.  Use the orig_openat trick (similar
1100         to orig_open in lib/open.c) to work around the problem.  Problem
1101         reported by Kevin Brott for GNU tar, in the thread containing
1102         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
1103         * lib/openat.c (__need_system_fcntl_h): Define first.
1104         Include <fcntl.h> and <sys/types.h> before undefining.
1105         (orig_openat) [HAVE_OPENAT]: New inline function.
1106         (openat) [HAVE_OPENAT]: Do not undef.
1107         (rpl_openat): Use orig_openat, not openat.
1108
1109 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
1110             Bruno Haible  <bruno@clisp.org>
1111
1112         acl: Avoid errors on NonStop Kernel.
1113         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
1114         ENOTSUP errors.
1115
1116 2011-09-05  Bruno Haible  <bruno@clisp.org>
1117
1118         acl: Clean up Solaris code.
1119         * lib/acl-internal.h: Remove no-op #if.
1120         * lib/file-has-acl.c: Likewise.
1121         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
1122         * lib/copy-acl.c (qcopy_acl): Likewise.
1123
1124 2011-09-05  Bruno Haible  <bruno@clisp.org>
1125
1126         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
1127         binaries built on the original Solaris 10.
1128         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
1129         trivial.
1130
1131 2011-09-05  Bruno Haible  <bruno@clisp.org>
1132
1133         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
1134         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
1135         10.
1136         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
1137         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
1138         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
1139         instead of acl_get, facl_get, acl_set, facl_set.
1140
1141 2011-09-05  Bruno Haible  <bruno@clisp.org>
1142
1143         copy-file: Try unit tests on more file systems.
1144         * tests/test-copy-file-1.sh: New file.
1145         * tests/test-copy-file-2.sh: New file.
1146         * modules/copy-file-tests (Files): Add them.
1147         (Makefile.am): Add them to TESTS.
1148
1149         acl: Try unit tests on more file systems.
1150         * tests/test-file-has-acl-1.sh: New file.
1151         * tests/test-file-has-acl-2.sh: New file.
1152         * tests/test-set-mode-acl-1.sh: New file.
1153         * tests/test-set-mode-acl-2.sh: New file.
1154         * tests/test-copy-acl-1.sh: New file.
1155         * tests/test-copy-acl-2.sh: New file.
1156         * modules/acl-tests (Files): Add them.
1157         (Makefile.am): Add them to TESTS.
1158
1159 2011-09-04  Bruno Haible  <bruno@clisp.org>
1160
1161         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
1162         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
1163         10.
1164         (OLD_ALLOW, OLD_DENY): New macros.
1165         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
1166         ACE_ACCESS_ALLOWED_ACE_TYPE.
1167         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
1168         ACE_ACCESS_DENIED_ACE_TYPE.
1169         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
1170         (NEW_ACE_EXECUTE): Fix value.
1171         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
1172         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
1173         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
1174         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
1175         NEW_ACE_SYNCHRONIZE): New macros.
1176         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
1177         instead of acl_fromtext, acl_set, facl_set.
1178         Fixes a coreutils/tests/cp/perm failure.
1179
1180 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
1181
1182         openat: test for fstatat (..., 0) bug
1183         Further testing with tar suggests that fstatat (..., 0)
1184         does not work in general, on AIX 7.1; see
1185         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
1186         So, give up entirely on AIX 7.1's fstatat, and fall back on our
1187         replacement fstatat (which is what older AIX releases were using
1188         anyway).
1189         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
1190         use is now changed to orig_fstatat.  This was probably the right
1191         thing to do anyway.
1192         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
1193         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
1194         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
1195         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
1196         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
1197         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
1198         if the bug is found.
1199
1200         openat: test for fstatat (AT_FDCWD, ..., 0) bug
1201         This tests for another fstatat bug on AIX 7.1:
1202         fstatat (AT_FDCWD, ..., 0) does not work.  See
1203         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
1204         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
1205         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
1206         (rpl_fstatat): Adjust so that it works around either (or both)
1207         bugs if present.
1208         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
1209
1210 2011-09-03  Karl Berry  <karl@gnu.org>
1211
1212         * doc/regex.texi (Character Class Operators): Avoid literal ":"
1213         in index entries.
1214
1215 2011-09-02  Bruno Haible  <bruno@clisp.org>
1216
1217         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
1218         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
1219         values of AR, ARFLAGS, RANLIB.
1220         Reported by John W. Eaton <jwe@gnu.org> for Octave.
1221
1222 2011-09-02  Bruno Haible  <bruno@clisp.org>
1223
1224         Find 'ar' program that fits with --host argument.
1225         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
1226
1227 2011-09-02  Bruno Haible  <bruno@clisp.org>
1228
1229         tests: init.sh: Support any non-GNU diff.
1230         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
1231         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
1232         Solaris 8.
1233
1234 2011-09-02  Bruno Haible  <bruno@clisp.org>
1235
1236         tests: init.sh: work also with any non-GNU diff that supports -u
1237         * tests/init.sh: Relax check for diff -u support.
1238         Rather than checking for GNU diff via --version, simply check
1239         for support for -u itself.  Useful at least on OpenBSD 4.9,
1240         AIX 7.1, IRIX 6.5, and Solaris 10.
1241
1242 2011-09-01  Bruno Haible  <bruno@clisp.org>
1243
1244         strtoimax, strtoumax: Document problem on HP-UX 11.
1245         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
1246         * doc/posix-functions/strtoumax.texi: Likewise.
1247
1248 2011-09-01  Bruno Haible  <bruno@clisp.org>
1249
1250         strtoumax: Avoid link error on OSF/1 with DTK cc.
1251         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
1252         defined as a function.
1253         * modules/strtoumax (Depends-on, configure.ac): Test only whether
1254         strtoumax is defined, not whether it is declared.
1255
1256 2011-09-01  Bruno Haible  <bruno@clisp.org>
1257
1258         strtoimax: Avoid link error on OSF/1 with DTK cc.
1259         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
1260         defined as a function.
1261         * modules/strtoimax (Depends-on, configure.ac): Test only whether
1262         strtoimax is defined, not whether it is declared.
1263
1264 2011-09-01  Bruno Haible  <bruno@clisp.org>
1265
1266         imaxdiv: Avoid link error on OSF/1 with DTK cc.
1267         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
1268         as a function.
1269         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
1270         whether it is declared.
1271
1272 2011-09-01  Bruno Haible  <bruno@clisp.org>
1273
1274         imaxabs: Avoid link error on OSF/1 with DTK cc.
1275         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
1276         as a function.
1277         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
1278         whether it is declared.
1279
1280 2011-09-01  Bruno Haible  <bruno@clisp.org>
1281
1282         Tests for module 'strtoumax'.
1283         * modules/strtoumax-tests: New file.
1284         * tests/test-strtoumax.c: New file.
1285
1286         Tests for module 'strtoimax'.
1287         * modules/strtoimax-tests: New file.
1288         * tests/test-strtoimax.c: New file.
1289
1290         Tests for module 'imaxdiv'.
1291         * modules/imaxdiv-tests: New file.
1292         * tests/test-imaxdiv.c: New file.
1293
1294         Tests for module 'imaxabs'.
1295         * modules/imaxabs-tests: New file.
1296         * tests/test-imaxabs.c: New file.
1297
1298 2011-09-01  Bruno Haible  <bruno@clisp.org>
1299
1300         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
1301         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
1302         pthread_create.
1303
1304 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1305
1306         openat: work around AIX 7.1 fstatat issue
1307         This should fix the problem that was not properly fixed
1308         in the previous change, dated 2011-08-30.
1309         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
1310         __need_system_stat_h defined.
1311         (orig_fstatat) [HAVE_FSTATAT]: New function.
1312         (rpl_fstatat): Go back to the old way of doing things,
1313         except call orig_fstatat instead of fstatat.
1314         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
1315         Remove unnecessary check whether fstatat fills in st_size etc.
1316
1317 2011-09-01  Bruno Haible  <bruno@clisp.org>
1318
1319         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
1320         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
1321         just include the system's header.
1322
1323 2011-08-31  Jim Meyering  <meyering@redhat.com>
1324
1325         tests: avoid spurious assertion failure in test-float.c on ppc64
1326         * tests/test-float.c (test_long_double): Comment out an assertion,
1327         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
1328         with gcc-4.4.4.
1329
1330         maint: indent with spaces, not TABs
1331         I need to get in the habit of running gnulib's "make check".
1332         Both of these would have been caught.
1333         * m4/largefile.m4: Indent with spaces, not TABs.
1334         * lib/parse-datetime.y (iso_8601_time): Likewise.
1335         Spotted by Pádraig Brady.
1336
1337         test-parse-datetime.c: accommodate a relatively strict gcc warning
1338         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
1339         to avoid a warning from gcc's -Werror=missing-declarations.
1340         Insert a few spaces-before-funcall-parenthesis.
1341
1342 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
1343
1344         parse-datetime: accept ISO 8601 date and time rep with "T" separator
1345         The parser now accepts ISO 8601 date-time strings with "T" as the
1346         separator.  It has long parsed dates like "2004-02-29 16:21:42"
1347         with a space between the date and time strings.  Now it also parses
1348         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
1349         variants like "2004-02-29T16:21:42.333-07:00"
1350         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
1351         of day representation using the 'T' separator character.
1352         * doc/parse-datetime.texi (General date syntax): replace use of
1353         deprecated --iso-8601 option with --rfc-3339 in example of date
1354         command output formats that can be parsed.
1355         * tests/test-parse-datetime.c (tm_diff): New function, taken from
1356         lib/parse-datetime.y.
1357         (gmt_offset): New function.
1358         (main): Add additional test cases to validate ISO8601 extended
1359         date and time of day parsing.
1360
1361 2011-08-31  Bruno Haible  <bruno@clisp.org>
1362
1363         freopen: Documentation.
1364         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
1365         name.
1366         Reported by Claudio Bley <claudio.bley@gmail.com>.
1367
1368 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
1369
1370         freopen: Don't crash if the filename argument is NULL.
1371         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
1372         NULL.
1373
1374 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1375
1376         openat: work around AIX 7.1 fstatat bug
1377         Problem reported by Kevin Brott for GNU tar, in the thread containing
1378         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
1379         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
1380         FSTATAT_ST_SIZE_ETC_BROKEN.
1381         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
1382         rpl_fstatat.
1383         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
1384         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
1385         AC_CHECK_FUNCS_ONCE for fstatat.
1386         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
1387         fchmodat, mkdirat, openat and unlinkat.
1388
1389 2011-08-30  Bruno Haible  <bruno@clisp.org>
1390
1391         Avoid endless recursions if config.h includes some header files.
1392         * lib/fopen.c (__need_FILE): Define already before including config.h.
1393         * lib/freopen.c (__need_FILE): Likewise.
1394         * lib/open.c (__need_system_fcntl_h): Likewise.
1395         * lib/stat.c (__need_system_sys_stat_h): Likewise.
1396         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
1397         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1398
1399 2011-08-25  Karl Berry  <karl@gnu.org>
1400
1401         * config/srclist.txt (ylwrap): new try.
1402         * build-aux/ylwrap: new file.
1403
1404 2011-08-23  Bruno Haible  <bruno@clisp.org>
1405
1406         tmpdir: Use a good default directory on native Windows.
1407         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
1408         (P_tmpdir): Default to _P_tmpdir on native Windows.
1409         (path_search): On native Windows, try the value returned by GetTempPath
1410         before trying P_tmpdir.
1411         * modules/tmpdir (Depends-on): Add pathmax.
1412         Suggested by John Darrington <john@darrington.wattle.id.au>.
1413
1414 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
1415
1416         doc: fix typo in README-release
1417         * top/README-release: Capitalize first word of a sentence.
1418
1419 2011-08-19  Jim Meyering  <meyering@redhat.com>
1420
1421         fts: do not exhaust memory when processing million-entry directories
1422         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
1423         directory would require about 256*N bytes of memory.  Thus, it was
1424         easy to construct a directory too large to be processed by any of
1425         those tools.  With this change, fts' maximum memory utilization is
1426         now limited to around 30MB.
1427         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
1428         (fts_read): When we've processed the final entry (i.e., when
1429         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
1430         using the parent entry to read any remaining entries.  Dispatch
1431         depending on what fts_build returns:
1432         - NULL+stop, aka failure: stop
1433         - NULL otherwise: move up in the dir hierarchy
1434         - non-NULL: handle this new entry
1435         (fts_build): Declare and use new local, continue_readdir.
1436         Prepare to be called from fts_read, when the entries
1437         from a partially-read directory have just been exhausted.
1438         In that case, we'll skip the opendir and instead use the parent's
1439         fts_dirp and derive dir_fd from that.
1440         Finally, in the readdir loop, if we read max_entries entries,
1441         exit the loop ensuring *not* to call closedir.  This is required
1442         so that fts_dirp can be reused on a subsequent call.
1443         Prompted by Ben England's report of memory exhaustion in find
1444         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
1445
1446         maint: fts: move decl of `dp' down into while loop; split a long line
1447         * lib/fts.c (fts_build): No semantic change.
1448
1449         fts: add/use new struct member, fts_dirp
1450         We are about to use this to manage any directory with
1451         too many entries to read all of them into memory at once.
1452         To do that, we'll need to save the DIR* pointer in each
1453         affected FTSENT struct.
1454         * lib/fts_.h: Include <dirent.h>.
1455         (struct FTSENT) [fts_dirp]: New member.
1456         * lib/fts.c (closedir_and_clear): Define.
1457         Use it in place of closedir so that we are sure to
1458         clear the new fts_dirp member when done with it.
1459         (fts_alloc): Initialize the new member.
1460         (fts_lfree): Free, if needed.
1461
1462         maint: fts: give __opendir2 a new parameter and rename
1463         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
1464         than surreptitiously using sole caller's "dir_fd".
1465         (fts_opendir): Rename from __opendir2.
1466
1467         maint: fts.c: remove __opendir2's now-unused parameter, oflag
1468         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
1469
1470         maint: fts.c: correct off-by-one indentation
1471         * lib/fts.c (fts_build): Correct indentation, change style
1472         of a couple of block comments, and bracing style.
1473
1474         maint: fts.c: move __opendir2 #define "up" out of function body
1475         * lib/fts.c (__opendir2): Move "up".  No semantic change.
1476
1477         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
1478         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
1479         out for a long time and besides was useful only on BSD systems.
1480
1481 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1482
1483         regex: port to Stratus OpenVOS
1484         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
1485         define to empty, rather than attempting nonportable optimizations.
1486         Problem reported by Paul Green in:
1487         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
1488         and fix suggested by Eric Blake in:
1489         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
1490
1491 2011-08-17  Eric Blake  <eblake@redhat.com>
1492
1493         getcwd: fix test failures on mingw
1494         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
1495         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
1496         test if long directory cannot be created, and allow mingw errno.
1497
1498         getcwd-lgpl: fix m4 to match relaxed test for BSD
1499         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
1500         (gl_FUNC_GETCWD_SIGNATURE): New macro.
1501         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
1502         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
1503         signature problem.
1504
1505         getcwd: fix compilation on mingw64
1506         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
1507         getcwd.
1508         Reported by Marc-André Lureau.
1509
1510         pipe2: silence compiler warning
1511         * lib/pipe2.c (pipe2): Hide label if it is not used.
1512
1513 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
1514
1515         relocatable-prog: fix link error
1516         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
1517         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
1518         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
1519         into modules/relocatable-lib without noticing that
1520         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
1521         also needs to build relocatable.c.
1522
1523 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
1524
1525         getaddrinfo: fix sh typo in gai_strerrorA decl checking
1526         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
1527         shell code: it contained a 'break' that was not in a loop.
1528         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
1529         via a shell-language loop; this may have been true in old Autoconf
1530         versions, but it's not true in Autoconf 2.68.  I found this bug
1531         when testing coreutils git on Solaris 8, whose shell complains
1532         about the syntax error.
1533
1534 2011-08-12  Simon Josefsson  <simon@josefsson.org>
1535
1536         * lib/base64.c: Fix comment to reference RFC 4648.
1537         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
1538         <gvtulder@gmail.com>.
1539
1540 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1541
1542         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
1543
1544         po/Makefile.in.in: fix make -q problem
1545         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
1546         rule, since there's no file named 'check-macro-version' and its
1547         use as a file breaks make -q.
1548         (all): Don't depend on check-macro-version.
1549         (CHECK_MACRO_VERSION): New macro.
1550         (stamp-po): Use it.
1551
1552         configmake: fix make -q problem
1553         * modules/configmake (configmake.h): Update configmake.h's time stamp
1554         even if the file does not change.  Otherwise, 'make -q' fails.
1555         Problem reported by Simon Josefsson in
1556         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
1557
1558 2011-08-11  Jim Meyering  <meyering@redhat.com>
1559
1560         git-version-gen: correct the advice in a comment
1561         * build-aux/git-version-gen: Correct comment.
1562         Don't recommend to list .tarball-version in .gitignore.
1563
1564 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
1565
1566         base64: fix off-by-one buffer size bug
1567         Problem and (trivial) fix reported by Gijs van Tulder in
1568         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
1569         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
1570         * tests/test-base64.c (main): Catch the bug.
1571
1572 2011-08-10  Eric Blake  <eblake@redhat.com>
1573
1574         closein: correct comments
1575         * lib/closein.c (close_stdin): Improve comments.
1576
1577 2011-08-09  Bruno Haible  <bruno@clisp.org>
1578
1579         More tests for 'fseeko'.
1580         * tests/test-fseeko3.c: New file, from Eric Blake.
1581         * tests/test-fseeko3.sh: New file.
1582         * modules/fseeko-tests (Files): Add them.
1583         (TESTS): Add test-fseeko3.sh.
1584         (check_PROGRAMS): Add test-fseeko3.
1585
1586 2011-08-09  Eric Blake  <eblake@redhat.com>
1587
1588         fseeko: remove unneeded hack
1589         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
1590
1591         fseeko: fix bug on glibc
1592         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
1593         Reported by John W. Eaton.
1594
1595 2011-08-08  Bruno Haible  <bruno@clisp.org>
1596
1597         unictype/base: Fix interoperability with preinstalled libunistring.
1598         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
1599         Reported by Simon Josefsson.
1600
1601 2011-08-08  Bruno Haible  <bruno@clisp.org>
1602
1603         iswblank: Detect declaration correctly.
1604         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
1605         AC_CHECK_DECLS invocation.
1606
1607 2011-08-08  Bruno Haible  <bruno@clisp.org>
1608
1609         tcgetsid: Detect declaration correctly.
1610         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
1611         AC_CHECK_DECLS invocation.
1612         Reported by Simon Josefsson.
1613
1614 2011-08-08  Eric Blake  <eblake@redhat.com>
1615
1616         largefile: fix typo that regressed large file support
1617         * modules/largefile (configure.ac-early): Fix section name.
1618
1619 2011-08-06  Karl Berry  <karl@gnu.org>
1620
1621         * MODULES.html.sh (func_all_files): _Noreturn is no longer
1622         a separate module.
1623
1624 2011-08-05  Simon Josefsson  <simon@josefsson.org>
1625
1626         openat: Fix warnings and commens when building unlinkat.c on Hurd.
1627         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
1628         get prototype for free.
1629
1630 2011-08-04  Bruno Haible  <bruno@clisp.org>
1631
1632         Tests for module 'pathmax'.
1633         * modules/pathmax-tests: New file.
1634         * tests/test-pathmax.c: New file.
1635
1636         canonicalize-lgpl: Support larger filenames on the Hurd.
1637         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
1638         Reported by Paul Eggert.
1639
1640         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
1641         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
1642         * lib/chdir-long.h: Include pathmax.h.
1643         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
1644         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
1645         (PATH_MAX): Remove code that is done by pathmax.h.
1646         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
1647         * lib/tmpfile.c: Add a comment.
1648         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
1649         * modules/chdir-long (Depends-on): Add pathmax.
1650         * modules/getcwd (Depends-on): Add pathmax.
1651         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
1652         is not defined.
1653         * doc/posix-headers/limits.texi: Mention the pathmax module.
1654         * NEWS: Mention the change.
1655
1656 2011-08-02  Bruno Haible  <bruno@clisp.org>
1657
1658         pthread_sigmask: Actually use results of gl_THREADLIB.
1659         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
1660         gl_THREADLIB, not gl_[]THREADLIB.
1661         Reported by Eric Blake.
1662
1663 2011-08-02  Jim Meyering  <meyering@redhat.com>
1664
1665         maint.mk: relax the default _gl_TS_function_match regexp
1666         * top/maint.mk (_gl_TS_function_match): Don't require at least one
1667         space between function name and "(" in an "extern" declaration.
1668         That would fail to match a decl with no space there: extern void foo();
1669
1670 2011-07-31  Iain Nicol  <iain@thenicols.net>
1671
1672         git-version-gen: document that EXTRA_DIST must include .version
1673         * build-aux/git-version-gen: In the how-to-use comment, document
1674         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
1675         will fail when run from an unpacked distribution tarball.
1676
1677 2011-08-01  Bruno Haible  <bruno@clisp.org>
1678
1679         wctype-h: Fix last change.
1680         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
1681         REPLACE_TOWLOWER to 0.
1682         Reported by Sam Steingold <sds@gnu.org>.
1683
1684 2011-07-31  Bruno Haible  <bruno@clisp.org>
1685
1686         frexpl: Update autoconf test.
1687         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
1688         according to changes of 2011-06-20.
1689
1690 2011-07-31  Bruno Haible  <bruno@clisp.org>
1691
1692         sys_utsname: Add support for Minix.
1693         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
1694         <sys/utsname.h>.
1695         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1696         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
1697
1698 2011-07-31  Bruno Haible  <bruno@clisp.org>
1699
1700         strings: Add support for Minix.
1701         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
1702         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
1703         * doc/posix-headers/strings.texi: Document the Minix problem.
1704
1705 2011-07-31  Bruno Haible  <bruno@clisp.org>
1706
1707         wctype-h: Add support for Minix.
1708         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
1709         REPLACE_TOWLOWER.
1710         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
1711         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
1712         REPLACE_ISWCNTRL.
1713
1714 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
1715
1716         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
1717         This is a performance improvement for 64-bit hosts: it causes the
1718         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
1719
1720 2011-07-31  Bruno Haible  <bruno@clisp.org>
1721
1722         stdioext: Add support for Minix.
1723         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
1724         * lib/fpurge.c (fpurge): Likewise.
1725         * lib/freadahead.c (freadahead): Likewise.
1726         * lib/freadable.c (freadable): Likewise.
1727         * lib/freading.c (freading): Likewise.
1728         * lib/freadptr.c (freadptr): Likewise.
1729         * lib/freadseek.c (freadptrinc): Likewise.
1730         * lib/fseeko.c (rpl_fseeko): Likewise.
1731         * lib/fseterr.c (fseterr): Likewise.
1732         * lib/fwritable.c (fwritable): Likewise.
1733         * lib/fwriting.c (fwriting): Likewise.
1734         * lib/fflush.c (clear_ungetc_buffer): Update comment.
1735         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
1736
1737 2011-07-31  Bruno Haible  <bruno@clisp.org>
1738
1739         errno: Port to Minix.
1740         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
1741         ECONNABORTED are defined.
1742         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
1743         GNULIB_defined_ECONNABORTED): New macros.
1744         * lib/strerror-override.h (strerror_override): Test also
1745         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
1746         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
1747         ECONNABORTED.
1748         * doc/posix-headers/errno.texi: Mention the Minix problem.
1749
1750 2011-07-31  Bruno Haible  <bruno@clisp.org>
1751
1752         Work around declaration collisions on Minix.
1753         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
1754         defined, set REPLACE_MBSINIT.
1755         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
1756         defined, set REPLACE_MBRTOWC.
1757         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
1758         set REPLACE_MBRLEN.
1759         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
1760         defined, set REPLACE_MBSRTOWCS.
1761         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
1762         defined, set REPLACE_WCRTOMB.
1763         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
1764         defined, set REPLACE_WCSRTOMBS.
1765
1766 2011-07-31  Bruno Haible  <bruno@clisp.org>
1767
1768         Add support for Minix with ACK compiler.
1769         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
1770         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
1771         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
1772
1773 2011-07-31  Bruno Haible  <bruno@clisp.org>
1774
1775         Documentation about Minix.
1776         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
1777         * doc/glibc-headers/*.texi: Likewise.
1778         * doc/posix-functions/*.texi: Likewise.
1779         * doc/glibc-functions/*.texi: Likewise.
1780
1781 2011-07-31  Bruno Haible  <bruno@clisp.org>
1782
1783         snippet/warn-on-use: Fix indentation.
1784         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
1785
1786 2011-07-25  Jim Meyering  <meyering@redhat.com>
1787
1788         tests: test-update-copyright.sh: remove unnecessary "rm" commands
1789         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
1790         commands.
1791
1792 2011-07-27  Jim Meyering  <meyering@redhat.com>
1793
1794         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
1795         * top/maint.mk (gl_extract_significant_defines_): Now that
1796         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
1797         gnulib/lib/signal.in.h, and now that we recommend to
1798         define-if-undefined those two symbols in application code,
1799         we must filter them out of the "significant" list.
1800         This avoids a "make syntax-check" failure in coreutils.
1801
1802 2011-07-26  Eric Blake  <eblake@redhat.com>
1803
1804         warnings: add comments about previous patch
1805         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
1806         * m4/include_next.m4: Likewise.
1807         * m4/warn-on-use.m4: Likewise.
1808         * m4/warnings.m4: Likewise, and simplify use.
1809         Suggested by Stefano Lattarini.
1810
1811         include-next, warnings: support older autoconf
1812         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
1813         AS_VAR_PUSHDEF in a way that works with older autoconf.
1814         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
1815         Reported by Daniel P. Berrange.
1816
1817 2011-07-25  Bruno Haible  <bruno@clisp.org>
1818
1819         fseek, ftell: Fix doc.
1820         * doc/posix-functions/fseek.texi: Reword statement about
1821         AC_SYS_LARGEFILE.
1822         * doc/posix-functions/ftell.texi: Likewise.
1823
1824 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
1825             Bruno Haible  <bruno@clisp.org>
1826
1827         Add dependencies to the 'largefile' module.
1828         * modules/fopen (Depends-on): Add 'largefile'.
1829         * modules/freopen (Depends-on): Likewise.
1830         * modules/fseeko (Depends-on): Likewise.
1831         * modules/ftello (Depends-on): Likewise.
1832         * modules/glob (Depends-on): Likewise.
1833         * modules/lseek (Depends-on): Likewise.
1834         * modules/lstat (Depends-on): Likewise.
1835         * modules/mkostemp (Depends-on): Likewise.
1836         * modules/mkostemps (Depends-on): Likewise.
1837         * modules/mkstemp (Depends-on): Likewise.
1838         * modules/mkstemps (Depends-on): Likewise.
1839         * modules/open (Depends-on): Likewise.
1840         * modules/openat (Depends-on): Likewise.
1841         * modules/pread (Depends-on): Likewise.
1842         * modules/pwrite (Depends-on): Likewise.
1843         * modules/scandir (Depends-on): Likewise.
1844         * modules/stat (Depends-on): Likewise.
1845         * modules/tmpfile (Depends-on): Likewise.
1846         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
1847         since the containing module now depends on the largefile module.
1848         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
1849         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
1850         off_t is fixed by gnulib.
1851         * doc/posix-functions/freopen.texi: Likewise.
1852         * doc/posix-functions/fseeko.texi: Likewise.
1853         * doc/posix-functions/fstatat.texi: Likewise.
1854         * doc/posix-functions/ftello.texi: Likewise.
1855         * doc/posix-functions/glob.texi: Likewise.
1856         * doc/posix-functions/lseek.texi: Likewise.
1857         * doc/posix-functions/lstat.texi: Likewise.
1858         * doc/posix-functions/mkstemp.texi: Likewise.
1859         * doc/posix-functions/open.texi: Likewise.
1860         * doc/posix-functions/openat.texi: Likewise.
1861         * doc/posix-functions/pread.texi: Likewise.
1862         * doc/posix-functions/pwrite.texi: Likewise.
1863         * doc/posix-functions/scandir.texi: Likewise.
1864         * doc/posix-functions/stat.texi: Likewise.
1865         * doc/posix-functions/tmpfile.texi: Likewise.
1866         * doc/glibc-functions/mkostemp.texi: Likewise.
1867         * doc/glibc-functions/mkostemps.texi: Likewise.
1868         * doc/glibc-functions/mkstemps.texi: Likewise.
1869
1870 2011-07-25  Bruno Haible  <bruno@clisp.org>
1871
1872         fcntl: Move AC_LIBOBJ invocation to module description.
1873         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
1874         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
1875
1876         fcntl: Remove call-in from fchdir.m4.
1877         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
1878         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
1879
1880         dup3: Remove potential call-in from fchdir.m4.
1881         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
1882         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
1883
1884         dup2: Move AC_LIBOBJ invocation to module description.
1885         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
1886         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
1887         Don't invoke AC_LIBOBJ.
1888         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
1889
1890         dup2: Remove call-in from fchdir.m4.
1891         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
1892         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
1893
1894         fclose: Move AC_LIBOBJ invocation to module description.
1895         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
1896         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
1897         to 1.
1898         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
1899
1900         fclose: Remove call-in from close.m4.
1901         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
1902         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
1903
1904         close: Move AC_LIBOBJ invocation to module description.
1905         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
1906         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
1907         1.
1908         * modules/close (configure.ac): Invoke AC_LIBOBJ.
1909
1910         close: Remove call-in from fchdir.m4.
1911         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
1912         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
1913
1914         open: Move AC_LIBOBJ invocation to module description.
1915         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
1916         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
1917         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
1918
1919         open: Remove call-in from fchdir.m4.
1920         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
1921         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
1922
1923         fchdir: Start to remove gl_REPLACE_* idiom.
1924         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
1925         (gl_FUNC_FCHDIR): Invoke it.
1926
1927 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
1928
1929         * lib/ftell.c (ftell): Comment out cast.
1930
1931         close: use gl_REPLACE_FCLOSE only if defined
1932         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
1933         is defined.  The close module doesn't depend on the fclose module
1934         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
1935         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
1936         I reproduced the problem with "./gnulib-tool --test close sys_socket".
1937
1938 2011-07-24  Jim Meyering  <meyering@redhat.com>
1939
1940         test-select.h: avoid warning when using gcc's -Wmissing-declarations
1941         * tests/test-select.h (test_function): Declare as "static".
1942
1943 2011-07-24  Bruno Haible  <bruno@clisp.org>
1944
1945         doc: Mention the effects of AC_SYS_LARGEFILE.
1946         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
1947         on this function.
1948         * doc/posix-functions/aio_error.texi: Likewise.
1949         * doc/posix-functions/aio_fsync.texi: Likewise.
1950         * doc/posix-functions/aio_read.texi: Likewise.
1951         * doc/posix-functions/aio_return.texi: Likewise.
1952         * doc/posix-functions/aio_suspend.texi: Likewise.
1953         * doc/posix-functions/aio_write.texi: Likewise.
1954         * doc/posix-functions/fgetpos.texi: Likewise.
1955         * doc/posix-functions/fopen.texi: Likewise.
1956         * doc/posix-functions/freopen.texi: Likewise.
1957         * doc/posix-functions/fsetpos.texi: Likewise.
1958         * doc/posix-functions/fstatvfs.texi: Likewise.
1959         * doc/posix-functions/ftruncate.texi: Likewise.
1960         * doc/posix-functions/ftw.texi: Likewise.
1961         * doc/posix-functions/getrlimit.texi: Likewise.
1962         * doc/posix-functions/glob.texi: Likewise.
1963         * doc/posix-functions/lio_listio.texi: Likewise.
1964         * doc/posix-functions/lockf.texi: Likewise.
1965         * doc/posix-functions/mkstemp.texi: Likewise.
1966         * doc/posix-functions/mmap.texi: Likewise.
1967         * doc/posix-functions/nftw.texi: Likewise.
1968         * doc/posix-functions/openat.texi: Likewise.
1969         * doc/posix-functions/opendir.texi: Likewise.
1970         * doc/posix-functions/posix_fadvise.texi: Likewise.
1971         * doc/posix-functions/posix_fallocate.texi: Likewise.
1972         * doc/posix-functions/pread.texi: Likewise.
1973         * doc/posix-functions/pwrite.texi: Likewise.
1974         * doc/posix-functions/readdir.texi: Likewise.
1975         * doc/posix-functions/readdir_r.texi: Likewise.
1976         * doc/posix-functions/rewinddir.texi: Likewise.
1977         * doc/posix-functions/scandir.texi: Likewise.
1978         * doc/posix-functions/seekdir.texi: Likewise.
1979         * doc/posix-functions/setrlimit.texi: Likewise.
1980         * doc/posix-functions/statvfs.texi: Likewise.
1981         * doc/posix-functions/telldir.texi: Likewise.
1982         * doc/posix-functions/tmpfile.texi: Likewise.
1983         * doc/posix-functions/truncate.texi: Likewise.
1984         * doc/glibc-functions/fallocate.texi: Likewise.
1985         * doc/glibc-functions/fstatfs.texi: Likewise.
1986         * doc/glibc-functions/fts_children.texi: Likewise.
1987         * doc/glibc-functions/fts_read.texi: Likewise.
1988         * doc/glibc-functions/getdirentries.texi: Likewise.
1989         * doc/glibc-functions/mkostemp.texi: Likewise.
1990         * doc/glibc-functions/mkostemps.texi: Likewise.
1991         * doc/glibc-functions/mkstemps.texi: Likewise.
1992         * doc/glibc-functions/preadv.texi: Likewise.
1993         * doc/glibc-functions/pwritev.texi: Likewise.
1994         * doc/glibc-functions/sendfile.texi: Likewise.
1995         * doc/glibc-functions/statfs.texi: Likewise.
1996
1997 2011-07-24  Bruno Haible  <bruno@clisp.org>
1998
1999         doc: Fix typo.
2000         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
2001
2002 2011-07-24  Bruno Haible  <bruno@clisp.org>
2003
2004         doc: Mention fsusage.
2005         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
2006
2007 2011-07-24  Bruno Haible  <bruno@clisp.org>
2008
2009         doc: Mention new glibc headers and functions.
2010         * doc/glibc-headers/gshadow.texi: New file.
2011         * doc/glibc-functions/endsgent.texi: New file.
2012         * doc/glibc-functions/fgetsgent.texi: New file.
2013         * doc/glibc-functions/fgetsgent_r.texi: New file.
2014         * doc/glibc-functions/getsgent.texi: New file.
2015         * doc/glibc-functions/getsgent_r.texi: New file.
2016         * doc/glibc-functions/getsgnam.texi: New file.
2017         * doc/glibc-functions/getsgnam_r.texi: New file.
2018         * doc/glibc-functions/putsgent.texi: New file.
2019         * doc/glibc-functions/setsgent.texi: New file.
2020         * doc/glibc-functions/sgetsgent.texi: New file.
2021         * doc/glibc-functions/sgetsgent_r.texi: New file.
2022         * doc/glibc-functions/malloc_info.texi: New file.
2023         * doc/glibc-functions/preadv.texi: New file.
2024         * doc/glibc-functions/pwritev.texi: New file.
2025         * doc/glibc-functions/register_printf_modifier.texi: New file.
2026         * doc/glibc-functions/register_printf_specifier.texi: New file.
2027         * doc/glibc-functions/register_printf_type.texi: New file.
2028         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
2029         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
2030         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
2031         * doc/glibc-functions/pthread_getname_np.texi: New file.
2032         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
2033         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
2034         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
2035         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
2036         * doc/glibc-functions/pthread_setname_np.texi: New file.
2037         * doc/glibc-functions/pthread_sigqueue.texi: New file.
2038         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
2039         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
2040         * doc/glibc-functions/qsort_r.texi: New file.
2041         * doc/glibc-functions/quick_exit.texi: New file.
2042         * doc/glibc-functions/syncfs.texi: New file.
2043         * doc/gnulib.texi: Include them.
2044         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
2045         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
2046         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
2047         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
2048         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
2049         * doc/glibc-functions/execvpe.texi: Likewise.
2050
2051 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
2052
2053         ftell: don't include <unistd.h>
2054         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
2055         guaranteed to define off_t, and the ftell module depends on the
2056         stdio module.
2057
2058         ftell: do not assume wraparound signed arithmetic
2059         * lib/ftell.c: Include <limits.h>.
2060         (ftell): Don't assume wraparound signed arithmetic.
2061
2062 2011-07-24  Bruno Haible  <bruno@clisp.org>
2063
2064         close: No longer depend on module 'fclose'.
2065         * modules/close (Depends-on): Remove fclose.
2066         * NEWS: Mention the change.
2067         Suggested by Sam Steingold <sds@gnu.org>.
2068
2069 2011-07-24  Bruno Haible  <bruno@clisp.org>
2070
2071         fsusage: Enable large volume support on AIX >= 5.2.
2072         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
2073         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
2074         instead of STAT_STATVFS.
2075         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
2076
2077         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
2078         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
2079         f_blocks field only on MacOS X.
2080
2081         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
2082         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
2083         * modules/fsusage (Depends-on): Add largefile.
2084
2085 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
2086
2087         * README: Modernize discussion of signed integers.
2088         Assuming overflow wraparound is no longer safe.
2089         Mention ones' complement and signed magnitude.
2090
2091 2011-07-22  Bruno Haible  <bruno@clisp.org>
2092
2093         select tests, pselect tests: Refactor.
2094         * tests/test-select.h: New file, extracted from tests/test-select.c.
2095         (select_fn): New type.
2096         (test, do_select, do_select_nowait, do_select_wait, test_tty,
2097         test_connect_first, test_accept_first, test_pair, test_socket_pair,
2098         test_pipe): Add my_select argument.
2099         (test_function): Renamed from main. Add my_select argument.
2100         * tests/test-select.c: Move most code to tests/test-select.h. Include
2101         test-select.h.
2102         * modules/select-tests (Files): Add tests/test-select.h.
2103         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
2104         (my_select, main): New functions.
2105         * modules/pselect-tests (Files): Add tests/test-select.h,
2106         tests/macros.h, tests/signature.h.
2107         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
2108         (configure.ac): Check for <sys/wait.h>.
2109
2110 2011-07-22  Bruno Haible  <bruno@clisp.org>
2111
2112         sys_select tests: Check the signature of FD_*.
2113         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
2114         signature tests from here...
2115         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
2116         here.
2117         * modules/sys_select-tests (Files): Add tests/signature.h.
2118
2119 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2120
2121         largefile: new module, replacing large-inode
2122         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
2123         * MODULES.html.sh: Add largefile, remove large-inode.
2124         * modules/largefile, m4/largefile.m4: New files.
2125         * modules/large-inode, m4/large-inode.m4: Remove.
2126
2127         fsusage: port to MacOS X 10.7 with 4 TiB file systems
2128         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
2129         implementations that use only 32 bits to count blocks.
2130         On typical hosts with 1024-byte blocks, this fails with file
2131         systems as small as 4 TiB.  Problem reported by Herb Wartens
2132         <http://debbugs.gnu.org/9140> and this should also fix a similar
2133         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
2134
2135         large-inode: New module
2136         * MODULES.html.sh: Add it.
2137         * modules/large-inode, m4/large-inode.m4: New files.
2138
2139         extensions: Enable extensions on MacOS X 10.5 and later.
2140         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
2141
2142 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
2143
2144         file-has-acl: use acl_extended_file_nofollow if available
2145         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
2146         (acl_extended_file): New macro.
2147         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
2148         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
2149
2150 2011-07-21  Bruno Haible  <bruno@clisp.org>
2151
2152         Declare system functions in a way that works with C++.
2153         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
2154         declare fdopendir as extern "C".
2155         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
2156         declare frexpl as extern "C".
2157         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
2158         declare gai_strerror as extern "C".
2159         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
2160         programs, declare gai_strerror as extern "C".
2161         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
2162         declare getlogin_r as extern "C".
2163         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
2164         as extern "C".
2165         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
2166         declare ldexpl as extern "C".
2167         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
2168         as extern "C".
2169         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
2170         program, declare getmntinfo as extern "C".
2171         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
2172         stpncpy as extern "C".
2173         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
2174         program, declare __xpg_strerror_r as extern "C".
2175         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
2176         strndup as extern "C".
2177         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
2178         declare memset and bzero as extern "C".
2179         Reported by Sam Steingold <sds@gnu.org>.
2180
2181 2011-07-12  Jim Meyering  <meyering@redhat.com>
2182
2183         maint.mk: prohibit inclusion of "verify.h" without use
2184         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
2185
2186 2011-07-19  Pádraig Brady  <P@draigBrady.com>
2187
2188         timer-time: A new module to check for timer_settime()
2189         * m4/timer_time.m4: Check for the posix function.
2190         * modules/timer-time: Add the new module.
2191         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
2192         Mention it.
2193
2194 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
2195             Bruno Haible  <bruno@clisp.org>
2196
2197         pthread_sigmask: assume POSIX threads if --avoid=threadlib
2198         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
2199         not defined, assume POSIX threads and look for pthread_sigmask in
2200         $LIBS, without changing $CPPFLAGS.
2201
2202 2011-07-19  Bruno Haible  <bruno@clisp.org>
2203
2204         strstr: Update cross-compilation guess.
2205         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
2206         CPUs, guess no, in view of glibc
2207         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
2208         Suggested by Eric Blake. Reported by Reuben Thomas.
2209
2210 2011-07-19  Pádraig Brady  <P@draigBrady.com>
2211
2212         getopt-gnu: suppress core dumps from detection code
2213         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
2214         to suppress core dumps that may well occur on glibc systems.
2215         * modules/getopt-gnu: Depend on nocrash.
2216
2217 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
2218
2219         pthread_sigmask: ensure usleep is declared
2220         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
2221         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
2222
2223 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2224
2225         doc: Document NonStop portability issues.
2226         * doc/posix-functions/sigaction.texi (sigaction):
2227         * doc/posix-headers/signal.texi (signal.h):
2228         Document NonStop.  See Joachim Schmitz in
2229         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
2230
2231 2011-07-15  Bruno Haible  <bruno@clisp.org>
2232
2233         ffsl, ffsll: Avoid unportable behaviour.
2234         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
2235
2236 2011-07-15  Bruno Haible  <bruno@clisp.org>
2237
2238         ffs: More tests.
2239         * tests/test-ffs.c (NBITS): New macro.
2240         (main): Add more tests.
2241         * tests/test-ffsl.c (NBITS): New macro.
2242         (main): Add more tests.
2243         * tests/test-ffsll.c (NBITS): New macro.
2244         (main): Add more tests.
2245
2246 2011-07-15  Eric Blake  <eblake@redhat.com>
2247
2248         ffsl, ffsll: new modules
2249         * modules/ffsl: New file.
2250         * modules/ffsll: Likewise.
2251         * m4/ffsl.m4: Likewise.
2252         * m4/ffsll.m4: Likewise.
2253         * lib/ffsl.c: Likewise.
2254         * lib/ffsl.h: Likewise.
2255         * lib/ffsll.c: Likewise.
2256         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
2257         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
2258         * modules/string (Makefile.am): Substitute witnesses.
2259         * lib/strings.in.h (ffsl, ffsll): Declare.
2260         * modules/ffsl-tests: New test file.
2261         * modules/ffsll-tests: Likewise.
2262         * tests/test-ffsl.c: Likewise.
2263         * tests/test-ffsll.c: Likewise.
2264         * MODULES.html.sh (Integer arithmetic functions): Mention it.
2265         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
2266         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
2267
2268         ffs: fix m4 prerequisite
2269         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
2270
2271         ffs: avoid undefined behavior
2272         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
2273         * tests/test-ffs.c (naive, main): Avoid signed shifts.
2274         Reported by Bruno Haible.
2275
2276 2011-07-12  Bruno Haible  <bruno@clisp.org>
2277
2278         pthread_sigmask: Rely on module 'threadlib'.
2279         * modules/pthread_sigmask (Depends-on): Add threadlib.
2280         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
2281         is defined.
2282
2283 2011-07-12  Bruno Haible  <bruno@clisp.org>
2284
2285         regex: Depend on module 'strcase'.
2286         * modules/regex (Depends-on): Add strcase, for strcasecmp().
2287
2288 2011-07-12  Jim Meyering  <meyering@redhat.com>
2289
2290         warn-on-use: fix typo in file name
2291         * modules/snippet/warn-on-use (Files): Correct file name:
2292         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
2293
2294 2011-07-12  Bruno Haible  <bruno@clisp.org>
2295
2296         strings: Document module.
2297         * doc/posix-headers/strings.texi: Mention module 'strings'.
2298
2299 2011-07-12  Bruno Haible  <bruno@clisp.org>
2300
2301         Rename module '_Noreturn' to 'snippet/_Noreturn'.
2302         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
2303         (Files, Makefile.am): Update.
2304         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
2305         * modules/stdlib (Depends-on): Update.
2306
2307 2011-07-12  Bruno Haible  <bruno@clisp.org>
2308
2309         * NEWS: Mention the changes.
2310
2311         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
2312         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
2313         (Files, Makefile.am): Update.
2314         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
2315         * modules/arpa_inet (Depends-on): Update.
2316         * modules/ctype (Depends-on): Update.
2317         * modules/dirent (Depends-on): Update.
2318         * modules/fcntl-h (Depends-on): Update.
2319         * modules/glob (Depends-on): Update.
2320         * modules/iconv-h (Depends-on): Update.
2321         * modules/inttypes-incomplete (Depends-on): Update.
2322         * modules/langinfo (Depends-on): Update.
2323         * modules/locale (Depends-on): Update.
2324         * modules/math (Depends-on): Update.
2325         * modules/netdb (Depends-on): Update.
2326         * modules/poll-h (Depends-on): Update.
2327         * modules/pty (Depends-on): Update.
2328         * modules/search (Depends-on): Update.
2329         * modules/signal (Depends-on): Update.
2330         * modules/spawn (Depends-on): Update.
2331         * modules/stdio (Depends-on): Update.
2332         * modules/stdlib (Depends-on): Update.
2333         * modules/string (Depends-on): Update.
2334         * modules/strings (Depends-on): Update.
2335         * modules/sys_file (Depends-on): Update.
2336         * modules/sys_ioctl (Depends-on): Update.
2337         * modules/sys_select (Depends-on): Update.
2338         * modules/sys_socket (Depends-on): Update.
2339         * modules/sys_stat (Depends-on): Update.
2340         * modules/sys_time (Depends-on): Update.
2341         * modules/sys_times (Depends-on): Update.
2342         * modules/sys_utsname (Depends-on): Update.
2343         * modules/sys_wait (Depends-on): Update.
2344         * modules/termios (Depends-on): Update.
2345         * modules/time (Depends-on): Update.
2346         * modules/unistd (Depends-on): Update.
2347         * modules/wchar (Depends-on): Update.
2348         * modules/wctype-h (Depends-on): Update.
2349         * MODULES.html.sh (Support for building libraries and executables):
2350         Update.
2351
2352         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
2353         * modules/snippet/unused-parameter: Renamed from
2354         modules/unused-parameter.
2355         (Files, Makefile.am): Update.
2356         * build-aux/snippet/unused-parameter.h: Renamed from
2357         build-aux/unused-parameter.h.
2358         * modules/selinux-h (Depends-on): Update.
2359         * modules/unistr/base (Depends-on): Update.
2360         * MODULES.html.sh (Core language properties): Update.
2361
2362         Rename module 'link-warning' to 'snippet/link-warning'.
2363         * modules/snippet/link-warning: Renamed from modules/link-warning.
2364         (Files, Makefile.am): Update.
2365         * build-aux/snippet/link-warning.h: Renamed from
2366         build-aux/link-warning.h.
2367         * MODULES.html.sh (Support for building libraries and executables):
2368         Update.
2369
2370         Rename module 'c++defs' to 'snippet/c++defs'.
2371         * modules/snippet/c++defs: Renamed from modules/c++defs.
2372         (Files, Makefile.am): Update.
2373         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
2374         * modules/arpa_inet (Depends-on): Update.
2375         * modules/ctype (Depends-on): Update.
2376         * modules/dirent (Depends-on): Update.
2377         * modules/fcntl-h (Depends-on): Update.
2378         * modules/glob (Depends-on): Update.
2379         * modules/iconv-h (Depends-on): Update.
2380         * modules/langinfo (Depends-on): Update.
2381         * modules/locale (Depends-on): Update.
2382         * modules/math (Depends-on): Update.
2383         * modules/netdb (Depends-on): Update.
2384         * modules/poll-h (Depends-on): Update.
2385         * modules/pty (Depends-on): Update.
2386         * modules/search (Depends-on): Update.
2387         * modules/signal (Depends-on): Update.
2388         * modules/spawn (Depends-on): Update.
2389         * modules/stdio (Depends-on): Update.
2390         * modules/stdlib (Depends-on): Update.
2391         * modules/string (Depends-on): Update.
2392         * modules/strings (Depends-on): Update.
2393         * modules/sys_ioctl (Depends-on): Update.
2394         * modules/sys_select (Depends-on): Update.
2395         * modules/sys_socket (Depends-on): Update.
2396         * modules/sys_stat (Depends-on): Update.
2397         * modules/sys_time (Depends-on): Update.
2398         * modules/sys_wait (Depends-on): Update.
2399         * modules/termios (Depends-on): Update.
2400         * modules/time (Depends-on): Update.
2401         * modules/unistd (Depends-on): Update.
2402         * modules/wchar (Depends-on): Update.
2403         * modules/wctype-h (Depends-on): Update.
2404
2405         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
2406         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
2407         (Files, Makefile.am): Update.
2408         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
2409         * modules/argv-iter (Depends-on): Update.
2410         * modules/arpa_inet (Depends-on): Update.
2411         * modules/dirent (Depends-on): Update.
2412         * modules/fcntl-h (Depends-on): Update.
2413         * modules/fnmatch (Depends-on): Update.
2414         * modules/getopt-posix (Depends-on): Update.
2415         * modules/glob (Depends-on): Update.
2416         * modules/iconv-h (Depends-on): Update.
2417         * modules/inttypes-incomplete (Depends-on): Update.
2418         * modules/locale (Depends-on): Update.
2419         * modules/math (Depends-on): Update.
2420         * modules/netdb (Depends-on): Update.
2421         * modules/search (Depends-on): Update.
2422         * modules/signal (Depends-on): Update.
2423         * modules/spawn (Depends-on): Update.
2424         * modules/stdio (Depends-on): Update.
2425         * modules/stdlib (Depends-on): Update.
2426         * modules/string (Depends-on): Update.
2427         * modules/strings (Depends-on): Update.
2428         * modules/sys_socket (Depends-on): Update.
2429         * modules/sys_stat (Depends-on): Update.
2430         * modules/sys_time (Depends-on): Update.
2431         * modules/sys_times (Depends-on): Update.
2432         * modules/sys_utsname (Depends-on): Update.
2433         * modules/time (Depends-on): Update.
2434         * modules/unistd (Depends-on): Update.
2435         * modules/wchar (Depends-on): Update.
2436         * MODULES.html.sh (Support for building libraries and executables):
2437         Update.
2438
2439 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
2440
2441         Improvements on _Noreturn and related modules.
2442
2443         modules/_Exit-tests: test _Noreturn too
2444         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
2445         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
2446         (main): Use them.
2447
2448         stdnoreturn, stdnoreturn-tests: remove modules
2449         They're not needed here and a bit premature for use elsewhere.  See
2450         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
2451         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2452         * tests/test-stdnoreturn.c: Remove files.
2453         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
2454         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
2455         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
2456         and using noreturn.
2457         * modules/openat, modules/sigpipe-die, modules/xalloc:
2458         * modules/xmemdup0, modules/xstrtol:
2459         Remove dependency on stdnoreturn.
2460
2461         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
2462         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
2463         Reparenthesize to avoid GCC warning.
2464         Support Microsoft's syntax.
2465         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
2466
2467         _Noreturn-tests: remove module
2468         * modules/_Noreturn-tests: Remove.
2469         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
2470         * tests/test-_Noreturn.c: Remove.
2471         * tests/test-stdnoreturn.c: Merge from the old
2472         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
2473
2474 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
2475
2476         _Noreturn, stdnoreturn, and related modules.
2477
2478         * top/maint.mk: Adjust to new noreturn support.
2479         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
2480         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
2481
2482         xalloc: use stdnoreturn.h
2483         * lib/xalloc.h: Include <stdnoreturn.h>.
2484         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2485         * modules/xalloc (Depends-on): Add stdnoreturn.
2486
2487         xstrtol: use stdnoreturn.h
2488         * lib/xstrtol.h: Include <stdnoreturn.h>.
2489         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2490         * modules/xstrtol (Depends-on): Add stdnoreturn.
2491
2492         xmemdup0: use stdnoreturn.h
2493         * lib/xmemdup0.h: Include <stdnoreturn.h>.
2494         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2495         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
2496
2497         sigpipe-die: use stdnoreturn.h
2498         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
2499         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2500         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
2501
2502         openat: use stdnoreturn.h
2503         * lib/openat.h: Include <stdnoreturn.h>.
2504         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2505         * modules/openat (Depends-on): Add stdnoreturn.
2506
2507         * lib/openat-die.c (openat_save_fail): Modernize comment.
2508
2509         * lib/xalloc-die.c (xalloc_die): Modernize comment.
2510
2511         * lib/glthread/thread.h: Modernize comment.
2512
2513         obstack: use _Noreturn
2514         * lib/obstack.c (__attribute__): Remove macro.
2515         (print_and_abort): Use _Noreturn.
2516
2517         c-stack: use _Noreturn
2518         * lib/c-stack.c (die, overflow_handler, segv_handler):
2519         Use _Noreturn rather than __attribute__((noreturn)).
2520
2521         argmatch-tests, exclude_tests: use _Noreturn
2522         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
2523         Remove.
2524         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
2525
2526         stdlib: use _Noreturn
2527         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
2528         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
2529         * modules/stdlib (Depends-on): Add _Noreturn.
2530         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
2531
2532         stdnoreturn-tests: new module
2533         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
2534
2535         stdnoreturn: new module
2536         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
2537         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
2538
2539         _Noreturn-tests: new module
2540         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
2541
2542         _Noreturn: new module
2543         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
2544         New section, mentioning it.
2545         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
2546
2547         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
2548
2549 2011-07-11  Eric Blake  <eblake@redhat.com>
2550
2551         ffs: new module
2552         * modules/ffs: New file.
2553         * m4/ffs.m4: Likewise.
2554         * lib/ffs.c: Likewise.
2555         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
2556         * modules/strings (Makefile.am): Substitute witness.
2557         (Depends-on): Add c++defs.
2558         * lib/strings.in.h (ffs): Declare.
2559         * modules/ffs-tests: New test file.
2560         * tests/test-ffs.c: Test new module.
2561         * MODULES.html.sh (Integer arithmetic functions): Mention it.
2562         * doc/posix-functions/ffs.texi (ffs): Likewise.
2563
2564         regex: avoid compiler warning
2565         * lib/regex.c (includes): Include <strings.h>, for use of
2566         strcasecmp in regcomp.c.
2567         Reported by Joachim Schmitz.
2568
2569 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2570
2571         stdint: respect system's intmax_t if INTMAX_MAX
2572         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
2573         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
2574         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
2575         long but int64_t is long long, and where we will clash with the
2576         system intmax_t if we override it.  See
2577         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
2578         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
2579         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
2580         similarly for UINTMAX_C.
2581
2582 2011-07-08  Bruno Haible  <bruno@clisp.org>
2583
2584         pthread_sigmask tests: Avoid a compiler warning.
2585         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
2586         non-zero.
2587
2588         sigprocmask tests: A better way to avoid a compiler warning.
2589         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
2590         (main): Complain if system() returns non-zero.
2591         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
2592
2593 2011-07-08  Bruno Haible  <bruno@clisp.org>
2594
2595         pthread_sigmask: Work around IRIX bug.
2596         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
2597         bug.
2598         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
2599         there may be unblocked pending signals.
2600         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
2601
2602 2011-07-08  Bruno Haible  <bruno@clisp.org>
2603
2604         pthread_sigmask: Work around Cygwin bug.
2605         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
2606         bug.
2607         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
2608         the system's pthread_sigmask function.
2609         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
2610
2611 2011-07-08  Bruno Haible  <bruno@clisp.org>
2612
2613         pthread_sigmask: Work around bug in single-threaded implementation.
2614         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
2615         FreeBSD, HP-UX, Solaris bug.
2616         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
2617         * lib/pthread_sigmask.c: Include <stddef.h>.
2618         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
2619         the system's pthread_sigmask function.
2620         * modules/pthread_sigmask (configure.ac): Invoke
2621         gl_PREREQ_PTHREAD_SIGMASK.
2622         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
2623         HP-UX, Solaris.
2624
2625 2011-07-08  Eric Blake  <eblake@redhat.com>
2626
2627         test-sigprocmask: avoid compiler warning
2628         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
2629         * tests/test-sigprocmask.c (main): Use it to silence warning.
2630         Reported by Jim Meyering.
2631
2632         test-snprintf: avoid compiler warning
2633         * tests/test-snprintf.c (main): Avoid shadowed declaration.
2634         * tests/test-vsnprintf.c (main): Likewise.
2635         Reported by Jim Meyering.
2636
2637 2011-07-08  Bruno Haible  <bruno@clisp.org>
2638
2639         Tests for module 'pthread_sigmask'.
2640         * modules/pthread_sigmask-tests: New file.
2641         * tests/test-pthread_sigmask1.c: New file, based on
2642         tests/test-sigprocmask.c.
2643         * tests/test-pthread_sigmask2.c: New file.
2644
2645 2011-07-08  Jim Meyering  <meyering@redhat.com>
2646
2647         test-getopt.h: avoid warning about an unused variable
2648         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
2649
2650 2011-07-07  Jim Meyering  <meyering@redhat.com>
2651
2652         maint: reduce list of files exempt from sc_prohibit_leading_TABs
2653         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
2654         now that it no longer contains leading TABs.
2655         Remove unused "url=FIXME" statement.
2656
2657 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
2658
2659         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
2660         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
2661         When gl_THREADLIB is not in use, assume that the POSIX sematics
2662         are desired.  This is better for Emacs, which uses POSIX semantics
2663         on GNUish and/or POSIXish platforms, and does not use threads at
2664         all otherwise.
2665
2666         pthread_sigmask: fix typo when testing for libraries
2667         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
2668         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
2669
2670 2011-07-08  Eric Blake  <eblake@redhat.com>
2671
2672         fts: introduce FTS_NOATIME
2673         * lib/fts_.h (FTS_NOATIME): New bit flag.
2674         (FTS_OPTIONMASK): Adjust.
2675         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
2676         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
2677
2678 2011-07-08  Bruno Haible  <bruno@clisp.org>
2679
2680         Tests for module 'thread'.
2681         * modules/thread-tests: New file.
2682         * tests/test-thread_self.c: New file.
2683         * tests/test-thread_create.cc: New file.
2684
2685 2011-07-08  Bruno Haible  <bruno@clisp.org>
2686
2687         thread: Avoid gcc warnings when using gl_thread_self().
2688         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
2689         'void *'.
2690         (gl_thread_self_pointer): Update.
2691
2692 2011-07-07  Bruno Haible  <bruno@clisp.org>
2693
2694         signal-c++-tests: Check declaration of pthread_sigmask.
2695         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
2696         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
2697         $(LIB_PTHREAD_SIGMASK).
2698
2699 2011-07-07  Bruno Haible  <bruno@clisp.org>
2700
2701         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
2702         * lib/signal.in.h (pthread_sigmask): Override if
2703         REPLACE_PTHREAD_SIGMASK is 1.
2704         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
2705         REPLACE_PTHREAD_SIGMASK.
2706         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
2707         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
2708         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
2709         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
2710         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
2711
2712 2011-07-07  Bruno Haible  <bruno@clisp.org>
2713
2714         pthread_sigmask: Ensure declaration in <signal.h>.
2715         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
2716         include <pthread.h>.
2717         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
2718         problem.
2719
2720 2011-07-07  Bruno Haible  <bruno@clisp.org>
2721
2722         pthread_sigmask: Document the module.
2723         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
2724
2725 2011-07-07  Bruno Haible  <bruno@clisp.org>
2726
2727         pthread_sigmask: Follow gnulib conventions.
2728         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
2729         gl_PTHREAD_SIGMASK.
2730         * modules/pthread_sigmask (configure.ac): Update.
2731
2732 2011-07-07  Bruno Haible  <bruno@clisp.org>
2733
2734         pthread_sigmask: Make declaration C++ safe.
2735         * lib/signal.in.h: In two special conditions, just do an #include_next.
2736         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
2737         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
2738         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
2739         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
2740         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
2741         not REPLACE_PTHREAD_MASK.
2742         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
2743         not REPLACE_PTHREAD_MASK.
2744         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
2745
2746 2011-07-07  Bruno Haible  <bruno@clisp.org>
2747
2748         pthread_sigmask: Fix return value.
2749         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
2750         * lib/pthread_sigmask.c: New file.
2751         * modules/pthread_sigmask (Files): Add it.
2752         (configure.ac): Invoke AC_LIBOBJ.
2753
2754 2011-07-07  Eric Blake  <eblake@redhat.com>
2755
2756         getopt: more portable argv creation
2757         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
2758         const, use char arrays rather than strings.
2759         Suggested by Paul Eggert.
2760
2761 2011-07-07  Bruno Haible  <bruno@clisp.org>
2762
2763         Tests for module 'sigprocmask'.
2764         * modules/sigprocmask-tests: New file.
2765         * tests/test-sigprocmask.c: New file.
2766
2767 2011-07-07  Bruno Haible  <bruno@clisp.org>
2768
2769         float tests: Tweak.
2770         * tests/test-float.c (main): Tweak skip message.
2771
2772 2011-07-07  Eric Blake  <eblake@redhat.com>
2773
2774         getopt: avoid compiler warning during configure
2775         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
2776         assigning string literals to non-const pointer.
2777
2778         getopt-gnu: avoid crash in glibc getopt
2779         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
2780         * tests/test-getopt.h (test_getopt): Enhance test.
2781         * tests/test-getopt_long.h (test_getopt_long): Likewise.
2782         * doc/posix-functions/getopt.texi (getopt): Document it.
2783         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2784         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2785         Likewise.
2786
2787 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
2788
2789         getopt: handle W; without long options in getopt [BZ #12922]
2790         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
2791         but no long options are defined, just return 'W'.
2792
2793 2011-07-07  Bruno Haible  <bruno@clisp.org>
2794
2795         Avoid literal tabs.
2796         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
2797         variable containing a tab instead of a literal tab.
2798         Reported by Jim Meyering.
2799
2800 2011-07-07  Bruno Haible  <bruno@clisp.org>
2801
2802         Comments.
2803         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
2804
2805 2011-07-06  Bruno Haible  <bruno@clisp.org>
2806
2807         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
2808         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
2809         <winsock2.h>.
2810         (rpl_fd_isset, FD_ISSET): New definitions, copied from
2811         lib/sys_socket.in.h.
2812         (close, gethostname): Hide declarations from <winsock2.h>.
2813         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2814         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
2815         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
2816         (select): Don't override if gnulib's <sys/select.h> was already
2817         included.
2818         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
2819         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
2820         setsockopt, shutdown, select): Tweak indentation.
2821
2822 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2823
2824         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
2825         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
2826         in an application that does not use the sys_select module.
2827
2828 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
2829
2830         poll: do not return 0 on timeout=-1
2831         * lib/poll.c: Loop with yield if no events occured
2832
2833 2011-07-06  Eric Blake  <eblake@redhat.com>
2834
2835         pthread_sigmask: always replace when not using pthread
2836         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
2837         replacement when using some threading other than pthread.  Fix
2838         logic bug.
2839
2840 2011-07-06  Bruno Haible  <bruno@clisp.org>
2841
2842         Comments.
2843         * m4/printf.m4: Update comments about mingw.
2844
2845 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2846
2847         sys_select: define sigset_t more portably
2848         * lib/sys_select.in.h: Always include <sys/types.h>, since
2849         we now need sigset_t and mingw defines it there.
2850         Include <signal.h> before split inclusion guard, to avoid
2851         mishaps on Solaris, whose <signal.h> eventually includes us.
2852         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
2853         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
2854         which come from ...
2855         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
2856         gl_CHECK_TYPE_SIGSET_T.
2857         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
2858         does the real work.
2859         * modules/sys_select (Depends-on): Add 'signal'.
2860
2861         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
2862         Suggested by Bruno Haible.
2863
2864         pselect: Use pthread_sigmask, not sigprocmask.
2865         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
2866         multithreaded apps better than sigprocmask does.
2867         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
2868         sigprocmask directly.
2869
2870 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2871
2872         * lib/pselect.c (pselect): Use plain name, without "rpl_".
2873         Don't #undef,  since we don't need any underlying pselect.
2874         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
2875         (Depends-on): Add select.
2876         (Link): Add $(LIBSOCKET).
2877         These changes suggested by Bruno Haible.
2878
2879         pselect: document better
2880         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
2881         * doc/posix-functions/pselect.texi (pselect): Document new module.
2882
2883         pthread_sigmask: new module
2884         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
2885         * doc/posix-functions/pthread_sigmask.texi: Document new module.
2886         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
2887         This is done only as a macro; I don't know how well that'll
2888         work for C++.  Move <sys/types.h> include before the include_next,
2889         to avoid mishap on Solaris.
2890         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
2891         * modules/signal (Makefile.am): Substitute the check's results.
2892         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
2893
2894         test-pselect: new module
2895         * modules/pselect-tests, tests/test-pselect.c: New files.
2896         * tests/test-select.c, tests/test-sys_select-c++.cc:
2897         If TEST_PSELECT is defined, test pselect instead of testing select.
2898
2899         * tests/test-sys_select.c (sigset_t): Test for it, too.
2900         Suggested by Bruno Haible.
2901
2902 2011-07-05  Eric Blake  <eblake@redhat.com>
2903
2904         snprintf: guarantee %1$d, for libintl
2905         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
2906         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
2907         * doc/posix-functions/snprintf.texi (snprintf): Update.
2908         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
2909         * tests/test-snprintf.c (main): Enhance test.
2910         * tests/test-vsnprintf.c (main): Likewise.
2911
2912 2011-07-05  Jim Meyering  <meyering@redhat.com>
2913
2914         maint: exempt stdio-read.c and stdio-write.c from the cppi check
2915         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
2916         per Bruno's request, to accommodate this idiom (no space after "#")
2917         even when the function is inside an #if block:
2918         char *
2919         gets (char *s)
2920         #undef gets
2921         {
2922           ...
2923         }
2924
2925 2011-07-04  Jim Meyering  <meyering@redhat.com>
2926
2927         maint: indent with spaces, not TABs, and add a rule to check this
2928         * tests/test-userspec.c: Indent with spaces, not TABs.
2929         * tests/test-argp.c: Likewise.
2930         * tests/test-c-stack2.sh: Likewise.
2931         * tests/test-parse-duration.sh: Likewise
2932         * m4/strtod.m4: Likewise.
2933         * m4/alloca.m4: Likewise.
2934         * m4/pselect.m4: Likewise.
2935         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
2936
2937 2011-07-03  Jim Meyering  <meyering@redhat.com>
2938
2939         maint.mk: correct omissions in prohibit_argmatch_without_use check
2940         This rule would mistakenly report that argmatch.h is included without
2941         use even when both the argmatch and invalid_arg macro were used.
2942         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
2943         of argmatch and invalid_arg.
2944
2945 2011-07-03  Bruno Haible  <bruno@clisp.org>
2946
2947         Comments about EINTR.
2948         * lib/safe-read.h: Explain the purpose of this module.
2949         * lib/safe-write.h: Likewise.
2950         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
2951         module.
2952         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
2953         module.
2954         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2955
2956 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2957
2958         xnanosleep: Rewrite to use new dtotimespec module.
2959         It has the conversion code that used to be in xnanosleep.
2960         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
2961         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
2962         (TIME_T_MAX): Remove.
2963         (xnanosleep): Rewrite in terms of dtotimespec.
2964         * modules/xnanosleep (Depends-on): Add dtotimespec.
2965         Remove intprops, stdbool.
2966
2967         timespec-add, timespec-sub: new modules
2968         * lib/timespec.h (timespec_add, timespec_sub): New decls.
2969         * lib/timespec-add.c, lib/timespec-sub.c:
2970         * modules/timespec-add, modules/timespec-sub: New files.
2971
2972         dtotimespec: new module
2973         * lib/timespec.h (dtotimespec): New decl.
2974         * lib/dtotimespec.c, modules/dtotimespec: New files.
2975
2976         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
2977
2978         pselect: new module
2979         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
2980         (pselect): New decls.
2981         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
2982         since the standard pselect decl uses 'restrict'.
2983         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
2984         HAVE_PSELECT, REPLACE_PSELECT.
2985         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
2986         HAVE_PSELECT, REPLACE_PSELECT.
2987         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
2988
2989         sys_select: don't depend on sys_socket
2990         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
2991         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
2992         This fix works on GNU and GNU-like platforms, but has not been tested
2993         on native Windows.
2994         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
2995         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
2996         gl_HEADER_SYS_SOCKET.
2997         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
2998         gl_PREREQ_SYS_H_WINSOCK2.
2999
3000 2011-06-29  Eric Blake  <eblake@redhat.com>
3001
3002         pipe2: fix C89 compile problem
3003         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
3004         Reported by Bruno Haible.
3005
3006         pipe, pipe2: don't corrupt fd on error
3007         * lib/pipe.c (pipe): Leave fd unchanged on error.
3008         * lib/pipe2.c (pipe2): Likewise.
3009         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
3010         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
3011
3012 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
3013
3014         mmap-anon: do not use regular expressions inadvertently
3015         * m4/mmap-anon.m4: Remove trailing period from strings sought
3016         in the output.
3017
3018 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
3019
3020         nanosleep: fix integer overflow problem
3021         * lib/nanosleep.c (my_usleep): Don't assume signed integer
3022         arithmetic wraps around on overflow.
3023
3024         nanosleep: simplify carrying
3025         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
3026         first call to the underyling nanosleep, not for the last one.
3027         This doesn't fix any bugs, but it simplifies the computation of
3028         the remaining delay.  Found while auditing integer overflow issues.
3029
3030         dup2: remove test for existence of fcntl
3031         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
3032         "#if HAVE_FCNTL", in the configure-time test program.
3033         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
3034         and therefore speeds up "configure" a bit.  Found while
3035         adding the dup2 module to Emacs.
3036
3037 2011-06-24  Eric Blake  <eblake@redhat.com>
3038
3039         maint.mk: enhance useless header checks
3040         * top/maint.mk (_sc_header_without_use): Check both include
3041         styles.
3042         (sc_prohibit_assert_without_use)
3043         (sc_prohibit_close_stream_without_use)
3044         (sc_prohibit_getopt_without_use)
3045         (sc_prohibit_quotearg_without_use)
3046         (sc_prohibit_quote_without_use)
3047         (sc_prohibit_long_options_without_use)
3048         (sc_prohibit_inttostr_without_use)
3049         (sc_prohibit_ignore_value_without_use)
3050         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
3051         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
3052         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
3053         (sc_prohibit_hash_pjw_without_use)
3054         (sc_prohibit_safe_read_without_use)
3055         (sc_prohibit_argmatch_without_use)
3056         (sc_prohibit_canonicalize_without_use)
3057         (sc_prohibit_root_dev_ino_without_use)
3058         (sc_prohibit_openat_without_use)
3059         (sc_prohibit_c_ctype_without_use)
3060         (sc_prohibit_signal_without_use)
3061         (sc_prohibit_stdio--_without_use)
3062         (sc_prohibit_stdio-safer_without_use)
3063         (sc_prohibit_strings_without_use)
3064         (sc_prohibit_intprops_without_use)
3065         (sc_prohibit_stddef_without_use)
3066         (sc_prohibit_xfreopen_without_use): Update clients.
3067
3068 2011-06-24  Jim Meyering  <meyering@redhat.com>
3069
3070         syntax-check: keep one maint.mk rule in sync with its header
3071         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
3072         of the bug Eric has just fixed, with today's commit 25e4c2ec.
3073         I prefer to avoid temporary files here, so use <(...), but that
3074         is not supported by /bin/sh, so...
3075         (SHELL): Define to /bin/bash.
3076
3077 2011-06-24  Eric Blake  <eblake@redhat.com>
3078
3079         maint.mk: update sc_prohibit_intprops_without_use
3080         * top/maint.mk (_intprops_names): Match recent changes.
3081
3082 2011-06-24  Bruno Haible  <bruno@clisp.org>
3083
3084         strerror-override: No-op tweak.
3085         * lib/strerror-override.h (strerror_override): Reorder conditions,
3086         for consistency with lib/strerror-override.c.
3087
3088 2011-06-23  Eric Blake  <eblake@redhat.com>
3089
3090         maint.mk: test further PATH_MAX issues
3091         * top/maint.mk (sc_prohibit_path_max_array): Rename...
3092         (sc_prohibit_path_max_allocation): ...and also test alloca.
3093         Suggested by Jim Meyering.
3094
3095 2011-06-22  Eric Blake  <eblake@redhat.com>
3096
3097         maint.mk: add syntax-check to avoid char[PATH_MAX]
3098         * top/maint.mk (sc_prohibit_path_max_array): New rule.
3099
3100         stat: be robust to PATH_MAX definition
3101         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
3102         * modules/stat (Depends-on): Add verify.
3103
3104         link: work around IRIX bug
3105         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
3106         * lib/link.c (rpl_link): Work around it.
3107         * tests/test-link.h (test_link): Enhance test.
3108         * doc/posix-functions/link.texi (link): Document the bug.
3109
3110         getopt: silence clang warning
3111         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
3112         dereference.
3113         Reported by Gustavo Martin Domato.
3114
3115 2011-06-22  Jim Meyering  <meyering@redhat.com>
3116
3117         bootstrap: do not insert a blank line into each .gitignore file
3118         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
3119
3120 2011-06-21  Eric Blake  <eblake@redhat.com>
3121
3122         perror: test for output mismatch
3123         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
3124         perror on IRIX.
3125
3126         strerror_r: fix OpenBSD behavior on out-of-range
3127         * lib/strerror_r.c (strerror_r): Always use maximal string.
3128         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3129
3130         strerror_r: fix OpenBSD behavior on 0
3131         * lib/strerror-override.c (strerror_override): Also override 0
3132         when needed.
3133         * lib/strerror-override.h (strerror_override): Likewise.
3134         * lib/strerror.c (strerror): Simplify, now that 0 override is done
3135         earlier.
3136         * lib/strerror_r.c (strerror_r): Likewise.
3137         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
3138         behavior...
3139         (gl_FUNC_STRERROR_0): ...into new macro.
3140         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
3141         is overridden.
3142         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
3143         * modules/strerror-override (Files): Add strerror.m4.
3144         (configure.ac): Also provide override for 0 when needed.
3145         * doc/posix-functions/strerror.texi (strerror): Document this.
3146         * doc/posix-functions/perror.texi (perror): Likewise.
3147
3148         perror: adjust array size
3149         * modules/perror (Depends-on): Add strerror-override.
3150         * lib/perror.c (perror): Use it to avoid magic number.
3151
3152         strerror-override: reduce size
3153         * lib/strerror-override.c (strerror_override): Use fewer lines.
3154
3155 2011-06-20  Bruno Haible  <bruno@clisp.org>
3156
3157         pathmax: Ensure correct value for PATH_MAX on HP-UX.
3158         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
3159
3160 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3161
3162         alloca: port to compilers that can optimize like GCC 4.6.0
3163         * lib/alloca.c (find_stack_direction): New signature, taken from
3164         Autoconf git.  This works with GCC 4.6.0.  This code should never
3165         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
3166         be used with other compilers that optimize as well as GCC 4.6.0 does.
3167         (alloca): Adjust to new signature.
3168         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
3169         New macro, which patches Autoconf in a similar way.
3170
3171         c-stack: stop worrying about stack direction
3172         * lib/c-stack.c (find_stack_direction): Remove.
3173         (segv_handler): Don't worry about stack direction growth, as it's
3174         too much of a pain to configure this correctly, given how compilers
3175         are optimizing-away our stack-growth detection code.  Instead, assume
3176         that any access to just before or just after the stack is OK.
3177         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
3178         Don't require AC_FUNC_ALLOCA; no longer needed.
3179
3180 2011-06-20  Eric Blake  <eblake@redhat.com>
3181
3182         test-stat: don't allocate PATH_MAX bytes
3183         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
3184         PATH_MAX-sized buffer.
3185         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
3186         * modules/stat-tests (Depends-on): Likewise.
3187         * tests/test-fstatat.c (includes): Drop pathmax.h.
3188         * tests/test-stat.c (includes): Likewise.
3189         Reported by Bruno Haible.
3190
3191 2011-06-20  Bruno Haible  <bruno@clisp.org>
3192
3193         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
3194         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
3195         * lib/float.c: New file.
3196         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
3197         REPLACE_FLOAT_LDBL.
3198         * modules/float (Files): Add lib/float.c.
3199         (configure.ac): Invoke AC_LIBOBJ.
3200         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
3201
3202 2011-06-20  Bruno Haible  <bruno@clisp.org>
3203
3204         Tests for module 'float'.
3205         * modules/float-tests: New file.
3206         * tests/test-float.c: New file.
3207
3208 2011-06-19  Bruno Haible  <bruno@clisp.org>
3209
3210         isinf: Coding style.
3211         * lib/isinf.c: Use GNU coding style.
3212
3213 2011-06-19  Bruno Haible  <bruno@clisp.org>
3214
3215         linkat test: Avoid test failure on AIX 7.1.
3216         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
3217         * tests/test-link.h (test_link): Likewise.
3218
3219 2011-06-19  Bruno Haible  <bruno@clisp.org>
3220
3221         pread test: Avoid test failure on OpenBSD 4.9.
3222         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
3223
3224 2011-06-19  Bruno Haible  <bruno@clisp.org>
3225
3226         sprintf-posix: Fix test failure on AIX 7.1.
3227         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
3228         * doc/posix-functions/dprintf.texi: Mention limited precision problem
3229         on AIX.
3230         * doc/posix-functions/fprintf.texi: Likewise.
3231         * doc/posix-functions/printf.texi: Likewise.
3232         * doc/posix-functions/snprintf.texi: Likewise.
3233         * doc/posix-functions/sprintf.texi: Likewise.
3234         * doc/posix-functions/vdprintf.texi: Likewise.
3235         * doc/posix-functions/vfprintf.texi: Likewise.
3236         * doc/posix-functions/vprintf.texi: Likewise.
3237         * doc/posix-functions/vsnprintf.texi: Likewise.
3238         * doc/posix-functions/vsprintf.texi: Likewise.
3239
3240 2011-06-19  Bruno Haible  <bruno@clisp.org>
3241
3242         roundl-ieee: Fix test failure on AIX 7.1.
3243         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
3244         * doc/posix-functions/roundl.texi: Mention problem with negative
3245         arguments.
3246
3247 2011-06-19  Bruno Haible  <bruno@clisp.org>
3248
3249         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
3250         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
3251         * doc/posix-functions/round.texi: Mention problem with negative
3252         arguments.
3253         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
3254
3255 2011-06-19  Bruno Haible  <bruno@clisp.org>
3256
3257         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
3258         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
3259         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
3260         * doc/posix-functions/roundf.texi: Mention problem with negative
3261         arguments.
3262         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
3263
3264 2011-06-19  Bruno Haible  <bruno@clisp.org>
3265
3266         ceilf-ieee: Work around bug on MacOS X 10.5.
3267         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
3268
3269         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
3270         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
3271         IEEE compliant, avoid compiler optimizations.
3272         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
3273         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3274         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
3275         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3276         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3277         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3278         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3279         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3280         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3281         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3282
3283 2011-06-19  Bruno Haible  <bruno@clisp.org>
3284
3285         ceilf-ieee: Work around bug on AIX 7.1.
3286         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
3287         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
3288
3289 2011-06-19  Bruno Haible  <bruno@clisp.org>
3290
3291         ceil-ieee: Work around bug on AIX 7.1.
3292         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
3293         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
3294
3295 2011-06-18  Bruno Haible  <bruno@clisp.org>
3296
3297         fsync test: Avoid test failure on MacOS X and AIX.
3298         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
3299         EINVAL.
3300
3301 2011-06-18  Bruno Haible  <bruno@clisp.org>
3302
3303         openat, fdopendir tests: Fix link errors.
3304         * modules/openat-tests (Depends-on): Add progname.
3305         * modules/fdopendir-tests (Depends-on): Likewise.
3306         * tests/test-fchownat.c: Include progname.h.
3307         (main): Call set_program_name.
3308         * tests/test-fstatat.c: Include progname.h.
3309         (main): Call set_program_name.
3310         * tests/test-mkdirat.c: Include progname.h.
3311         (main): Call set_program_name.
3312         * tests/test-openat.c: Include progname.h.
3313         (main): Call set_program_name.
3314         * tests/test-unlinkat.c: Include progname.h.
3315         (main): Call set_program_name.
3316         * tests/test-fdopendir.c: Include progname.h.
3317         (main): Call set_program_name.
3318
3319 2011-06-18  Bruno Haible  <bruno@clisp.org>
3320
3321         Doc update.
3322         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
3323         HP-UX.
3324         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
3325
3326 2011-06-18  Bruno Haible  <bruno@clisp.org>
3327
3328         getcwd tests: Avoid compilation error on HP-UX 11.31.
3329         * modules/getcwd-tests (Depends-on): Add pathmax.
3330         * tests/test-getcwd.c: Include pathmax.h.
3331
3332 2011-06-18  Bruno Haible  <bruno@clisp.org>
3333
3334         isfinite, isinf: Fix link error on AIX 6 and 7.
3335         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
3336         needed, also test the macro with a 'float' argument.
3337         * m4/isinf.m4 (gl_ISINF): Likewise.
3338
3339 2011-06-18  Bruno Haible  <bruno@clisp.org>
3340
3341         getloadavg: Don't clobber LIBS. Regression from previous commit.
3342         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
3343         AC_CHECK_LIB from here...
3344         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
3345         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
3346         gl_func_getloadavg_done.
3347         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3348
3349 2011-06-18  Bruno Haible  <bruno@clisp.org>
3350
3351         clean-temp: Improve documentation.
3352         * lib/clean-temp.h: Explain better how to use this module.
3353         Reported by John Darrington <john@darrington.wattle.id.au>.
3354
3355 2011-06-17  Bruno Haible  <bruno@clisp.org>
3356
3357         pread, pwrite: Avoid cc warning on AIX.
3358         * lib/unistd.in.h (pread): Undefine before defining as a macro.
3359         (pwrite): Likewise.
3360
3361 2011-06-17  Bruno Haible  <bruno@clisp.org>
3362
3363         spawn-pipe tests: Fix link error.
3364         * tests/test-spawn-pipe-child.c: Undefine fprintf.
3365         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3366
3367 2011-06-17  Bruno Haible  <bruno@clisp.org>
3368
3369         Tests: Remove unnecessary dependency.
3370         * modules/canonicalize-tests (Depends-on): Remove progname.
3371         * modules/chown-tests (Depends-on): Likewise.
3372         * modules/dirname-tests (Depends-on): Likewise.
3373         * modules/fdopendir-tests (Depends-on): Likewise.
3374         * modules/fdutimensat-tests (Depends-on): Likewise.
3375         * modules/hash-tests (Depends-on): Likewise.
3376         * modules/lchown-tests (Depends-on): Likewise.
3377         * modules/linkat-tests (Depends-on): Likewise.
3378         * modules/renameat-tests (Depends-on): Likewise.
3379         * modules/spawn-pipe-tests (Depends-on): Likewise.
3380         * modules/utimensat-tests (Depends-on): Likewise.
3381
3382 2011-06-17  Bruno Haible  <bruno@clisp.org>
3383
3384         spawn-pipe tests: Fix link error.
3385         * tests/test-spawn-pipe-child.c: Undefine fflush.
3386
3387 2011-06-17  Bruno Haible  <bruno@clisp.org>
3388
3389         Fix tests link errors.
3390         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
3391         * modules/chown-tests (Makefile.am): Don't link test-chown with
3392         LIBINTL.
3393         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
3394         LIBINTL.
3395         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
3396         LIBINTL.
3397         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
3398         LIBINTL.
3399
3400 2011-06-16  Bruno Haible  <bruno@clisp.org>
3401
3402         crypto/gc-sha1: Fix recent regression.
3403         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
3404         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
3405
3406         crypto/gc-md5: Fix recent regression.
3407         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
3408
3409         crypto/gc-md4: Fix recent regression.
3410         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
3411         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
3412
3413         crypto/gc-arctwo: Fix recent regression.
3414         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
3415         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
3416
3417         crypto/gc-rijndael: Fix recent regression.
3418         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
3419         (configure.ac): Invoke AC_LIBOBJ here.
3420         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
3421         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3422
3423         crypto/gc-hmac-sha1: Fix recent regression.
3424         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
3425         (configure.ac): Invoke AC_LIBOBJ here.
3426         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
3427         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3428
3429         crypto/gc-hmac-md5: Fix recent regression.
3430         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
3431         (configure.ac): Invoke AC_LIBOBJ here.
3432         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
3433         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3434
3435         crypto/gc-des: Fix recent regression.
3436         * modules/crypto/gc-des (Files): Remove m4/des.m4.
3437         (configure.ac): Invoke AC_LIBOBJ here.
3438         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
3439         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3440
3441         crypto/gc-arcfour: Fix recent regression.
3442         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
3443         (configure.ac): Invoke AC_LIBOBJ here.
3444         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
3445         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3446
3447 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
3448
3449         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
3450         After the 2011-05-21 change, this macro requires
3451         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
3452         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
3453
3454 2011-06-16  Bruno Haible  <bruno@clisp.org>
3455
3456         fprintftime: Move AC_LIBOBJ invocations to module description.
3457         * m4/fprintftime.m4: Remove file.
3458         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
3459         (configure.ac): Remove gl_FPRINTFTIME call.
3460         (Makefile.am): Augment lib_SOURCES.
3461         Reported by Jim Meyering.
3462
3463 2011-06-16  Bruno Haible  <bruno@clisp.org>
3464
3465         tmpfile-safer: Finish 2011-05-23 commit.
3466         * m4/stdio-safer.m4: Really remove file.
3467         Reported by Jim Meyering.
3468
3469 2011-06-16  Bruno Haible  <bruno@clisp.org>
3470
3471         syntax-check: Fix typo.
3472         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
3473         printf-posix.m4.
3474         Reported by Jim Meyering.
3475
3476 2011-06-13  Jim Meyering  <meyering@redhat.com>
3477
3478         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
3479         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
3480
3481 2011-05-23  Bruno Haible  <bruno@clisp.org>
3482
3483         yesno: Move AC_LIBOBJ invocations to module description.
3484         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
3485         * modules/yesno (Makefile.am): Augment lib_SOURCES.
3486
3487 2011-05-23  Bruno Haible  <bruno@clisp.org>
3488
3489         xstrtol: Move AC_LIBOBJ invocations to module description.
3490         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
3491         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
3492
3493 2011-05-23  Bruno Haible  <bruno@clisp.org>
3494
3495         xstrtold: Move AC_LIBOBJ invocations to module description.
3496         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
3497         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
3498
3499 2011-05-23  Bruno Haible  <bruno@clisp.org>
3500
3501         xstrtod: Move AC_LIBOBJ invocations to module description.
3502         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
3503         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
3504
3505 2011-05-23  Bruno Haible  <bruno@clisp.org>
3506
3507         xnanosleep: Move AC_LIBOBJ invocations to module description.
3508         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
3509         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
3510
3511 2011-05-23  Bruno Haible  <bruno@clisp.org>
3512
3513         xgetcwd: Move AC_LIBOBJ invocations to module description.
3514         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
3515         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
3516
3517 2011-05-23  Bruno Haible  <bruno@clisp.org>
3518
3519         xalloc: Move AC_LIBOBJ invocations to module description.
3520         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
3521         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
3522
3523 2011-05-23  Bruno Haible  <bruno@clisp.org>
3524
3525         write-any-file: Move AC_LIBOBJ invocations to module description.
3526         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
3527         invocation.
3528         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
3529
3530 2011-05-23  Bruno Haible  <bruno@clisp.org>
3531
3532         utimens: Move AC_LIBOBJ invocations to module description.
3533         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
3534         * modules/utimens (Makefile.am): Augment lib_SOURCES.
3535
3536 2011-05-23  Bruno Haible  <bruno@clisp.org>
3537
3538         utimecmp: Move AC_LIBOBJ invocations to module description.
3539         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
3540         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
3541
3542 2011-05-23  Bruno Haible  <bruno@clisp.org>
3543
3544         userspec: Move AC_LIBOBJ invocations to module description.
3545         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
3546         * modules/userspec (Makefile.am): Augment lib_SOURCES.
3547
3548 2011-05-23  Bruno Haible  <bruno@clisp.org>
3549
3550         unlinkdir: Move AC_LIBOBJ invocations to module description.
3551         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
3552         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
3553
3554 2011-05-23  Bruno Haible  <bruno@clisp.org>
3555
3556         unistd-safer: Move AC_LIBOBJ invocations to module description.
3557         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
3558         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
3559
3560 2011-05-23  Bruno Haible  <bruno@clisp.org>
3561
3562         tempname: Move AC_LIBOBJ invocations to module description.
3563         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
3564         * modules/tempname (Makefile.am): Augment lib_SOURCES.
3565
3566 2011-05-23  Bruno Haible  <bruno@clisp.org>
3567
3568         strftime: Move AC_LIBOBJ invocations to module description.
3569         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
3570         * modules/strftime (Makefile.am): Augment lib_SOURCES.
3571
3572 2011-05-23  Bruno Haible  <bruno@clisp.org>
3573
3574         stdlib-safer: Move AC_LIBOBJ invocations to module description.
3575         * m4/stdlib-safer.m4: Remove file.
3576         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
3577         (configure.ac): Remove gl_STDLIB_SAFER call.
3578         (Makefile.am): Augment lib_SOURCES.
3579
3580 2011-05-23  Bruno Haible  <bruno@clisp.org>
3581
3582         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
3583         * m4/stdio-safer.m4: Remove file.
3584         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
3585         (configure.ac): Remove gl_TMPFILE_SAFER call.
3586         (Makefile.am): Augment lib_SOURCES.
3587
3588 2011-05-23  Bruno Haible  <bruno@clisp.org>
3589
3590         popen-safer: Move AC_LIBOBJ invocations to module description.
3591         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
3592         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
3593         (configure.ac): Remove gl_POPEN_SAFER call.
3594         (Makefile.am): Augment lib_SOURCES.
3595
3596 2011-05-23  Bruno Haible  <bruno@clisp.org>
3597
3598         freopen-safer: Move AC_LIBOBJ invocations to module description.
3599         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
3600         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
3601         (configure.ac): Remove gl_FREOPEN_SAFER call.
3602         (Makefile.am): Augment lib_SOURCES.
3603
3604 2011-05-23  Bruno Haible  <bruno@clisp.org>
3605
3606         fopen-safer: Move AC_LIBOBJ invocations to module description.
3607         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
3608         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
3609         (configure.ac): Remove gl_FOPEN_SAFER call.
3610         (Makefile.am): Augment lib_SOURCES.
3611
3612 2011-05-23  Bruno Haible  <bruno@clisp.org>
3613
3614         crypto/sha512: Move AC_LIBOBJ invocations to module description.
3615         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
3616         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
3617
3618 2011-05-23  Bruno Haible  <bruno@clisp.org>
3619
3620         crypto/sha256: Move AC_LIBOBJ invocations to module description.
3621         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
3622         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
3623
3624 2011-05-23  Bruno Haible  <bruno@clisp.org>
3625
3626         crypto/sha1: Move AC_LIBOBJ invocations to module description.
3627         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
3628         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
3629
3630 2011-05-23  Bruno Haible  <bruno@clisp.org>
3631
3632         settime: Move AC_LIBOBJ invocations to module description.
3633         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
3634         * modules/settime (Makefile.am): Augment lib_SOURCES.
3635
3636 2011-05-23  Bruno Haible  <bruno@clisp.org>
3637
3638         savedir: Move AC_LIBOBJ invocations to module description.
3639         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
3640         * modules/savedir (Makefile.am): Augment lib_SOURCES.
3641
3642 2011-05-23  Bruno Haible  <bruno@clisp.org>
3643
3644         save-cwd: Move AC_LIBOBJ invocations to module description.
3645         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
3646         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
3647
3648 2011-05-23  Bruno Haible  <bruno@clisp.org>
3649
3650         same: Move AC_LIBOBJ invocations to module description.
3651         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
3652         * modules/same (Makefile.am): Augment lib_SOURCES.
3653
3654 2011-05-23  Bruno Haible  <bruno@clisp.org>
3655
3656         safe-write: Move AC_LIBOBJ invocations to module description.
3657         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
3658         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
3659         instead of gl_SAFE_WRITE.
3660         (Makefile.am): Augment lib_SOURCES.
3661
3662 2011-05-23  Bruno Haible  <bruno@clisp.org>
3663
3664         safe-read: Move AC_LIBOBJ invocations to module description.
3665         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
3666         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
3667         of gl_SAFE_READ.
3668         (Makefile.am): Augment lib_SOURCES.
3669
3670 2011-05-23  Bruno Haible  <bruno@clisp.org>
3671
3672         safe-alloc: Move AC_LIBOBJ invocations to module description.
3673         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
3674         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
3675
3676 2011-05-23  Bruno Haible  <bruno@clisp.org>
3677
3678         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
3679         * m4/rijndael.m4: Remove file.
3680         * modules/crypto/rijndael (Files): Remove it.
3681         (configure.ac): Remove gl_RIJNDAEL call.
3682         (Makefile.am): Augment lib_SOURCES.
3683
3684 2011-05-23  Bruno Haible  <bruno@clisp.org>
3685
3686         readtokens: Move AC_LIBOBJ invocations to module description.
3687         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
3688         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
3689
3690 2011-05-23  Bruno Haible  <bruno@clisp.org>
3691
3692         read-file: Move AC_LIBOBJ invocations to module description.
3693         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
3694         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
3695         of gl_FUNC_READ_FILE.
3696         (Makefile.am): Augment lib_SOURCES.
3697
3698 2011-05-23  Bruno Haible  <bruno@clisp.org>
3699
3700         quotearg: Move AC_LIBOBJ invocations to module description.
3701         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
3702         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
3703
3704 2011-05-23  Bruno Haible  <bruno@clisp.org>
3705
3706         quote: Move AC_LIBOBJ invocations to module description.
3707         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
3708         * modules/quote (Makefile.am): Augment lib_SOURCES.
3709
3710 2011-05-23  Bruno Haible  <bruno@clisp.org>
3711
3712         posixver: Move AC_LIBOBJ invocations to module description.
3713         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
3714         * modules/posixver (Makefile.am): Augment lib_SOURCES.
3715
3716 2011-05-23  Bruno Haible  <bruno@clisp.org>
3717
3718         posixtm: Move AC_LIBOBJ invocations to module description.
3719         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
3720         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
3721
3722 2011-05-23  Bruno Haible  <bruno@clisp.org>
3723
3724         physmem: Move AC_LIBOBJ invocations to module description.
3725         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
3726         * modules/physmem (Makefile.am): Augment lib_SOURCES.
3727
3728 2011-05-23  Bruno Haible  <bruno@clisp.org>
3729
3730         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
3731         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
3732         invocation.
3733         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
3734
3735 2011-05-23  Bruno Haible  <bruno@clisp.org>
3736
3737         mpsort: Move AC_LIBOBJ invocations to module description.
3738         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
3739         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
3740
3741 2011-05-23  Bruno Haible  <bruno@clisp.org>
3742
3743         modechange: Move AC_LIBOBJ invocations to module description.
3744         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
3745         * modules/modechange (Makefile.am): Augment lib_SOURCES.
3746
3747 2011-05-23  Bruno Haible  <bruno@clisp.org>
3748
3749         mkdir-p: Move AC_LIBOBJ invocations to module description.
3750         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
3751         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
3752
3753 2011-05-23  Bruno Haible  <bruno@clisp.org>
3754
3755         mkancesdirs: Move AC_LIBOBJ invocations to module description.
3756         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
3757         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
3758
3759 2011-05-23  Bruno Haible  <bruno@clisp.org>
3760
3761         mgetgroups: Move AC_LIBOBJ invocations to module description.
3762         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
3763         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
3764
3765 2011-05-23  Bruno Haible  <bruno@clisp.org>
3766
3767         memxor: Move AC_LIBOBJ invocations to module description.
3768         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
3769         * modules/memxor (Makefile.am): Augment lib_SOURCES.
3770
3771 2011-05-23  Bruno Haible  <bruno@clisp.org>
3772
3773         memcoll: Move AC_LIBOBJ invocations to module description.
3774         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
3775         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
3776
3777 2011-05-23  Bruno Haible  <bruno@clisp.org>
3778
3779         memcasecmp: Move AC_LIBOBJ invocations to module description.
3780         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
3781         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
3782
3783 2011-05-23  Bruno Haible  <bruno@clisp.org>
3784
3785         crypto/md5: Move AC_LIBOBJ invocations to module description.
3786         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
3787         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
3788
3789 2011-05-23  Bruno Haible  <bruno@clisp.org>
3790
3791         crypto/md4: Move AC_LIBOBJ invocations to module description.
3792         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
3793         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
3794
3795 2011-05-23  Bruno Haible  <bruno@clisp.org>
3796
3797         crypto/md2: Move AC_LIBOBJ invocations to module description.
3798         * m4/md2.m4: Remove file.
3799         * modules/crypto/md2 (Files): Remove it.
3800         (configure.ac): Remove gl_MD2 call.
3801         (Makefile.am): Augment lib_SOURCES.
3802
3803 2011-05-23  Bruno Haible  <bruno@clisp.org>
3804
3805         long-options: Move AC_LIBOBJ invocations to module description.
3806         * m4/long-options.m4: Remove file.
3807         * modules/long-options (Files): Remove it.
3808         (configure.ac): Remove gl_LONG_OPTIONS call.
3809         (Makefile.am): Augment lib_SOURCES.
3810
3811 2011-05-23  Bruno Haible  <bruno@clisp.org>
3812
3813         i-ring: Move AC_LIBOBJ invocations to module description.
3814         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
3815         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
3816
3817 2011-05-23  Bruno Haible  <bruno@clisp.org>
3818
3819         idcache: Move AC_LIBOBJ invocations to module description.
3820         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
3821         * modules/idcache (Makefile.am): Augment lib_SOURCES.
3822
3823 2011-05-23  Bruno Haible  <bruno@clisp.org>
3824
3825         human: Move AC_LIBOBJ invocations to module description.
3826         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
3827         * modules/human (Makefile.am): Augment lib_SOURCES.
3828
3829 2011-05-23  Bruno Haible  <bruno@clisp.org>
3830
3831         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
3832         * m4/hmac-sha1.m4: Remove file.
3833         * modules/crypto/hmac-sha1 (Files): Remove it.
3834         (configure.ac): Remove gl_HMAC_SHA1 call.
3835         (Makefile.am): Augment lib_SOURCES.
3836
3837 2011-05-23  Bruno Haible  <bruno@clisp.org>
3838
3839         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
3840         * m4/hmac-md5.m4: Remove file.
3841         * modules/crypto/hmac-md5 (Files): Remove it.
3842         (configure.ac): Remove gl_HMAC_MD5 call.
3843         (Makefile.am): Augment lib_SOURCES.
3844
3845 2011-05-23  Bruno Haible  <bruno@clisp.org>
3846
3847         hash: Move AC_LIBOBJ invocations to module description.
3848         * m4/hash.m4: Remove file.
3849         * modules/hash (Files): Remove it.
3850         (configure.ac): Remove gl_HASH call.
3851         (Makefile.am): Augment lib_SOURCES.
3852
3853 2011-05-23  Bruno Haible  <bruno@clisp.org>
3854
3855         hard-locale: Move AC_LIBOBJ invocations to module description.
3856         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
3857         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
3858
3859 2011-05-23  Bruno Haible  <bruno@clisp.org>
3860
3861         getugroups: Move AC_LIBOBJ invocations to module description.
3862         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
3863         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
3864
3865 2011-05-23  Bruno Haible  <bruno@clisp.org>
3866
3867         gettime: Move AC_LIBOBJ invocations to module description.
3868         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
3869         * modules/gettime (Makefile.am): Augment lib_SOURCES.
3870
3871 2011-05-23  Bruno Haible  <bruno@clisp.org>
3872
3873         getndelim2: Move AC_LIBOBJ invocations to module description.
3874         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
3875         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
3876
3877 2011-05-23  Bruno Haible  <bruno@clisp.org>
3878
3879         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
3880         * m4/gc-pbkdf2-sha1.m4: Remove file.
3881         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
3882         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
3883         (Makefile.am): Augment lib_SOURCES.
3884
3885 2011-05-23  Bruno Haible  <bruno@clisp.org>
3886
3887         fts: Move AC_LIBOBJ invocations to module description.
3888         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
3889         * modules/fts (configure.ac): ... to here.
3890
3891 2011-05-23  Bruno Haible  <bruno@clisp.org>
3892
3893         file-type: Move AC_LIBOBJ invocations to module description.
3894         * m4/file-type.m4: Remove file.
3895         * modules/file-type (Files): Remove it.
3896         (configure.ac): Remove gl_FILE_TYPE call.
3897         (Makefile.am): Augment lib_SOURCES.
3898
3899 2011-05-23  Bruno Haible  <bruno@clisp.org>
3900
3901         filenamecat*: Respect rules for use of AC_LIBOBJ.
3902         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
3903         Remove AC_LIBOBJ invocation.
3904         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
3905         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
3906
3907 2011-05-23  Bruno Haible  <bruno@clisp.org>
3908
3909         filemode: Move AC_LIBOBJ invocations to module description.
3910         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
3911         * modules/filemode (Makefile.am): Augment lib_SOURCES.
3912
3913 2011-05-23  Bruno Haible  <bruno@clisp.org>
3914
3915         openat-safer: Move AC_LIBOBJ invocations to module description.
3916         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
3917         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
3918
3919 2011-05-23  Bruno Haible  <bruno@clisp.org>
3920
3921         fcntl-safer: Move AC_LIBOBJ invocations to module description.
3922         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
3923         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
3924
3925 2011-05-23  Bruno Haible  <bruno@clisp.org>
3926
3927         exclude: Move AC_LIBOBJ invocations to module description.
3928         * m4/exclude.m4: Remove file.
3929         * modules/exclude (Files): Remove it.
3930         (configure.ac): Remove gl_EXCLUDE call.
3931         (Makefile.am): Augment lib_SOURCES.
3932
3933 2011-05-23  Bruno Haible  <bruno@clisp.org>
3934
3935         dirname*: Respect rules for use of AC_LIBOBJ.
3936         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
3937         invocations.
3938         * modules/dirname (Makefile.am): Augment lib_SOURCES.
3939         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
3940
3941 2011-05-23  Bruno Haible  <bruno@clisp.org>
3942
3943         dirent-safer: Move AC_LIBOBJ invocations to module description.
3944         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
3945         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
3946
3947 2011-05-23  Bruno Haible  <bruno@clisp.org>
3948
3949         crypto/des: Move AC_LIBOBJ invocations to module description.
3950         * m4/des.m4: Remove file.
3951         * modules/crypto/des (Files): Remove it.
3952         (configure.ac): Remove gl_DES call.
3953         (Makefile.am): Augment lib_SOURCES.
3954
3955 2011-05-23  Bruno Haible  <bruno@clisp.org>
3956
3957         cycle-check: Move AC_LIBOBJ invocations to module description.
3958         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
3959         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
3960
3961 2011-05-23  Bruno Haible  <bruno@clisp.org>
3962
3963         c-strtold: Move AC_LIBOBJ invocations to module description.
3964         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
3965         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
3966
3967 2011-05-23  Bruno Haible  <bruno@clisp.org>
3968
3969         c-strtod: Move AC_LIBOBJ invocations to module description.
3970         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
3971         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
3972
3973 2011-05-23  Bruno Haible  <bruno@clisp.org>
3974
3975         crc: Move AC_LIBOBJ invocations to module description.
3976         * m4/crc.m4: Remove file.
3977         * modules/crc (Files): Remove it.
3978         (configure.ac): Remove gl_CRC call.
3979         (Makefile.am): Augment lib_SOURCES.
3980
3981 2011-05-23  Bruno Haible  <bruno@clisp.org>
3982
3983         close-stream: Move AC_LIBOBJ invocations to module description.
3984         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
3985         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
3986
3987 2011-05-23  Bruno Haible  <bruno@clisp.org>
3988
3989         closeout: Move AC_LIBOBJ invocations to module description.
3990         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
3991         * modules/closeout (Makefile.am): Augment lib_SOURCES.
3992
3993 2011-05-23  Bruno Haible  <bruno@clisp.org>
3994
3995         closein: Move AC_LIBOBJ invocations to module description.
3996         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
3997         * modules/closein (Makefile.am): Augment lib_SOURCES.
3998
3999 2011-05-23  Bruno Haible  <bruno@clisp.org>
4000
4001         cloexec: Move AC_LIBOBJ invocations to module description.
4002         * m4/cloexec.m4: Remove file.
4003         * modules/cloexec (Files): Remove it.
4004         (configure.ac): Remove gl_CLOEXEC call.
4005         (Makefile.am): Augment lib_SOURCES.
4006
4007 2011-05-23  Bruno Haible  <bruno@clisp.org>
4008
4009         check-version: Move AC_LIBOBJ invocations to module description.
4010         * m4/check-version.m4: Remove file.
4011         * modules/check-version (Files): Remove it.
4012         (configure.ac): Remove gl_CHECK_VERSION call.
4013         (Makefile.am): Augment lib_SOURCES.
4014
4015 2011-05-23  Bruno Haible  <bruno@clisp.org>
4016
4017         chdir-safer: Move AC_LIBOBJ invocations to module description.
4018         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
4019         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
4020
4021 2011-05-23  Bruno Haible  <bruno@clisp.org>
4022
4023         canonicalize: Move AC_LIBOBJ invocations to module description.
4024         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
4025         AC_LIBOBJ invocation.
4026         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
4027
4028 2011-05-23  Bruno Haible  <bruno@clisp.org>
4029
4030         canon-host: Move AC_LIBOBJ invocations to module description.
4031         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
4032         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
4033         instead of gl_CANON_HOST.
4034         (Makefile.am): Augment lib_SOURCES.
4035
4036 2011-05-23  Bruno Haible  <bruno@clisp.org>
4037
4038         backupfile: Move AC_LIBOBJ invocations to module description.
4039         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
4040         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
4041
4042 2011-05-23  Bruno Haible  <bruno@clisp.org>
4043
4044         argmatch: Move AC_LIBOBJ invocations to module description.
4045         * m4/argmatch.m4: Remove file.
4046         * modules/argmatch (Files): Remove it.
4047         (configure.ac): Remove gl_ARGMATCH call.
4048         (Makefile.am): Augment lib_SOURCES.
4049
4050 2011-05-23  Bruno Haible  <bruno@clisp.org>
4051
4052         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
4053         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
4054         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
4055
4056 2011-05-23  Bruno Haible  <bruno@clisp.org>
4057
4058         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
4059         * m4/arcfour.m4: Remove file.
4060         * modules/crypto/arcfour (Files): Remove it.
4061         (configure.ac): Remove gl_ARCFOUR call.
4062         (Makefile.am): Augment lib_SOURCES.
4063
4064 2011-05-22  Bruno Haible  <bruno@clisp.org>
4065
4066         write: Move AC_LIBOBJ invocations to module description.
4067         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
4068         * modules/write (configure.ac): ... to here.
4069
4070 2011-05-22  Bruno Haible  <bruno@clisp.org>
4071
4072         wmemset: Move AC_LIBOBJ invocations to module description.
4073         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
4074         here...
4075         * modules/wmemset (configure.ac): ... to here.
4076
4077 2011-05-22  Bruno Haible  <bruno@clisp.org>
4078
4079         wmemmove: Move AC_LIBOBJ invocations to module description.
4080         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
4081         here...
4082         * modules/wmemmove (configure.ac): ... to here.
4083
4084 2011-05-22  Bruno Haible  <bruno@clisp.org>
4085
4086         wmemcpy: Move AC_LIBOBJ invocations to module description.
4087         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
4088         here...
4089         * modules/wmemcpy (configure.ac): ... to here.
4090
4091 2011-05-22  Bruno Haible  <bruno@clisp.org>
4092
4093         wmemcmp: Move AC_LIBOBJ invocations to module description.
4094         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
4095         here...
4096         * modules/wmemcmp (configure.ac): ... to here.
4097
4098 2011-05-22  Bruno Haible  <bruno@clisp.org>
4099
4100         wmemchr: Move AC_LIBOBJ invocations to module description.
4101         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
4102         here...
4103         * modules/wmemchr (configure.ac): ... to here.
4104
4105 2011-05-22  Bruno Haible  <bruno@clisp.org>
4106
4107         wcswidth: Move AC_LIBOBJ invocations to module description.
4108         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
4109         here...
4110         * modules/wcswidth (configure.ac): ... to here.
4111
4112 2011-05-22  Bruno Haible  <bruno@clisp.org>
4113
4114         wcwidth: Respect rules for use of AC_LIBOBJ.
4115         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
4116         invocation from here...
4117         * modules/wcwidth (configure.ac): ... to here.
4118         (Depends-on): Update conditions.
4119
4120 2011-05-22  Bruno Haible  <bruno@clisp.org>
4121
4122         wctype: Move AC_LIBOBJ invocations to module description.
4123         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
4124         invocation from here...
4125         * modules/wctype (configure.ac): ... to here.
4126         (Depends-on): Update conditions.
4127
4128 2011-05-22  Bruno Haible  <bruno@clisp.org>
4129
4130         wctrans: Move AC_LIBOBJ invocations to module description.
4131         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
4132         invocation from here...
4133         * modules/wctrans (configure.ac): ... to here.
4134
4135 2011-05-22  Bruno Haible  <bruno@clisp.org>
4136
4137         wctomb: Move AC_LIBOBJ invocations to module description.
4138         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
4139         invocations from here...
4140         * modules/wctomb (configure.ac): ... to here.
4141
4142 2011-05-22  Bruno Haible  <bruno@clisp.org>
4143
4144         wctob: Move AC_LIBOBJ invocations to module description.
4145         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
4146         gl_PREREQ_WCTOB invocations from here...
4147         * modules/wctob (configure.ac): ... to here.
4148         (Depends-on): Update conditions.
4149
4150 2011-05-22  Bruno Haible  <bruno@clisp.org>
4151
4152         wcsxfrm: Move AC_LIBOBJ invocations to module description.
4153         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
4154         here...
4155         * modules/wcsxfrm (configure.ac): ... to here.
4156
4157 2011-05-22  Bruno Haible  <bruno@clisp.org>
4158
4159         wcstok: Move AC_LIBOBJ invocations to module description.
4160         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
4161         * modules/wcstok (configure.ac): ... to here.
4162
4163 2011-05-22  Bruno Haible  <bruno@clisp.org>
4164
4165         wcsstr: Move AC_LIBOBJ invocations to module description.
4166         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
4167         * modules/wcsstr (configure.ac): ... to here.
4168
4169 2011-05-22  Bruno Haible  <bruno@clisp.org>
4170
4171         wcsspn: Move AC_LIBOBJ invocations to module description.
4172         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
4173         * modules/wcsspn (configure.ac): ... to here.
4174
4175 2011-05-22  Bruno Haible  <bruno@clisp.org>
4176
4177         wcsrtombs: Move AC_LIBOBJ invocations to module description.
4178         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
4179         gl_PREREQ_WCSRTOMBS invocations from here...
4180         * modules/wcsrtombs (configure.ac): ... to here.
4181
4182 2011-05-22  Bruno Haible  <bruno@clisp.org>
4183
4184         wcsrchr: Move AC_LIBOBJ invocations to module description.
4185         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
4186         here...
4187         * modules/wcsrchr (configure.ac): ... to here.
4188
4189 2011-05-22  Bruno Haible  <bruno@clisp.org>
4190
4191         wcspbrk: Move AC_LIBOBJ invocations to module description.
4192         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
4193         here...
4194         * modules/wcspbrk (configure.ac): ... to here.
4195
4196 2011-05-22  Bruno Haible  <bruno@clisp.org>
4197
4198         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
4199         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
4200         gl_PREREQ_WCSNRTOMBS invocations from here...
4201         * modules/wcsnrtombs (configure.ac): ... to here.
4202
4203 2011-05-22  Bruno Haible  <bruno@clisp.org>
4204
4205         wcsnlen: Move AC_LIBOBJ invocations to module description.
4206         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
4207         here...
4208         * modules/wcsnlen (configure.ac): ... to here.
4209
4210 2011-05-22  Bruno Haible  <bruno@clisp.org>
4211
4212         wcsncpy: Move AC_LIBOBJ invocations to module description.
4213         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
4214         here...
4215         * modules/wcsncpy (configure.ac): ... to here.
4216
4217 2011-05-22  Bruno Haible  <bruno@clisp.org>
4218
4219         wcsncmp: Move AC_LIBOBJ invocations to module description.
4220         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
4221         here...
4222         * modules/wcsncmp (configure.ac): ... to here.
4223
4224 2011-05-22  Bruno Haible  <bruno@clisp.org>
4225
4226         wcsncat: Move AC_LIBOBJ invocations to module description.
4227         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
4228         here...
4229         * modules/wcsncat (configure.ac): ... to here.
4230
4231 2011-05-22  Bruno Haible  <bruno@clisp.org>
4232
4233         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
4234         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
4235         from here...
4236         * modules/wcsncasecmp (configure.ac): ... to here.
4237
4238 2011-05-22  Bruno Haible  <bruno@clisp.org>
4239
4240         wcslen: Move AC_LIBOBJ invocations to module description.
4241         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
4242         * modules/wcslen (configure.ac): ... to here.
4243
4244 2011-05-22  Bruno Haible  <bruno@clisp.org>
4245
4246         wcsdup: Move AC_LIBOBJ invocations to module description.
4247         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
4248         * modules/wcsdup (configure.ac): ... to here.
4249
4250 2011-05-22  Bruno Haible  <bruno@clisp.org>
4251
4252         wcscspn: Move AC_LIBOBJ invocations to module description.
4253         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
4254         here...
4255         * modules/wcscspn (configure.ac): ... to here.
4256
4257 2011-05-22  Bruno Haible  <bruno@clisp.org>
4258
4259         wcscpy: Move AC_LIBOBJ invocations to module description.
4260         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
4261         * modules/wcscpy (configure.ac): ... to here.
4262
4263 2011-05-22  Bruno Haible  <bruno@clisp.org>
4264
4265         wcscoll: Move AC_LIBOBJ invocations to module description.
4266         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
4267         here...
4268         * modules/wcscoll (configure.ac): ... to here.
4269
4270 2011-05-22  Bruno Haible  <bruno@clisp.org>
4271
4272         wcscmp: Move AC_LIBOBJ invocations to module description.
4273         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
4274         * modules/wcscmp (configure.ac): ... to here.
4275
4276 2011-05-22  Bruno Haible  <bruno@clisp.org>
4277
4278         wcschr: Move AC_LIBOBJ invocations to module description.
4279         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
4280         * modules/wcschr (configure.ac): ... to here.
4281
4282 2011-05-22  Bruno Haible  <bruno@clisp.org>
4283
4284         wcscat: Move AC_LIBOBJ invocations to module description.
4285         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
4286         * modules/wcscat (configure.ac): ... to here.
4287
4288 2011-05-22  Bruno Haible  <bruno@clisp.org>
4289
4290         wcscasecmp: Move AC_LIBOBJ invocations to module description.
4291         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
4292         here...
4293         * modules/wcscasecmp (configure.ac): ... to here.
4294
4295 2011-05-22  Bruno Haible  <bruno@clisp.org>
4296
4297         wcrtomb: Move AC_LIBOBJ invocations to module description.
4298         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
4299         invocations from here...
4300         * modules/wcrtomb (configure.ac): ... to here.
4301
4302 2011-05-22  Bruno Haible  <bruno@clisp.org>
4303
4304         wcpncpy: Move AC_LIBOBJ invocations to module description.
4305         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
4306         here...
4307         * modules/wcpncpy (configure.ac): ... to here.
4308
4309 2011-05-22  Bruno Haible  <bruno@clisp.org>
4310
4311         wcpcpy: Move AC_LIBOBJ invocations to module description.
4312         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
4313         * modules/wcpcpy (configure.ac): ... to here.
4314
4315 2011-05-22  Bruno Haible  <bruno@clisp.org>
4316
4317         waitpid: Move AC_LIBOBJ invocations to module description.
4318         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
4319         invocation from here...
4320         * modules/waitpid (configure.ac): ... to here.
4321
4322 2011-05-22  Bruno Haible  <bruno@clisp.org>
4323
4324         utimensat: Move AC_LIBOBJ invocations to module description.
4325         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
4326         here...
4327         * modules/utimensat (configure.ac): ... to here.
4328
4329 2011-05-22  Bruno Haible  <bruno@clisp.org>
4330
4331         usleep: Move AC_LIBOBJ invocations to module description.
4332         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
4333         here...
4334         * modules/usleep (configure.ac): ... to here.
4335
4336 2011-05-22  Bruno Haible  <bruno@clisp.org>
4337
4338         unlockpt: Move AC_LIBOBJ invocations to module description.
4339         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
4340         gl_PREREQ_UNLOCKPT invocations from here...
4341         * modules/unlockpt (configure.ac): ... to here.
4342
4343 2011-05-22  Bruno Haible  <bruno@clisp.org>
4344
4345         unlink: Respect rules for use of AC_LIBOBJ.
4346         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
4347         * modules/unlink (configure.ac): ... to here.
4348
4349 2011-05-22  Bruno Haible  <bruno@clisp.org>
4350
4351         uname: Move AC_LIBOBJ invocations to module description.
4352         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
4353         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
4354         here...
4355         * modules/uname (configure.ac): ... to here.
4356
4357 2011-05-22  Bruno Haible  <bruno@clisp.org>
4358
4359         ttyname_r: Move AC_LIBOBJ invocations to module description.
4360         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
4361         gl_PREREQ_TTYNAME_R invocations from here...
4362         * modules/ttyname_r (configure.ac): ... to here.
4363
4364 2011-05-22  Bruno Haible  <bruno@clisp.org>
4365
4366         tsearch: Move AC_LIBOBJ invocations to module description.
4367         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
4368         invocations from here...
4369         * modules/tsearch (configure.ac): ... to here.
4370
4371 2011-05-22  Bruno Haible  <bruno@clisp.org>
4372
4373         towctrans: Move AC_LIBOBJ invocations to module description.
4374         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
4375         AC_LIBOBJ invocation from here...
4376         * modules/towctrans (configure.ac): ... to here.
4377
4378 2011-05-22  Bruno Haible  <bruno@clisp.org>
4379
4380         tmpfile: Move AC_LIBOBJ invocations to module description.
4381         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
4382         invocations from here...
4383         * modules/tmpfile (configure.ac): ... to here.
4384
4385 2011-05-22  Bruno Haible  <bruno@clisp.org>
4386
4387         times: Move AC_LIBOBJ invocations to module description.
4388         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
4389         * modules/times (configure.ac): ... to here.
4390
4391 2011-05-22  Bruno Haible  <bruno@clisp.org>
4392
4393         time_r: Move AC_LIBOBJ invocations to module description.
4394         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
4395         invocations from here...
4396         * modules/time_r (configure.ac): ... to here.
4397
4398 2011-05-22  Bruno Haible  <bruno@clisp.org>
4399
4400         timegm: Move AC_LIBOBJ invocations to module description.
4401         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
4402         invocations from here...
4403         * modules/timegm (configure.ac): ... to here.
4404
4405 2011-05-22  Bruno Haible  <bruno@clisp.org>
4406
4407         tcgetsid: Move AC_LIBOBJ invocations to module description.
4408         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
4409         and gl_PREREQ_TCGETSID invocations from here...
4410         * modules/tcgetsid (configure.ac): ... to here.
4411         (Depends-on): Update conditions.
4412
4413 2011-05-22  Bruno Haible  <bruno@clisp.org>
4414
4415         symlinkat: Move AC_LIBOBJ invocations to module description.
4416         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
4417         here...
4418         * modules/symlinkat (configure.ac): ... to here.
4419
4420 2011-05-22  Bruno Haible  <bruno@clisp.org>
4421
4422         symlink: Move AC_LIBOBJ invocations to module description.
4423         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
4424         here...
4425         * modules/symlink (configure.ac): ... to here.
4426
4427 2011-05-22  Bruno Haible  <bruno@clisp.org>
4428
4429         strverscmp: Move AC_LIBOBJ invocations to module description.
4430         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
4431         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
4432         from here...
4433         * modules/strverscmp (configure.ac): ... to here.
4434
4435 2011-05-22  Bruno Haible  <bruno@clisp.org>
4436
4437         strtok_r: Move AC_LIBOBJ invocations to module description.
4438         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
4439         and gl_PREREQ_STRTOK_R invocations from here...
4440         * modules/strtok_r (configure.ac): ... to here.
4441         (Depends-on): Update conditions.
4442
4443 2011-05-22  Bruno Haible  <bruno@clisp.org>
4444
4445         strtoumax: Move AC_LIBOBJ invocations to module description.
4446         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
4447         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
4448         from here...
4449         * modules/strtoumax (configure.ac): ... to here.
4450
4451 2011-05-22  Bruno Haible  <bruno@clisp.org>
4452
4453         strtoimax: Move AC_LIBOBJ invocations to module description.
4454         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
4455         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
4456         from here...
4457         * modules/strtoimax (configure.ac): ... to here.
4458
4459 2011-05-22  Bruno Haible  <bruno@clisp.org>
4460
4461         strtoull: Move AC_LIBOBJ invocations to module description.
4462         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
4463         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
4464         from here...
4465         * modules/strtoull (configure.ac): ... to here.
4466
4467 2011-05-22  Bruno Haible  <bruno@clisp.org>
4468
4469         strtoll: Move AC_LIBOBJ invocations to module description.
4470         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
4471         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
4472         here...
4473         * modules/strtoll (configure.ac): ... to here.
4474
4475 2011-05-22  Bruno Haible  <bruno@clisp.org>
4476
4477         strtoul: Move AC_LIBOBJ invocations to module description.
4478         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
4479         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
4480         * modules/strtoul (configure.ac): ... to here.
4481
4482 2011-05-22  Bruno Haible  <bruno@clisp.org>
4483
4484         strtol: Move AC_LIBOBJ invocations to module description.
4485         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
4486         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
4487         * modules/strtol (configure.ac): ... to here.
4488
4489 2011-05-22  Bruno Haible  <bruno@clisp.org>
4490
4491         strtod: Move AC_LIBOBJ invocations to module description.
4492         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
4493         invocations from here...
4494         * modules/strtod (configure.ac): ... to here.
4495
4496 2011-05-22  Bruno Haible  <bruno@clisp.org>
4497
4498         strstr*: Move AC_LIBOBJ invocations to module description.
4499         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
4500         invocations from here...
4501         * modules/strstr-simple (configure.ac): ... to here.
4502         * modules/strstr (configure.ac): ... and here.
4503
4504 2011-05-22  Bruno Haible  <bruno@clisp.org>
4505
4506         strsignal: Move AC_LIBOBJ invocations to module description.
4507         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
4508         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
4509         * modules/strsignal (configure.ac): ... to here.
4510         (Depends-on): Update conditions.
4511
4512 2011-05-22  Bruno Haible  <bruno@clisp.org>
4513
4514         strsep: Move AC_LIBOBJ invocations to module description.
4515         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
4516         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
4517         here...
4518         * modules/strsep (configure.ac): ... to here.
4519
4520 2011-05-22  Bruno Haible  <bruno@clisp.org>
4521
4522         strptime: Move AC_LIBOBJ invocations to module description.
4523         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
4524         gl_PREREQ_STRPTIME invocations from here...
4525         * modules/strptime (configure.ac): ... to here.
4526
4527 2011-05-22  Bruno Haible  <bruno@clisp.org>
4528
4529         strpbrk: Move AC_LIBOBJ invocations to module description.
4530         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
4531         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
4532         here...
4533         * modules/strpbrk (configure.ac): ... to here.
4534
4535 2011-05-22  Bruno Haible  <bruno@clisp.org>
4536
4537         strnlen: Move AC_LIBOBJ invocations to module description.
4538         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
4539         invocations from here...
4540         * modules/strnlen (configure.ac): ... to here.
4541
4542 2011-05-22  Bruno Haible  <bruno@clisp.org>
4543
4544         strndup: Move AC_LIBOBJ invocations to module description.
4545         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
4546         invocations from here...
4547         * modules/strndup (configure.ac): ... to here.
4548         (Depends-on): Update conditions.
4549
4550 2011-05-22  Bruno Haible  <bruno@clisp.org>
4551
4552         strncat: Move AC_LIBOBJ invocations to module description.
4553         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
4554         invocations from here...
4555         * modules/strncat (configure.ac): ... to here.
4556
4557 2011-05-22  Bruno Haible  <bruno@clisp.org>
4558
4559         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
4560         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
4561         invocations from here...
4562         * modules/strdup (configure.ac): ... to here.
4563         * modules/strdup-posix (configure.ac): ... and here.
4564
4565 2011-05-22  Bruno Haible  <bruno@clisp.org>
4566
4567         strcspn: Move AC_LIBOBJ invocations to module description.
4568         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
4569         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
4570         here...
4571         * modules/strcspn (configure.ac): ... to here.
4572
4573 2011-05-22  Bruno Haible  <bruno@clisp.org>
4574
4575         strchrnul: Move AC_LIBOBJ invocations to module description.
4576         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
4577         gl_PREREQ_STRCHRNUL invocations from here...
4578         * modules/strchrnul (configure.ac): ... to here.
4579
4580 2011-05-22  Bruno Haible  <bruno@clisp.org>
4581
4582         strcasestr*: Move AC_LIBOBJ invocations to module description.
4583         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
4584         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
4585         * modules/strcasestr-simple (configure.ac): ... to here.
4586         * modules/strcasestr (configure.ac): ... and here.
4587
4588 2011-05-22  Bruno Haible  <bruno@clisp.org>
4589
4590         strcase: Move AC_LIBOBJ invocations to module description.
4591         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
4592         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
4593         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
4594         gl_PREREQ_STRNCASECMP invocations from here...
4595         * modules/strcase (configure.ac): ... to here.
4596
4597 2011-05-22  Bruno Haible  <bruno@clisp.org>
4598
4599         stpncpy: Move AC_LIBOBJ invocations to module description.
4600         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
4601         here...
4602         * modules/stpncpy (configure.ac): ... to here.
4603
4604 2011-05-22  Bruno Haible  <bruno@clisp.org>
4605
4606         stpcpy: Move AC_LIBOBJ invocations to module description.
4607         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
4608         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
4609         here...
4610         * modules/stpcpy (configure.ac): ... to here.
4611
4612 2011-05-21  Bruno Haible  <bruno@clisp.org>
4613
4614         stat: Move AC_LIBOBJ invocations to module description.
4615         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
4616         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
4617         here...
4618         * modules/stat (configure.ac): ... to here.
4619
4620 2011-05-21  Bruno Haible  <bruno@clisp.org>
4621
4622         sleep: Move AC_LIBOBJ invocations to module description.
4623         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
4624         * modules/sleep (configure.ac): ... to here.
4625
4626 2011-05-21  Bruno Haible  <bruno@clisp.org>
4627
4628         signbit: Move AC_LIBOBJ invocations to module description.
4629         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
4630         * modules/signbit (configure.ac): ... to here.
4631
4632 2011-05-21  Bruno Haible  <bruno@clisp.org>
4633
4634         sigprocmask: Move AC_LIBOBJ invocations to module description.
4635         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
4636         gl_PREREQ_SIGPROMASK invocations from here...
4637         * modules/sigprocmask (configure.ac): ... to here.
4638
4639 2011-05-21  Bruno Haible  <bruno@clisp.org>
4640
4641         sigaction: Move AC_LIBOBJ invocations to module description.
4642         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
4643         gl_PREREQ_SIGACTION invocations from here...
4644         * modules/sigaction (configure.ac): ... to here.
4645
4646 2011-05-21  Bruno Haible  <bruno@clisp.org>
4647
4648         sig2str: Move AC_LIBOBJ invocations to module description.
4649         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
4650         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
4651         here...
4652         * modules/sig2str (configure.ac): ... to here.
4653
4654 2011-05-21  Bruno Haible  <bruno@clisp.org>
4655
4656         setlocale: Move AC_LIBOBJ invocations to module description.
4657         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
4658         gl_PREREQ_SETLOCALE invocations from here...
4659         * modules/setlocale (configure.ac): ... to here.
4660
4661 2011-05-21  Bruno Haible  <bruno@clisp.org>
4662
4663         unsetenv: Move AC_LIBOBJ invocations to module description.
4664         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
4665         and gl_PREREQ_UNSETENV invocations from here...
4666         * modules/unsetenv (configure.ac): ... to here.
4667         (Depends-on): Update.
4668
4669 2011-05-21  Bruno Haible  <bruno@clisp.org>
4670
4671         setenv: Move AC_LIBOBJ invocations to module description.
4672         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
4673         here...
4674         * modules/setenv (configure.ac): ... to here.
4675
4676 2011-05-21  Bruno Haible  <bruno@clisp.org>
4677
4678         selinux-h: Move AC_LIBOBJ invocations to module description.
4679         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
4680         AC_LIBOBJ invocation from here...
4681         * modules/selinux-h (configure.ac): ... to here.
4682
4683 2011-05-21  Bruno Haible  <bruno@clisp.org>
4684
4685         select: Respect rules for use of AC_LIBOBJ.
4686         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
4687         here...
4688         * modules/select (configure.ac): ... to here.
4689
4690 2011-05-21  Bruno Haible  <bruno@clisp.org>
4691
4692         scandir: Move AC_LIBOBJ invocations to module description.
4693         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
4694         invocations from here...
4695         * modules/scandir (configure.ac): ... to here.
4696
4697 2011-05-21  Bruno Haible  <bruno@clisp.org>
4698
4699         rpmatch: Move AC_LIBOBJ invocations to module description.
4700         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
4701         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
4702         here...
4703         * modules/rpmatch (configure.ac): ... to here.
4704
4705 2011-05-21  Bruno Haible  <bruno@clisp.org>
4706
4707         rmdir: Respect rules for use of AC_LIBOBJ.
4708         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
4709         * modules/rmdir (configure.ac): ... to here.
4710
4711 2011-05-21  Bruno Haible  <bruno@clisp.org>
4712
4713         renameat: Move AC_LIBOBJ invocations to module description.
4714         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
4715         here...
4716         * modules/renameat (configure.ac): ... to here.
4717
4718 2011-05-21  Bruno Haible  <bruno@clisp.org>
4719
4720         rename: Respect rules for use of AC_LIBOBJ.
4721         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
4722         here...
4723         * modules/rename (configure.ac): ... to here.
4724
4725 2011-05-21  Bruno Haible  <bruno@clisp.org>
4726
4727         remove: Move AC_LIBOBJ invocations to module description.
4728         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
4729         here...
4730         * modules/remove (configure.ac): ... to here.
4731
4732 2011-05-21  Bruno Haible  <bruno@clisp.org>
4733
4734         relocatable-lib: Move AC_LIBOBJ invocations to module description.
4735         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
4736         macro.
4737         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
4738         * modules/relocatable-lib (configure.ac): ... to here.
4739         * modules/relocatable-prog-wrapper (configure.ac): Invoke
4740         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
4741
4742 2011-05-21  Bruno Haible  <bruno@clisp.org>
4743
4744         relocatable-prog: Move AC_LIBOBJ invocations to module description.
4745         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
4746         here...
4747         * modules/relocatable-prog (configure.ac): ... to here.
4748
4749 2011-05-21  Bruno Haible  <bruno@clisp.org>
4750
4751         regex: Move AC_LIBOBJ invocations to module description.
4752         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
4753         invocations from here...
4754         * modules/regex (configure.ac): ... to here.
4755
4756 2011-05-21  Bruno Haible  <bruno@clisp.org>
4757
4758         realloc-*: Move AC_LIBOBJ invocations to module description.
4759         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
4760         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
4761         AC_LIBOBJ invocations from here...
4762         * modules/realloc-gnu (configure.ac): ... to here.
4763         * modules/realloc-posix (configure.ac): ... and here.
4764
4765 2011-05-21  Bruno Haible  <bruno@clisp.org>
4766
4767         readutmp: Move AC_LIBOBJ invocations to module description.
4768         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
4769         * modules/readutmp (configure.ac): ... to here.
4770
4771 2011-05-21  Bruno Haible  <bruno@clisp.org>
4772
4773         readlinkat: Move AC_LIBOBJ invocations to module description.
4774         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
4775         here...
4776         * modules/readlinkat (configure.ac): ... to here.
4777
4778 2011-05-21  Bruno Haible  <bruno@clisp.org>
4779
4780         readlink: Move AC_LIBOBJ invocations to module description.
4781         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
4782         gl_PREREQ_READLINK invocations from here...
4783         * modules/readlink (configure.ac): ... to here.
4784
4785 2011-05-21  Bruno Haible  <bruno@clisp.org>
4786
4787         readline: Move AC_LIBOBJ invocations to module description.
4788         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
4789         gl_PREREQ_READLINE invocations from here...
4790         * modules/readline (configure.ac): ... to here.
4791
4792 2011-05-21  Bruno Haible  <bruno@clisp.org>
4793
4794         read: Move AC_LIBOBJ invocations to module description.
4795         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
4796         * modules/read (configure.ac): ... to here.
4797
4798 2011-05-21  Bruno Haible  <bruno@clisp.org>
4799
4800         rawmemchr: Move AC_LIBOBJ invocations to module description.
4801         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
4802         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
4803         from here...
4804         * modules/rawmemchr (configure.ac): ... to here.
4805
4806 2011-05-21  Bruno Haible  <bruno@clisp.org>
4807
4808         random_r: Move AC_LIBOBJ invocations to module description.
4809         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
4810         gl_PREREQ_RANDOM_R invocations from here...
4811         * modules/random_r (configure.ac): ... to here.
4812
4813 2011-05-21  Bruno Haible  <bruno@clisp.org>
4814
4815         pwrite: Move AC_LIBOBJ invocations to module description.
4816         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
4817         * modules/pwrite (configure.ac): ... to here.
4818
4819 2011-05-21  Bruno Haible  <bruno@clisp.org>
4820
4821         putenv: Move AC_LIBOBJ invocations to module description.
4822         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
4823         * modules/putenv (configure.ac): ... to here.
4824
4825 2011-05-21  Bruno Haible  <bruno@clisp.org>
4826
4827         login_tty: Move AC_LIBOBJ invocations to module description.
4828         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
4829         * modules/login_tty (configure.ac): ... to here.
4830
4831 2011-05-21  Bruno Haible  <bruno@clisp.org>
4832
4833         openpty: Move AC_LIBOBJ invocations to module description.
4834         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
4835         * modules/openpty (configure.ac): ... to here.
4836
4837 2011-05-21  Bruno Haible  <bruno@clisp.org>
4838
4839         forkpty: Move AC_LIBOBJ invocations to module description.
4840         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
4841         * modules/forkpty (configure.ac): ... to here.
4842
4843 2011-05-21  Bruno Haible  <bruno@clisp.org>
4844
4845         ptsname: Move AC_LIBOBJ invocations to module description.
4846         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
4847         invocations from here...
4848         * modules/ptsname (configure.ac): ... to here.
4849
4850 2011-05-21  Bruno Haible  <bruno@clisp.org>
4851
4852         pread: Move AC_LIBOBJ invocations to module description.
4853         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
4854         * modules/pread (configure.ac): ... to here.
4855
4856 2011-05-21  Bruno Haible  <bruno@clisp.org>
4857
4858         posix_spawn*: Move AC_LIBOBJ invocations to module description.
4859         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
4860         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
4861         * modules/posix_spawn (configure.ac): ... to here.
4862         * modules/posix_spawnp (configure.ac): ... and here.
4863
4864 2011-05-21  Bruno Haible  <bruno@clisp.org>
4865
4866         popen: Move AC_LIBOBJ invocations to module description.
4867         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
4868         invocations from here...
4869         * modules/popen (configure.ac): ... to here.
4870
4871 2011-05-21  Bruno Haible  <bruno@clisp.org>
4872
4873         poll: Move AC_LIBOBJ invocations to module description.
4874         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
4875         invocations from here...
4876         * modules/poll (configure.ac): ... to here.
4877
4878 2011-05-21  Bruno Haible  <bruno@clisp.org>
4879
4880         pipe-posix: Move AC_LIBOBJ invocations to module description.
4881         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
4882         * modules/pipe-posix (configure.ac): ... to here.
4883
4884 2011-05-21  Bruno Haible  <bruno@clisp.org>
4885
4886         openat: Respect rules for use of AC_LIBOBJ.
4887         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
4888         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
4889         * modules/openat (configure.ac): ... to here.
4890
4891 2011-05-21  Bruno Haible  <bruno@clisp.org>
4892
4893         obstack-printf*: Move AC_LIBOBJ invocations to module description.
4894         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
4895         invocation from here...
4896         * modules/obstack-printf (configure.ac): ... to here.
4897         * modules/obstack-printf-posix (configure.ac): ... and here.
4898
4899 2011-05-21  Bruno Haible  <bruno@clisp.org>
4900
4901         nl_langinfo: Move AC_LIBOBJ invocations to module description.
4902         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
4903         from here...
4904         * modules/nl_langinfo (configure.ac): ... to here.
4905
4906 2011-05-21  Bruno Haible  <bruno@clisp.org>
4907
4908         nanosleep: Move AC_LIBOBJ invocations to module description.
4909         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
4910         gl_PREREQ_NANOSLEEP invocations from here...
4911         * modules/nanosleep (configure.ac): ... to here.
4912
4913 2011-05-21  Bruno Haible  <bruno@clisp.org>
4914
4915         mountlist: Move AC_LIBOBJ invocations to module description.
4916         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
4917         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
4918         * modules/mountlist (configure.ac): ... to here.
4919
4920 2011-05-21  Bruno Haible  <bruno@clisp.org>
4921
4922         mktime: Respect rules for use of AC_LIBOBJ.
4923         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
4924         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
4925         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
4926         (gl_FUNC_MKTIME_INTERNAL): ... and here...
4927         * modules/mktime (configure.ac): ... to here.
4928         * modules/mktime-internal (configure.ac): ... and here.
4929         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
4930
4931 2011-05-21  Bruno Haible  <bruno@clisp.org>
4932
4933         mkstemps: Move AC_LIBOBJ invocations to module description.
4934         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
4935         here...
4936         * modules/mkstemps (configure.ac): ... to here.
4937
4938 2011-05-21  Bruno Haible  <bruno@clisp.org>
4939
4940         mkstemp: Move AC_LIBOBJ invocations to module description.
4941         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
4942         gl_PREREQ_MKSTEMP invocations from here...
4943         * modules/mkstemp (configure.ac): ... to here.
4944
4945 2011-05-21  Bruno Haible  <bruno@clisp.org>
4946
4947         mkostemps: Move AC_LIBOBJ invocations to module description.
4948         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
4949         here...
4950         * modules/mkostemps (configure.ac): ... to here.
4951
4952 2011-05-21  Bruno Haible  <bruno@clisp.org>
4953
4954         mkostemp: Move AC_LIBOBJ invocations to module description.
4955         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
4956         gl_PREREQ_MKOSTEMP invocations from here...
4957         * modules/mkostemp (configure.ac): ... to here.
4958
4959 2011-05-21  Bruno Haible  <bruno@clisp.org>
4960
4961         mknod: Move AC_LIBOBJ invocations to module description.
4962         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
4963         * modules/mknod (configure.ac): ... to here.
4964
4965 2011-05-21  Bruno Haible  <bruno@clisp.org>
4966
4967         mkfifoat: Move AC_LIBOBJ invocations to module description.
4968         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
4969         here...
4970         * modules/mkfifoat (configure.ac): ... to here.
4971
4972 2011-05-21  Bruno Haible  <bruno@clisp.org>
4973
4974         mkfifo: Respect rules for use of AC_LIBOBJ.
4975         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
4976         here...
4977         * modules/mkfifo (configure.ac): ... to here.
4978
4979 2011-05-21  Bruno Haible  <bruno@clisp.org>
4980
4981         mkdtemp: Move AC_LIBOBJ invocations to module description.
4982         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
4983         invocations from here...
4984         * modules/mkdtemp (configure.ac): ... to here.
4985
4986 2011-05-21  Bruno Haible  <bruno@clisp.org>
4987
4988         mkdir: Move AC_LIBOBJ invocations to module description.
4989         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
4990         * modules/mkdir (configure.ac): ... to here.
4991
4992 2011-05-21  Bruno Haible  <bruno@clisp.org>
4993
4994         memset: Move AC_LIBOBJ invocations to module description.
4995         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
4996         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
4997         here...
4998         * modules/memset (configure.ac): ... to here.
4999
5000 2011-05-21  Bruno Haible  <bruno@clisp.org>
5001
5002         memrchr: Move AC_LIBOBJ invocations to module description.
5003         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
5004         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
5005         here...
5006         * modules/memrchr (configure.ac): ... to here.
5007
5008 2011-05-21  Bruno Haible  <bruno@clisp.org>
5009
5010         mempcpy: Move AC_LIBOBJ invocations to module description.
5011         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
5012         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
5013         here...
5014         * modules/mempcpy (configure.ac): ... to here.
5015
5016 2011-05-21  Bruno Haible  <bruno@clisp.org>
5017
5018         memmove: Move AC_LIBOBJ invocations to module description.
5019         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
5020         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
5021         here...
5022         * modules/memmove (configure.ac): ... to here.
5023
5024 2011-05-21  Bruno Haible  <bruno@clisp.org>
5025
5026         memmem*: Move AC_LIBOBJ invocations to module description.
5027         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
5028         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
5029         here...
5030         (gl_FUNC_MEMMEM): ... and here...
5031         * modules/memmem-simple (configure.ac): ... to here.
5032         * modules/memmem (configure.ac): ... and here.
5033
5034 2011-05-21  Bruno Haible  <bruno@clisp.org>
5035
5036         memcpy: Move AC_LIBOBJ invocations to module description.
5037         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
5038         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
5039         here...
5040         * modules/memcpy (configure.ac): ... to here.
5041
5042 2011-05-21  Bruno Haible  <bruno@clisp.org>
5043
5044         memcmp: Simplify autoconf macro.
5045         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
5046         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
5047         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
5048
5049 2011-05-21  Bruno Haible  <bruno@clisp.org>
5050
5051         memcmp: Move AC_LIBOBJ invocations to module description.
5052         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
5053         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
5054         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
5055         * modules/memcmp (configure.ac): ... to here.
5056         (Depends-on): Update conditions.
5057
5058 2011-05-21  Bruno Haible  <bruno@clisp.org>
5059
5060         memchr: Respect rules for use of AC_LIBOBJ.
5061         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
5062         invocations from here...
5063         * modules/memchr (configure.ac): ... to here.
5064
5065 2011-05-21  Bruno Haible  <bruno@clisp.org>
5066
5067         mbtowc: Move AC_LIBOBJ invocations to module description.
5068         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
5069         invocations from here...
5070         * modules/mbtowc (configure.ac): ... to here.
5071
5072 2011-05-21  Bruno Haible  <bruno@clisp.org>
5073
5074         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
5075         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
5076         gl_PREREQ_MBSRTOWCS invocations from here...
5077         * modules/mbsrtowcs (configure.ac): ... to here.
5078
5079 2011-05-21  Bruno Haible  <bruno@clisp.org>
5080
5081         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
5082         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
5083         gl_PREREQ_MBSNRTOWCS invocations from here...
5084         * modules/mbsnrtowcs (configure.ac): ... to here.
5085
5086 2011-05-21  Bruno Haible  <bruno@clisp.org>
5087
5088         mbsinit: Move AC_LIBOBJ invocations to module description.
5089         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
5090         invocations from here...
5091         * modules/mbsinit (configure.ac): ... to here.
5092
5093 2011-05-21  Bruno Haible  <bruno@clisp.org>
5094
5095         mbrlen: Move AC_LIBOBJ invocations to module description.
5096         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
5097         invocations from here...
5098         * modules/mbrlen (configure.ac): ... to here.
5099
5100 2011-05-21  Bruno Haible  <bruno@clisp.org>
5101
5102         mbrtowc: Respect rules for use of AC_LIBOBJ.
5103         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
5104         invocations from here...
5105         * modules/mbrtowc (configure.ac): ... to here.
5106
5107 2011-05-21  Bruno Haible  <bruno@clisp.org>
5108
5109         malloc-*: Move AC_LIBOBJ invocations to module description.
5110         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
5111         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
5112         AC_LIBOBJ invocations from here...
5113         * modules/malloc-gnu (configure.ac): ... to here.
5114         * modules/malloc-posix (configure.ac): ... and here.
5115
5116 2011-05-21  Bruno Haible  <bruno@clisp.org>
5117
5118         lstat, openat: Respect rules for use of AC_LIBOBJ.
5119         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
5120         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
5121         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
5122         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
5123         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
5124         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
5125         here.
5126         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
5127
5128 2011-05-21  Bruno Haible  <bruno@clisp.org>
5129
5130         lseek: Move AC_LIBOBJ invocations to module description.
5131         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
5132         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
5133         * modules/lseek (configure.ac): ... to here.
5134
5135 2011-05-21  Bruno Haible  <bruno@clisp.org>
5136
5137         linkat: Move AC_LIBOBJ invocations to module description.
5138         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
5139         here...
5140         * modules/linkat (configure.ac): ... to here.
5141
5142 2011-05-21  Bruno Haible  <bruno@clisp.org>
5143
5144         link: Respect rules for use of AC_LIBOBJ.
5145         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
5146         * modules/link (configure.ac): ... to here.
5147
5148 2011-05-21  Bruno Haible  <bruno@clisp.org>
5149
5150         lchown: Move AC_LIBOBJ invocations to module description.
5151         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
5152         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
5153         * modules/lchown (configure.ac): ... to here.
5154
5155 2011-05-21  Bruno Haible  <bruno@clisp.org>
5156
5157         iswctype: Move AC_LIBOBJ invocations to module description.
5158         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
5159         here...
5160         * modules/iswctype (configure.ac): ... to here.
5161
5162 2011-05-21  Bruno Haible  <bruno@clisp.org>
5163
5164         iswblank: Move AC_LIBOBJ invocations to module description.
5165         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
5166         here...
5167         * modules/iswblank (configure.ac): ... to here.
5168
5169 2011-05-21  Bruno Haible  <bruno@clisp.org>
5170
5171         atanl: Move AC_LIBOBJ invocations to module description.
5172         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
5173         * modules/atanl (configure.ac): ... to here.
5174
5175 2011-05-21  Bruno Haible  <bruno@clisp.org>
5176
5177         acosl: Move AC_LIBOBJ invocations to module description.
5178         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
5179         * modules/acosl (configure.ac): ... to here.
5180
5181 2011-05-21  Bruno Haible  <bruno@clisp.org>
5182
5183         asinl: Respect rules for use of AC_LIBOBJ.
5184         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
5185         * modules/asinl (configure.ac): ... to here.
5186
5187 2011-05-21  Bruno Haible  <bruno@clisp.org>
5188
5189         tanl: Move AC_LIBOBJ invocations to module description.
5190         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
5191         * modules/tanl (configure.ac): ... to here.
5192
5193 2011-05-21  Bruno Haible  <bruno@clisp.org>
5194
5195         cosl: Move AC_LIBOBJ invocations to module description.
5196         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
5197         * modules/cosl (configure.ac): ... to here.
5198
5199 2011-05-21  Bruno Haible  <bruno@clisp.org>
5200
5201         sinl: Move AC_LIBOBJ invocations to module description.
5202         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
5203         * modules/sinl (configure.ac): ... to here.
5204
5205 2011-05-21  Bruno Haible  <bruno@clisp.org>
5206
5207         logl: Move AC_LIBOBJ invocations to module description.
5208         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
5209         * modules/logl (configure.ac): ... to here.
5210
5211 2011-05-21  Bruno Haible  <bruno@clisp.org>
5212
5213         expl: Move AC_LIBOBJ invocations to module description.
5214         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
5215         * modules/expl (configure.ac): ... to here.
5216
5217 2011-05-21  Bruno Haible  <bruno@clisp.org>
5218
5219         roundl: Move AC_LIBOBJ invocations to module description.
5220         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
5221         * modules/roundl (configure.ac): ... to here.
5222
5223 2011-05-21  Bruno Haible  <bruno@clisp.org>
5224
5225         round: Move AC_LIBOBJ invocations to module description.
5226         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
5227         * modules/round (configure.ac): ... to here.
5228
5229 2011-05-21  Bruno Haible  <bruno@clisp.org>
5230
5231         roundf: Move AC_LIBOBJ invocations to module description.
5232         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
5233         * modules/roundf (configure.ac): ... to here.
5234
5235 2011-05-21  Bruno Haible  <bruno@clisp.org>
5236
5237         truncl: Move AC_LIBOBJ invocations to module description.
5238         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
5239         * modules/truncl (configure.ac): ... to here.
5240
5241 2011-05-21  Bruno Haible  <bruno@clisp.org>
5242
5243         trunc: Move AC_LIBOBJ invocations to module description.
5244         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
5245         * modules/trunc (configure.ac): ... to here.
5246
5247 2011-05-21  Bruno Haible  <bruno@clisp.org>
5248
5249         truncf: Move AC_LIBOBJ invocations to module description.
5250         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
5251         * modules/truncf (configure.ac): ... to here.
5252
5253 2011-05-21  Bruno Haible  <bruno@clisp.org>
5254
5255         ceill: Move AC_LIBOBJ invocations to module description.
5256         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
5257         * modules/ceill (configure.ac): ... to here.
5258
5259 2011-05-21  Bruno Haible  <bruno@clisp.org>
5260
5261         ceil: Move AC_LIBOBJ invocations to module description.
5262         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
5263         * modules/ceil (configure.ac): ... to here.
5264
5265 2011-05-21  Bruno Haible  <bruno@clisp.org>
5266
5267         ceilf: Move AC_LIBOBJ invocations to module description.
5268         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
5269         * modules/ceilf (configure.ac): ... to here.
5270
5271 2011-05-21  Bruno Haible  <bruno@clisp.org>
5272
5273         floorl: Respect rules for use of AC_LIBOBJ.
5274         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
5275         * modules/floorl (configure.ac): ... to here.
5276
5277 2011-05-21  Bruno Haible  <bruno@clisp.org>
5278
5279         floor: Respect rules for use of AC_LIBOBJ.
5280         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
5281         * modules/floor (configure.ac): ... to here.
5282
5283 2011-05-21  Bruno Haible  <bruno@clisp.org>
5284
5285         floorf: Move AC_LIBOBJ invocations to module description.
5286         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
5287         * modules/floorf (configure.ac): ... to here.
5288
5289 2011-05-20  Bruno Haible  <bruno@clisp.org>
5290
5291         sqrtl: Respect rules for use of AC_LIBOBJ.
5292         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
5293         * modules/sqrtl (configure.ac): ... to here.
5294
5295 2011-05-20  Bruno Haible  <bruno@clisp.org>
5296
5297         ldexpl: Respect rules for use of AC_LIBOBJ.
5298         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
5299         * modules/ldexpl (configure.ac): ... to here.
5300
5301 2011-05-20  Bruno Haible  <bruno@clisp.org>
5302
5303         frexpl*: Respect rules for use of AC_LIBOBJ.
5304         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
5305         invocation from here...
5306         * modules/frexpl (configure.ac): ... to here.
5307         * modules/frexpl-nolibm (configure.ac): ... and here.
5308
5309 2011-05-20  Bruno Haible  <bruno@clisp.org>
5310
5311         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
5312         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
5313         invocation from here...
5314         * modules/frexp (configure.ac): ... to here.
5315         * modules/frexp-nolibm (configure.ac): ... and here.
5316
5317 2011-05-20  Bruno Haible  <bruno@clisp.org>
5318
5319         isnan: Respect rules for use of AC_LIBOBJ.
5320         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
5321         invocations here.
5322         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
5323         REPLACE_ISNAN.
5324         * modules/isnand (configure.ac): Likewise.
5325         * modules/isnanl (configure.ac): Likewise.
5326
5327 2011-05-20  Bruno Haible  <bruno@clisp.org>
5328
5329         isnanl*: Respect rules for use of AC_LIBOBJ.
5330         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
5331         invocation from here...
5332         * modules/isnanl (configure.ac): ... to here.
5333         * modules/isnanl-nolibm (configure.ac): ... and here.
5334
5335 2011-05-20  Bruno Haible  <bruno@clisp.org>
5336
5337         isnand*: Move AC_LIBOBJ invocations to module description.
5338         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
5339         invocation from here...
5340         * modules/isnand (configure.ac): ... to here.
5341         * modules/isnand-nolibm (configure.ac): ... and here.
5342
5343 2011-05-20  Bruno Haible  <bruno@clisp.org>
5344
5345         isnanf*: Move AC_LIBOBJ invocations to module description.
5346         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
5347         invocation from here...
5348         * modules/isnanf (configure.ac): ... to here.
5349         * modules/isnanf-nolibm (configure.ac): ... and here.
5350
5351 2011-05-20  Bruno Haible  <bruno@clisp.org>
5352
5353         isnan*: Separate the AC_LIBOBJ invocations.
5354         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
5355         AC_LIBOBJ invocation.
5356         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
5357         here.
5358         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
5359         AC_LIBOBJ invocation.
5360         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
5361         here.
5362         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
5363         AC_LIBOBJ invocation.
5364         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
5365         here.
5366         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
5367
5368 2011-05-08  Bruno Haible  <bruno@clisp.org>
5369
5370         isinf: Move AC_LIBOBJ invocations to module description.
5371         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
5372         * modules/isinf (configure.ac): ... to here.
5373
5374 2011-05-08  Bruno Haible  <bruno@clisp.org>
5375
5376         isfinite: Move AC_LIBOBJ invocations to module description.
5377         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
5378         * modules/isfinite (configure.ac): ... to here.
5379
5380 2011-05-08  Bruno Haible  <bruno@clisp.org>
5381
5382         isblank: Move AC_LIBOBJ invocations to module description.
5383         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
5384         here...
5385         * modules/isblank (configure.ac): ... to here.
5386
5387 2011-05-08  Bruno Haible  <bruno@clisp.org>
5388
5389         isapipe: Move AC_LIBOBJ invocations to module description.
5390         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
5391         gl_PREREQ_ISAPIPE invocations from here...
5392         * modules/isapipe (configure.ac): ... to here.
5393         (Depends-on): Update condition.
5394
5395 2011-05-08  Bruno Haible  <bruno@clisp.org>
5396
5397         ioctl: Move AC_LIBOBJ invocations to module description.
5398         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
5399         invocations from here...
5400         * modules/ioctl (configure.ac): ... to here.
5401         (Depends-on): Update condition.
5402
5403 2011-05-08  Bruno Haible  <bruno@clisp.org>
5404
5405         imaxdiv: Move AC_LIBOBJ invocations to module description.
5406         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
5407         invocations from here...
5408         * modules/imaxdiv (configure.ac): ... to here.
5409
5410 2011-05-08  Bruno Haible  <bruno@clisp.org>
5411
5412         imaxabs: Move AC_LIBOBJ invocations to module description.
5413         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
5414         invocations from here...
5415         * modules/imaxabs (configure.ac): ... to here.
5416
5417 2011-05-08  Bruno Haible  <bruno@clisp.org>
5418
5419         getaddrinfo: Move AC_LIBOBJ invocations to module description.
5420         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
5421         AC_LIBOBJ invocations from here...
5422         * modules/getaddrinfo (configure.ac): ... to here.
5423         (Depends-on): Add conditions.
5424
5425 2011-05-08  Bruno Haible  <bruno@clisp.org>
5426
5427         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
5428         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
5429         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
5430         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
5431         (gl_PREREQ_INET_PTON): ... from here.
5432         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
5433         gl_PREREQ_INET_PTON here.
5434         (Depends-on): Update condition.
5435
5436 2011-05-08  Bruno Haible  <bruno@clisp.org>
5437
5438         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
5439         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
5440         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
5441         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
5442         (gl_PREREQ_INET_NTOP): ... from here.
5443         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
5444         gl_PREREQ_INET_NTOP here.
5445         (Depends-on): Update condition.
5446
5447 2011-05-08  Bruno Haible  <bruno@clisp.org>
5448
5449         iconv_open: Move AC_LIBOBJ invocations to module description.
5450         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
5451         AC_LIBOBJ invocations from here...
5452         * modules/iconv_open (configure.ac): ... to here.
5453
5454 2011-05-08  Bruno Haible  <bruno@clisp.org>
5455
5456         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
5457         If module 'iconv_open' is among the main modules and module
5458         'iconv_open-utf' is among the tests dependencies, then
5459         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
5460         return the special iconv_t values. Therefore iconv() and iconv_close()
5461         must support these special iconv_t values, already in lib, not only in
5462         tests.
5463         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
5464         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
5465         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
5466         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
5467         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
5468         (Depends-on): Add the dependencies of iconv_open-utf.
5469         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
5470         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
5471         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
5472
5473 2011-05-08  Bruno Haible  <bruno@clisp.org>
5474
5475         group-member: Move AC_LIBOBJ invocations to module description.
5476         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
5477         gl_PREREQ_GROUP_MEMBER invocations from here...
5478         * modules/group-member (configure.ac): ... to here.
5479
5480 2011-05-08  Bruno Haible  <bruno@clisp.org>
5481
5482         grantpt: Move AC_LIBOBJ invocations to module description.
5483         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
5484         invocations from here...
5485         * modules/grantpt (configure.ac): ... to here.
5486
5487 2011-05-08  Bruno Haible  <bruno@clisp.org>
5488
5489         glob: Move AC_LIBOBJ invocations to module description.
5490         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
5491         from here...
5492         * modules/glob (configure.ac): ... to here.
5493
5494 2011-05-08  Bruno Haible  <bruno@clisp.org>
5495
5496         getusershell: Move AC_LIBOBJ invocations to module description.
5497         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
5498         Move AC_LIBOBJ invocation from here...
5499         * modules/getusershell (configure.ac): ... to here.
5500         (Depends-on): Update condition.
5501
5502 2011-05-08  Bruno Haible  <bruno@clisp.org>
5503
5504         gettimeofday: Move AC_LIBOBJ invocations to module description.
5505         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
5506         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
5507         gl_PREREQ_GETTIMEOFDAY invocations from here...
5508         * modules/gettimeofday (configure.ac): ... to here.
5509
5510 2011-05-08  Bruno Haible  <bruno@clisp.org>
5511
5512         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
5513         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
5514         just gl_FUNC_TZSET.
5515         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
5516         (gl_FUNC_TZSET_CLOBBER): Remove actions.
5517         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
5518         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
5519
5520 2011-05-08  Bruno Haible  <bruno@clisp.org>
5521
5522         getsubopt: Move AC_LIBOBJ invocations to module description.
5523         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
5524         gl_PREREQ_GETSUBOPT invocations from here...
5525         * modules/getsubopt (configure.ac): ... to here.
5526
5527 2011-05-08  Bruno Haible  <bruno@clisp.org>
5528
5529         getpass-gnu: Move AC_LIBOBJ invocations to module description.
5530         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
5531         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
5532         * modules/getpass-gnu (configure.ac): ... to here.
5533
5534 2011-05-08  Bruno Haible  <bruno@clisp.org>
5535
5536         getpass: Move AC_LIBOBJ invocations to module description.
5537         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
5538         gl_PREREQ_GETPASS invocations from here...
5539         * modules/getpass (configure.ac): ... to here.
5540
5541 2011-05-08  Bruno Haible  <bruno@clisp.org>
5542
5543         getpagesize: Move AC_LIBOBJ invocations to module description.
5544         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
5545         from here...
5546         * modules/getpagesize (configure.ac): ... to here.
5547
5548 2011-05-08  Bruno Haible  <bruno@clisp.org>
5549
5550         getopt: Move AC_LIBOBJ invocations to module description.
5551         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
5552         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
5553         invocations from here...
5554         * modules/getopt-gnu (configure.ac): ... to here.
5555         * modules/getopt-posix (configure.ac): ... and here.
5556         (Depends-on): Update condition.
5557
5558 2011-05-08  Bruno Haible  <bruno@clisp.org>
5559
5560         getopt, argp: Respect rules for use of AC_LIBOBJ.
5561         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
5562         (gl_REPLACE_GETOPT_ALWAYS): New macro.
5563         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
5564         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
5565
5566 2011-05-08  Bruno Haible  <bruno@clisp.org>
5567
5568         getlogin_r: Move AC_LIBOBJ invocations to module description.
5569         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
5570         gl_PREREQ_GETLOGIN_R invocations from here...
5571         * modules/getlogin_r (configure.ac): ... to here.
5572
5573 2011-05-08  Bruno Haible  <bruno@clisp.org>
5574
5575         getlogin: Move AC_LIBOBJ invocations to module description.
5576         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
5577         here...
5578         * modules/getlogin (configure.ac): ... to here.
5579
5580 2011-05-08  Bruno Haible  <bruno@clisp.org>
5581
5582         getloadavg: Move AC_LIBOBJ invocations to module description.
5583         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
5584         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
5585         * modules/getloadavg (configure.ac): ... to here.
5586
5587 2011-05-08  Bruno Haible  <bruno@clisp.org>
5588
5589         gethrxtime: Move AC_LIBOBJ invocations to module description.
5590         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
5591         LIB_GETHRXTIME from here...
5592         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
5593         invocations from here...
5594         * modules/gethrxtime (configure.ac): ... to here.
5595
5596 2011-05-08  Bruno Haible  <bruno@clisp.org>
5597
5598         gethostname: Move AC_LIBOBJ invocations to module description.
5599         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
5600         gl_PREREQ_GETHOSTNAME invocations from here...
5601         * modules/gethostname (configure.ac): ... to here.
5602
5603 2011-05-08  Bruno Haible  <bruno@clisp.org>
5604
5605         getgroups: Move AC_LIBOBJ invocations to module description.
5606         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
5607         here...
5608         * modules/getgroups (configure.ac): ... to here.
5609
5610 2011-05-08  Bruno Haible  <bruno@clisp.org>
5611
5612         getdtablesize: Move AC_LIBOBJ invocations to module description.
5613         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
5614         invocation from here...
5615         * modules/getdtablesize (configure.ac): ... to here.
5616
5617 2011-05-08  Bruno Haible  <bruno@clisp.org>
5618
5619         getdomainname: Move AC_LIBOBJ invocations to module description.
5620         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
5621         gl_PREREQ_GETDOMAINNAME invocations from here...
5622         * modules/getdomainname (configure.ac): ... to here.
5623
5624 2011-05-08  Bruno Haible  <bruno@clisp.org>
5625
5626         getline: Move AC_LIBOBJ invocations to module description.
5627         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
5628         invocations from here...
5629         * modules/getline (configure.ac): ... to here.
5630
5631 2011-05-08  Bruno Haible  <bruno@clisp.org>
5632
5633         getline: Simplify.
5634         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
5635         It's already handled through the module dependency.
5636
5637 2011-05-08  Bruno Haible  <bruno@clisp.org>
5638
5639         getdelim: Move AC_LIBOBJ invocations to module description.
5640         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
5641         and gl_PREREQ_GETDELIM invocations from here...
5642         * modules/getdelim (configure.ac): ... to here.
5643         (Depends-on): Fix condition.
5644
5645 2011-05-08  Bruno Haible  <bruno@clisp.org>
5646
5647         getcwd: Move AC_LIBOBJ invocations to module description.
5648         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
5649         invocations from here...
5650         * modules/getcwd (configure.ac): ... to here.
5651
5652 2011-05-08  Bruno Haible  <bruno@clisp.org>
5653
5654         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
5655         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
5656         here...
5657         * modules/getcwd-lgpl (configure.ac): ... to here.
5658
5659 2011-05-07  Bruno Haible  <bruno@clisp.org>
5660
5661         crypto/gc: Move AC_LIBOBJ invocations to module description.
5662         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
5663         * modules/crypto/gc (configure.ac): ... to here.
5664
5665 2011-05-07  Bruno Haible  <bruno@clisp.org>
5666
5667         fwriting: Move AC_LIBOBJ invocations to module description.
5668         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
5669         here...
5670         * modules/fwriting (configure.ac): ... to here.
5671
5672 2011-05-07  Bruno Haible  <bruno@clisp.org>
5673
5674         fwritable: Move AC_LIBOBJ invocations to module description.
5675         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
5676         here...
5677         * modules/fwritable (configure.ac): ... to here.
5678
5679 2011-05-07  Bruno Haible  <bruno@clisp.org>
5680
5681         futimens: Move AC_LIBOBJ invocations to module description.
5682         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
5683         here...
5684         * modules/futimens (configure.ac): ... to here.
5685
5686 2011-05-07  Bruno Haible  <bruno@clisp.org>
5687
5688         ftruncate: Move AC_LIBOBJ invocations to module description.
5689         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
5690         gl_PREREQ_FTRUNCATE invocations from here...
5691         * modules/ftruncate (configure.ac): ... to here.
5692
5693 2011-05-07  Bruno Haible  <bruno@clisp.org>
5694
5695         fsync: Move AC_LIBOBJ invocations to module description.
5696         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
5697         invocations from here...
5698         * modules/fsync (configure.ac): ... to here.
5699
5700 2011-05-07  Bruno Haible  <bruno@clisp.org>
5701
5702         fsusage: Move AC_LIBOBJ invocations to module description.
5703         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
5704         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
5705         * modules/fsusage (configure.ac): ... to here.
5706
5707 2011-05-07  Bruno Haible  <bruno@clisp.org>
5708
5709         freopen: Move AC_LIBOBJ invocations to module description.
5710         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
5711         invocations from here...
5712         * modules/freopen (configure.ac): ... to here.
5713
5714 2011-05-07  Bruno Haible  <bruno@clisp.org>
5715
5716         free: Move AC_LIBOBJ invocations to module description.
5717         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
5718         invocations from here...
5719         * modules/free (configure.ac): ... to here.
5720
5721 2011-05-07  Bruno Haible  <bruno@clisp.org>
5722
5723         freadable: Move AC_LIBOBJ invocations to module description.
5724         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
5725         here...
5726         * modules/freadable (configure.ac): ... to here.
5727
5728 2011-05-07  Bruno Haible  <bruno@clisp.org>
5729
5730         fpurge: Move AC_LIBOBJ invocations to module description.
5731         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
5732         invocations from here...
5733         * modules/fpurge (configure.ac): ... to here.
5734
5735 2011-05-07  Bruno Haible  <bruno@clisp.org>
5736
5737         fpending: Move AC_LIBOBJ invocations to module description.
5738         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
5739         gl_FUNC_FPENDING.
5740         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
5741         invocations from here...
5742         * modules/fpending (configure.ac): ... to here.
5743
5744 2011-05-07  Bruno Haible  <bruno@clisp.org>
5745
5746         fopen: Move AC_LIBOBJ invocations to module description.
5747         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
5748         invocations from here...
5749         * modules/fopen (configure.ac): ... to here.
5750
5751 2011-05-07  Bruno Haible  <bruno@clisp.org>
5752
5753         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
5754         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
5755         gl_FUNC_FNMATCH_POSIX.
5756         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
5757         invocations from here...
5758         * modules/fnmatch (configure.ac): ... to here.
5759         * modules/fnmatch-gnu (configure.ac): ... and here.
5760
5761 2011-05-07  Bruno Haible  <bruno@clisp.org>
5762
5763         flock: Move AC_LIBOBJ invocations to module description.
5764         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
5765         invocations from here...
5766         * modules/flock (configure.ac): ... to here.
5767
5768 2011-05-07  Bruno Haible  <bruno@clisp.org>
5769
5770         fileblocks: Move AC_LIBOBJ invocations to module description.
5771         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
5772         gl_PREREQ_FILEBLOCKS invocations from here...
5773         * modules/fileblocks (configure.ac): ... to here.
5774
5775 2011-05-06  Bruno Haible  <bruno@clisp.org>
5776
5777         fflush: Move AC_LIBOBJ invocations to module description.
5778         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
5779         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
5780         invocations from here...
5781         * modules/fflush (configure.ac): ... to here.
5782
5783 2011-05-06  Bruno Haible  <bruno@clisp.org>
5784
5785         fdopendir: Move AC_LIBOBJ invocations to module description.
5786         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
5787         here...
5788         * modules/fdopendir (configure.ac): ... to here.
5789         (Depends-on): Improve conditions.
5790
5791 2011-05-06  Bruno Haible  <bruno@clisp.org>
5792
5793         _Exit: Move AC_LIBOBJ invocations to module description.
5794         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
5795         invocations from here...
5796         * modules/_Exit (configure.ac): ... to here.
5797
5798 2011-05-21  Bruno Haible  <bruno@clisp.org>
5799
5800         euidaccess: Respect rules for use of AC_LIBOBJ.
5801         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
5802         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
5803         from here...
5804         * modules/euidaccess (configure.ac): ... to here.
5805
5806 2011-05-06  Bruno Haible  <bruno@clisp.org>
5807
5808         error: Move AC_LIBOBJ invocations to module description.
5809         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
5810         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
5811         invocations from here...
5812         * modules/error (configure.ac): ... to here.
5813
5814 2011-05-06  Bruno Haible  <bruno@clisp.org>
5815
5816         duplocale: Move AC_LIBOBJ invocations to module description.
5817         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
5818         gl_PREREQ_DUPLOCALE invocations from here...
5819         * modules/duplocale (configure.ac): ... to here.
5820
5821 2011-05-05  Bruno Haible  <bruno@clisp.org>
5822
5823         dirfd: Move AC_LIBOBJ invocations to module description.
5824         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
5825         gl_FUNC_DIRFD.
5826         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
5827         here...
5828         * modules/dirfd (configure.ac): ... to here.
5829         (Depends-on): Fix condition.
5830
5831 2011-05-05  Bruno Haible  <bruno@clisp.org>
5832
5833         chown: Respect rules for use of AC_LIBOBJ.
5834         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
5835         * modules/chown (configure.ac): ... to here.
5836
5837 2011-05-05  Bruno Haible  <bruno@clisp.org>
5838
5839         chdir-long: Move AC_LIBOBJ invocations to module description.
5840         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
5841         gl_PREREQ_CHDIR_LONG invocations from here...
5842         * modules/chdir-long (configure.ac): ... to here.
5843
5844 2011-05-05  Bruno Haible  <bruno@clisp.org>
5845
5846         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
5847         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
5848         from here...
5849         * modules/canonicalize-lgpl (configure.ac): ... to here.
5850
5851 2011-05-05  Bruno Haible  <bruno@clisp.org>
5852
5853         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
5854         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
5855         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
5856         REPLACE_CALLOC.
5857         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
5858         * modules/calloc-gnu (configure.ac): Likewise.
5859
5860 2011-05-05  Bruno Haible  <bruno@clisp.org>
5861
5862         btowc: Move AC_LIBOBJ invocations to module description.
5863         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
5864         invocations from here...
5865         * modules/btowc (configure.ac): ... to here.
5866
5867 2011-05-21  Bruno Haible  <bruno@clisp.org>
5868
5869         atexit: Move AC_LIBOBJ invocations to module description.
5870         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
5871         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
5872         here...
5873         * modules/atexit (configure.ac): ... to here.
5874
5875 2011-05-05  Bruno Haible  <bruno@clisp.org>
5876
5877         atoll: Move AC_LIBOBJ invocations to module description.
5878         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
5879         invocations from here...
5880         * modules/atoll (configure.ac): ... to here.
5881
5882 2011-05-05  Bruno Haible  <bruno@clisp.org>
5883
5884         argz: Move AC_LIBOBJ invocations to module description.
5885         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
5886         * modules/argz (configure.ac): ... to here.
5887
5888 2011-05-05  Bruno Haible  <bruno@clisp.org>
5889
5890         alphasort: Move AC_LIBOBJ invocations to module description.
5891         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
5892         gl_PREREQ_ALPHASORT invocations from here...
5893         * modules/alphasort (configure.ac): ... to here.
5894
5895 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5896
5897         verify: new macro verify_expr; verify_true deprecated
5898         * NEWS: Mention this.
5899         * doc/verify.texi (Compile-time Assertions): Document this.
5900         * lib/verify.h (verify_true): Deprecate.
5901         (verify_expr): New macro.
5902         * tests/test-verify.c (function): Test verify_expr.
5903
5904 2011-06-14  Jim Meyering  <meyering@redhat.com>
5905
5906         init.sh: give more portable redirection-related advice in a comment
5907         * tests/init.sh (stderr_fileno_): Update the advice in comments.
5908         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
5909         for lots of discussion.  Stefano Lattarini suggested the solution
5910         of putting "9>&2" after the command.  Reported by Bruno Haible.
5911
5912 2011-06-13  Bruno Haible  <bruno@clisp.org>
5913
5914         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
5915         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
5916         'none'.
5917
5918 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
5919
5920         ftoastr: use strtof only if HAVE_STRTOF
5921         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
5922         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
5923         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
5924         * modules/ftoastr (configure.ac): Check for strtof.
5925
5926 2011-06-13  Bruno Haible  <bruno@clisp.org>
5927
5928         gnulib-tool: Addendum to 2011-06-08 commit.
5929         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
5930         and --witness-c-macro have been given, augment AM_CPPFLAGS.
5931
5932 2011-06-13  Bruno Haible  <bruno@clisp.org>
5933
5934         fseeko: Provide a non-inline replacement of fseek().
5935         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
5936         * modules/fseeko (Depends-on): Add fseek.
5937         * modules/fseek (License): Change to LGPLv2+.
5938
5939 2011-06-13  Bruno Haible  <bruno@clisp.org>
5940
5941         ftello: Provide a non-inline replacement of ftell().
5942         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
5943         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
5944         not have ftello() (such as on mingw).
5945         * modules/ftello (Depends-on): Add ftell.
5946         * modules/ftell (License): Change to LGPLv2+.
5947
5948 2011-05-07  Bruno Haible  <bruno@clisp.org>
5949
5950         ftell: Move AC_LIBOBJ invocations to module description.
5951         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
5952         * modules/ftell (configure.ac): ... to here.
5953
5954 2011-05-07  Bruno Haible  <bruno@clisp.org>
5955
5956         ftello: Respect rules for use of AC_LIBOBJ.
5957         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
5958         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
5959         here...
5960         * modules/ftello (configure.ac): ... to here.
5961
5962 2011-05-07  Bruno Haible  <bruno@clisp.org>
5963
5964         fseeko: Simplify.
5965         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
5966         (gl_FUNC_FSEEKO): Inline it here.
5967
5968 2011-05-07  Bruno Haible  <bruno@clisp.org>
5969
5970         fseek: Move AC_LIBOBJ invocations to module description.
5971         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
5972         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
5973         * modules/fseek (configure.ac): ... to here.
5974
5975 2011-05-07  Bruno Haible  <bruno@clisp.org>
5976
5977         fseek: Respect rules for use of AC_LIBOBJ.
5978         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
5979         here...
5980         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
5981
5982 2011-05-07  Bruno Haible  <bruno@clisp.org>
5983
5984         fseeko: Respect rules for use of AC_LIBOBJ.
5985         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
5986         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
5987         here...
5988         * modules/fseeko (configure.ac): ... to here.
5989
5990 2011-06-13  Bruno Haible  <bruno@clisp.org>
5991
5992         gnulib-tool: Allow comments in the 'Depends-on' section.
5993         * doc/gnulib.texi (Module description): Mention comment syntax in the
5994         Depends-on section.
5995         * gnulib-tool (func_get_dependencies): Filter out comment lines.
5996
5997 2011-06-13  Bruno Haible  <bruno@clisp.org>
5998
5999         file-set.h: guard __attibute__ use, now that it's not always defined
6000         * lib/file-set.h (record_file): Use __attribute__ only with compiler
6001         versions that support it.  This fixes a coreutils build failure with
6002         the vendor cc on HP-UX 11.31.
6003
6004 2011-06-12  Bruno Haible  <bruno@clisp.org>
6005
6006         acl: Add support for HP-UX >= 11.11 JFS ACLs.
6007         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
6008         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
6009         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
6010         (acl, aclsort): New declarations.
6011         (aclv_nontrivial): New declaration.
6012         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
6013         (file_has_acl): Read also the second kind of HP-UX ACLs.
6014         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
6015         kind of HP-UX ACLs if the first kind fails.
6016         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
6017         second kind of HP-UX ACLs.
6018         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
6019         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
6020         agree.
6021         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
6022         hpuxjfs.
6023         Handle hpuxjfs.
6024         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
6025         hpuxjfs.
6026         Handle hpuxjfs.
6027         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
6028         (func_test_same_acls): Use both lsacl and getacl.
6029         Handle hpuxjfs.
6030         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
6031         (func_test_same_acls): Use both lsacl and getacl.
6032         Handle hpuxjfs.
6033
6034 2011-06-12  Bruno Haible  <bruno@clisp.org>
6035
6036         acl: Complete the 2010-08-10 fix.
6037         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
6038         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
6039         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
6040         explicitly.
6041         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
6042         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
6043
6044 2011-06-12  Bruno Haible  <bruno@clisp.org>
6045
6046         spawn-pipe tests: Comments.
6047         * tests/test-spawn-pipe-child.c (main): Update comment.
6048         Reported by James Youngman <jay@gnu.org>.
6049
6050 2011-06-11  James Youngman  <jay@gnu.org>
6051
6052         New module 'stat-size'.
6053         * modules/stat-size: New module.  Provides macros for accessing
6054         file size information in instances of struct stat.  Depends on the
6055         fileblocks module because it calls st_blocks.
6056         * lib/stat-size.h: New file, adapted from coreutils' system.h.
6057         * doc/gnulib.texi: Include stat-size.texi.
6058         * doc/stat-size.texi: Documentation for this module.
6059         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
6060         * m4/fileblocks.m4: Mention that stat-size depends on the call to
6061         AC_STRUCT_ST_BLOCKS.
6062
6063 2011-06-09  Bruno Haible  <bruno@clisp.org>
6064
6065         thread: Support pthreads-win32.
6066         * lib/glthread/thread.h (gl_thread_self): Define differently on
6067         pthreads-win32.
6068         (gl_null_thread): New declaration.
6069         (gl_thread_self_pointer): New macro.
6070         * lib/glthread/thread.c (gl_null_thread): New constant.
6071         * tests/test-lock.c: Use gl_thread_self_pointer instead of
6072         gl_thread_self.
6073         * tests/test-tls.c: Likewise.
6074         Suggested by Paul Eggert. Reported by Eric Blake.
6075
6076 2011-06-09  Bruno Haible  <bruno@clisp.org>
6077
6078         thread: Fix confusion between NULL and 0.
6079         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
6080         Reported by Paul Eggert.
6081
6082 2011-06-09  Bruno Haible  <bruno@clisp.org>
6083
6084         spawn-pipe tests: Avoid test failure on HP-UX 11.
6085         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
6086         is closed.
6087
6088 2011-06-09  Bruno Haible  <bruno@clisp.org>
6089
6090         acl tests: Fix compilation error on HP-UX 11.
6091         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
6092
6093 2011-06-09  Bruno Haible  <bruno@clisp.org>
6094
6095         rmdir: Avoid test failure on HP-UX 10.20.
6096         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
6097         EEXIST.
6098
6099 2011-06-08  Eric Blake  <eblake@redhat.com>
6100
6101         perror: fix test on mingw
6102         * modules/perror-tests (Depends-on): Add dup2.
6103
6104         strerror_r-posix: fix on MacOS
6105         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
6106         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
6107         logic bug.
6108         * lib/strerror_r.c (strerror_r): Fix the bug.
6109         * lib/strerror.c (strerror): Likewise.
6110         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
6111         problem.
6112         * doc/posix-functions/strerror.texi (strerror): Likewise.
6113         * doc/posix-functions/perror.texi (perror): Likewise.
6114         * tests/test-strerror.c (main): Enhance test.
6115         * tests/test-strerror_r.c (main): Likewise.
6116
6117 2011-06-08  Bruno Haible  <bruno@clisp.org>
6118
6119         gnulib-tool: Better isolation between different gnulib-tool invocations.
6120         * gnulib-tool: New option --witness-c-macro.
6121         (witness_c_macro): New variable.
6122         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
6123         AM_CPPFLAGS define it as a C macro.
6124         (func_emit_tests_Makefile_am): Likewise.
6125         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
6126         read it from there.
6127         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
6128         m4_define, not AC_DEFUN.
6129         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
6130         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
6131         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
6132         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
6133         s|...|...|, to substitute the values of the GNULIB_* module indicator
6134         variables.
6135         * modules/dirent (Makefile.am): Likewise.
6136         * modules/fcntl-h (Makefile.am): Likewise.
6137         * modules/iconv-h (Makefile.am): Likewise.
6138         * modules/langinfo (Makefile.am): Likewise.
6139         * modules/locale (Makefile.am): Likewise.
6140         * modules/math (Makefile.am): Likewise.
6141         * modules/netdb (Makefile.am): Likewise.
6142         * modules/poll-h (Makefile.am): Likewise.
6143         * modules/pty (Makefile.am): Likewise.
6144         * modules/search (Makefile.am): Likewise.
6145         * modules/signal (Makefile.am): Likewise.
6146         * modules/spawn (Makefile.am): Likewise.
6147         * modules/stdio (Makefile.am): Likewise.
6148         * modules/stdlib (Makefile.am): Likewise.
6149         * modules/string (Makefile.am): Likewise.
6150         * modules/sys_ioctl (Makefile.am): Likewise.
6151         * modules/sys_select (Makefile.am): Likewise.
6152         * modules/sys_socket (Makefile.am): Likewise.
6153         * modules/sys_stat (Makefile.am): Likewise.
6154         * modules/sys_times (Makefile.am): Likewise.
6155         * modules/sys_utsname (Makefile.am): Likewise.
6156         * modules/sys_wait (Makefile.am): Likewise.
6157         * modules/termios (Makefile.am): Likewise.
6158         * modules/time (Makefile.am): Likewise.
6159         * modules/unistd (Makefile.am): Likewise.
6160         * modules/wchar (Makefile.am): Likewise.
6161
6162 2011-06-08  Eric Blake  <eblake@redhat.com>
6163
6164         strerror: simplify replacement
6165         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
6166         * modules/strerror (configure.ac): No prereqs needed here...
6167         * modules/strerror-override (configure.ac): ...but this needs it.
6168         (Files): Add file for needed prereq macro.
6169
6170 2011-06-08  Bruno Haible  <bruno@clisp.org>
6171
6172         strerror_r-posix: Tweaks.
6173         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
6174         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
6175         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
6176         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
6177         (gl_FUNC_STRERROR_R): ... to here.
6178         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
6179
6180 2011-06-07  Eric Blake  <eblake@redhat.com>
6181
6182         perror: document fixed bugs
6183         * doc/posix-functions/perror.texi (perror): Document recent
6184         patches.
6185
6186 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
6187
6188         stat-time: get_stat_birthtime failure is better-defined
6189         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
6190         return a timestamp whose tv_sec and tv_nsec values are both -1.
6191         Previously, the spec said only that the tv_nsec value was negative.
6192         This upward-compatible change simplifies GNU tar a bit.
6193
6194 2011-06-07  Eric Blake  <eblake@redhat.com>
6195
6196         strerror_r-posix: work around cygwin 1.7.9
6197         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
6198         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
6199         bug without replacing strerror_r.
6200         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
6201         strerror_r is buggy, but without requiring strerror_r compilation.
6202         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
6203
6204         test-perror: relax test to ignore cygwin bug
6205         * tests/test-perror2.c (main): Relax test on requiring detection
6206         of stream errors, and use unbuffered stream.
6207         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
6208         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
6209         * doc/posix-functions/fputc.texi (fputc): Likewise.
6210         * doc/posix-functions/fputs.texi (fputs): Likewise.
6211         * doc/posix-functions/fputws.texi (fputws): Likewise.
6212         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
6213         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
6214         * doc/posix-functions/getopt.texi (getopt): Likewise.
6215         * doc/posix-functions/perror.texi (perror): Likewise.
6216         * doc/posix-functions/printf.texi (printf): Likewise.
6217         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
6218         * doc/posix-functions/psignal.texi (psignal): Likewise.
6219         * doc/posix-functions/putc.texi (putc): Likewise.
6220         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
6221         Likewise.
6222         * doc/posix-functions/putchar.texi (putchar): Likewise.
6223         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
6224         Likewise.
6225         * doc/posix-functions/puts.texi (puts): Likewise.
6226         * doc/posix-functions/putwc.texi (putwc): Likewise.
6227         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
6228         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
6229         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
6230         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
6231         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
6232         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
6233         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
6234         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
6235
6236 2011-05-22  Bruno Haible  <bruno@clisp.org>
6237
6238         strerror: Move AC_LIBOBJ invocations to module description.
6239         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
6240         gl_PREREQ_STRERROR invocations from here...
6241         * modules/strerror (configure.ac): ... to here.
6242
6243 2011-05-21  Bruno Haible  <bruno@clisp.org>
6244
6245         perror: Use common idiom.
6246         * modules/perror (configure.ac): Reorder statements.
6247
6248 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6249
6250         tests: fix usage message in 'mktempd_'
6251         * tests/init.sh (mktempd_): In the usage message, use literal
6252         'mktempd_', not '$ME' (which is even undefined), as the name of
6253         the subroutine.
6254
6255 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6256
6257         tests init: new function 'fatal_', for hard errors
6258         Before this patch, the only way offered by tests/init.sh to
6259         properly signal a hard error was the `framework_failure_'
6260         function.  But the error message issued by that function,
6261         as its name would suggest, refers to a set-up failure in the
6262         testsuite, while hard errors can obviously also be due to
6263         other reasons.  The best way to fix this inconsistency is to
6264         introduce a new function with a more general error message.
6265         * tests/init.sh (fatal_): New function.
6266
6267 2011-06-06  Eric Blake  <eblake@redhat.com>
6268
6269         canonicalize-lgpl: use common idiom
6270         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
6271         over newer POSIX -Rf.
6272         Reported by Bruno Haible.
6273
6274         canonicalize-lgpl: work around AIX realpath bug
6275         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
6276         * doc/posix-functions/realpath.texi (realpath): Document it.
6277         Reported by Bruno Haible.
6278
6279         strerror: work around FreeBSD bug
6280         * lib/strerror.c (strerror): Special case 0.
6281         Reported by Bruno Haible.
6282
6283         strerror-override: avoid bloating errno module
6284         * modules/errno (Files, configure.ac): Move replacement strings...
6285         * modules/strerror-override: ...to new module.
6286         * modules/strerror (Depends-on): Add strerror-override.
6287         * modules/strerror_r-posix (Depends-on): Likewise.
6288         * MODULES.html.sh: Document new module.
6289         Reported by Bruno Haible.
6290
6291 2011-06-06  Bruno Haible  <bruno@clisp.org>
6292
6293         spawn-pipe tests: Rename program.
6294         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
6295         * tests/test-spawn-pipe-child.c: Update comment.
6296         * tests/test-spawn-pipe.sh: Update.
6297         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
6298
6299         spawn-pipe tests: Link the child program only against libc.
6300         * tests/test-spawn-pipe-child.c: New file, extracted from
6301         tests/test-spawn-pipe.c.
6302         (main): Expect only one argument.
6303         (is_open): New function, copied from tests/test-pipe.c.
6304         * tests/test-spawn-pipe.c: Don't include <errno.h>.
6305         (child_main): Remove function.
6306         (test_pipe): Pass only one argument to the child program.
6307         (main): Remove child process code. Expect the child program's name as
6308         first argument.
6309         * tests/test-spawn-pipe.sh: Pass the child program's name as first
6310         argument.
6311         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
6312         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
6313         test-spawn-pipe-child against no libraries.
6314
6315 2011-06-06  Bruno Haible  <bruno@clisp.org>
6316
6317         careadlinkat: Avoid mismatch between ssize_t and int.
6318         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
6319         * lib/careadlinkat.c (careadlinkatcwd): Define always.
6320
6321 2011-06-06  Jim Meyering  <meyering@redhat.com>
6322
6323         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
6324         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
6325         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
6326
6327 2011-06-05  Bruno Haible  <bruno@clisp.org>
6328
6329         ansi-c++-opt: Interoperability with libtool.
6330         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
6331         set the variable to "no", not to ":".
6332         * NEWS: Mention the change.
6333
6334 2011-06-05  Bruno Haible  <bruno@clisp.org>
6335
6336         acl: Fix test failure on AIX 7.
6337         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
6338         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
6339
6340 2011-06-05  Bruno Haible  <bruno@clisp.org>
6341
6342         pipe-filter-ii: Fix test failure on AIX and IRIX.
6343         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
6344         with EAGAIN, retry with a smaller buffer size.
6345
6346 2011-06-05  Bruno Haible  <bruno@clisp.org>
6347
6348         localename: Fix link dependencies.
6349         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
6350         * modules/localename-tests (Makefile.am): Link test-localename with
6351         $(LIBTHREAD).
6352
6353 2011-06-05  Bruno Haible  <bruno@clisp.org>
6354
6355         error: Avoid gcc warning.
6356         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
6357
6358 2011-06-05  Bruno Haible  <bruno@clisp.org>
6359
6360         unsetenv: Avoid gcc warning.
6361         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
6362
6363 2011-06-05  Bruno Haible  <bruno@clisp.org>
6364
6365         setenv: Avoid gcc warning.
6366         * lib/setenv.c (setenv): Provide declaration if system lacks it.
6367
6368 2011-06-05  Bruno Haible  <bruno@clisp.org>
6369
6370         sys_select: Ensure memset is declared also on AIX 7.
6371         * lib/sys_select.in.h: Include <string.h> also on AIX.
6372         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
6373         self-contained also on AIX 7.1.
6374
6375 2011-06-04  Jim Meyering  <meyering@redhat.com>
6376
6377         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
6378         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
6379         function name, "error".
6380         (_gl_translatable_diag_func_re): New configurable variable.
6381
6382 2011-06-04  Bruno Haible  <bruno@clisp.org>
6383
6384         getopt: Avoid gcc warning.
6385         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
6386
6387 2011-06-04  Bruno Haible  <bruno@clisp.org>
6388
6389         strerror_r: Fix comments.
6390         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
6391         commit.
6392
6393 2011-06-04  Bruno Haible  <bruno@clisp.org>
6394
6395         perror: Fix compilation error.
6396         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
6397         Undefine fprintf, not sprintf.
6398         * modules/perror (Depends-on): Remove intprops, verify.
6399
6400 2011-06-04  Bruno Haible  <bruno@clisp.org>
6401
6402         setlocale: Enable replacement on Cygwin 1.5.
6403         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
6404         Cygwin 1.5.x.
6405         * doc/posix-functions/setlocale.texi: Mention that the problem with the
6406         LC_CTYPE category also exists on Cygwin 1.5.x.
6407
6408 2011-06-04  Bruno Haible  <bruno@clisp.org>
6409
6410         strerror-override: Don't disable symbol renamings.
6411         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
6412         * lib/strerror-override.c: Include config.h.
6413         (strerror_override): Don't undefine.
6414
6415 2011-06-03  Bruno Haible  <bruno@clisp.org>
6416
6417         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
6418         * lib/localename.h: Update copyright header.
6419         * lib/localename.c: Likewise.
6420         * lib/relocatable.h: Likewise.
6421         * lib/relocatable.c: Likewise.
6422
6423 2011-06-02  Bruno Haible  <bruno@clisp.org>
6424
6425         doc: Fix a module name.
6426         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
6427
6428 2011-06-02  Bruno Haible  <bruno@clisp.org>
6429
6430         pipe2: Remove dependency on 'nonblocking' module.
6431         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
6432         O_NONBLOCK is defined by gnulib.
6433         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
6434         is zero.
6435         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
6436         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
6437         defined by gnulib.
6438         (get_nonblocking_flag): New function.
6439         (main): Test O_NONBLOCK flag only if it is nonzero.
6440         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
6441
6442 2011-06-03  Jim Meyering  <meyering@redhat.com>
6443
6444         maint: three new prohibit-header-without-use rules
6445         Prohibit use of cloexec.h, posixver.h, same.h without use.
6446         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
6447         (sc_prohibit_posixver_without_use): Likewise.
6448         (sc_prohibit_same_without_use): Likewise.
6449
6450 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
6451
6452         allocator: 'die' routine is now given requested size
6453         * lib/allocator.h (struct allocator.die): New size arg.
6454         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
6455         If the actual problem is an ssize_t limitation, not a size_t or
6456         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
6457
6458 2011-06-01  Eric Blake  <eblake@redhat.com>
6459
6460         strerror: drop strerror_r dependency
6461         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
6462         * lib/strerror-override.c (strerror_override): ...to new file.
6463         * lib/strerror-override.h: Add prototype.
6464         * lib/strerror-impl.h: Delete.
6465         * lib/strerror.c (strerror): New implementation.
6466         * modules/errno (Files): Add new files.
6467         (configure.ac): Compile new file as appropriate.
6468         * modules/strerror (Files): Drop unused file.
6469         (Depends-on): Drop strerror_r-posix.
6470         * MODULES.html.sh: Document strerror_r-posix.
6471         Requested by Sam Steingold.
6472
6473         perror: call strerror_r directly
6474         * modules/perror (Files): Drop strerror-impl.h.
6475         * lib/perror.c (perror): Use our own stack buffer, rather than
6476         calling a wrapper that uses static storage.
6477         * doc/posix-functions/perror.texi (perror): Document a limitation
6478         of our replacement.
6479
6480         strerror_r: fix includes for FreeBSD
6481         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
6482         since we use abort on some platforms.
6483         Reported by Matthias Bolte.
6484
6485 2011-05-31  Bruno Haible  <bruno@clisp.org>
6486
6487         Fix link errors in tests: openat-die uses gettext-h.
6488         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
6489         against $(LIBINTL).
6490         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
6491         against $(LIBINTL).
6492         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
6493         $(LIBINTL).
6494         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
6495         against $(LIBINTL).
6496         * modules/linkat-tests (Makefile.am): Link test-linkat against
6497         $(LIBINTL).
6498         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
6499         $(LIBINTL).
6500         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
6501         against $(LIBINTL).
6502         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
6503         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
6504         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
6505         $(LIBINTL).
6506         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
6507         $(LIBINTL).
6508         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
6509         $(LIBINTL).
6510         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6511
6512 2011-05-31  Bruno Haible  <bruno@clisp.org>
6513
6514         Fix link errors in tests: wait-process uses gettext-h.
6515         * modules/nonblocking-pipe-tests (Makefile.am): Set
6516         test_nonblocking_pipe_main_LDADD.
6517         * modules/nonblocking-socket-tests (Makefile.am): Link
6518         test-nonblocking-socket-main against $(LIBINTL).
6519         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6520
6521 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
6522
6523         assert-h: work around 'verify' incompatibility
6524         * lib/verify.h: Use @...@ directives, not ifdef.
6525         * modules/assert-h (assert.h): Implement the directives.
6526         (assert.h): Substitute the symbol-prefix more consistently.
6527
6528 2011-05-29  Jim Meyering  <meyering@redhat.com>
6529
6530         trim: remove three superfluous assignments
6531         * lib/trim.c (trim2): Remove three superfluous assignments
6532         and correct brace positioning.
6533
6534 2011-05-29  Bruno Haible  <bruno@clisp.org>
6535
6536         wctype-h: Avoid namespace pollution on Solaris 2.6.
6537         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
6538         identifiers.
6539         * doc/posix-headers/wctype.texi: Mention the problem.
6540         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6541
6542 2011-05-28  Jim Meyering  <meyering@redhat.com>
6543
6544         parse-datetime.y: accommodate -Wstrict-overflow
6545         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
6546         placate -Wstrict-overflow.
6547
6548         trim: avoid a warning from -O2 -Wstrict-overflow
6549         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
6550
6551 2011-05-29  Bruno Haible  <bruno@clisp.org>
6552
6553         gnulib-tool: Fix bug in yesterday's commit.
6554         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
6555         twice.
6556
6557 2011-05-29  Bruno Haible  <bruno@clisp.org>
6558
6559         Allow multiple gnulib generated include files to be combined.
6560         * gnulib-tool (func_compute_include_guard_prefix): New function.
6561         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
6562         ${gl_include_guard_prefix} references.
6563         (func_import, func_create_testdir): Invoke
6564         func_compute_include_guard_prefix.
6565         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
6566         * lib/ctype.in.h: Likewise.
6567         * lib/dirent.in.h: Likewise.
6568         * lib/errno.in.h: Likewise.
6569         * lib/fcntl.in.h: Likewise.
6570         * lib/float.in.h: Likewise.
6571         * lib/getopt.in.h: Likewise.
6572         * lib/iconv.in.h: Likewise.
6573         * lib/langinfo.in.h: Likewise.
6574         * lib/locale.in.h: Likewise.
6575         * lib/math.in.h: Likewise.
6576         * lib/netdb.in.h: Likewise.
6577         * lib/netinet_in.in.h: Likewise.
6578         * lib/poll.in.h: Likewise.
6579         * lib/pthread.in.h: Likewise.
6580         * lib/pty.in.h: Likewise.
6581         * lib/sched.in.h: Likewise.
6582         * lib/se-selinux.in.h: Likewise.
6583         * lib/search.in.h: Likewise.
6584         * lib/signal.in.h: Likewise.
6585         * lib/spawn.in.h: Likewise.
6586         * lib/stdarg.in.h: Likewise.
6587         * lib/stddef.in.h: Likewise.
6588         * lib/stdint.in.h: Likewise.
6589         * lib/stdio.in.h: Likewise.
6590         * lib/stdlib.in.h: Likewise.
6591         * lib/string.in.h: Likewise.
6592         * lib/strings.in.h: Likewise.
6593         * lib/sys_file.in.h: Likewise.
6594         * lib/sys_ioctl.in.h: Likewise.
6595         * lib/sys_select.in.h: Likewise.
6596         * lib/sys_socket.in.h: Likewise.
6597         * lib/sys_stat.in.h: Likewise.
6598         * lib/sys_time.in.h: Likewise.
6599         * lib/sys_times.in.h: Likewise.
6600         * lib/sys_uio.in.h: Likewise.
6601         * lib/sys_utsname.in.h: Likewise.
6602         * lib/sys_wait.in.h: Likewise.
6603         * lib/sysexits.in.h: Likewise.
6604         * lib/termios.in.h: Likewise.
6605         * lib/time.in.h: Likewise.
6606         * lib/unistd.in.h: Likewise.
6607         * lib/wchar.in.h: Likewise.
6608         * lib/wctype.in.h: Likewise.
6609         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
6610         * modules/ctype (Makefile.am): Likewise.
6611         * modules/dirent (Makefile.am): Likewise.
6612         * modules/errno (Makefile.am): Likewise.
6613         * modules/fcntl-h (Makefile.am): Likewise.
6614         * modules/float (Makefile.am): Likewise.
6615         * modules/getopt-posix (Makefile.am): Likewise.
6616         * modules/iconv-h (Makefile.am): Likewise.
6617         * modules/langinfo (Makefile.am): Likewise.
6618         * modules/locale (Makefile.am): Likewise.
6619         * modules/math (Makefile.am): Likewise.
6620         * modules/netdb (Makefile.am): Likewise.
6621         * modules/netinet_in (Makefile.am): Likewise.
6622         * modules/poll-h (Makefile.am): Likewise.
6623         * modules/pthread (Makefile.am): Likewise.
6624         * modules/pty (Makefile.am): Likewise.
6625         * modules/sched (Makefile.am): Likewise.
6626         * modules/search (Makefile.am): Likewise.
6627         * modules/selinux-h (Makefile.am): Likewise.
6628         * modules/signal (Makefile.am): Likewise.
6629         * modules/spawn (Makefile.am): Likewise.
6630         * modules/stdarg (Makefile.am): Likewise.
6631         * modules/stddef (Makefile.am): Likewise.
6632         * modules/stdint (Makefile.am): Likewise.
6633         * modules/stdio (Makefile.am): Likewise.
6634         * modules/stdlib (Makefile.am): Likewise.
6635         * modules/string (Makefile.am): Likewise.
6636         * modules/strings (Makefile.am): Likewise.
6637         * modules/sys_file (Makefile.am): Likewise.
6638         * modules/sys_ioctl (Makefile.am): Likewise.
6639         * modules/sys_select (Makefile.am): Likewise.
6640         * modules/sys_socket (Makefile.am): Likewise.
6641         * modules/sys_stat (Makefile.am): Likewise.
6642         * modules/sys_time (Makefile.am): Likewise.
6643         * modules/sys_times (Makefile.am): Likewise.
6644         * modules/sys_uio (Makefile.am): Likewise.
6645         * modules/sys_utsname (Makefile.am): Likewise.
6646         * modules/sys_wait (Makefile.am): Likewise.
6647         * modules/sysexits (Makefile.am): Likewise.
6648         * modules/termios (Makefile.am): Likewise.
6649         * modules/time (Makefile.am): Likewise.
6650         * modules/unistd (Makefile.am): Likewise.
6651         * modules/wchar (Makefile.am): Likewise.
6652         * modules/wctype-h (Makefile.am): Likewise.
6653         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
6654
6655 2011-05-29  Bruno Haible  <bruno@clisp.org>
6656
6657         assert-h: Allow multiple gnulib generated replacements to coexist.
6658         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
6659
6660 2011-05-29  Bruno Haible  <bruno@clisp.org>
6661
6662         argp: Allow coexistence with strerror_r-posix module.
6663         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
6664         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
6665         by gnulib's <string.h> replacement), assume it has the POSIX signature,
6666         not the glibc signature.
6667
6668 2011-05-28  Bruno Haible  <bruno@clisp.org>
6669
6670         gnulib-tool: Alternative structure of testdirs, similar to --import.
6671         * gnulib-tool: New option --single-configure.
6672         (func_usage): Document it.
6673         (single_configure): New variable.
6674         (func_modules_transitive_closure_separately,
6675         func_modules_transitive_closure_separately,
6676         func_determine_use_libtests, func_modules_add_dummy_separately,
6677         func_modules_to_filelist_separately): New functions, extracted from
6678         func_import.
6679         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
6680         (func_import): Use the new functions.
6681         (func_create_testdir): Set final_modules. Handle $single_configure =
6682         true case.
6683
6684 2011-05-28  Bruno Haible  <bruno@clisp.org>
6685
6686         getloadavg: Remove an unreliable safety check.
6687         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
6688         getloadavg.c is in place.
6689         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
6690         Reported by Sam Steingold <sds@gnu.org>.
6691
6692 2011-05-28  Bruno Haible  <bruno@clisp.org>
6693
6694         doc: Cleanup yet another file produced by texinfo.tex.
6695         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
6696
6697 2011-05-28  Bruno Haible  <bruno@clisp.org>
6698
6699         Finish the conditional dependencies mechanism.
6700         * gnulib-tool: New option --no-conditional-dependencies.
6701         (func_usage): Document it. Don't mark --conditional-dependencies as
6702         experimental.
6703         (cond_dependencies): The possible values can now be true, false, empty.
6704         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
6705         (func_import): Store setting in gnulib-cache.m4 and read it from there.
6706         * doc/gnulib-tool.texi (Conditional dependencies): New section.
6707
6708 2011-05-28  Bruno Haible  <bruno@clisp.org>
6709
6710         doc: Use a recent texinfo.tex.
6711         * doc/Makefile (tex_opts): New variable.
6712         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
6713
6714 2011-05-28  Jim Meyering  <meyering@redhat.com>
6715
6716         intprops.h: adjust comment to match code change
6717         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
6718         only once, it *may* have side effects.  Also fix an unrelated typo.
6719         (_GL_INT_SIGNED): Likewise.
6720
6721 2011-05-26  Simon Josefsson  <simon@josefsson.org>
6722
6723         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
6724
6725 2011-05-26  Bruno Haible  <bruno@clisp.org>
6726
6727         mbsrchr: Avoid collision with system function on Interix.
6728         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
6729         Reported by Markus Duft <mduft@gentoo.org>.
6730
6731 2011-05-15  James Youngman  <jay@gnu.org>
6732
6733         getopt: for ambiguous options, enumerate the possibilities.
6734         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
6735         the ambiguous options when an ambiguous prefix is given. This was
6736         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
6737         glibc change was
6738         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
6739
6740 2011-05-25  Eric Blake  <eblake@redhat.com>
6741
6742         getcwd: work around mingw bug
6743         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
6744         * doc/posix-functions/getcwd.texi (getcwd): Document it.
6745         Reported by Matthias Bolte.
6746
6747 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
6748
6749         test-intprops: disable -Wtype-limits diagnostics
6750         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
6751         diagnostics.  Otherwise, the integer overflow macros generate many
6752         diagnostics.  Reported by Jim Meyering in
6753         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
6754
6755         intprops: shorten, to pacify gcc -Woverlength-strings
6756         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
6757         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
6758         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
6759         likely to run afoul of C compiler limits for string constant lengths.
6760         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
6761
6762 2011-05-24  Eric Blake  <eblake@redhat.com>
6763
6764         docs: document recently fixed glibc printf bug
6765         * doc/posix-functions/fprintf.texi (fprintf): Document it.
6766         * doc/posix-functions/printf.texi (printf): Likewise.
6767         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
6768         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
6769
6770         closein-tests: convert to init.sh
6771         * modules/closein-tests (Files): Add init.sh
6772         * tests/test-closein.sh Use it.
6773
6774         yesno-tests: convert to init.sh
6775         * modules/yesno-tests (Files): Add init.sh.
6776         * tests/test-yesno.sh: Use it.
6777
6778         atexit-tests: ensure reliable exit status
6779         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
6780         Reported by Bruno Haible.
6781
6782 2011-05-24  Bruno Haible  <bruno@clisp.org>
6783
6784         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
6785         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
6786         gl_PREREQ_STRERROR_R invocations from here...
6787         * modules/strerror_r-posix (configure.ac): ... to here.
6788
6789 2011-05-24  Eric Blake  <eblake@redhat.com>
6790
6791         strerror_r: fix missing header
6792         * lib/strerror_r.c: Avoid compiler warning about snprintf.
6793
6794         strerror_r: fix AIX test failures
6795         * lib/strerror_r.c (strerror_r): Convert silent truncation to
6796         ERANGE failure.
6797
6798         strerror_r: fix Solaris test failures
6799         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
6800         failures.
6801         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
6802
6803         strerror_r: enforce POSIX recommendations
6804         * lib/strerror_r.c (safe_copy): New helper method.
6805         (strerror_r): Guarantee a non-empty string.
6806         * tests/test-strerror_r.c (main): Enhance tests to incorporate
6807         recent POSIX rulings and to match our strerror guarantees.
6808         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
6809
6810 2011-05-24  Jim Meyering  <meyering@redhat.com>
6811
6812         test-perror2.c: avoid warning about unused variable
6813         * tests/test-perror2.c (main): Remove declaration of unused "fp".
6814
6815 2011-05-24  Eric Blake  <eblake@redhat.com>
6816
6817         perror: avoid spurious test failure on HP-UX
6818         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
6819
6820         tests: fix logic bug in init.sh
6821         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
6822         shell.
6823
6824 2011-05-24  Jim Meyering  <meyering@redhat.com>
6825
6826         utimensat: do not reference an out-of-scope buffer
6827         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
6828         declared in an inner scope, yet "times" would be dereferenced outside
6829         the scope in which "ts" was valid.
6830         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
6831         of ts[2] "out/up", so that the use of aliased "times" (via
6832         "times = ts;") does not end up referencing an out-of-scope "ts"
6833
6834         opendir-safer.c: don't clobber errno; don't close negative FD
6835         * lib/opendir-safer.c (opendir_safer):
6836         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
6837         file descriptor, and more importantly, don't clobber the
6838         offending errno value with EINVAL.  Before, upon failure
6839         of dup_safer, we would pass the negative file descriptor to
6840         fdopendir, which would clobber errno.
6841
6842 2011-05-23  Bruno Haible  <bruno@clisp.org>
6843
6844         idcache: Fix module description.
6845         * modules/idcache (Include): Set to "idcache.h".
6846
6847 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6848
6849         gnulib-tool: fix portability problem with MacOS sed
6850         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
6851         before the "}".  Problem reported by Leo in
6852         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
6853         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
6854         sed_extract_condition1, sed_extract_condition2.
6855
6856 2011-05-23  Bruno Haible  <bruno@clisp.org>
6857
6858         hash: Simplify autoconf macro.
6859         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
6860
6861 2011-05-23  Bruno Haible  <bruno@clisp.org>
6862
6863         getugroups: Fix module description.
6864         * modules/getugroups (Include): Set to "getugroups.h".
6865
6866 2011-05-23  Bruno Haible  <bruno@clisp.org>
6867
6868         linkat: Simplify autoconf macro.
6869         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
6870
6871 2011-05-23  Bruno Haible  <bruno@clisp.org>
6872             Eric Blake  <eblake@redhat.com>
6873
6874         linkat, renameat: Update dependencies.
6875         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
6876         * modules/linkat (Depends-on): Likewise. Remove also readlink,
6877         symlinkat.
6878
6879 2011-05-23  Jim Meyering  <meyering@redhat.com>
6880
6881         maint.mk: more tight_scope improvements
6882         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
6883         (_gl_TS_headers): Define only in if-0'd block.
6884         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
6885         sometimes we must *not* use it.  Adjust uses accordingly.
6886         (sc_tight_scope): Use much simpler grep-based test to determine
6887         whether we skip this rule.
6888
6889         maint.mk: generalize/improve the tight-scope rule
6890         * top/maint.mk: Emit a warning when the test is skipped.
6891         (_gl_TS_dir): Add $(srcdir)/ prefix.
6892         (_gl_TS_function_match): Simplify, rather than trying
6893         to enumerate common types.  Otherwise, it would fail to match an
6894         "extern unsigned char const *" declaration in idutils.
6895         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
6896         a way to support use of that type of macro.
6897         (_gl_TS_var_match): Simplify regexp.
6898         (_gl_TS_obj_files): New configurable variable.
6899         (_gl_TS_headers): Likewise.
6900
6901 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
6902
6903         verify: fix bug when gnulib <assert.h> is also included
6904         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
6905         is defined, not if _GL_STATIC_ASSERT_H is not defined.
6906         Perhaps there's a better way, but this fixes the immediate problem.
6907         Problem reported by Bruno Haible in
6908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
6909
6910 2011-05-22  Bruno Haible  <bruno@clisp.org>
6911
6912         xgetcwd: Simplify autoconf macro.
6913         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
6914
6915 2011-05-22  Bruno Haible  <bruno@clisp.org>
6916
6917         New module 'mktime-internal'.
6918         * modules/mktime-internal: New file.
6919         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
6920         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
6921         mktime_internal as a C macro if libc has __mktime_internal.
6922         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
6923         conditions.
6924         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
6925
6926 2011-05-22  Bruno Haible  <bruno@clisp.org>
6927
6928         timegm: Correct mktime replacement statements.
6929         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
6930         defining mktime as a C macro. This completes a 2009-07-28 commit.
6931
6932 2011-05-22  Bruno Haible  <bruno@clisp.org>
6933
6934         timegm: Simplify autoconf macro.
6935         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
6936
6937 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
6938
6939         clock-time: change to LGPLv2+.
6940         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
6941         BSD-like but we have no mark for that; this is good enough for now.
6942
6943 2011-05-21  Bruno Haible  <bruno@clisp.org>
6944
6945         strerror_r: Fix comments.
6946         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
6947
6948 2011-05-21  Bruno Haible  <bruno@clisp.org>
6949
6950         relocatable-prog-wrapper: Fix possible link error.
6951         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
6952         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
6953         (gl_FUNC_SETENV): ... to here.
6954         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
6955         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
6956
6957 2011-05-21  Bruno Haible  <bruno@clisp.org>
6958
6959         relocatable-prog-wrapper: Assume strerror() exists.
6960         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
6961         m4/strerror.m4.
6962         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
6963         * lib/relocwrapper.c: Remove mention of strerror module.
6964         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
6965         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
6966         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
6967         C macro.
6968
6969 2011-05-21  Bruno Haible  <bruno@clisp.org>
6970
6971         select: Simplify replacement idiom.
6972         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
6973         Win32 platforms.
6974         * lib/sys_select.in.h (select): Simplify accordingly.
6975         * modules/select (Depends-on): Likewise.
6976
6977 2011-05-21  Bruno Haible  <bruno@clisp.org>
6978
6979         mkdir-p: Simplify autoconf macro.
6980         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
6981         gl_FUNC_LCHOWN.
6982
6983 2011-05-21  Eric Blake  <eblake@redhat.com>
6984
6985         strerror_r: avoid clobbering strerror on cygwin
6986         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
6987         fall back instead to sys_errlist.
6988         * modules/strerror (configure.ac): Add witness.
6989         * tests/test-strerror_r.c (main): Enhance test.
6990         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6991         * tests/test-perror2.c (main): Free memory before exit.
6992
6993 2011-05-21  Bruno Haible  <bruno@clisp.org>
6994
6995         mkdtemp: Use gnulib naming conventions.
6996         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
6997         * modules/mkdtemp (configure.ac): Update.
6998
6999 2011-05-20  Eric Blake  <eblake@redhat.com>
7000
7001         strerror_r: avoid corrupting errno on Solaris
7002         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
7003         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
7004
7005         strerror_r: avoid compiler warning
7006         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
7007
7008         strerror_r: simplify AIX code
7009         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
7010
7011         test-perror: avoid spurious failure on FreeBSD
7012         * modules/perror-tests (Depends-on): Add strerror, now that
7013         strerror_r no longer pulls it in.
7014
7015 2011-05-20  Bruno Haible  <bruno@clisp.org>
7016
7017         strerror_r-posix: Remove unused dependencies.
7018         * modules/strerror_r-posix (Depends-on): Remove strerror.
7019         Reported by Eric Blake.
7020
7021 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
7022
7023         intprops: remove assumption about A|B representation
7024         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
7025         is a valid integer if both A and B are.  Although this is true for
7026         all known practical hosts, the C standard doesn't guarantee it,
7027         and the code need not assume it.  Also, this change may work around
7028         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
7029         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
7030
7031 2011-05-20  Eric Blake  <eblake@redhat.com>
7032
7033         perror: work around FreeBSD bug
7034         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
7035         is broken.  Move AC_LIBOBJ...
7036         * modules/perror (configure.ac): Here.
7037         * doc/posix-functions/perror.texi (perror): Document this.
7038         * tests/test-perror2.c (main): Enhance test.
7039
7040         test-perror: check for strerror interactions
7041         * tests/macros.h (STREQ): Add macro.
7042         * modules/perror-tests (Files): Add second test.
7043         * tests/test-perror2.c (main): New file.
7044         * doc/posix-functions/perror.texi (perror): Document glibc bug.
7045
7046         test-perror: rewrite to use init script
7047         * modules/perror-tests (Files): Add init.sh.
7048         * tests/test-perror.sh: Use temporary directory.
7049
7050 2011-05-20  Jim Meyering  <meyering@redhat.com>
7051
7052         maint: replace misused "a" with "an"
7053         * doc/intprops.texi: "a integer"
7054         * doc/regex.texi: "a explanation"
7055         * lib/alignof.h: "a object"
7056         * lib/argmatch.h: "a explanation"
7057         * lib/argp-help.c: "a option" and "a OPTION_DOC"
7058         * lib/stdint.in.h: "a integer"
7059         * lib/userspec.c: "a owner"
7060         * doc/gnulib.texi: Fix "a idea", and reword.
7061
7062 2011-05-19  Jim Meyering  <meyering@redhat.com>
7063
7064         maint: correct misuse of "a" and "an"
7065         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
7066         * lib/argp-help.c: "an docum...": s/an/a/
7067         * lib/argp-parse.c: "An vector": s/An/A/
7068         * lib/execute.c: "an native": s/an/a/
7069         * lib/spawn-pipe.c: Likewise.
7070         * lib/gc.h: "an Gc_rc": s/an/a/
7071         * lib/unigbrk.in.h: "an grapheme": s/an/a/
7072         * lib/fts.c: "an stat.st_dev": s/an/a/
7073
7074 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7075
7076         intprops-tests: work around HP-UX 11.23 cc bug with constants
7077         * tests/test-intprops.c (VERIFY): New macro.
7078         (main): Use it, instead of verify, to work around the compiler bug; see
7079         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
7080
7081         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
7082         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
7083         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
7084         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
7085         (_GL_REMAINDER_OVERFLOW): Use it.
7086
7087         intprops-tests: revert unsigned part of previous change
7088         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
7089         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
7090         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
7091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
7092
7093 2011-05-19  Bruno Haible  <bruno@clisp.org>
7094
7095         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
7096         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
7097         strerror_r() returned without filling the buffer.
7098         Reported by Eric Blake.
7099
7100 2011-05-19  Eric Blake  <eblake@redhat.com>
7101
7102         strerror_r: guarantee unchanged errno
7103         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
7104         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
7105         failure.
7106         * tests/test-strerror_r.c (main): Enhance test.
7107
7108 2011-05-19  Bruno Haible  <bruno@clisp.org>
7109
7110         strerror_r: Reorder #if blocks.
7111         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
7112         for consistency with the previous commit.
7113
7114 2011-05-19  Bruno Haible  <bruno@clisp.org>
7115
7116         perror: Avoid clobbering the strerror buffer when possible.
7117         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
7118         * lib/strerror.c: Include it.
7119         * modules/strerror (Files): Add lib/strerror-impl.h.
7120         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
7121         (my_strerror): New function, defined through lib/strerror-impl.h.
7122         (perror): Use it instead of strerror.
7123         * modules/perror (Files): Add lib/strerror-impl.h.
7124         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
7125
7126 2011-05-19  Eric Blake  <eblake@redhat.com>
7127
7128         strerror_r: fix on newer cygwin
7129         * lib/strerror_r.c (strerror_r): Cygwin now has
7130         __xpg_strerror_r, use it.
7131
7132 2011-05-19  Bruno Haible  <bruno@clisp.org>
7133
7134         strerror_r: Avoid clobbering the strerror buffer when possible.
7135         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
7136         (sys_nerr, sys_errlist): New declarations.
7137         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
7138         HP-UX, native Win32, IRIX, and 32-bit Solaris.
7139         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
7140
7141 2011-05-19  Bruno Haible  <bruno@clisp.org>
7142
7143         strerror_r: Fix test failure on mingw.
7144         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
7145         EXTEND_STRERROR_R.
7146         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
7147         macros from errno.in.h instead.
7148
7149 2011-05-19  Eric Blake  <eblake@redhat.com>
7150
7151         strerror: relax test for Solaris
7152         * tests/test-strerror.c (main): Permit Solaris behavior.
7153         * tests/test-strerror_r.c (main): Likewise.
7154
7155         strerror: enforce POSIX ruling on strerror(0)
7156         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
7157         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
7158         * lib/strerror_r.c (rpl_strerror_r): Work around it.
7159         * doc/posix-functions/strerror.texi (strerror): Document it.
7160         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
7161         * tests/test-strerror.c (main): Strengthen test.
7162         * tests/test-strerror_r.c (main): Likewise.
7163
7164 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7165
7166         intprop-tests: port to older and more-pedantic compilers
7167         * modules/intprops-tests (Files): Add tests/macros.h.
7168         * tests/test-intprops.c: Include macros.h.
7169         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
7170         it's no longer documented to expand to an integer constant expression.
7171         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
7172         argument is floating point, as it's no longer documented to expand
7173         to an integer constant expression in that case.
7174         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
7175         compiler bugs reported by Bruno Haible.  See
7176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
7177         (U0, U1): New constants, to work around the same bugs.  Also,
7178         in tests, use e.g., "(unsigned int) 39" rather than "39u".
7179
7180         intprops: work around C compiler bugs
7181         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
7182         bug in Sun C 5.11 2010/08/13 and other compilers; see
7183         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
7184
7185         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
7186         * doc/intprops.texi (Integer Type Determination): Fix
7187         documentation for TYPE_IS_INTEGER: it returns an constant
7188         expression, not an integer constant expression.  Fix doc for
7189         TYPE_SIGNED: it returns an integer constant expression only if its
7190         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
7191         hardly worth documented that way....)
7192
7193 2011-05-18  Bruno Haible  <bruno@clisp.org>
7194
7195         strerror_r: Avoid clobbering the strerror buffer when possible.
7196         * lib/strerror_r.c (strerror_r): Merge the three implementations.
7197         Handle gnulib defined errno values here. When strerror() returns NULL
7198         or an empty string, return EINVAL.
7199         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
7200         gnulib defined errno values here.
7201         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
7202
7203 2011-05-18  Eric Blake  <eblake@redhat.com>
7204
7205         fnmatch: avoid compiler warning
7206         * lib/fnmatch_loop.c (FCT): Use correct type.
7207         Reported by Matthias Bolte.
7208
7209 2011-05-13  Jim Meyering  <meyering@redhat.com>
7210
7211         maint.mk: three new prohibit_<HDR>_without_use rules
7212         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
7213         (sc_prohibit_stdio-safer_without_use): Likewise.
7214         (sc_prohibit_xfreopen_without_use): Likewise.
7215
7216 2011-05-17  Jim Meyering  <meyering@redhat.com>
7217
7218         announce-gen: fail if the NEWS delta is empty
7219         If there's nothing noteworthy in NEWS, then either you forgot
7220         or you shouldn't be releasing.
7221         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
7222
7223 2011-05-17  Pádraig Brady <P@draigBrady.com>
7224
7225         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
7226         reserved symbols starting with double underscore from the check.
7227
7228 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
7229
7230         intprops: add doc
7231         * doc/intprops.texi: New file, documenting intprops.
7232         * doc/gnulib.texi (Particular Modules): Include it.
7233
7234         verify: add doc to gnulib manual and fix example
7235         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
7236         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
7237         (Compile-time Assertions): Fix example so it can't overflow.
7238
7239 2011-05-17  Jim Meyering  <meyering@redhat.com>
7240
7241         warnings.m4: don't usurp save_CPPFLAGS variable name
7242         * m4/warnings.m4: Prefix local temporary variable name with gl_.
7243
7244         doc: fix typo
7245         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
7246
7247 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
7248             Bruno Haible  <bruno@clisp.org>
7249
7250         doc: Tweak recent change.
7251         * README (Portability guidelines): Tweak new text.
7252         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
7253         Interix 6.1.
7254
7255 2011-05-16  Eric Blake  <eblake@redhat.com>
7256
7257         inttypes: avoid autoconf warning
7258         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
7259         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7260
7261 2011-05-16  Sam Steingold <sds@gnu.org>
7262         and Eric Blake  <eblake@redhat.com>
7263
7264         vc-list-files: accept multiple directory operands
7265         * build-aux/vc-list-files: Iterate over all remaining operands.
7266
7267 2011-05-16  Bruno Haible  <bruno@clisp.org>
7268
7269         Fix confusion regarding deprecated modules.
7270         * modules/calloc (Status, Notice): Mark module as deprecated, not
7271         obsolete.
7272         * modules/fnmatch-posix (Status, Notice): Likewise.
7273         * modules/getdate (Status, Notice): Likewise.
7274         * modules/getopt (Status, Notice): Likewise.
7275         * modules/malloc (Status, Notice): Likewise.
7276         * modules/pipe (Status, Notice): Likewise.
7277         * modules/realloc (Status, Notice): Likewise.
7278         * modules/rename-dest-slash (Status, Notice): Likewise.
7279         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
7280         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
7281         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
7282         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
7283         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
7284
7285 2011-05-16  Bruno Haible  <bruno@clisp.org>
7286
7287         doc: List the target platforms.
7288         * doc/gnulib-intro.texi (Target Platforms): New section.
7289         * doc/gnulib.texi (Introduction): Update menu.
7290         * README (Portability guidelines): Refer to the new section. Update
7291         statement about oldest supported environment. Remove rationale why
7292         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
7293         unportable C89 function.
7294         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
7295         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
7296
7297 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
7298
7299         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
7300
7301 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
7302
7303         intprops-tests: new module
7304         * modules/intprops-tests, tests/test-intprops.c: New files.
7305
7306         intprops: add safe, portable integer overflow checking
7307         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
7308         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
7309         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
7310         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
7311         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
7312         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
7313         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
7314         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
7315         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
7316         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
7317         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
7318
7319 2011-05-12  James Youngman  <jay@gnu.org>
7320
7321         Add a test for glibc's Bugzilla bug #12378.
7322         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
7323         doesn't allow the literal matching of a lone "[" (which is
7324         required by POSIX).
7325         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
7326
7327 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
7328
7329         Sync glibc change fixing Bugzilla bug #12378.
7330         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
7331         beginning and fall back to matching as normal character if the
7332         string ends before the matching ']' is found.  This is what POSIX
7333         requires.
7334
7335 2011-05-13  Eric Blake  <eblake@redhat.com>
7336
7337         getcwd-lgpl: relax test for FreeBSD
7338         * doc/posix-functions/getcwd.texi (getcwd): Document portability
7339         issue.
7340         * tests/test-getcwd-lgpl.c (main): Relax test.
7341         Reported by Matthias Bolte.
7342
7343 2011-05-11  Eric Blake  <eblake@redhat.com>
7344
7345         test-fflush: silence compiler warning
7346         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
7347
7348 2011-05-11  Bruno Haible  <bruno@clisp.org>
7349
7350         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
7351         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
7352         * modules/canonicalize (Depends-on): Add 'nocrash'.
7353         * modules/canonicalize-lgpl (Depends-on): Likewise.
7354         * doc/posix-functions/realpath.texi: Update platforms list.
7355         Reported by Ryan Schmidt <ryandesign@macports.org>.
7356
7357 2011-05-11  Bruno Haible  <bruno@clisp.org>
7358
7359         group-member: Declare function in <unistd.h>.
7360         * lib/unistd.in.h (group_member): New declaration.
7361         * lib/group-member.h: Remove file.
7362         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
7363         * tests/test-unistd-c++.cc: Check signature of group_member.
7364         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
7365         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
7366         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
7367         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
7368         HAVE_GROUP_MEMBER.
7369         * modules/group-member (Files): Remove lib/group-member.h.
7370         (Depends-on): Add unistd. Specify conditions.
7371         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7372         (Include): Change to <unistd.h>.
7373         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
7374         HAVE_GROUP_MEMBER.
7375         * NEWS: Mention the change.
7376         * lib/euidaccess.c: Don't include group-member.h.
7377
7378 2011-05-11  Bruno Haible  <bruno@clisp.org>
7379
7380         group-member: Document module.
7381         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
7382         module.
7383
7384 2011-05-11  Bruno Haible  <bruno@clisp.org>
7385
7386         fclose: Fix mistake earlier today.
7387         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
7388
7389 2011-05-11  Eric Blake  <eblake@redhat.com>
7390
7391         fclose: preserve fflush errors
7392         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
7393         Reported by Jim Meyering.
7394
7395         bootstrap: support a prereq of 'rpcgen -' on RHEL5
7396         * build-aux/bootstrap (check_versions): When no specific version
7397         is required, merely check that the app produces an exit status
7398         that indicates its existence.
7399
7400         maint.mk: drop redundant check
7401         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
7402         the same but better.
7403
7404 2011-05-11  Bruno Haible  <bruno@clisp.org>
7405
7406         fclose: Fix possible link error.
7407         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
7408         unregister_shadow_fd. Improve comments.
7409         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
7410         Eric Blake.
7411
7412 2011-05-11  Jim Meyering  <meyering@redhat.com>
7413
7414         maint.mk: improve "can not" detection and generalize rule name
7415         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
7416         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
7417         Use the same technique as in sc_prohibit_doubled_word, so that
7418         we recognize "can not" also when the words are separated by a newline.
7419         Suggested by Eric Blake.
7420         (perl_filename_lineno_text_): Define.  Factored out of...
7421         (prohibit_doubled_word_): ...here.  Use the new definition.
7422         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
7423         (prohibit_undesirable_word_seq_RE_): New overridable variable.
7424         (ignore_undesirable_word_sequence_RE_): New overridable variable.
7425
7426 2011-05-10  Eric Blake  <eblake@redhat.com>
7427
7428         fclose: avoid double close race when possible
7429         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
7430         all but WINDOWS_SOCKETS.
7431
7432 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
7433
7434         openat: correct new comment
7435         * lib/openat-proc.c (openat_proc_name): Correct the comment.
7436
7437 2011-05-10  Jim Meyering  <meyering@redhat.com>
7438
7439         openat: add comments
7440         * lib/openat-proc.c (openat_proc_name): Add comments,
7441         mostly from Eric Blake.
7442
7443 2011-05-09  Eric Blake  <eblake@redhat.com>
7444
7445         openat: reduce syscalls in first probe of /proc
7446         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
7447         be a directory.  Simplify the probe for .. bugs.
7448         * modules/openat (Depends-on): Drop same-inode.
7449         Reported by Bastien ROUCARIES.
7450
7451 2011-05-09  Jim Meyering  <meyering@redhat.com>
7452
7453         maint.mk: change semantics/name of tight_scope variables
7454         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
7455         Rename variables to align with semantics that make them more useful.
7456
7457         maint.mk: tweak new rule's name not to impinge
7458         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
7459         (sc_tight_scope): Use new rule name rather than $@-0.
7460
7461         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
7462         * top/maint.mk (sc_tight_scope): New rule.
7463         (sc_tight_scope-0): New rule, ifdef'd out.
7464         (_gl_TS_dir): Default.
7465         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
7466         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
7467
7468 2011-05-09  Simon Josefsson  <simon@josefsson.org>
7469
7470         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
7471         Haible <bruno@clisp.org>.
7472
7473 2011-05-08  Bruno Haible  <bruno@clisp.org>
7474
7475         Comments.
7476         * m4/isnanf.m4: Add comment.
7477         * m4/isnanl.m4: Likewise.
7478
7479 2011-05-08  Bruno Haible  <bruno@clisp.org>
7480
7481         glob: Remove obsolete macro.
7482         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
7483
7484 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
7485
7486         intprops: Sun C 5.11 supports __typeof__
7487         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
7488         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
7489         which is new.
7490         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
7491
7492         intprops: switch to usual gnulib indenting and naming
7493         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
7494         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
7495
7496         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
7497
7498 2011-05-08  Jim Meyering  <meyering@redhat.com>
7499
7500         maint.mk: suppress "Entering/Leaving directory" diag in announcement
7501         * top/maint.mk (release-prep): Use make's --no-print-directory
7502         option when generating the announcement.  This eliminates the
7503         pesky "make[2]: Entering/Leaving directory" diagnostics in the
7504         generated announcement template.
7505
7506 2011-05-08  Bruno Haible  <bruno@clisp.org>
7507
7508         tzset: Fix gettimeofday wrapper on Solaris 2.6.
7509         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
7510         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
7511
7512 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
7513
7514         ignore-value, verify: Omit include files from lib_SOURCES.
7515         * modules/ignore-value, modules/verify (Makefile.am):
7516         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
7517         that leads Automake to duplicate use of am__objects_... variables
7518         in Makefile.in.  See
7519         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
7520
7521 2011-05-07  Bruno Haible  <bruno@clisp.org>
7522
7523         fclose: Simplify autoconf macro.
7524         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
7525         defined.
7526
7527 2011-05-07  Bruno Haible  <bruno@clisp.org>
7528
7529         canonicalize-lgpl: Fix autoconf macro ordering bug.
7530         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
7531         gl_STDLIB_H_DEFAULTS.
7532
7533 2011-05-06  Eric Blake  <eblake@redhat.com>
7534
7535         maintainer-makefile: make sc_po_check easier to tune
7536         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
7537         to probe for strings, such as an alternate location for gnulib.
7538
7539         fclose: guarantee behavior on seekable stdin
7540         * modules/fclose (Depends-on): Add fflush.
7541         * doc/posix-functions/fclose.texi (fclose): Document this.
7542         * tests/test-fclose.c (main): Make test for this unconditional.
7543
7544 2011-05-06  Bruno Haible  <bruno@clisp.org>
7545
7546         fflush, fpurge: Relicense under LGPLv2+.
7547         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
7548         * modules/fpurge (License): Likewise.
7549         With permission from Eric Blake and Jim Meyering.
7550         Suggested by Eric Blake.
7551
7552 2011-05-06  Karl Berry  <karl@gnu.org>
7553
7554         * MODULES.html.sh (func_all_modules): remove exit.
7555
7556 2011-05-06  Jim Meyering  <meyering@redhat.com>
7557
7558         maint.mk: use info-gnu@ as the default only for a stable release
7559         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
7560         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
7561         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
7562         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
7563
7564 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
7565
7566         assert-h: new module, which supports C1X-style static_assert
7567         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
7568         * lib/verify.h: Revamp so that this can be copied into assert.h,
7569         while retaining the ability to use it standalone as before.
7570         Rename private identifiers so as not to encroach on the
7571         standard C namespace, since this is now used by assert.h.
7572         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
7573         the old verify_true.
7574         (_GL_VERIFY_TRUE): New macro, with much of the contents of
7575         the old verify_true.  Use _GL_VERIFY_TYPE.
7576         (_GL_VERIFY): New macro, with much of the contents of the old verify.
7577         (static_assert): New macro, if _GL_STATIC_ASSERT_H
7578         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
7579         defined when this file is copied into the replacement assert.h.
7580         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
7581         and _Static_assert is not built in.
7582         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
7583         defined, and use the new macros mentioned above.
7584         * doc/posix-headers/assert.texi: Document this.
7585
7586 2011-05-05  Bruno Haible  <bruno@clisp.org>
7587
7588         fclose, fflush: Respect rules for use of AC_LIBOBJ.
7589         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
7590         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
7591         gl_REPLACE_FCLOSE here.
7592         * modules/fflush (Depends-on): Remove fclose.
7593         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
7594         combination with module 'fclose'.
7595
7596 2011-05-05  Bruno Haible  <bruno@clisp.org>
7597
7598         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
7599         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
7600         gl_FUNC_FFLUSH.
7601         (gl_FUNC_FFLUSH): Use it.
7602         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
7603         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
7604         gl_REPLACE_FSEEKO here.
7605
7606 2011-05-05  Bruno Haible  <bruno@clisp.org>
7607
7608         tzset: Relicense under LGPL.
7609         * modules/tzset (License): Change to LGPL.
7610         No agreement needed; it's a no-op.
7611
7612         strtoimax, strtoumax: Relicense under LGPL.
7613         * modules/strtoimax (License): Change to LGPL.
7614         * modules/strtoumax (License): Likewise.
7615         With permission from Jim Meyering, Paul Eggert:
7616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
7617         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
7618
7619         getgroups: Relicense under LGPL.
7620         * modules/getgroups (License): Change to LGPL.
7621         With permission from Jim Meyering, Paul Eggert, Eric Blake:
7622         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
7623         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
7624         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
7625
7626         nanosleep: Relicense under LGPL.
7627         * modules/nanosleep (License): Change to LGPL.
7628         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
7629         Haible:
7630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
7631         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
7632         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
7633         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
7634
7635         futimens: Relicense under LGPL.
7636         * modules/futimens (License): Change to LGPL.
7637         With permission from Eric Blake:
7638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
7639
7640         fflush: Relicense under LGPL.
7641         * modules/fflush (License): Change to LGPL.
7642         With permission from Eric Blake, Bruno Haible, Jim Meyering:
7643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
7644         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
7645         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
7646
7647         tmpfile: Relicense under LGPL.
7648         * modules/tmpfile (License): Change to LGPL.
7649         With permission from Ben Pfaff:
7650         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
7651
7652         isfinite: Relicense under LGPL.
7653         * modules/isfinite (License): Change to LGPL.
7654         With permission from Ben Pfaff, Bruno Haible:
7655         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
7656         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
7657
7658         acosl..tanl: Relicense under LGPL.
7659         * modules/acosl (License): Change to LGPL.
7660         * modules/asinl (License): Likewise.
7661         * modules/atanl (License): Likewise.
7662         * modules/cosl (License): Likewise.
7663         * modules/expl (License): Likewise.
7664         * modules/logl (License): Likewise.
7665         * modules/sinl (License): Likewise.
7666         * modules/sqrtl (License): Likewise.
7667         * modules/tanl (License): Likewise.
7668         Source code originally from glibc and Paolo Bonzini. Agreements:
7669         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
7670         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
7671
7672 2011-05-05  Bruno Haible  <bruno@clisp.org>
7673
7674         signal: Define sighandler_t.
7675         * lib/signal.in.h (sighandler_t): New type.
7676         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
7677         whether sighandler_t is defined.
7678         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
7679         * modules/signal (Depends-on): Add extensions.
7680         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
7681         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
7682         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
7683
7684 2011-05-05  Eric Blake  <eblake@redhat.com>
7685
7686         maint: remove useless REPLACE_*_H macros
7687         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
7688         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
7689         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
7690         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
7691         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
7692         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
7693         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
7694         * m4/btowc.m4: Update callers.
7695         * m4/dirfd.m4: Likewise.
7696         * m4/duplocale.m4: Likewise.
7697         * m4/fchdir.m4: Likewise.
7698         * m4/fdopendir.m4: Likewise.
7699         * m4/inet_ntop.m4: Likewise.
7700         * m4/inet_pton.m4: Likewise.
7701         * m4/ioctl.m4: Likewise.
7702         * m4/mbrlen.m4: Likewise.
7703         * m4/mbrtowc.m4: Likewise.
7704         * m4/mbsinit.m4: Likewise.
7705         * m4/mbsnrtowcs.m4: Likewise.
7706         * m4/mbsrtowcs.m4: Likewise.
7707         * m4/poll.m4: Likewise.
7708         * m4/setlocale.m4: Likewise.
7709         * m4/wcrtomb.m4: Likewise.
7710         * m4/wcsnrtombs.m4: Likewise.
7711         * m4/wcsrtombs.m4: Likewise.
7712         * m4/wctob.m4: Likewise.
7713         * m4/wcwidth.m4: Likewise.
7714         * modules/posix_spawn: Likewise.
7715         * modules/posix_spawn_file_actions_addclose: Likewise.
7716         * modules/posix_spawn_file_actions_adddup2: Likewise.
7717         * modules/posix_spawn_file_actions_addopen: Likewise.
7718         * modules/posix_spawn_file_actions_destroy: Likewise.
7719         * modules/posix_spawn_file_actions_init: Likewise.
7720         * modules/posix_spawnattr_destroy: Likewise.
7721         * modules/posix_spawnattr_getflags: Likewise.
7722         * modules/posix_spawnattr_getpgroup: Likewise.
7723         * modules/posix_spawnattr_getschedparam: Likewise.
7724         * modules/posix_spawnattr_getschedpolicy: Likewise.
7725         * modules/posix_spawnattr_getsigdefault: Likewise.
7726         * modules/posix_spawnattr_getsigmask: Likewise.
7727         * modules/posix_spawnattr_init: Likewise.
7728         * modules/posix_spawnattr_setflags: Likewise.
7729         * modules/posix_spawnattr_setpgroup: Likewise.
7730         * modules/posix_spawnattr_setschedparam: Likewise.
7731         * modules/posix_spawnattr_setschedpolicy: Likewise.
7732         * modules/posix_spawnattr_setsigdefault: Likewise.
7733         * modules/posix_spawnattr_setsigmask: Likewise.
7734         * modules/posix_spawnp: Likewise.
7735
7736 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
7737
7738         Add option to do-release-commit-and-tag to specify branch.
7739         * build-aux/do-release-commit-and-tag: Add --branch.
7740
7741 2011-05-03  Bruno Haible  <bruno@clisp.org>
7742
7743         Avoid unnecessary compilation units, through conditional dependencies.
7744         * modules/accept (Depends-on): Add conditions to the dependencies.
7745         * modules/acosl (Depends-on): Likewise.
7746         * modules/argz (Depends-on): Likewise.
7747         * modules/asinl (Depends-on): Likewise.
7748         * modules/atanl (Depends-on): Likewise.
7749         * modules/atoll (Depends-on): Likewise.
7750         * modules/bind (Depends-on): Likewise.
7751         * modules/btowc (Depends-on): Likewise.
7752         * modules/canonicalize-lgpl (Depends-on): Likewise.
7753         * modules/ceil (Depends-on): Likewise.
7754         * modules/ceilf (Depends-on): Likewise.
7755         * modules/ceill (Depends-on): Likewise.
7756         * modules/chdir-long (Depends-on): Likewise.
7757         * modules/chown (Depends-on): Likewise.
7758         * modules/close (Depends-on): Likewise.
7759         * modules/connect (Depends-on): Likewise.
7760         * modules/cosl (Depends-on): Likewise.
7761         * modules/dirfd (Depends-on): Likewise.
7762         * modules/dprintf (Depends-on): Likewise.
7763         * modules/dprintf-posix (Depends-on): Likewise.
7764         * modules/error (Depends-on): Likewise.
7765         * modules/euidaccess (Depends-on): Likewise.
7766         * modules/expl (Depends-on): Likewise.
7767         * modules/faccessat (Depends-on): Likewise.
7768         * modules/fchdir (Depends-on): Likewise.
7769         * modules/fclose (Depends-on): Likewise.
7770         * modules/fcntl (Depends-on): Likewise.
7771         * modules/fdopendir (Depends-on): Likewise.
7772         * modules/fflush (Depends-on): Likewise.
7773         * modules/floor (Depends-on): Likewise.
7774         * modules/floorf (Depends-on): Likewise.
7775         * modules/floorl (Depends-on): Likewise.
7776         * modules/fnmatch (Depends-on): Likewise.
7777         * modules/fopen (Depends-on): Likewise.
7778         * modules/fprintf-posix (Depends-on): Likewise.
7779         * modules/frexp (Depends-on): Likewise.
7780         * modules/frexp-nolibm (Depends-on): Likewise.
7781         * modules/frexpl (Depends-on): Likewise.
7782         * modules/frexpl-nolibm (Depends-on): Likewise.
7783         * modules/fseek (Depends-on): Likewise.
7784         * modules/fsusage (Depends-on): Likewise.
7785         * modules/ftell (Depends-on): Likewise.
7786         * modules/ftello (Depends-on): Likewise.
7787         * modules/futimens (Depends-on): Likewise.
7788         * modules/getcwd (Depends-on): Likewise.
7789         * modules/getcwd-lgpl (Depends-on): Likewise.
7790         * modules/getdelim (Depends-on): Likewise.
7791         * modules/getdomainname (Depends-on): Likewise.
7792         * modules/getgroups (Depends-on): Likewise.
7793         * modules/gethostname (Depends-on): Likewise.
7794         * modules/getline (Depends-on): Likewise.
7795         * modules/getlogin_r (Depends-on): Likewise.
7796         * modules/getopt-posix (Depends-on): Likewise.
7797         * modules/getpeername (Depends-on): Likewise.
7798         * modules/getsockname (Depends-on): Likewise.
7799         * modules/getsockopt (Depends-on): Likewise.
7800         * modules/getsubopt (Depends-on): Likewise.
7801         * modules/getusershell (Depends-on): Likewise.
7802         * modules/glob (Depends-on): Likewise.
7803         * modules/grantpt (Depends-on): Likewise.
7804         * modules/iconv_open (Depends-on): Likewise.
7805         * modules/iconv_open-utf (Depends-on): Likewise.
7806         * modules/inet_ntop (Depends-on): Likewise.
7807         * modules/inet_pton (Depends-on): Likewise.
7808         * modules/ioctl (Depends-on): Likewise.
7809         * modules/isapipe (Depends-on): Likewise.
7810         * modules/isfinite (Depends-on): Likewise.
7811         * modules/isinf (Depends-on): Likewise.
7812         * modules/lchown (Depends-on): Likewise.
7813         * modules/ldexpl (Depends-on): Likewise.
7814         * modules/link (Depends-on): Likewise.
7815         * modules/linkat (Depends-on): Likewise.
7816         * modules/listen (Depends-on): Likewise.
7817         * modules/logl (Depends-on): Likewise.
7818         * modules/lstat (Depends-on): Likewise.
7819         * modules/mbrlen (Depends-on): Likewise.
7820         * modules/mbrtowc (Depends-on): Likewise.
7821         * modules/mbsinit (Depends-on): Likewise.
7822         * modules/mbsnrtowcs (Depends-on): Likewise.
7823         * modules/mbsrtowcs (Depends-on): Likewise.
7824         * modules/mbtowc (Depends-on): Likewise.
7825         * modules/memcmp (Depends-on): Likewise.
7826         * modules/mkdir (Depends-on): Likewise.
7827         * modules/mkdtemp (Depends-on): Likewise.
7828         * modules/mkfifo (Depends-on): Likewise.
7829         * modules/mkfifoat (Depends-on): Likewise.
7830         * modules/mknod (Depends-on): Likewise.
7831         * modules/mkostemp (Depends-on): Likewise.
7832         * modules/mkostemps (Depends-on): Likewise.
7833         * modules/mkstemp (Depends-on): Likewise.
7834         * modules/mkstemps (Depends-on): Likewise.
7835         * modules/mktime (Depends-on): Likewise.
7836         * modules/nanosleep (Depends-on): Likewise.
7837         * modules/open (Depends-on): Likewise.
7838         * modules/openat (Depends-on): Likewise.
7839         * modules/perror (Depends-on): Likewise.
7840         * modules/poll (Depends-on): Likewise.
7841         * modules/popen (Depends-on): Likewise.
7842         * modules/posix_spawn (Depends-on): Likewise.
7843         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
7844         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
7845         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
7846         * modules/posix_spawnp (Depends-on): Likewise.
7847         * modules/pread (Depends-on): Likewise.
7848         * modules/printf-posix (Depends-on): Likewise.
7849         * modules/ptsname (Depends-on): Likewise.
7850         * modules/putenv (Depends-on): Likewise.
7851         * modules/pwrite (Depends-on): Likewise.
7852         * modules/readline (Depends-on): Likewise.
7853         * modules/readlink (Depends-on): Likewise.
7854         * modules/readlinkat (Depends-on): Likewise.
7855         * modules/recv (Depends-on): Likewise.
7856         * modules/recvfrom (Depends-on): Likewise.
7857         * modules/regex (Depends-on): Likewise.
7858         * modules/remove (Depends-on): Likewise.
7859         * modules/rename (Depends-on): Likewise.
7860         * modules/renameat (Depends-on): Likewise.
7861         * modules/rmdir (Depends-on): Likewise.
7862         * modules/round (Depends-on): Likewise.
7863         * modules/roundf (Depends-on): Likewise.
7864         * modules/roundl (Depends-on): Likewise.
7865         * modules/rpmatch (Depends-on): Likewise.
7866         * modules/select (Depends-on): Likewise.
7867         * modules/send (Depends-on): Likewise.
7868         * modules/sendto (Depends-on): Likewise.
7869         * modules/setenv (Depends-on): Likewise.
7870         * modules/setlocale (Depends-on): Likewise.
7871         * modules/setsockopt (Depends-on): Likewise.
7872         * modules/shutdown (Depends-on): Likewise.
7873         * modules/sigaction (Depends-on): Likewise.
7874         * modules/signbit (Depends-on): Likewise.
7875         * modules/sigprocmask (Depends-on): Likewise.
7876         * modules/sinl (Depends-on): Likewise.
7877         * modules/sleep (Depends-on): Likewise.
7878         * modules/snprintf (Depends-on): Likewise.
7879         * modules/snprintf-posix (Depends-on): Likewise.
7880         * modules/socket (Depends-on): Likewise.
7881         * modules/sprintf-posix (Depends-on): Likewise.
7882         * modules/sqrtl (Depends-on): Likewise.
7883         * modules/stat (Depends-on): Likewise.
7884         * modules/strchrnul (Depends-on): Likewise.
7885         * modules/strdup-posix (Depends-on): Likewise.
7886         * modules/strerror (Depends-on): Likewise.
7887         * modules/strerror_r-posix (Depends-on): Likewise.
7888         * modules/strndup (Depends-on): Likewise.
7889         * modules/strnlen (Depends-on): Likewise.
7890         * modules/strptime (Depends-on): Likewise.
7891         * modules/strsep (Depends-on): Likewise.
7892         * modules/strsignal (Depends-on): Likewise.
7893         * modules/strstr-simple (Depends-on): Likewise.
7894         * modules/strtod (Depends-on): Likewise.
7895         * modules/strtoimax (Depends-on): Likewise.
7896         * modules/strtok_r (Depends-on): Likewise.
7897         * modules/strtoumax (Depends-on): Likewise.
7898         * modules/symlink (Depends-on): Likewise.
7899         * modules/symlinkat (Depends-on): Likewise.
7900         * modules/tanl (Depends-on): Likewise.
7901         * modules/tcgetsid (Depends-on): Likewise.
7902         * modules/tmpfile (Depends-on): Likewise.
7903         * modules/trunc (Depends-on): Likewise.
7904         * modules/truncf (Depends-on): Likewise.
7905         * modules/truncl (Depends-on): Likewise.
7906         * modules/uname (Depends-on): Likewise.
7907         * modules/unlink (Depends-on): Likewise.
7908         * modules/unlockpt (Depends-on): Likewise.
7909         * modules/unsetenv (Depends-on): Likewise.
7910         * modules/usleep (Depends-on): Likewise.
7911         * modules/utimensat (Depends-on): Likewise.
7912         * modules/vasprintf (Depends-on): Likewise.
7913         * modules/vdprintf (Depends-on): Likewise.
7914         * modules/vdprintf-posix (Depends-on): Likewise.
7915         * modules/vfprintf-posix (Depends-on): Likewise.
7916         * modules/vprintf-posix (Depends-on): Likewise.
7917         * modules/vsnprintf (Depends-on): Likewise.
7918         * modules/vsnprintf-posix (Depends-on): Likewise.
7919         * modules/vsprintf-posix (Depends-on): Likewise.
7920         * modules/wcrtomb (Depends-on): Likewise.
7921         * modules/wcscasecmp (Depends-on): Likewise.
7922         * modules/wcscspn (Depends-on): Likewise.
7923         * modules/wcsdup (Depends-on): Likewise.
7924         * modules/wcsncasecmp (Depends-on): Likewise.
7925         * modules/wcsnrtombs (Depends-on): Likewise.
7926         * modules/wcspbrk (Depends-on): Likewise.
7927         * modules/wcsrtombs (Depends-on): Likewise.
7928         * modules/wcsspn (Depends-on): Likewise.
7929         * modules/wcsstr (Depends-on): Likewise.
7930         * modules/wcstok (Depends-on): Likewise.
7931         * modules/wcswidth (Depends-on): Likewise.
7932         * modules/wctob (Depends-on): Likewise.
7933         * modules/wctomb (Depends-on): Likewise.
7934         * modules/wctype (Depends-on): Likewise.
7935         * modules/wcwidth (Depends-on): Likewise.
7936         * modules/write (Depends-on): Likewise.
7937
7938 2011-05-03  Bruno Haible  <bruno@clisp.org>
7939
7940         Support for conditional dependencies.
7941         * doc/gnulib.texi (Module description): Document the syntax of
7942         conditional dependencies.
7943         * gnulib-tool: New option --conditional-dependencies.
7944         (func_usage): Document it.
7945         (cond_dependencies): New variable.
7946         (func_get_automake_snippet_conditional,
7947         func_get_automake_snippet_unconditional): New functions, extracted from
7948         func_get_automake_snippet.
7949         (func_get_automake_snippet): Use them.
7950         (sed_first_32_chars): New variable.
7951         (func_module_shellfunc_name): New function.
7952         (func_module_shellvar_name): New function.
7953         (func_module_conditional_name): New function.
7954         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
7955         func_cond_module_condition): New functions.
7956         (func_modules_transitive_closure): Add support for conditional
7957         dependencies.
7958         (func_emit_lib_Makefile_am): For a conditional module, enclose the
7959         conditional automake snippet in an automake conditional.
7960         (func_emit_autoconf_snippets): Emit shell functions that contain the
7961         code for conditional modules.
7962         (func_import, func_create_testdir): Update specification.
7963
7964 2011-05-03  Eric Blake  <eblake@redhat.com>
7965
7966         test-getaddrinfo: report error information
7967         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
7968
7969 2011-05-03  Jim Meyering  <meyering@redhat.com>
7970
7971         bootstrap: avoid build failure when $GZIP is set
7972         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
7973         program name.  If defined at all, it is supposed to list gzip options.
7974         Reported by Alan Curry in http://debbugs.gnu.org/8609
7975
7976 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
7977
7978         readme-release: new module with release instructions
7979         * modules/readme-release: New module.
7980         * top/README-release: New file, from coreutils, grep, diffutils.
7981         * MODULES.html.sh (Support for maintaining and releasing): Add it.
7982
7983 2011-05-02  Eric Blake  <eblake@redhat.com>
7984
7985         fflush: also replace fclose when fixing fflush
7986         * modules/fflush (Depends-on): Add fclose.
7987         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
7988         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
7989         memstreams with no backing fd.
7990         * doc/posix-functions/fclose.texi (fclose): Document the use of
7991         fflush module to fix the bug.
7992         * tests/test-fclose.c (main): Relax test when fclose is used in
7993         isolation.
7994
7995         fclose: add some tests
7996         * modules/fclose-tests: New test module.
7997         * tests/test-fclose.c: New file.
7998         * doc/posix-functions/fclose.texi (fclose): Document the bug.
7999
8000         fclose: reduced dependencies
8001         * modules/fclose (Depends-on): Switch from fflush/fseeko to
8002         simpler lseek.
8003         * lib/fclose.c (rpl_fclose): Likewise.
8004         Reported by Simon Josefsson.
8005
8006         exit: drop remaining clients
8007         * modules/argmatch (Depends-on): Replace exit with stdlib.
8008         * modules/copy-file (Depends-on): Likewise.
8009         * modules/execute (Depends-on): Likewise.
8010         * modules/exitfail (Depends-on): Likewise.
8011         * modules/obstack (Depends-on): Likewise.
8012         * modules/pagealign_alloc (Depends-on): Likewise.
8013         * modules/pipe-filter-gi (Depends-on): Likewise.
8014         * modules/pipe-filter-ii (Depends-on): Likewise.
8015         * modules/savewd (Depends-on): Likewise.
8016         * modules/spawn-pipe (Depends-on): Likewise.
8017         * modules/wait-process (Depends-on): Likewise.
8018         * modules/xsetenv (Depends-on): Likewise.
8019         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
8020         * modules/git-merge-changelog (Depends-on): Likewise.
8021         * modules/long-options (Depends-on): Likewise.
8022         * modules/pt_chown (Depends-on): Likewise.
8023         * modules/sysexits (Depends-on): Likewise.
8024
8025         freading: relax license from LGPLv3+ to LGPLv2+
8026         * modules/freading (License): Relax LGPL version.
8027
8028 2011-05-02  Bruno Haible  <bruno@clisp.org>
8029
8030         fchdir: Remove unused dependencies.
8031         * modules/fchdir (Depends-on): Remove include_next.
8032
8033 2011-05-02  Bruno Haible  <bruno@clisp.org>
8034
8035         gnulib-tool: Refactor.
8036         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
8037         from func_emit_autoconf_snippets.
8038         (func_emit_autoconf_snippets): Use it.
8039
8040 2011-05-02  Simon Josefsson  <simon@josefsson.org>
8041
8042         * NEWS: Document removal of 'exit'.
8043         * modules/exit: Remove file.
8044
8045 2011-05-01  Bruno Haible  <bruno@clisp.org>
8046
8047         Update DEPENDENCIES.
8048         * DEPENDENCIES (gettext): Recommend the newest release.
8049         Reported by Simon Josefsson.
8050
8051 2011-05-01  Bruno Haible  <bruno@clisp.org>
8052
8053         gnulib-tool: Reduce code duplication.
8054         * gnulib-tool (func_emit_autoconf_snippets): New function.
8055         (func_import, func_create_testdir): Use it.
8056
8057 2011-04-30  Eric Blake  <eblake@redhat.com>
8058
8059         fclose: don't fail on non-seekable input stream
8060         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
8061         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
8062         since fflush is allowed to fail in that case.
8063
8064 2011-04-30  Bruno Haible  <bruno@clisp.org>
8065
8066         dup3: cleanup
8067         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
8068
8069 2011-04-30  Bruno Haible  <bruno@clisp.org>
8070
8071         netdb: Make it work in C++ mode.
8072         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
8073         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
8074         module.
8075         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
8076         gl_MODULE_INDICATOR_FOR_TESTS.
8077         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
8078         * modules/netdb-c++-tests: New file.
8079         * tests/test-netdb-c++.cc: New file.
8080
8081 2011-04-30  Bruno Haible  <bruno@clisp.org>
8082
8083         New modules 'vfscanf', 'vscanf'.
8084         * modules/vfscanf: New file.
8085         * modules/vscanf: New file.
8086         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
8087         here.
8088         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
8089         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
8090
8091 2011-04-30  Bruno Haible  <bruno@clisp.org>
8092
8093         passfd: Add comments.
8094         * lib/passfd.c: Add comments about platforms.
8095
8096 2011-04-30  Bruno Haible  <bruno@clisp.org>
8097
8098         sys_uio: Make <sys/uio.h> self-contained.
8099         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
8100         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
8101
8102 2011-04-30  Bruno Haible  <bruno@clisp.org>
8103
8104         sys_socket: Ensure 'struct iovec' definition.
8105         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
8106         <sys/socket.h>.
8107         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
8108
8109 2011-04-30  Bruno Haible  <bruno@clisp.org>
8110
8111         sys_uio: Protect definition of 'struct iovec'.
8112         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
8113         it as a C struct.
8114
8115 2011-04-30  Bruno Haible  <bruno@clisp.org>
8116
8117         manywarnings: fix indentation
8118         * m4/manywarnings.m4: Indent by 2 spaces consistently.
8119
8120 2011-04-30  Pádraig Brady <P@draigBrady.com>
8121
8122         manywarnings: add -Wno-missing-field-initializers if needed.
8123         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
8124         option if it's needed to allow initialization with { 0, }
8125
8126 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
8127
8128         announce-gen: cosmetic improvement
8129         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
8130
8131 2011-04-29  Jim Meyering  <meyering@redhat.com>
8132
8133         vc-list-files: indent with spaces, not TABs
8134         * build-aux/vc-list-files: Convert leading TABs to spaces,
8135         to match the style of most other files in gnulib.
8136
8137         announce-gen: indent with spaces, not TABs
8138         * build-aux/announce-gen: Convert all TABs to spaces, to match
8139         the style of most other files in gnulib.
8140
8141 2011-04-29  Eric Blake  <eblake@redhat.com>
8142
8143         quotearg: avoid uninitialized variable use
8144         * lib/quotearg.c (quoting_options_from_style): Initialize
8145         remaining fields, and ensure that custom styles are only used via
8146         quoting_options rather than quoting_style.
8147
8148 2011-04-29  Jim Meyering  <meyering@redhat.com>
8149
8150         maint.mk: remove unused VC-tag variable
8151         * top/maint.mk (VC-tag): Remove unused variable.
8152
8153 2011-04-29  Bruno Haible  <bruno@clisp.org>
8154
8155         netdb: fix gai_strerror replacements
8156         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
8157         * modules/netdb: Substitute it.
8158
8159 2011-04-29  Jim Meyering  <meyering@redhat.com>
8160
8161         test-getcwd.c: avoid new set-but-not-used warning
8162         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
8163         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
8164         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
8165         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
8166
8167         test-hash.c: avoid a new shadowing warning
8168         * tests/test-hash.c (main): Don't shadow "dup".
8169
8170 2011-04-28  Eric Blake  <eblake@redhat.com>
8171
8172         getaddrinfo: fix gai_strerror signature
8173         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
8174         and work around mingw with UNICODE defined.
8175         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
8176         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
8177         * modules/netdb (Makefile.am): Substitute it.
8178         * lib/netdb.in.h (gai_strerror): Declare replacement.
8179         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
8180         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
8181         the fix.
8182
8183         getsockopt: avoid compiler warning
8184         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
8185         Reported by Matthias Bolte.
8186
8187         tests: drop unused link dependency
8188         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
8189         * modules/dirent-safer-tests (Makefile.am): Likewise.
8190         * modules/fdopendir-tests (Makefile.am): Likewise.
8191         * modules/mkfifoat-tests (Makefile.am): Likewise.
8192         * modules/openat-safer-tests (Makefile.am): Likewise.
8193         * modules/openat-tests (Makefile.am): Likewise.
8194         * modules/readlinkat-tests (Makefile.am): Likewise.
8195         * modules/symlinkat-tests (Makefile.am): Likewise.
8196         * modules/linkat-tests (Makefile.am): Likewise.
8197         (Depends-on): Switch to filenamecat-lgpl.
8198         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
8199         LIBINTL.
8200         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
8201         * tests/test-linkat.c (main): Don't require xalloc.
8202
8203         hash, mgetgroups: drop xalloc dependency
8204         * lib/hash.c (includes): Adjust includes.
8205         * lib/mgetgroups.c (includes): Likewise.
8206         (xgetgroups): Move...
8207         * lib/xgetgroups.c: ...to new file.
8208         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
8209         * modules/xgetgroups: New file, split from...
8210         * modules/mgetgroups: ...here.
8211         (Depends-on): Add xalloc-oversized.
8212         * modules/hash (Depends-on): Likewise.
8213         * modules/hash-tests (Depends-on): Drop xalloc.
8214         (test_hash_LDADD): Drop unused library.
8215         * tests/test-hash.c (main): Break xalloc dependency.
8216         (includes): Drop unused include.
8217
8218         xalloc-oversized: new module
8219         * modules/xalloc-oversized: New module.
8220         * modules/xalloc (Depends-on): Add it.
8221         * lib/xalloc.h (xalloc_oversized): Move...
8222         * lib/xalloc-oversized.h: ...into new file.
8223
8224         utimecmp: drop dependency on xmalloc
8225         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
8226         due to memory pressure.
8227         * modules/utimecmp (Depends-on): Drop xalloc.
8228
8229 2011-04-27  Eric Blake  <eblake@redhat.com>
8230
8231         getcwd: fix mingw bugs
8232         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
8233         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
8234         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
8235
8236 2011-04-27  Bruno Haible  <bruno@clisp.org>
8237
8238         mkstemps: Ensure declaration on MacOS X 10.5.
8239         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
8240         * doc/glibc-functions/mkstemps.texi: Document header file problem on
8241         MacOS X.
8242
8243 2011-04-27  Bruno Haible  <bruno@clisp.org>
8244
8245         mkstemp: More documentation.
8246         * doc/posix-functions/mkstemp.texi: Document header file problem on
8247         MacOS X.
8248
8249 2011-04-27  Bruno Haible  <bruno@clisp.org>
8250
8251         mkstemp: Tweak configure message when cross-compiling.
8252         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
8253         result as a guess.
8254
8255 2011-04-27  Bruno Haible  <bruno@clisp.org>
8256
8257         clean-temp: Clarify what it does.
8258         * lib/clean-temp.h: Add more comments.
8259         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
8260         module.
8261         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
8262         * doc/glibc-functions/mkstemps.texi: Likewise.
8263         * doc/glibc-functions/mkostemps.texi: Likewise.
8264
8265 2011-04-27  Eric Blake  <eblake@redhat.com>
8266
8267         fchdir: avoid extra chdir and fix test
8268         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
8269         getcwd-lgpl.
8270         * lib/fchdir.c (get_name): Any absolute name will do; it does not
8271         have to be canonical.
8272         (canonicalize_file_name): Drop unused macro.
8273         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
8274
8275         filenamecat-lgpl: fix licence
8276         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
8277         when it was first created.
8278
8279         linkat, renameat: add missing dependency
8280         * modules/linkat (Depends-on): Require getcwd-lgpl.
8281         * modules/renameat (Depends-on): Likewise.
8282
8283         tests: reduce dependencies
8284         * tests/test-linkat.c (main): Use lighter-weight getcwd.
8285         * tests/test-renameat.c (main): Likewise.
8286         * modules/linkat-tests (Depends-on): Relax dependency.
8287         * modules/renameat-tests (Depends-on): Likewise.
8288         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
8289         dependency explicit.
8290
8291         save-cwd: reduce default dependency
8292         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
8293         * lib/save-cwd.c: Update comments.
8294         * NEWS: Document the semantic change.
8295
8296         getcwd: enhance tests
8297         * tests/test-getcwd-lgpl.c: New file, taken from...
8298         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
8299         repeat long path stress tests from m4 probe.
8300         * modules/getcwd-lgpl-tests: New module.
8301         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
8302         * m4/getcwd-abort-bug.m4: Update comment.
8303         * m4/getcwd-path-max.m4: Likewise.
8304
8305         getcwd-lgpl: new module
8306         * modules/getcwd-lgpl: New module.
8307         * lib/getcwd-lgpl.c: New file.
8308         * doc/posix-functions/getcwd.texi (getcwd): Document it.
8309         * MODULES.html.sh (lacking POSIX:2008): Likewise.
8310         * modules/getcwd (configure.ac): Set C witness.
8311         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
8312
8313         getcwd: tweak comments
8314         * m4/getcwd-abort-bug.m4: Fix comments.
8315         * m4/getcwd-path-max.m4: Likewise.
8316         * m4/getcwd.m4: Likewise.
8317
8318 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
8319         and Eric Blake  <eblake@redhat.com>
8320
8321         mkstemp: replace if system version uses wrong permissions
8322         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
8323         read/write mode bits set in file created by mkstemp.
8324         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
8325
8326 2011-04-27  Eric Blake  <eblake@redhat.com>
8327
8328         passfd: avoid compiler warning
8329         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
8330         Reported by Laine Stump.
8331
8332 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
8333
8334         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
8335         required by the NetBSD (and perhaps other 4.4BSD derived) join.
8336
8337 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
8338         and Eric Blake  <eblake@redhat.com>
8339
8340         mkstemp: mention clean-temp module
8341         * lib/mkstemp.c: Add comment.
8342         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
8343
8344 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
8345
8346         inttypes: also provide default values for 32-bit tests
8347         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
8348         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
8349
8350 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8351
8352         strtoumax: remove dependency on strtoimax
8353         This is like the strtoull change of yesterday.
8354         * modules/strtoumax (Files): Add lib/strtoimax.c.
8355         (Depends-on): Remove strtoimax and add verify.
8356
8357         inttypes-incomplete: new module
8358         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
8359         all but the PRI* and SCN* parts of gl_INTTYPES_H.
8360         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
8361         of gl_INTTYPES_H.
8362         (gl_INTTYPES_H): Rewrite in terms of these new macros.
8363         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
8364         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
8365         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
8366         * modules/strtoumax, modules/xstrtol (Depends-on):
8367         Depend on inttypes-incomplete, not inttypes.
8368         * modules/inttypes-incomplete: New module, containing the contents
8369         of the old modules/inttypes module, except that the Files: section
8370         omits m4/inttypes-pri.m4, and the configure.ac section invokes
8371         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
8372         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
8373         (Depends-on): Depend only on inttypes-incomplete.
8374         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
8375
8376         inttypes: omit now-redundant strtoimax and strtoumax work
8377         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
8378         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
8379
8380         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
8381         This supports apps that need pointers to strtoimax and strtoumax,
8382         and ports to HP-UX 11.00 64.bit, which has macros that expand to
8383         nonexistent functions.  See
8384         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
8385         et seq.
8386         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
8387         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
8388         a macro.
8389         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
8390
8391 2011-04-25  Simon Josefsson  <simon@josefsson.org>
8392
8393         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
8394
8395 2011-04-25  Bruno Haible  <bruno@clisp.org>
8396
8397         strtol, strtoul: Mark modules as obsolete.
8398         * modules/strtol (Status, Notice): New sections.
8399         * modules/strtoul (Status, Notice): New sections.
8400
8401 2011-04-25  Bruno Haible  <bruno@clisp.org>
8402
8403         strtod: Remove check for strtod, unless supporting old platforms.
8404         * modules/strtod-obsolete: New file.
8405         * m4/strtod-obsolete.m4: New file.
8406         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
8407         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
8408         * modules/strtod (Depends-on): Add strtod-obsolete.
8409         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
8410
8411 2011-04-25  Bruno Haible  <bruno@clisp.org>
8412
8413         strcase: Make module obsolete.
8414         * modules/strcase (Status, Notice): New sections.
8415
8416 2011-04-25  Bruno Haible  <bruno@clisp.org>
8417
8418         dup2: Remove check for dup2, unless supporting old obsolete platforms.
8419         * modules/dup2-obsolete: New file.
8420         * m4/dup2-obsolete.m4: New file.
8421         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
8422         gl_FUNC_DUP2_OBSOLETE is not also defined.
8423         * modules/dup2 (Depends-on): Add dup2-obsolete.
8424         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
8425
8426 2011-04-25  Bruno Haible  <bruno@clisp.org>
8427
8428         strnlen: Avoid memchr related link error on old obsolete platforms.
8429         * modules/memchr-obsolete: New file.
8430         * m4/memchr-obsolete.m4: New file.
8431         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
8432         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
8433         * modules/memchr (Depends-on): Add memchr-obsolete.
8434         * modules/strnlen (Depends-on): Likewise.
8435         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
8436
8437 2011-04-25  Jim Meyering  <meyering@redhat.com>
8438
8439         maint.mk: makefile_at_at_check extend and clean up
8440         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
8441         in addition to */Makefile.am.
8442         Exempt legitimate uses of @VAR@ notation, e.g.,
8443         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
8444         Remove obsolete coreutils-specific comment.
8445         Prompted by discussion here:
8446         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
8447
8448 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8449
8450         strtoul: remove dependency on strtol
8451         This is so that 'configure' need not check for strtol merely because
8452         the application needs strtoul.
8453         * modules/strtoul (Files): Add lib/strtol.c.
8454         (Depends-on): Remove strtol.
8455
8456         strtoull: remove dependency on strtoul
8457         This is like the strtoll change.
8458         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
8459         (Depends-on): Remove strtoul.
8460
8461         strtoll: remove dependency on strtol
8462         This is so that 'configure' need not check for strtol merely because
8463         the application needs strtoll.
8464         * modules/strtoll (Files): Add lib/strtol.c.
8465         (Depends-on): Remove strtol.
8466
8467 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8468
8469         inttypes: Move some configure check to module 'imaxdiv'.
8470         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
8471         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
8472         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
8473
8474 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8475
8476         inttypes: Move some configure check to module 'imaxabs'.
8477         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
8478         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
8479         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
8480
8481 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8482
8483         inttypes: Remove configure tests that are not needed since 2009-12-31.
8484         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
8485         gl_cv_header_working_inttypes_h.
8486
8487 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8488
8489         * modules/strnlen (Depends-on): Remove memchr.
8490         The strnlen implementation doesn't need the memchr module's fixes; see
8491         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
8492
8493         strtol: remove dependency on wchar
8494         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
8495         * modules/strtol (Depends-on): Remove wchar.
8496
8497 2011-04-21  Eric Blake  <eblake@redhat.com>
8498
8499         passfd: fix test regression on Linux
8500         * modules/passfd-tests (configure.ac): Correct socketpair check.
8501
8502         passfd: speed up configure and drop unused code
8503         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
8504         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
8505         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
8506         Instead of probing at configure for unix_scm_rights_bsd44_way,
8507         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
8508         check to a struct member probe.
8509         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
8510         (sendfd, recvfd): Update preprocessor checks.
8511         * modules/passfd (Files): Reflect rename, and drop unused file.
8512         (Depends-on): Drop unused dependency.
8513
8514         passfd: allow compilation on mingw
8515         * modules/sys_socket (Depends-on): Add sys_uio.
8516         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
8517         iovec and a minimal struct msghdr.
8518         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
8519         * tests/test-sys_socket.c (main): Enhance test.
8520         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
8521         guaranteed to provide what we need.
8522         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
8523         * modules/passfd-tests (Depends-on): Add sys_wait.
8524         * tests/test-passfd.c (main): Skip test on mingw, for now.
8525         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
8526         partial 'struct msghdr' implementation.
8527
8528         sys_uio: new module
8529         * modules/sys_uio: New module.
8530         * modules/sys_uio-tests: Likewise.
8531         * lib/sys_uio.in.h: New file.
8532         * m4/sys_uio_h.m4: Likewise.
8533         * tests/test-sys_uio.c: Likewise.
8534         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
8535         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
8536
8537 2011-04-20  Jim Meyering  <meyering@redhat.com>
8538
8539         useless-if-before-free: avoid false-positive
8540         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
8541         disjunct so that it too requires a terminating ";".  Without that,
8542         this script would identify as useless one statement from gcc that
8543         was not:
8544           if (aligned_ptr)
8545             free (((void **) aligned_ptr) [-1]);
8546
8547 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
8548
8549         doc: update users.txt.
8550         * users.txt: Add barcode.
8551
8552 2011-04-19  Bruno Haible  <bruno@clisp.org>
8553
8554         ioctl: Remove link dependency on native Windows.
8555         * lib/fd-hook.h: Renamed from lib/close-hook.h.
8556         (gl_close_fn, gl_ioctl_fn): New types.
8557         (struct fd_hook): Renamed from struct close_hook. Change type of
8558         private_close_fn field. Add private_ioctl_fn field.
8559         (close_hook_fn): Add parameter for primary close method.
8560         (execute_close_hooks, execute_all_close_hooks): Likewise.
8561         (ioctl_hook_fn): New type.
8562         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
8563         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
8564         argument.
8565         (unregister_fd_hook): Renamed from unregister_close_hook.
8566         * lib/fd-hook.c: Renamed from lib/close-hook.c.
8567         Don't include <unistd.h>.
8568         (close): Remove undef.
8569         (anchor): Update.
8570         (execute_close_hooks): Add argument for primary close method.
8571         (execute_all_close_hooks): Likewise.
8572         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
8573         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
8574         argument. Allow each argument to be NULL.
8575         (unregister_fd_hook): Renamed from unregister_close_hook.
8576         * lib/close.c (rpl_close): Pass 'close' function pointer to
8577         execute_all_close_hooks.
8578         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
8579         (primary_ioctl): New function.
8580         (ioctl): Don't call ioctlsocket here. Instead, call
8581         execute_all_ioctl_hooks.
8582         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
8583         close method.
8584         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
8585         (fd_sockets_hook): Renamed from close_sockets_hook.
8586         (gl_sockets_startup, gl_sockets_cleanup): Update.
8587         * modules/fd-hook: Renamed from modules/close-hook. Update.
8588         * modules/close (Depends-on): Add fd-hook, remove close-hook.
8589         * modules/sockets (Depends-on): Likewise.
8590         * modules/ioctl (Depends-on): Add fd-hook.
8591         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
8592         GNULIB_SOCKET.
8593
8594 2011-04-19  Bruno Haible  <bruno@clisp.org>
8595
8596         Move the support of O_NONBLOCK in open() to the 'open' module.
8597         * modules/nonblocking (Depends-on): Remove 'open'.
8598         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
8599         gl_cv_have_open_O_NONBLOCK.
8600         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
8601         O_NONBLOCK support.
8602         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
8603
8604 2011-04-17  Bruno Haible  <bruno@clisp.org>
8605
8606         pipe2: Simplify code.
8607         * lib/pipe2.c (pipe2): Reduce code duplication.
8608
8609 2011-04-17  Bruno Haible  <bruno@clisp.org>
8610
8611         nonblocking: Add comment.
8612         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
8613
8614 2011-04-17  Bruno Haible  <bruno@clisp.org>
8615
8616         nonblocking: Add tests for sockets.
8617         * tests/test-nonblocking-socket.sh: New file.
8618         * tests/test-nonblocking-socket-main.c: New file.
8619         * tests/test-nonblocking-socket-child.c: New file.
8620         * tests/test-nonblocking-socket.h: New file.
8621         * tests/socket-server.h: New file.
8622         * tests/socket-client.h: New file.
8623         * modules/nonblocking-socket-tests: New file.
8624         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
8625
8626 2011-04-17  Bruno Haible  <bruno@clisp.org>
8627
8628         nonblocking: Add tests for pipes.
8629         * tests/test-nonblocking-pipe.sh: New file.
8630         * tests/test-nonblocking-pipe-main.c: New file.
8631         * tests/test-nonblocking-pipe-child.c: New file.
8632         * tests/test-nonblocking-pipe.h: New file.
8633         * tests/test-nonblocking-writer.h: New file.
8634         * tests/test-nonblocking-reader.h: New file.
8635         * tests/test-nonblocking-misc.h: New file.
8636         * modules/nonblocking-pipe-tests: New file.
8637         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
8638
8639 2011-04-16  Bruno Haible  <bruno@clisp.org>
8640
8641         gettext: Clarify the needed programmer actions.
8642         * modules/gettext (Notice): New field.
8643         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
8644
8645 2011-04-16  Bruno Haible  <bruno@clisp.org>
8646
8647         strchrnul: Tweak last commit.
8648         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
8649         bug.
8650         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
8651         as in _GL_FUNCDECL_SYS.
8652         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
8653         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
8654
8655 2011-04-15  Eric Blake  <eblake@redhat.com>
8656
8657         strchrnul: work around cygwin bug
8658         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
8659         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
8660         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
8661         * modules/string (Makefile.am): Substitute it.
8662         * lib/string.in.h (strchrnul): Use it.
8663
8664 2011-04-15  Bruno Haible  <bruno@clisp.org>
8665
8666         Don't require lib/stdio-write.c when only module 'stdio' is used.
8667         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
8668         invocation.
8669         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
8670
8671 2011-04-14  Bruno Haible  <bruno@clisp.org>
8672
8673         Support non-blocking pipe I/O in read() on native Windows.
8674         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
8675         (read): New declaration.
8676         * lib/read.c: New file.
8677         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
8678         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
8679         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
8680         vscanf): New declarations.
8681         * lib/stdio-read.c: New file.
8682         * m4/read.m4: New file.
8683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
8684         REPLACE_READ.
8685         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
8686         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
8687         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
8688         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
8689         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
8690         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
8691         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
8692         * modules/read: New file.
8693         * modules/nonblocking (Files): Add lib/stdio-read.c.
8694         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
8695         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
8696         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
8697         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
8698         * modules/pread (Depends-on): Add read.
8699         * modules/safe-read (Depends-on): Likewise.
8700         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
8701         gets, scanf, vfscanf, vscanf): Verify signatures.
8702         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
8703         problem with non-blocking pipes.
8704         * doc/posix-functions/fgetc.texi: Likewise.
8705         * doc/posix-functions/fgets.texi: Likewise.
8706         * doc/posix-functions/fread.texi: Likewise.
8707         * doc/posix-functions/fscanf.texi: Likewise.
8708         * doc/posix-functions/getc.texi: Likewise.
8709         * doc/posix-functions/getchar.texi: Likewise.
8710         * doc/posix-functions/gets.texi: Likewise.
8711         * doc/posix-functions/scanf.texi: Likewise.
8712         * doc/posix-functions/vfscanf.texi: Likewise.
8713         * doc/posix-functions/vscanf.texi: Likewise.
8714
8715 2011-04-14  Bruno Haible  <bruno@clisp.org>
8716
8717         Support non-blocking pipe I/O in write() on native Windows.
8718         * lib/write.c (rpl_write): Split a write request that failed merely
8719         because the byte count was larger than the pipe buffer's size.
8720         * doc/posix-functions/write.texi: Mention the problem with large byte
8721         counts.
8722
8723 2011-04-14  Bruno Haible  <bruno@clisp.org>
8724
8725         wchar: Ensure that wchar_t gets defined on uClibc.
8726         * lib/wchar.in.h: On uClibc, include <stddef.h>.
8727         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
8728
8729 2011-04-13  Bruno Haible  <bruno@clisp.org>
8730
8731         safe-write, full-read: Avoid unnecessary compilation units.
8732         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
8733         (Depends-on): Remove safe-read. Add ssize_t.
8734         * modules/full-read (Files): Add lib/full-write.c.
8735         (Depends-on): Add full-write.
8736
8737 2011-04-13  Bruno Haible  <bruno@clisp.org>
8738
8739         Support non-blocking pipe I/O and SIGPIPE in pwrite().
8740         * modules/pwrite (Depends-on): Add 'write'.
8741
8742 2011-04-13  Bruno Haible  <bruno@clisp.org>
8743
8744         Support non-blocking pipe I/O in write() on native Windows.
8745         * lib/unistd.in.h (write): Enable replacement also if
8746         GNULIB_UNISTD_H_NONBLOCKING is 1.
8747         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
8748         (rpl_write): When failing to write on a non-blocking pipe, change
8749         errno from ENOSPC to EAGAIN.
8750         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
8751         putchar, puts, vfprintf, vprintf): Enable replacement also if
8752         GNULIB_STDIO_H_NONBLOCKING is 1.
8753         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
8754         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
8755         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
8756         CALL_WITH_SIGPIPE_EMULATION.
8757         (CALL_WITH_SIGPIPE_EMULATION): Use them.
8758         * m4/nonblocking.m4: New file.
8759         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
8760         for non-blocking I/O support.
8761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8762         GNULIB_UNISTD_H_NONBLOCKING.
8763         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
8764         required for non-blocking I/O support.
8765         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
8766         * modules/nonblocking (Files): Add m4/nonblocking.m4,
8767         lib/stdio-write.c, m4/asm-underscore.m4.
8768         (Depends-on): Add stdio, unistd.
8769         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
8770         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
8771         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
8772         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
8773         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
8774         problem with non-blocking pipes.
8775         * doc/posix-functions/fputc.texi: Likewise.
8776         * doc/posix-functions/fputs.texi: Likewise.
8777         * doc/posix-functions/fwrite.texi: Likewise.
8778         * doc/posix-functions/printf.texi: Likewise.
8779         * doc/posix-functions/putc.texi: Likewise.
8780         * doc/posix-functions/putchar.texi: Likewise.
8781         * doc/posix-functions/puts.texi: Likewise.
8782         * doc/posix-functions/vfprintf.texi: Likewise.
8783         * doc/posix-functions/vprintf.texi: Likewise.
8784         * doc/posix-functions/write.texi: Likewise.
8785
8786 2011-04-10  Jim Meyering  <meyering@redhat.com>
8787
8788         maint.mk: prohibit doubled words
8789         Detect them also when they're separated by a newline.
8790         There are 3 ways to customize it:
8791           - disable the test on a per file basis, as usual with rules using
8792             $(VC_LIST_EXCEPT)
8793           - replace the default doubled-word-selecting regexp (affects all files)
8794           - ignore a particular file-vs-doubled-word match
8795         I nearly used that last one to ignore the "is is" match in
8796         coreutils' NEWS file, since the text was "ls -is is ..."
8797         To do that, I would have added this line to cfg.mk:
8798           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
8799         but it would have ignored any "is is" match in NEWS.
8800         Low probability, but still...
8801         Instead, I changed the text, slightly:
8802           -  ls -is is now consistent with ls -lis in ignoring values returned
8803           +  "ls -is" is now consistent with ls -lis in ignoring values returned
8804         * top/maint.mk (prohibit_double_word_RE_): Provide default.
8805         (prohibit_doubled_word_): Define.
8806         (sc_prohibit_doubled_word): New rule.
8807         (sc_prohibit_the_the): Remove.  Subsumed by the above.
8808
8809 2011-04-10  Jim Meyering  <meyering@redhat.com>
8810
8811         maint: fix doubled-word typo in comment
8812         * m4/gethostname.m4: s/is is/it is/
8813         * m4/getdomainname.m4: Likewise.
8814
8815 2011-04-10  Jim Meyering  <meyering@redhat.com>
8816
8817         maint: remove doubled word: s/it it/it/
8818         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
8819
8820 2011-04-10  Jim Meyering  <meyering@redhat.com>
8821
8822         maint.mk: remove useless semicolon and backslash
8823         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
8824         semicolon and backslash.
8825
8826 2011-04-10  Bruno Haible  <bruno@clisp.org>
8827
8828         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
8829         * modules/stdint-tests (Depends-on): Add wchar.
8830
8831 2011-04-10  Jim Meyering  <meyering@redhat.com>
8832
8833         maint: remove doubled words in comments, e.g., s/a a/a/
8834         * lib/strptime.c (day_of_the_week): s/the the/the/
8835         * tests/test-chown.h (test_chown): s/a a/a/
8836
8837         test-chown.h: correct a cast
8838         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
8839         when the destination is a stat.st_gid.
8840
8841 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
8842
8843         getaddrinfo: Fix test for sa_len member.
8844         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
8845         include <sys/types.h> before <sys/socket.h>.
8846
8847 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8848
8849         maint: change "can not" to "cannot"
8850         * doc/posix-functions/iconv.texi (iconv): This one crossed line
8851         boundaries.
8852
8853 2011-04-09  Jim Meyering  <meyering@redhat.com>
8854
8855         maint: change "a a" to "a"
8856         * tests/test-lchown.h (test_lchown): s/a a/a/
8857
8858         maint.mk: prohibit \<the the\>
8859         * top/maint.mk (sc_prohibit_the_the): New rule.
8860
8861         maint: fix "the the" in comment
8862         * lib/count-one-bits.h: s/the the/the/
8863
8864         maint: change "can not" to "cannot"
8865         But do not change the occurrences in maintain.texi or in
8866         build-aux/po/Makefile.in.in, which I presume comes from gettext.
8867         * doc/gnulib-tool.texi: s/can not/cannot/
8868         * doc/posix-functions/accept.texi (accept): Likewise.
8869         * doc/posix-functions/socket.texi (socket): Likewise.
8870         * lib/mbrtowc.c: Likewise.
8871
8872         maint.mk: prohibit use of "can not"
8873         * top/maint.mk (sc_prohibit_can_not): New rule.
8874         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
8875
8876 2011-04-09  Bruno Haible  <bruno@clisp.org>
8877
8878         careadlinkat: Guard against misuse of careadlinkatcwd.
8879         * lib/careadlinkat.c: Include <stdlib.h>.
8880         (careadlinkatcwd): Check that the fd argument is as expected.
8881
8882 2011-04-09  Bruno Haible  <bruno@clisp.org>
8883
8884         careadlinkat: Use common coding style.
8885         * lib/careadlinkat.c: Move gnulib includes after system includes.
8886
8887 2011-04-09  Bruno Haible  <bruno@clisp.org>
8888
8889         careadlinkat: Clarify specification.
8890         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
8891         (careadlinkatcwd): Add comment.
8892         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
8893
8894 2011-04-09  Bruno Haible  <bruno@clisp.org>
8895
8896         areadlinkat: Avoid link error on many platforms.
8897         * modules/areadlinkat (Depends-on): Add areadlink.
8898
8899 2011-04-09  Bruno Haible  <bruno@clisp.org>
8900
8901         allocator, careadlinkat: Fix double-inclusion guard.
8902         * lib/allocator.h: Fix double-inclusion guard.
8903         * lib/careadlinkat.h: Likewise.
8904
8905 2011-04-09  Bruno Haible  <bruno@clisp.org>
8906
8907         relocatable-prog-wrapper: Update after module 'areadlink' changed.
8908         * lib/relocwrapper.c: Update dependencies hierarchy.
8909         * build-aux/install-reloc: Update list of files to be compiled.
8910         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
8911         lib/allocator.[hc].
8912
8913 2011-04-08  Eric Blake  <eblake@redhat.com>
8914
8915         strftime: silence gnulib-tool warning
8916         * modules/strftime-tests (Depends-on): Drop automatic dependency.
8917
8918 2011-04-08  Bruno Haible  <bruno@clisp.org>
8919
8920         verify: Fix syntax error with GCC 4.6 in C++ mode.
8921         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
8922         (HAVE_STATIC_ASSERT): New macro.
8923         (verify_true, verify): Use 'static_assert' if it is supported and
8924         '_Static_assert' is not supported.
8925
8926 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8927
8928         allocator: New module.
8929         * modules/allocator, lib/allocator.c: New files.
8930         * lib/allocator.h (stdlib_allocator): New decl.
8931         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
8932         Remove.  Do not include <stdlib.h>.
8933         (careadlinkat): Use stdlib_allocator instead of rolling our own.
8934         * modules/careadlinkat (Files): Remove lib/allocator.h.
8935         (Depends-on): Add allocator.
8936
8937         stdlib: let modules use system malloc, realloc
8938         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
8939         if !_GL_USE_STDLIB_ALLOC.
8940         (malloc, realloc): Limit this change to a smaller scope.
8941
8942         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
8943         (malloc, realloc): Don't #undef; no longer needed.
8944         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8945         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8946         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
8947         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8948         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8949         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8950         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8951         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
8952
8953         careadlinkat: rename members to avoid problem
8954         * lib/allocator.h (struct allocator): Rename members from
8955         malloc/realloc to allocate/reallocate, to avoid problems if malloc
8956         and realloc are #define'd.  Reported by Eric Blake in
8957         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
8958         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
8959
8960 2011-04-08  Eric Blake  <eblake@redhat.com>
8961
8962         nonblocking: reduce dependency
8963         * tests/test-nonblocking.c: Only test sockets when in use.
8964         * modules/nonblocking-tests (Depends-on): Drop socket.
8965         (Makefile.am): Link even if sockets are not present.
8966         * modules/pipe2-tests (Makefile.am): Likewise.
8967         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
8968
8969         pipe2: fix O_NONBLOCK support on mingw
8970         * modules/pipe2 (Depends-on): Add nonblocking.
8971         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
8972         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
8973         * tests/test-nonblocking.c (main): Likewise.
8974         * modules/pipe2-tests (Makefile.am): Avoid link failure.
8975
8976         fcntl-h: fix O_ACCMODE on cygwin
8977         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
8978         * lib/fcntl.in.h (O_ACCMODE): Fix it.
8979
8980         pipe-filter: drop O_NONBLOCK workarounds
8981         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
8982         * modules/pipe-filter-ii (Depends-on): Likewise.
8983         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
8984
8985         nonblocking: provide O_NONBLOCK for mingw
8986         * modules/nonblocking (Depends-on): Add open.
8987         (configure.ac): Set new witness macro.
8988         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
8989         * modules/fcntl-h (Makefile.am): Substitute it.
8990         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
8991         nonblocking module is in use.
8992         * lib/nonblocking.c: Adjust portability test.
8993         * lib/open.c (open): Don't let native open see gnulib flag.
8994         * tests/test-fcntl-h.c (main): Enhance test.
8995         * tests/test-open.h (test_open): Likewise.
8996         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
8997
8998         careadlinkat: fix compilation error on mingw
8999         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
9000         within struct allocator.
9001
9002 2011-04-06  Eric Blake  <eblake@redhat.com>
9003
9004         binary-io: relicense under LGPLv2+
9005         * modules/binary-io (License): Relax to LGPLv2+.
9006         Requested for libvirt, and required by pipe2.
9007
9008 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
9009
9010         verify: use _Static_assert if available
9011         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
9012         (verify_true, verify): Use it if available.  This generates better
9013         diagnostics with GCC 4.6.0 and later.
9014
9015 2011-04-05  Bruno Haible  <bruno@clisp.org>
9016
9017         Remove leftover generated .h files after config.status changed.
9018
9019         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
9020         GL_GENERATE_ALLOCA_H.
9021         * modules/alloca-opt (Makefile.am): Remove alloca.h if
9022         GL_GENERATE_ALLOCA_H evaluates to false.
9023
9024         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
9025         GL_GENERATE_ARGZ_H.
9026         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
9027         evaluates to false.
9028
9029         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
9030         GL_GENERATE_BYTESWAP_H.
9031         * modules/byteswap (Makefile.am): Remove byteswap.h if
9032         GL_GENERATE_BYTESWAP_H evaluates to false.
9033
9034         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
9035         GL_GENERATE_ERRNO_H.
9036         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
9037         evaluates to false.
9038
9039         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
9040         GL_GENERATE_FLOAT_H.
9041         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
9042         evaluates to false.
9043
9044         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
9045         GL_GENERATE_FNMATCH_H.
9046         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
9047         GL_GENERATE_FNMATCH_H evaluates to false.
9048
9049         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
9050         GL_GENERATE_GLOB_H.
9051         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
9052         evaluates to false.
9053
9054         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
9055         automake conditional GL_GENERATE_ICONV_H.
9056         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
9057         evaluates to false.
9058
9059         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
9060         GL_GENERATE_NETINET_IN_H.
9061         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
9062         GL_GENERATE_NETINET_IN_H evaluates to false.
9063
9064         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
9065         conditional GL_GENERATE_PTHREAD_H.
9066         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
9067         * modules/pthread (Makefile.am): Remove pthread.h if
9068         GL_GENERATE_PTHREAD_H evaluates to false.
9069
9070         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
9071         GL_GENERATE_SCHED_H.
9072         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
9073         evaluates to false.
9074
9075         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
9076         conditional GL_GENERATE_SELINUX_CONTEXT_H.
9077         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
9078         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
9079
9080         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
9081         GL_GENERATE_STDARG_H.
9082         * modules/stdarg (Makefile.am): Remove stdarg.h if
9083         GL_GENERATE_STDARG_H evaluates to false.
9084
9085         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
9086         GL_GENERATE_STDBOOL_H.
9087         * modules/stdbool (Makefile.am): Remove stdbool.h if
9088         GL_GENERATE_STDBOOL_H evaluates to false.
9089
9090         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
9091         conditional GL_GENERATE_STDDEF_H.
9092         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
9093         * modules/stddef (Makefile.am): Remove stddef.h if
9094         GL_GENERATE_STDDEF_H evaluates to false.
9095
9096         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
9097         GL_GENERATE_STDINT_H.
9098         * modules/stdint (Makefile.am): Remove stdint.h if
9099         GL_GENERATE_STDINT_H evaluates to false.
9100
9101         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
9102         GL_GENERATE_SYSEXITS_H.
9103         * modules/sysexits (Makefile.am): Remove sysexits.h if
9104         GL_GENERATE_SYSEXITS_H evaluates to false.
9105
9106         Reported by Karl Berry and Ralf Wildenhues.
9107
9108 2011-04-05  Bruno Haible  <bruno@clisp.org>
9109
9110         Ensure to rebuild generated .h files when config.status has changed.
9111         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
9112         config.status.
9113         * modules/ctype (Makefile.am): Likewise.
9114         * modules/dirent (Makefile.am): Likewise.
9115         * modules/errno (Makefile.am): Likewise.
9116         * modules/fcntl-h (Makefile.am): Likewise.
9117         * modules/float (Makefile.am): Likewise.
9118         * modules/getopt-posix (Makefile.am): Likewise.
9119         * modules/glob (Makefile.am): Likewise.
9120         * modules/iconv-h (Makefile.am): Likewise.
9121         * modules/inttypes (Makefile.am): Likewise.
9122         * modules/langinfo (Makefile.am): Likewise.
9123         * modules/locale (Makefile.am): Likewise.
9124         * modules/math (Makefile.am): Likewise.
9125         * modules/netdb (Makefile.am): Likewise.
9126         * modules/netinet_in (Makefile.am): Likewise.
9127         * modules/poll-h (Makefile.am): Likewise.
9128         * modules/pthread (Makefile.am): Likewise.
9129         * modules/pty (Makefile.am): Likewise.
9130         * modules/sched (Makefile.am): Likewise.
9131         * modules/search (Makefile.am): Likewise.
9132         * modules/selinux-h (Makefile.am): Likewise.
9133         * modules/signal (Makefile.am): Likewise.
9134         * modules/spawn (Makefile.am): Likewise.
9135         * modules/stdarg (Makefile.am): Likewise.
9136         * modules/stdbool (Makefile.am): Likewise.
9137         * modules/stddef (Makefile.am): Likewise.
9138         * modules/stdint (Makefile.am): Likewise.
9139         * modules/stdio (Makefile.am): Likewise.
9140         * modules/stdlib (Makefile.am): Likewise.
9141         * modules/string (Makefile.am): Likewise.
9142         * modules/strings (Makefile.am): Likewise.
9143         * modules/sys_file (Makefile.am): Likewise.
9144         * modules/sys_ioctl (Makefile.am): Likewise.
9145         * modules/sys_select (Makefile.am): Likewise.
9146         * modules/sys_socket (Makefile.am): Likewise.
9147         * modules/sys_stat (Makefile.am): Likewise.
9148         * modules/sys_time (Makefile.am): Likewise.
9149         * modules/sys_times (Makefile.am): Likewise.
9150         * modules/sys_utsname (Makefile.am): Likewise.
9151         * modules/sys_wait (Makefile.am): Likewise.
9152         * modules/sysexits (Makefile.am): Likewise.
9153         * modules/termios (Makefile.am): Likewise.
9154         * modules/time (Makefile.am): Likewise.
9155         * modules/unistd (Makefile.am): Likewise.
9156         * modules/wchar (Makefile.am): Likewise.
9157         * modules/wctype-h (Makefile.am): Likewise.
9158         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
9159
9160 2011-04-05  Bruno Haible  <bruno@clisp.org>
9161
9162         pipe2: Relicense under LGPLv2+.
9163         * modules/pipe2 (License): Change to LGPLv2+.
9164         Requested by Eric Blake, for libvirt.
9165
9166 2011-04-05  Bruce Korb  <bkorb@gnu.org>
9167
9168         bootstrap: compute gnulib_extra_files after updating build_aux
9169         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
9170         change build_aux or also supply gnulib_extra_files.  Handle correctly.
9171
9172 2011-04-05  Eric Blake  <eblake@redhat.com>
9173
9174         bootstrap: preserve git whitelist item sorting
9175         * build-aux/bootstrap (sort_patterns): New function.
9176         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
9177
9178 2011-04-05  Simon Josefsson  <simon@josefsson.org>
9179
9180         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
9181         sc_space_tab check.
9182
9183 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
9184
9185         areadlink, areadlinkat: rewrite in terms of careadlinkat
9186         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
9187         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
9188         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
9189         (malloc, realloc): Remove #undefs.
9190         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
9191         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
9192         readlink, ssize_t, stdint, unistd.
9193         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
9194         areadlink, stdint.
9195
9196         careadlinkat: new module
9197         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
9198         * modules/careadlinkat: New files, written by me with
9199         a review and feedback from Ben Pfaff in
9200         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
9201
9202 2011-04-01  Bruno Haible  <bruno@clisp.org>
9203
9204         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
9205         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
9206         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
9207         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
9208         Reported by Bruce Korb <bruce.korb@gmail.com>.
9209
9210 2011-04-01  Bruno Haible  <bruno@clisp.org>
9211
9212         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
9213         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
9214         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
9215         * modules/wcpcpy (Depends-on): Add extensions.
9216         * modules/wcpncpy (Depends-on): Likewise.
9217         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
9218         systems.
9219         * doc/posix-functions/wcpncpy.texi: Likewise.
9220         * doc/posix-functions/wcwidth.texi: Likewise.
9221
9222 2011-03-31  Eric Blake  <eblake@redhat.com>
9223
9224         nonblocking: fix mingw test failures
9225         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
9226         non-blocking flag on regular file.
9227         (get_nonblocking_flag): Set errno on invalid fd.
9228         * tests/test-nonblocking.c (main): Avoid test failure on
9229         directories if fchdir is not active.
9230         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
9231
9232 2011-03-31  Bruno Haible  <bruno@clisp.org>
9233
9234         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
9235         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
9236         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
9237         Reported by Simon Josefsson <simon@josefsson.org>.
9238
9239 2011-03-31  Bruno Haible  <bruno@clisp.org>
9240         and Eric Blake  <eblake@redhat.com>
9241
9242         nonblocking: new module
9243         * modules/nonblocking: New module.
9244         * modules/nonblocking-tests: Likewise.
9245         * lib/nonblocking.h: New file.
9246         * lib/nonblocking.c: Likewise.
9247         * tests/test-nonblocking.c: New test.
9248         * lib/ioctl.c (ioctl) [mingw]: Update comment.
9249
9250 2011-03-30  Bruno Haible  <bruno@clisp.org>
9251
9252         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
9253         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
9254         instead of 'printf' format for GCC >= 4.4.
9255         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
9256         (fprintf, printf, vfprintf, vprintf): Declare with
9257         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
9258         the system's vfprintf() function.
9259         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
9260
9261 2011-03-30  Eric Blake  <eblake@redhat.com>
9262
9263         passfd: fix scoping bug
9264         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
9265         before sendmsg/recvmsg.
9266
9267         passfd: standardize coding conventions
9268         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
9269         can be learned at compile time.
9270         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
9271         ifdefs.
9272         (sendfd, recvfd): Follow gnulib code conventions.
9273
9274         passfd: fix incorrect sendmsg arguments
9275         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
9276         incorrect msg_controllen value.
9277         * modules/passfd-tests (Depends-on): Check for alarm.
9278         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
9279         Reported by Bastien ROUCARIES.
9280
9281 2011-03-30  Bruno Haible  <bruno@clisp.org>
9282
9283         c-strcasestr: Relicense under LGPLv2+.
9284         * modules/c-strcasestr (License): Change to LGPLv2+.
9285         Requested by Eric Blake, for libvirt.
9286
9287 2011-03-30  Simon Josefsson  <simon@josefsson.org>
9288
9289         * users.txt: Add libidn2.  Fix libtasn1 link.
9290
9291 2011-03-30  Jim Meyering  <meyering@redhat.com>
9292
9293         tests: readlink* ("",... fails with EINVAL on newer kernels
9294         readlink and readlinkat have typically failed with ENOENT for
9295         the invalid, empty file name,  "".  However, with the advent
9296         of linux-2.6.39, they fail with EINVAL.
9297         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
9298         when operating on the empty file name.
9299         * tests/test-readlink.h (test_readlink): Likewise.
9300
9301 2011-03-29  Bruno Haible  <bruno@clisp.org>
9302
9303         Relicense some modules under LGPLv2+, for libidn2.
9304         * modules/array-mergesort (License): Change to LGPLv2+.
9305         * modules/c-strcaseeq (License): Likewise.
9306         * modules/striconveh (License): Likewise.
9307         * modules/striconveha (License): Likewise.
9308         * modules/uniconv/base (License): Likewise.
9309         * modules/uniconv/u8-conv-from-enc (License): Likewise.
9310         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
9311         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
9312         * modules/unictype/base (License): Likewise.
9313         * modules/unictype/bidiclass-of (License): Likewise.
9314         * modules/unictype/category-M (License): Likewise.
9315         * modules/unictype/category-none (License): Likewise.
9316         * modules/unictype/category-of (License): Likewise.
9317         * modules/unictype/category-test (License): Likewise.
9318         * modules/unictype/category-test-withtable (License): Likewise.
9319         * modules/unictype/combining-class (License): Likewise.
9320         * modules/unictype/joiningtype-of (License): Likewise.
9321         * modules/unictype/scripts (License): Likewise.
9322         * modules/uninorm/base (License): Likewise.
9323         * modules/uninorm/canonical-decomposition (License): Likewise.
9324         * modules/uninorm/composition (License): Likewise.
9325         * modules/uninorm/decompose-internal (License): Likewise.
9326         * modules/uninorm/decomposition-table (License): Likewise.
9327         * modules/uninorm/nfc (License): Likewise.
9328         * modules/uninorm/nfd (License): Likewise.
9329         * modules/uninorm/u32-normalize (License): Likewise.
9330         * modules/unistr/base (License): Likewise.
9331         * modules/unistr/u32-cpy (License): Likewise.
9332         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
9333         * modules/unistr/u32-to-u8 (License): Likewise.
9334         * modules/unistr/u32-uctomb (License): Likewise.
9335         * modules/unistr/u8-check (License): Likewise.
9336         * modules/unistr/u8-mblen (License): Likewise.
9337         * modules/unistr/u8-mbtouc (License): Likewise.
9338         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
9339         * modules/unistr/u8-mbtoucr (License): Likewise.
9340         * modules/unistr/u8-prev (License): Likewise.
9341         * modules/unistr/u8-strlen (License): Likewise.
9342         * modules/unistr/u8-to-u32 (License): Likewise.
9343         * modules/unistr/u8-uctomb (License): Likewise.
9344         * modules/unitypes (License): Likewise.
9345         Requested by Simon Josefsson.
9346
9347 2011-03-29  Simon Josefsson  <simon@josefsson.org>
9348
9349         lib-symbol-visibility: Add a notice.
9350         * modules/lib-symbol-visibility (Notice): New field.
9351
9352 2011-03-29  Bruno Haible  <bruno@clisp.org>
9353
9354         getaddrinfo: Doc fix.
9355         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
9356         section "fixed in Gnulib".
9357
9358 2011-03-28  Simon Josefsson  <simon@josefsson.org>
9359
9360         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
9361         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
9362
9363 2011-03-26  Bruno Haible  <bruno@clisp.org>
9364
9365         unictype/property-byname: Reduce the number of load-time relocations.
9366         * lib/unictype/pr_byname.c: Include <stdlib.h>.
9367         (UC_PROPERTY_INDEX_*): New enumeration values.
9368         (uc_property_byname): Convert an index from the lookup table to an
9369         uc_property_t.
9370         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
9371         values.
9372
9373 2011-03-26  Bruno Haible  <bruno@clisp.org>
9374
9375         unictype/property-byname: Allow omitted word separators and aliases.
9376         * lib/unictype/pr_byname.gperf: Add property names without word
9377         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
9378         for 'space'.
9379
9380 2011-03-26  Bruno Haible  <bruno@clisp.org>
9381
9382         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
9383         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
9384         also hyphens to space.
9385         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
9386         without spaces.
9387         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
9388
9389 2011-03-26  Bruno Haible  <bruno@clisp.org>
9390
9391         unictype/joiningtype-byname: Recognize long names as well.
9392         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
9393         a long name.
9394         * lib/unictype/joiningtype_byname.c: Include <string.h>,
9395         unictype/joiningtype_byname.h.
9396         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
9397         * lib/unictype/joiningtype_byname.gperf: New file.
9398         * modules/unictype/joiningtype-byname (Files): Add
9399         lib/unictype/joiningtype_byname.gperf.
9400         (Depends-on): Add gperf.
9401         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
9402         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
9403         long names.
9404
9405         Tests for module 'unictype/joiningtype-longname'.
9406         * modules/unictype/joiningtype-longname-tests: New file.
9407         * tests/unictype/test-joiningtype_longname.c: New file.
9408
9409         New module 'unictype/joiningtype-longname'.
9410         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
9411         * lib/unictype/joiningtype_longname.c: New file.
9412         * modules/unictype/joiningtype-longname: New file.
9413         * modules/unictype/joiningtype-all (Depends-on): Add
9414         unictype/joiningtype-longname.
9415
9416 2011-03-26  Bruno Haible  <bruno@clisp.org>
9417
9418         unictype/bidiclass-byname: Recognize long names as well.
9419         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
9420         name.
9421         * lib/unictype/bidi_byname.c: Include <string.h>,
9422         unictype/bidi_byname.h.
9423         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
9424         * lib/unictype/bidi_byname.gperf: New file.
9425         * modules/unictype/bidiclass-byname (Files): Add
9426         lib/unictype/bidi_byname.gperf.
9427         (Depends-on): Add gperf.
9428         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
9429         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
9430         long names.
9431
9432         Tests for module 'unictype/bidiclass-longname'.
9433         * modules/unictype/bidiclass-longname-tests: New file.
9434         * tests/unictype/test-bidi_longname.c: New file.
9435
9436         New module 'unictype/bidiclass-longname'.
9437         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
9438         * lib/unictype/bidi_longname.c: New file.
9439         * modules/unictype/bidiclass-longname: New file.
9440         * modules/unictype/bidiclass-all (Depends-on): Add
9441         unictype/bidiclass-longname.
9442
9443 2011-03-26  Bruno Haible  <bruno@clisp.org>
9444
9445         unictype/bidi*: Rename modules.
9446         * modules/unictype/bidiclass-all: Renamed from
9447         modules/unictype/bidicategory-all.
9448         * modules/unictype/bidiclass-name: Renamed from
9449         modules/unictype/bidiclass-name.
9450         (Description): Update.
9451         * modules/unictype/bidiclass-name-tests: Renamed from
9452         modules/unictype/bidicategory-name-tests.
9453         * modules/unictype/bidiclass-byname: Renamed from
9454         modules/unictype/bidicategory-byname.
9455         (Description): Update.
9456         * modules/unictype/bidiclass-byname-tests: Renamed from
9457         modules/unictype/bidicategory-byname-tests.
9458         * modules/unictype/bidiclass-of: Renamed from
9459         modules/unictype/bidicategory-of.
9460         (Description): Update.
9461         * modules/unictype/bidiclass-of-tests: Renamed from
9462         modules/unictype/bidicategory-of-tests.
9463         * modules/unictype/bidiclass-test: Renamed from
9464         modules/unictype/bidicategory-test.
9465         (Description): Update.
9466         * modules/unictype/bidiclass-test-tests: Renamed from
9467         modules/unictype/bidicategory-test-tests.
9468         * modules/unictype/bidicategory-all: New file, a simple redirection.
9469         * modules/unictype/bidicategory-name: Likewise.
9470         * modules/unictype/bidicategory-byname: Likewise.
9471         * modules/unictype/bidicategory-of: Likewise.
9472         * modules/unictype/bidicategory-test: Likewise.
9473         * modules/unictype/property-bidi-* (Dependencies): Update.
9474         * lib/unictype/bidi_*.c: Update comment.
9475
9476 2011-03-26  Bruno Haible  <bruno@clisp.org>
9477
9478         unictype/bidi*: Rename functions, part 2.
9479         * modules/unictype/bidicategory-name (configure.ac): Update required
9480         libunistring version.
9481         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
9482
9483 2011-03-25  Bruno Haible  <bruno@clisp.org>
9484
9485         New module 'unictype/combining-class-all'.
9486         * modules/unictype/combining-class-all: New file.
9487
9488         Tests for module 'unictype/combining-class-byname'.
9489         * modules/unictype/combining-class-byname-tests: New file.
9490         * tests/unictype/test-combiningclass_byname.c: New file.
9491
9492         New module 'unictype/combining-class-byname'.
9493         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
9494         * lib/unictype/combiningclass_byname.c: New file.
9495         * lib/unictype/combiningclass_byname.gperf: New file.
9496         * modules/unictype/combining-class-byname: New file.
9497
9498         Tests for module 'unictype/combining-class-longname'.
9499         * modules/unictype/combining-class-longname-tests: New file.
9500         * tests/unictype/test-combiningclass_longname.c: New file.
9501
9502         New module 'unictype/combining-class-longname'.
9503         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
9504         * lib/unictype/combiningclass_longname.c: New file.
9505         * modules/unictype/combining-class-longname: New file.
9506
9507         Tests for module 'unictype/combining-class-name'.
9508         * modules/unictype/combining-class-name-tests: New file.
9509         * tests/unictype/test-combiningclass_name.c: New file.
9510
9511         New module 'unictype/combining-class-name'.
9512         * lib/unictype.in.h (uc_combining_class_name): New declaration.
9513         * lib/unictype/combiningclass_name.c: New file.
9514         * modules/unictype/combining-class-name: New file.
9515
9516 2011-03-25  Bruno Haible  <bruno@clisp.org>
9517
9518         unictype/combining-class: Rename source files.
9519         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
9520         of unictype/combining.h.
9521         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
9522         Update.
9523         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
9524         * modules/unictype/combining-class (Description): Fix.
9525         (Files, Makefile.am): Update.
9526         * tests/unictype/test-combiningclass.c: Renamed from
9527         tests/unictype/test-combining.c.
9528         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
9529
9530 2011-03-25  Bruno Haible  <bruno@clisp.org>
9531
9532         unictype: Update list of canonical combining classes.
9533         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
9534
9535 2011-03-25  Bruno Haible  <bruno@clisp.org>
9536
9537         unictype/category-byname: Recognize long names as well.
9538         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
9539         a long name.
9540         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
9541         unictype/categ_byname.h.
9542         (UC_CATEGORY_INDEX_*): New enumeration values.
9543         (uc_general_category_byname): Use uc_general_category_lookup and
9544         convert from index to value.
9545         * lib/unictype/categ_byname.gperf: New file.
9546         * modules/unictype/category-byname (Files): Add
9547         lib/unictype/categ_byname.gperf.
9548         (Depends-on): Add gperf.
9549         (Makefile.am): Add rule for generating unictype/categ_byname.h.
9550         * tests/unictype/test-categ_byname.c (main): Test the recognition of
9551         long names.
9552
9553         Tests for module 'unictype/category-longname'.
9554         * modules/unictype/category-longname-tests: New file.
9555         * tests/unictype/test-categ_longname.c: New file.
9556
9557         New module 'unictype/category-longname'.
9558         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
9559         * lib/unictype/categ_longname.c: New file.
9560         * modules/unictype/category-longname: New file.
9561         * modules/unictype/category-all (Depends-on): Add it.
9562
9563 2011-03-25  Bruno Haible  <bruno@clisp.org>
9564
9565         Tests for module 'unictype/category-LC'.
9566         * modules/unictype/category-LC-tests: New file.
9567         * tests/unictype/test-categ_LC.c: New file, automatically generated.
9568
9569         New module 'unictype/category-LC'.
9570         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
9571         (UC_CATEGORY_LC): New declaration.
9572         (UC_CASED_LETTER): New macro.
9573         * lib/gen-uni-tables.c (is_category_LC): New function.
9574         (output_categories): Also handle category LC.
9575         (UC_CATEGORY_MASK_LC): New enumeration value.
9576         (general_category_byname): Also handle category LC.
9577         * lib/unictype/categ_LC.c: New file.
9578         * lib/unictype/categ_LC.h: New file, automatically generated.
9579         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
9580         category LC.
9581         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
9582         * modules/unictype/category-LC: New file.
9583         * modules/unictype/category-byname (Depends-on): Add
9584         unictype/category-LC.
9585         * modules/unictype/category-all (Depends-on): Likewise.
9586
9587 2011-03-25  Eric Blake  <eblake@redhat.com>
9588
9589         xmalloc: revert yesterday's regression
9590         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
9591         realloc's underlying behavior (allowing allocation of zero-size
9592         objects, especially if malloc-gnu is also in use).
9593
9594 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
9595
9596         maint.mk: add missing version to VC-tag
9597         * top/maint.mk: git tag was missing actual tag name; add it.
9598
9599         valgrind: do leak checking, and exit with code 1 on error (not 0)
9600         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
9601         to VALGRIND.
9602
9603 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
9604
9605         posix-modules: say what it does.
9606         * posix-modules: Add a line to the --help output saying what it does.
9607
9608 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
9609
9610         xmalloc: Do not leak if underlying realloc is C99 compatible.
9611         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
9612         This avoids a leak on C99-based systems.  See
9613         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
9614
9615 2011-03-24  Eric Blake  <eblake@redhat.com>
9616
9617         realloc: document portability problem
9618         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
9619         passing 0 size to realloc.
9620
9621 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
9622
9623         doc: update users.txt
9624         * users.txt: Add cvsps, tmpwatch
9625
9626 2011-03-23  Matt Rice  <ratmice@gmail.com>
9627
9628         doc: update users.txt
9629         * users.txt: Add gdb.
9630
9631 2011-03-23  Jim Meyering  <meyering@redhat.com>
9632
9633         doc: update users.txt
9634         Looking through matches up to the following URL (there are still
9635         several more pages), I found several projects that use gnulib:
9636         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
9637         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
9638         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
9639
9640 2011-03-22  Bruno Haible  <bruno@clisp.org>
9641
9642         unictype/bidi*: Rename functions.
9643         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
9644         uc_bidi_class, uc_is_bidi_class): New declarations.
9645         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
9646         uc_bidi_category_byname.
9647         (uc_bidi_category_byname): New function.
9648         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
9649         u_bidi_category_name.
9650         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
9651         (uc_bidi_category_name): New function.
9652         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
9653         uc_bidi_category.
9654         (uc_bidi_category): New function.
9655         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
9656         uc_is_bidi_category. Invoke uc_bidi_class.
9657         (uc_is_bidi_category): New function.
9658         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
9659         instead of uc_bidi_category_byname.
9660         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
9661         instead of uc_bidi_category_name.
9662         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
9663         uc_bidi_category.
9664         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
9665         instead of uc_is_bidi_category.
9666
9667 2011-03-21  Bruno Haible  <bruno@clisp.org>
9668
9669         New module 'unictype/joininggroup-all'.
9670         * modules/unictype/joininggroup-all: New file.
9671
9672         Tests for module 'unictype/joininggroup-of'.
9673         * modules/unictype/joininggroup-of-tests: New file.
9674         * tests/unictype/test-joininggroup_of.c: New file.
9675         * tests/unictype/test-joininggroup_of.h: New file, automatically
9676         generated by gen-uni-tables.
9677
9678         New module 'unictype/joininggroup-of'.
9679         * modules/unictype/joininggroup-of: New file.
9680         * lib/unictype/joininggroup_of.c: New file.
9681         * lib/unictype/joininggroup_of.h: New file, automatically generated by
9682         gen-uni-tables.
9683
9684         Tests for module 'unictype/joininggroup-byname'.
9685         * modules/unictype/joininggroup-byname-tests: New file.
9686         * tests/unictype/test-joininggroup_byname.c: New file.
9687
9688         New module 'unictype/joininggroup-byname'.
9689         * modules/unictype/joininggroup-byname: New file.
9690         * lib/unictype/joininggroup_byname.c: New file.
9691         * lib/unictype/joininggroup_byname.gperf: New file.
9692
9693         Tests for module 'unictype/joininggroup-name'.
9694         * modules/unictype/joininggroup-name-tests: New file.
9695         * tests/unictype/test-joininggroup_name.c: New file.
9696
9697         New module 'unictype/joininggroup-name'.
9698         * modules/unictype/joininggroup-name: New file.
9699         * lib/unictype/joininggroup_name.c: New file.
9700         * lib/unictype/joininggroup_name.h: New file.
9701
9702         New module 'unictype/joiningtype-all'.
9703         * modules/unictype/joiningtype-all: New file.
9704
9705         Tests for module 'unictype/joiningtype-of'.
9706         * modules/unictype/joiningtype-of-tests: New file.
9707         * tests/unictype/test-joiningtype_of.c: New file.
9708         * tests/unictype/test-joiningtype_of.h: New file, automatically
9709         generated by gen-uni-tables.
9710
9711         New module 'unictype/joiningtype-of'.
9712         * modules/unictype/joiningtype-of: New file.
9713         * lib/unictype/joiningtype_of.c: New file.
9714         * lib/unictype/joiningtype_of.h: New file, automatically generated by
9715         gen-uni-tables.
9716
9717         Tests for module 'unictype/joiningtype-byname'.
9718         * modules/unictype/joiningtype-byname-tests: New file.
9719         * tests/unictype/test-joiningtype_byname.c: New file.
9720
9721         New module 'unictype/joiningtype-byname'.
9722         * modules/unictype/joiningtype-byname: New file.
9723         * lib/unictype/joiningtype_byname.c: New file.
9724
9725         Tests for module 'unictype/joiningtype-name'.
9726         * modules/unictype/joiningtype-name-tests: New file.
9727         * tests/unictype/test-joiningtype_name.c: New file.
9728
9729         New module 'unictype/joiningtype-name'.
9730         * modules/unictype/joiningtype-name: New file.
9731         * lib/unictype/joiningtype_name.c: New file.
9732
9733         unictype: Add support for Arabic shaping properties.
9734         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
9735         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
9736         declarations.
9737         (UC_JOINING_GROUP_*): New enumeration values.
9738         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
9739         declarations.
9740         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
9741         (unicode_joining_type): New variable.
9742         (UC_JOINING_GROUP_*): New enumeration values.
9743         (unicode_joining_group): New variable.
9744         (fill_arabicshaping, joining_type_as_c_identifier,
9745         output_joining_type_test, output_joining_type,
9746         joining_group_as_c_identifier, output_joining_group_test,
9747         output_joining_group): New functions.
9748         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
9749         fill_arabicshaping and output_joining_type_test, output_joining_type,
9750         output_joining_group_test, output_joining_group.
9751         Reported by Simon Josefsson.
9752
9753 2011-03-21  Jim Meyering  <meyering@redhat.com>
9754
9755         strftime: fix a bug in yesterday's change
9756         * lib/strftime.c (add): Accommodate width's initial value of -1.
9757         Otherwise, nstrftime would copy uninitialized data into
9758         the result buffer.
9759
9760 2011-03-21  Jim Meyering  <meyering@redhat.com>
9761
9762         tests: add strftime-tests module
9763         * tests/test-strftime.c: New file.
9764         * modules/strftime-tests: New module.
9765
9766 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
9767
9768         strftime: don't assume a byte count fits in 'int'
9769         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
9770         found this problem by static analysis, using gcc -Wstrict-overflow
9771         (GCC 4.5.2, x86-64).  This reported an optimization that depended
9772         on an integer overflow having undefined behavior, but it turns out
9773         that the argument is a size, which might not fit in 'int' anyway,
9774
9775 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
9776
9777         stdio: don't require ignore_value around fwrite
9778
9779         This patch works around libc bug 11959
9780         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
9781         Without this patch, applications must often write
9782         ignore_value (fwrite (...)) even though the ignore_value is
9783         not helpful here.  It's common to write many objects, using
9784         fwrite/printf/etc., and then use ferror to detect output error.
9785
9786         I considered making this patch optional, but decided against it,
9787         because libc is obviously being inconsistent here: there is no
9788         reason libc should insist that user code must inspect fwrite
9789         return's value without also insisting that it inspect printf's,
9790         putchar's, etc.  If user code wants to have a strict style where
9791         all these functions' values are checked (so that ferror need not
9792         be checked), we could add support for that style in a new gnulib
9793         module, but in the meantime it's better to be consistent and to
9794         support common usage.
9795
9796         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
9797         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
9798         that we are compiling in checking mode, and if not C++, and
9799         if not already wrapping fwrite for some other reason.
9800         (fwrite): #define to rpl_fwrite if the latter is defined.
9801
9802 2011-03-20  Bruno Haible  <bruno@clisp.org>
9803
9804         verror: Fix compilation error introduced on 2011-02-13.
9805         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
9806         instead of __attribute__.
9807         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9808
9809 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
9810             Bruno Haible  <bruno@clisp.org>
9811
9812         socklen: do not depend on sys_socket
9813         While trying to modify Emacs to use gnulib's socklen module,
9814         I discovered a circular dependency: socklen depends on sys_socket
9815         and vice versa.  Emacs can use socklen, but it does not need
9816         sys_socket because it has its own substitute for sys/socket.h.
9817         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
9818         gl_TYPE_SOCKLEN_T.
9819         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
9820         gl_PREREQ_SYS_H_SOCKET.
9821         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
9822         gl_PREREQ_SYS_H_SOCKET.
9823         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
9824         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
9825         * modules/socklen (Depends-on): Do not depend on sys_socket.
9826         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
9827
9828 2011-03-20  Jim Meyering  <meyering@redhat.com>
9829
9830         maint.mk: sort file names *after* new transformation
9831         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
9832         prefix would have led to an unwarranted failure in GNU parted.
9833         Sort after that transformation.
9834
9835 2011-03-19  Jim Meyering  <meyering@redhat.com>
9836
9837         maint.mk: fix po-file syntax-check rule
9838         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
9839         Patch by Bruno Haible.
9840
9841 2011-03-19  Bruno Haible  <bruno@clisp.org>
9842
9843         socklen: Update comment.
9844         * m4/socklen.m4: Update comment about platforms.
9845
9846 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9847             Bruno Haible  <bruno@clisp.org>
9848
9849         inet_ntop, inet_pton: Simplify.
9850         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
9851         documented to provide socklen_t and we already depend on sys_socket.
9852         * modules/inet_pton (Depends-on): Likewise.
9853         * lib/arpa_inet.in.h: Adjust comment.
9854
9855 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9856             Bruno Haible  <bruno@clisp.org>
9857
9858         netdb: Simplify.
9859         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
9860         documented to provide socklen_t and we already depend on sys_socket.
9861         * lib/netdb.in.h: Adjust comment.
9862
9863 2011-03-19  Bruno Haible  <bruno@clisp.org>
9864
9865         sys_socket, netdb: Document problem with socklen_t.
9866         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
9867         platforms.
9868         * doc/posix-headers/netdb.texi: Likewise.
9869
9870 2011-03-18  Eric Blake  <eblake@redhat.com>
9871
9872         maint.mk: let po check work in VPATH build
9873         * top/maint.mk (po_file): Allow cfg.mk override.
9874         (sc_po_check): Allow VPATH use.
9875         Reported by Jiri Denemark.
9876
9877 2011-03-16  Jim Meyering  <meyering@redhat.com>
9878
9879         maint.mk: allow fine-grained syntax-check exclusion via Make variables
9880         Before, you would have had to create one .x-sc_ file per rule in order
9881         to exempt offending files.  Now, you may instead use a Make variable --
9882         usually defined in cfg.mk -- whose name identifies the affected rule.
9883         * top/maint.mk (_sc_excl): Define.
9884         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
9885         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
9886
9887 2011-03-13  Bruno Haible  <bruno@clisp.org>
9888
9889         ignore-value tests: Avoid warnings.
9890         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
9891         empty for gcc < 3.4.
9892
9893 2011-03-13  Bruno Haible  <bruno@clisp.org>
9894
9895         passfd: Fix link error on Solaris.
9896         * modules/passfd (Description): Correct.
9897         (Depends-on): Add socketlib.
9898         (Link): New section.
9899         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
9900
9901 2011-03-13  Bruno Haible  <bruno@clisp.org>
9902
9903         passfd: Fix link error on AIX 5.2.
9904         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
9905
9906 2011-03-13  Bruno Haible  <bruno@clisp.org>
9907
9908         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
9909         * lib/sys_socket.in.h: Include <stddef.h>.
9910         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
9911         CMSG_FIRSTHDR. Remove unused variable.
9912
9913 2011-03-13  Bruno Haible  <bruno@clisp.org>
9914
9915         passfd: Fix compilation error on OpenBSD.
9916         * lib/passfd.c: Include <sys/uio.h>.
9917
9918 2011-03-13  Bruno Haible  <bruno@clisp.org>
9919
9920         passfd test: Fix warnings.
9921         * tests/test-passfd.c: Include <sys/wait.h>.
9922         (main): Fix typo.
9923
9924 2011-03-13  Bruno Haible  <bruno@clisp.org>
9925
9926         passfd module, part 4, tweaks.
9927         * tests/test-passfd.c: Reorder includes.
9928         (main): Fix perror and printf calls.
9929
9930 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
9931
9932         passfd module, part 4.
9933         * modules/passfd-tests: New file.
9934         * tests/test-passfd.c: New file.
9935
9936 2011-03-13  Jim Meyering  <meyering@redhat.com>
9937
9938         Makefile: rely on GNU make; derive syntax-check rule names
9939         Rather than requiring that each sc_ rule be listed as a dependent
9940         of "check", use features of GNU make to derive the list.
9941         * Makefile (syntax-check-rules): Define.
9942         (check): Depend on the new variable, not the hard-coded list.
9943
9944 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
9945             Bruno Haible  <bruno@clisp.org>
9946
9947         passfd module, part 3.
9948         * lib/passfd.h (recvfd): Add a flags argument.
9949         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
9950         (recvfd): Add a flags argument.
9951         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
9952         exists.
9953         * modules/passfd (Depends-on): Add cloexec.
9954         Suggested by Eric Blake.
9955
9956 2011-03-13  Bruno Haible  <bruno@clisp.org>
9957
9958         passfd module, part 2, tweaks.
9959         * modules/passfd (Files): Reorder.
9960         (Depends-on): Remove errno.
9961         (Include): Remove <sys/socket.h>, <sys/un.h>.
9962         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
9963         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
9964         specification header. Include <sys/socket.h> always. Don't include
9965         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
9966         (sendfd): Clarify that it sets errno when it fails.
9967         (recvfd): Fix specification.
9968
9969 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
9970
9971         passfd module, part 2.
9972         * modules/passfd: New file.
9973         * lib/passfd.h: New file.
9974         * lib/passfd.c: New file.
9975
9976 2011-03-12  Bruno Haible  <bruno@clisp.org>
9977
9978         wcswidth, mbswidth: Avoid integer overflow.
9979         * lib/wcswidth.c: Include <limits.h>.
9980         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
9981         * lib/mbswidth.c: Include <limits.h>.
9982         (mbsnwidth): Avoid 'int' overflow.
9983         Reported by Jim Meyering.
9984
9985 2011-03-12  Bruno Haible  <bruno@clisp.org>
9986
9987         futimens, utimensat: Avoid endless recursion on Solaris 10.
9988         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
9989         Solaris.
9990         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
9991         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
9992
9993 2011-03-11  Jim Meyering  <meyering@redhat.com>
9994
9995         maint.mk: relax a regexp to accommodate other formatting styles
9996         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
9997         between "ngettext" and the following "(".
9998
9999 2011-03-11  Pádraig Brady <P@draigBrady.com>
10000
10001         maint.mk: suppress a false positive warning
10002         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
10003         diagnostics are marked with ngettext.
10004
10005 2011-03-10  Eric Blake  <eblake@redhat.com>
10006
10007         wchar: add explicit dependencies, for Tru64
10008         * modules/mbmemcasecoll (Depends-on): Add wchar.
10009         * modules/mbtowc (Depends-on): Likewise.
10010         * modules/vasnprintf (Depends-on): Likewise.
10011         * modules/unistdio/u-printf-args (Depends-on): Likewise.
10012         * modules/wctomb (Depends-on): Likewise.
10013         Reported by Peter O'Gorman.
10014
10015 2011-03-08  Bruno Haible  <bruno@clisp.org>
10016
10017         passfd module, part 1, tweaks.
10018         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
10019         Improve indentation. Improve AC_MSG_CHECKING messages.
10020         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
10021         gl_SOCKET_FAMILIES.
10022
10023 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
10024
10025         passfd module, part 1.
10026         * m4/afunix.m4: New file.
10027         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
10028         sockets.
10029
10030 2011-03-08  Bruno Haible  <bruno@clisp.org>
10031
10032         regex-quote: New API.
10033         * lib/regex-quote.h: Include <stdbool.h>.
10034         (struct regex_quote_spec): New type.
10035         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
10036         New declarations.
10037         (regex_quote_length, regex_quote_copy, regex_quote): Take a
10038         'const struct regex_quote_spec *' argument.
10039         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
10040         (pcre_special): New constant.
10041         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
10042         New functions.
10043         (regex_quote_length, regex_quote_copy, regex_quote): Take a
10044         'const struct regex_quote_spec *' argument.
10045         * modules/regex-quote (Depends-on): Add stdbool.
10046         * tests/test-regex-quote.c (check): Update for new API. Add test for
10047         anchored results.
10048         * NEWS: Mention the API change.
10049         Reported by Reuben Thomas and Eric Blake.
10050
10051 2011-03-06  Bruno Haible  <bruno@clisp.org>
10052
10053         regex-quote: Fix creation of POSIX extended regular expressions.
10054         * lib/regex-quote.c (ere_special): Add grouping and alternation
10055         operators.
10056
10057 2011-03-05  Bruno Haible  <bruno@clisp.org>
10058
10059         doc: Improve doc regarding autopoint vs. gnulib.
10060         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
10061         disable autopoint while running autoreconf.
10062         Suggested by Ralf Wildenhues.
10063
10064 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10065
10066         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
10067         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
10068
10069 2011-03-03  Bruce Korb  <bkorb@gnu.org>
10070
10071         parse-duration: remove xalloc.h dependency
10072         * lib/parse-duration.c (parse_period): handle NULL return from
10073         strdup instead of calling xstrdup().
10074         * modules/parse-duration: remove "xalloc" dependency
10075
10076 2011-03-03  Matthew Booth  <mbooth@redhat.com>
10077
10078         bootstrap: honor m4_base when running aclocal
10079         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
10080
10081 2011-03-02  Jim Meyering  <meyering@redhat.com>
10082
10083         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
10084         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
10085         on request from Matt Booth.
10086
10087 2011-03-01  Eric Blake  <eblake@redhat.com>
10088
10089         test-link: work on Hurd
10090         * tests/test-link.h (test_link): Hurd rejects linking directories
10091         with EISDIR instead of the POSIX-mandated EPERM.
10092
10093 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
10094
10095         stdio: simplify by moving files to printf-posix, sigpipe
10096         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
10097         since this symbol is needed only if printf is replaced.
10098         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
10099         Require gl_ASM_SYMBOL_PREFIX.
10100         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
10101         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
10102         (Depends-on): Add 'raise'.
10103         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
10104         * modules/stdio (Files): Remove lib/stdio-write.c,
10105         m4/asm-underscore.m4.
10106         (Depends-on): Remove 'raise'.
10107
10108         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
10109         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
10110         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
10111         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
10112
10113 2011-02-28  Bruno Haible  <bruno@clisp.org>
10114
10115         localcharset: Assume ANSI C behaviour of free().
10116         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
10117         calling free().
10118         Suggested by Simon Josefsson <simon@josefsson.org>.
10119
10120 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
10121             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
10122             Bruno Haible  <bruno@clisp.org>  (tiny change)
10123
10124         On Cygwin, use /proc file system instead of win32 API.
10125         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
10126         Win32 file names.
10127         (DllMain): Simplify by removing Cygwin specific code.
10128         (find_shared_library_fullname): Use Linux specific implementation also
10129         for Cygwin.
10130         (get_shared_library_fullname): Update accordingly.
10131         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
10132         Win32 file names.
10133         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
10134         Cygwin specific code.
10135
10136 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
10137             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
10138
10139         Fix OpenMP flag detection for various Fortran compilers.
10140         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
10141         OpenMP-conditional compilation construct, to force compile
10142         failure with missing OpenMP flag.
10143         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
10144
10145 2011-02-25  Eric Blake  <eblake@redhat.com>
10146
10147         strstr: expand test coverage
10148         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
10149         compilation.
10150         * tests/test-memmem.c (main): Duplicate tests.
10151         * tests/test-strcasestr.c (main): Likewise.
10152         * tests/test-c-strcasestr.c (main): Likewise.
10153
10154 2011-02-25  Jim Meyering  <meyering@redhat.com>
10155
10156         maint.mk: detect missing-NL-at-EOF, too
10157         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
10158         it also detects when a file lacks a newline at EOF.
10159         (require_exactly_one_NL_at_EOF_): Renamed from
10160         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
10161         since people may well have .x-sc_... file names tied to the
10162         existing name.  Suggested by Eric Blake.
10163
10164 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
10165
10166         dirname: move m4/dos.m4 functionality into lib/dosname.h
10167
10168         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
10169         extracts symbols from it, puts them into config.h; but it's much
10170         easier to use the symbols directly.  filename.h already does this,
10171         but it disagrees with dos.m4 in some respects.  This patch
10172         introduces a different include file dosname.h that packages up
10173         dos.m4, and then later we can work on merging filename.h and
10174         dosname.h.  Applications that need only the easy-to-configure
10175         symbols should consider including dosname.h rather than dirname.h.
10176         * NEWS: Mention incompatible changes.
10177         * m4/dos.m4: Remove.
10178         * lib/dosname.h, modules/dosname: New files.
10179         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
10180         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
10181         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
10182         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
10183         Include dosname.h, not dirname.h.
10184         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
10185         Include dosname.h, for definitions of symbols like ISSLASH
10186         that used to be in config.h.
10187         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
10188         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
10189         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10190         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
10191         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
10192         * modules/rmdir (Files): Likewise.
10193         * modules/stat (Files): Likewise.
10194         * modules/unlink (Files): Likewise.
10195         * modules/dirname-lgpl (Depends-on): Add dosname.
10196         * modules/lstat (Depends-on): Likewise.
10197         * modules/openat (Depends-on): Likewise.
10198         * modules/rmdir (Depends-on): Likewise.
10199         * modules/savewd (Depends-on): Likewise.
10200         * modules/stat (Depends-on): Likewise.
10201         * modules/unlink (Depends-on): Likewise.
10202         * modules/openat (Depends-on): Remove dirname-lgpl.
10203         * modules/savewd (Depends-on): Likewise.
10204         * tests/test-dirname.c: Do not use removed symbols like
10205         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
10206         the remaining symbols, e.g., ISSLASH ('\\').
10207
10208 2011-02-25  Eric Blake  <eblake@redhat.com>
10209
10210         strstr: revert patches that introduced bug and pessimization
10211         * lib/str-two-way.h: Add another reference.
10212         (two_way_short_needle, two_way_long_needle): Revert changes from
10213         2011-02-24; they pessimize search speed.
10214         (critical_factorization): Partially revert changes from
10215         2010-06-22; they violate the requirement that the left half of the
10216         needle be smaller than the period of the needle.
10217
10218 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10219
10220         filenamecat: remove unnecessary dependency on dirname-lgpl
10221         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
10222         is no direct dependency, just an indirect one via filenamecat-lgpl.
10223
10224         remove: remove unnecessary use of m4/dos.m4
10225         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
10226         * modules/remove (FILES): Remove m4/dos.m4.
10227
10228         * lib/openat-proc.c: Don't include dirname.h; not needed.
10229
10230         backupfile: remove unnecessary use of m4/dos.m4
10231         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
10232         of its symbols are used by the backupfile code.  backupfile.c does
10233         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
10234         for the rare case of programs that want all their backup file
10235         names to live within 8+3 limits, and dos.m4 doesn't address that.
10236         * modules/backupfile (Files): Remove m4/dos.m4.
10237
10238 2011-02-24  Jim Meyering  <meyering@redhat.com>
10239
10240         strstr: fix a bug whereby strstr would mistakenly return NULL
10241         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
10242         in period calculation.
10243         (two_way_long_needle): Likewise.
10244         The original problem was reported by Mike Stump in
10245         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
10246         Ralf Wildenhues provided the short needle and haystack.
10247         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
10248         Add a more involved test to trigger the bug in two_way_long_needle.
10249
10250 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
10251
10252         gnulib-tool: remove use of bold display in help screen
10253         * gnulib-tool (func_usage): Do not use bold display anymore in the
10254         help screen.  That was just meant to be a temporary emphasis for a
10255         backward-incompatible change.
10256
10257 2011-02-23  Bruno Haible  <bruno@clisp.org>
10258
10259         Fix misindentation of preprocessor directives.
10260         * lib/argp-namefrob.h: Reindent preprocessor directives.
10261         * lib/getopt_int.h (struct _getopt_data): Likewise.
10262         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
10263         * lib/vasnprintf.c (decode_long_double): Likewise.
10264         * tests/test-argmatch.c: Insert blank lines, for clarity.
10265         * tests/test-exclude.c: Likewise.
10266
10267 2011-02-22  Bruno Haible  <bruno@clisp.org>
10268
10269         ioctl: Fix for MacOS X in 64-bit mode.
10270         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
10271         value.
10272         Suggested by Eric Blake.
10273         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
10274
10275 2011-02-22  Jim Meyering  <meyering@redhat.com>
10276
10277         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
10278         * Makefile (sc_cpp_indent_check): Don't limit the check to files
10279         in lib/.
10280
10281 2011-02-22  Eric Blake  <eblake@redhat.com>
10282
10283         maint: avoid any CDPATH issue
10284         * Makefile (sc_cpp_indent_check): Anchor cd argument.
10285
10286         maint: adjust cpp indentation for my modules, as well
10287         * Makefile (sc_cpp_indent_check): Add my name.
10288         * lib/fbufmode.c: Filter through cppi.
10289         * lib/fpurge.c: Likewise.
10290         * lib/freadable.c: Likewise.
10291         * lib/freading.c: Likewise.
10292         * lib/fwritable.c: Likewise.
10293         * lib/fwriting.c: Likewise.
10294         * lib/sigaction.c: Likewise.
10295
10296 2011-02-22  Jim Meyering  <meyering@redhat.com>
10297
10298         maint: adjust cpp indentation to reflect nesting depth
10299         I.e., in a block of code that begins with an unnested "#if",
10300         put one space between the "#" in column 1 and following token.
10301         For example,
10302         -#include <sys/vfs.h>
10303         +# include <sys/vfs.h>
10304         Do this only in .c files that are part of a module I maintain.
10305         * lib/linkat.c: Filter through cppi.
10306         * lib/nanosleep.c: Likewise.
10307         * lib/openat.c: Likewise.
10308         * lib/openat-die.c: Likewise.
10309         * lib/dup3.c: Likewise.
10310         * lib/fchownat.c: Likewise.
10311         * lib/flock.c: Likewise.
10312         * lib/fsync.c: Likewise.
10313         * lib/fts.c: Likewise.
10314         * lib/getpass.c: Likewise.
10315         * lib/gettimeofday.c: Likewise.
10316         * lib/userspec.c: Likewise.
10317         * Makefile (sc_cpp_indent_check): New rule, to check this.
10318
10319 2011-02-22  Bruno Haible  <bruno@clisp.org>
10320
10321         New module 'wctomb'.
10322         * lib/stdlib.in.h (wctomb): New declaration.
10323         * lib/wctomb.c: New file.
10324         * lib/wctomb-impl.h: New file.
10325         * m4/wctomb.m4: New file.
10326         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
10327         REPLACE_WCTOMB.
10328         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
10329         REPLACE_WCTOMB.
10330         * modules/wctomb: New file.
10331         * tests/test-stdlib-c++.cc: Test signature of wctomb.
10332         * doc/posix-functions/wctomb.texi: Mention the new module.
10333         * modules/wctob (Depends-on): Add wctomb.
10334
10335 2011-02-22  Bruno Haible  <bruno@clisp.org>
10336
10337         New module 'mbtowc'.
10338         * lib/stdlib.in.h (mbtowc): New declaration.
10339         * lib/mbtowc.c: New file.
10340         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
10341         * m4/mbtowc.m4: New file.
10342         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
10343         REPLACE_MBTOWC.
10344         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
10345         REPLACE_MBTOWC.
10346         * modules/mbtowc: New file.
10347         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
10348         * doc/posix-functions/mbtowc.texi: Mention the new module.
10349         * modules/btowc (Depends-on): Add mbtowc.
10350
10351 2011-02-22  Bruno Haible  <bruno@clisp.org>
10352
10353         wcrtomb: Add more tests for native Windows platforms.
10354         * tests/test-wcrtomb-w32-1.sh: New file.
10355         * tests/test-wcrtomb-w32-2.sh: New file.
10356         * tests/test-wcrtomb-w32-3.sh: New file.
10357         * tests/test-wcrtomb-w32-4.sh: New file.
10358         * tests/test-wcrtomb-w32-5.sh: New file.
10359         * tests/test-wcrtomb-w32.c: New file.
10360         * modules/wcrtomb-tests (Files): Add them.
10361         (Makefile.am): Arrange to run these tests.
10362         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
10363         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
10364
10365 2011-02-20  Bruno Haible  <bruno@clisp.org>
10366
10367         wcrtomb: Enhance test.
10368         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
10369
10370 2011-02-20  Bruno Haible  <bruno@clisp.org>
10371
10372         mbrtowc: Tiny optimization.
10373         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
10374
10375 2011-02-20  Jim Meyering  <meyering@redhat.com>
10376
10377         test-exclude.c: remove unmatched #endif
10378         * tests/test-exclude.c: Remove stray #endif, left over from
10379         the change of a week ago.
10380
10381 2011-02-19  Jim Meyering  <meyering@redhat.com>
10382
10383         git-version-gen: skip "-dirty" check when appropriate
10384         * build-aux/git-version-gen: Don't run any git commands when the
10385         version string comes from .tarball-version.  Prior to this, we
10386         would run git update-index --refresh even from a just-unpacked
10387         tarball directory, and that could affect a .git/ directory in a
10388         parent of the build directory.  Reported by Mike Frysinger.
10389
10390 2011-02-19  Bruno Haible  <bruno@clisp.org>
10391
10392         unictype/property-byname: Reduce the size of the 'data' segment.
10393         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
10394
10395 2011-02-19  Bruno Haible  <bruno@clisp.org>
10396
10397         unictype/scripts: Reduce the size of the 'data' segment.
10398         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
10399         '%pic'.
10400         * lib/unictype/scripts_byname.gperf: Regenerated.
10401
10402 2011-02-19  Bruno Haible  <bruno@clisp.org>
10403
10404         stdint: Update documentation.
10405         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
10406
10407 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
10408
10409         stdint: omit redundant check for wchar.h
10410         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
10411         always tests whether wchar.h exists, so remove the now-redundant test.
10412
10413 2011-02-18  Bruno Haible  <bruno@clisp.org>
10414
10415         stdint: Cut dependency to module 'wchar'.
10416         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
10417         include the necessary prerequisites.
10418         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
10419         * modules/stdint (Depends-on): Remove wchar.
10420         (Makefile.am): Substitute HAVE_WCHAR_H.
10421         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
10422
10423 2011-02-18  Eric Blake  <eblake@redhat.com>
10424
10425         longlong: skip, rather than fail, on cross-compilation
10426         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
10427         when cross-compiling; regression from 2011-02-16.
10428
10429 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
10430
10431         * NEWS: Mention 2011-02-08 change to stdlib.
10432
10433 2011-02-17  Bruno Haible  <bruno@clisp.org>
10434
10435         getloadavg: Add comments about platforms.
10436         * m4/getloadavg.m4: Add comment.
10437         * lib/getloadavg.c: Likewise.
10438
10439 2011-02-17  Bruno Haible  <bruno@clisp.org>
10440
10441         getloadavg: Fix link error on Solaris 2.6.
10442         * modules/getloadavg (Link): New section.
10443         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
10444         linking test-getloadavg.
10445         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
10446         getloadavg.
10447
10448 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
10449
10450         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
10451         It was 'int', but this doesn't match the IRIX 6.5 manual.
10452         Suggested by Bruno Haible in
10453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
10454
10455 2011-02-17  Bruno Haible  <bruno@clisp.org>
10456
10457         havelib: Fix comments.
10458         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
10459         change.
10460
10461 2011-02-17  Bruno Haible  <bruno@clisp.org>
10462
10463         havelib: Update config.rpath.
10464         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
10465
10466 2011-02-17  Bruno Haible  <bruno@clisp.org>
10467
10468         getloadavg test: Add some plausibility checks.
10469         * tests/test-getloadavg.c (check_avg): Print a warning when the value
10470         is improbable.
10471
10472 2011-02-16  Eric Blake  <eblake@redhat.com>
10473
10474         maintainer-makefile: make syntax-check a no-op from tarballs
10475         * top/maint.mk (no-vc-detected): New rule.
10476         (local-checks-available): Use it to avoid hanging if someone tries
10477         'make syntax-check' from a tarball.  Also append to any non-syntax
10478         checks already defined in cfg.mk.
10479
10480 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
10481
10482         longlong: tune, particularly for common case of c99
10483
10484         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
10485         or running anything if c99, or if unsigned long long int does not
10486         work.  In either case, we know the answer without further tests.
10487         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
10488         it at most once, and use its results for both long long int and
10489         unsigned long long int.  This is more likely to be efficient in
10490         the common case where the program wants to check for both long
10491         long int and unsigned long long int.
10492         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
10493         since the answer is already known.
10494
10495 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
10496
10497         getloadavg: set errno
10498         * lib/getloadavg.c: Set errno when returning -1.  If no other
10499         error number looks appropriate, set it to ENOSYS if the getloadavg
10500         looks like it can't possibly ever work, ENOTSUP otherwise.
10501         Suggested by Bruno Haible in
10502         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
10503
10504         getloadavg: trim unused parts and speed up 'configure'
10505         * NEWS: Document this.
10506         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
10507         always compiled if getloadavg is absent.
10508         Move test code to ...
10509         * tests/test-getloadavg.c: New file, containing previous
10510         contents of test from lib/getloadavg.c.  It also contains
10511         suggestions by Bruno Haible in
10512         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
10513         * modules/getloadavg-tests: New file.
10514         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
10515         Do tests in the same order as they're needed for getloadavg.c.
10516         Omit setgid-related tests that generate symbols KMEM_GROUP,
10517         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
10518         Do only the tests that are needed to see whether the system has
10519         getloadavg, moving the other tests into ...
10520         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
10521         NLIST_NAME_UNION; nobody should be using it.  Do not define
10522         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
10523         relevant, as the user of this module shouldn't care how getloadavg
10524         is implemented.
10525
10526         getloadavg: omit unused var
10527         * lib/getloadavg.c (getloadavg): Omit unused local variable.
10528
10529 2011-02-15  Jim Meyering  <meyering@redhat.com>
10530
10531         doc: update users.txt
10532         * users.txt: Update iwhd's URL.
10533
10534 2011-02-13  Bruno Haible  <bruno@clisp.org>
10535
10536         Consistent macro naming for macros that use GCC __attribute__.
10537         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
10538         _ATTRIBUTE_NONNULL_.
10539         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
10540         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
10541         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
10542         ATTRIBUTE_DEPRECATED.
10543         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
10544         ATTRIBUTE_NORETURN.
10545         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
10546         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
10547         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
10548         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
10549         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
10550         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
10551         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
10552         ATTRIBUTE_SENTINEL.
10553         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
10554         ATTRIBUTE_RETURN_CHECK.
10555         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
10556         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
10557         ATTRIBUTE_NORETURN.
10558         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
10559         Reported by Paul Eggert.
10560
10561 2011-02-13  Bruno Haible  <bruno@clisp.org>
10562
10563         Don't interfere with a program's definition of __attribute__.
10564         * lib/argp.h (__attribute__): Remove definition.
10565         (_GL_ATTRIBUTE_FORMAT): New macro.
10566         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
10567         * lib/argp-fmtstream.h (__attribute__): Remove definition.
10568         (_GL_ATTRIBUTE_FORMAT): New macro.
10569         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
10570         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
10571         GCC 3 or newer.
10572         * lib/error.h (__attribute__): Remove definition.
10573         (_GL_ATTRIBUTE_FORMAT): New macro.
10574         (error, error_at_line): Use it.
10575         * lib/hash.h (__attribute__): Remove definition.
10576         (ATTRIBUTE_WUR): Update definition. Define always.
10577         * lib/openat.h (__attribute__): Remove definition.
10578         (ATTRIBUTE_NORETURN): Update definition. Define always.
10579         * lib/sigpipe-die.h (__attribute__): Remove definition.
10580         (ATTRIBUTE_NORETURN): Update definition. Define always.
10581         * lib/vasnprintf.h (__attribute__): Remove definition.
10582         (_GL_ATTRIBUTE_FORMAT): New macro.
10583         (asnprintf, vasnprintf): Use it.
10584         * lib/xalloc.h (__attribute__): Remove definition.
10585         (ATTRIBUTE_NORETURN): Update definition. Define always.
10586         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
10587         * lib/xmemdup0.h (__attribute__): Remove definition.
10588         (ATTRIBUTE_NORETURN): Update definition. Define always.
10589         * lib/xprintf.h (__attribute__): Remove definition.
10590         (_GL_ATTRIBUTE_FORMAT): New macro.
10591         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
10592         * lib/xstrtol.h (__attribute__): Remove definition.
10593         (ATTRIBUTE_NORETURN): Update definition. Define always.
10594         * lib/xvasprintf.h (__attribute__): Remove definition.
10595         (_GL_ATTRIBUTE_FORMAT): New macro.
10596         (xasprintf, xvasprintf): Use it.
10597         * tests/test-argmatch.c (__attribute__): Remove definition.
10598         (ATTRIBUTE_NORETURN): Update definition. Define always.
10599         * tests/test-exclude.c (__attribute__): Remove definition.
10600         (ATTRIBUTE_NORETURN): Update definition. Define always.
10601         Reported by Paul Eggert.
10602
10603 2011-02-13  Bruno Haible  <bruno@clisp.org>
10604
10605         mbrtowc: Add more tests for native Windows platforms.
10606         * tests/test-mbrtowc-w32-1.sh: New file.
10607         * tests/test-mbrtowc-w32-2.sh: New file.
10608         * tests/test-mbrtowc-w32-3.sh: New file.
10609         * tests/test-mbrtowc-w32-4.sh: New file.
10610         * tests/test-mbrtowc-w32-5.sh: New file.
10611         * tests/test-mbrtowc-w32.c: New file.
10612         * modules/mbrtowc-tests (Files): Add them.
10613         (Makefile.am): Arrange to run these tests.
10614         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
10615         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
10616
10617 2011-02-13  Bruno Haible  <bruno@clisp.org>
10618
10619         mbrtowc: Work around native Windows bug.
10620         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
10621         guess when no suitable locale for testing was found.
10622         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
10623
10624 2011-02-13  Bruno Haible  <bruno@clisp.org>
10625
10626         mbsinit: Work around mingw bug.
10627         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
10628         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
10629         Windows.
10630         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
10631
10632 2011-02-13  Bruno Haible  <bruno@clisp.org>
10633
10634         mbsinit: Don't crash for a NULL argument.
10635         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
10636         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
10637
10638 2011-02-13  Bruno Haible  <bruno@clisp.org>
10639
10640         Don't interfere with a program's definition of __attribute__.
10641         * lib/stdio.in.h (__attribute__): Remove definition.
10642         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
10643         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
10644         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
10645         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
10646         * lib/string.in.h (__attribute__): Remove definition.
10647         Reported by Paul Eggert.
10648
10649 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10650
10651         stdlib: don't get in the way of non-GCC __attribute__
10652         See thread starting at
10653         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
10654         Revert previous stdlib change, installing the following instead:
10655         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
10656         to get in the way of a non-GCC compiler that supports __attribute__.
10657         (_GL_ATTRIBUTE_RETURN): New macro.
10658         (_Exit): Use it instead of __attribute__.
10659
10660 2011-02-12  Bruno Haible  <bruno@clisp.org>
10661
10662         quotearg test: Avoid test failure on mingw.
10663         * tests/test-quotearg.sh: Convert the locale identifier from native
10664         Windows syntax to Unix syntax.
10665
10666 2011-02-12  Bruno Haible  <bruno@clisp.org>
10667
10668         setlocale: Prefer gnulib's override over libintl's override.
10669         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
10670         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
10671         GNULIB_defined_setlocale is set.
10672
10673 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10674
10675         stdlib: support non-GCC __attribute__
10676
10677         Fix a serious and tricky problem encountered when attempting to
10678         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
10679         5.5, but it crashed due to memory corruption on Solaris 10 with
10680         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
10681         bits that are otherwise zero.  This tagging is optional inside
10682         Emacs but is preferred and is used when __attribute__ ((__aligned
10683         (8))) works, as it does with both recent-enough GCC and with Sun C
10684         5.11.  However, Sun C 5.11 is not GCC and does not #define
10685         __GNUC__ and __GNUC_MINOR__.
10686
10687         When I added the getloadavg module to Emacs, it brought in
10688         stdlib.in.h, which contained this fragment:
10689
10690            #ifndef __attribute__
10691            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
10692            #  define __attribute__(Spec)   /* empty */
10693            # endif
10694            #endif
10695
10696         When files that include <stdlib.h> were compiled with Sun C 5.11,
10697         the above code disabled __attribute__ ((__aligned (8))), which
10698         caused variables to not be properly aligned, which eventually led
10699         to the pointer corruption mentioned above.  (This was a bit hard
10700         to diagnose, unfortunately.)
10701
10702         Several "#define __attribute__(X) /* empty */" code snippets need
10703         to be eradicated from Gnulib to work with non-GCC compilers that
10704         support __attribute__.  The Autoconf way to do this is to test for
10705         each kind of attribute that we want support for, and selectively
10706         enable that in source code.
10707
10708         Fix this problem just for stdlib.h, by adding a test for the
10709         __noreturn__ attribute, and change stdlib.in.h to use that test
10710         when needed.  This technique can be easily generalized to the
10711         other *.in.h files and attributes, and a similar technique can be
10712         used for *.h and *.c files.  This patch is enough to solve the
10713         problem for Emacs + getloadavg, and I thought I'd publish it for
10714         feedback before undertaking further, similar fixes in other
10715         modules.
10716
10717         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
10718         because it's not needed for stdlib.h.  It merely substitutes the
10719         value directly into stdlib.h.  We may well need to #define it, or
10720         similar symbols, for other modules, but it's nice to also have an
10721         option to not #define it for applications like Emacs that do not
10722         need it.
10723
10724         * lib/stdlib.in.h (__attribute__): Do not #define.
10725         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
10726         be defined only if the _Exit module is also used.
10727         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
10728         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
10729         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
10730         platforms.
10731         * modules/_Exit (Files): Add m4/attribute.m4.
10732         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
10733         * m4/attribute.m4: New file.
10734
10735 2011-02-12  Bruno Haible  <bruno@clisp.org>
10736
10737         wcsrtombs: Work around bug on native Windows.
10738         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
10739         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
10740         instead of len.
10741         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
10742
10743 2011-02-12  Bruno Haible  <bruno@clisp.org>
10744
10745         mbsrtowcs: Work around bug on native Windows.
10746         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
10747         against mingw bug.
10748         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
10749
10750 2011-02-12  Bruno Haible  <bruno@clisp.org>
10751
10752         Avoid setlocale bugs in tests.
10753         * modules/btowc (Dependencies): Add setlocale.
10754         * modules/c-strcase (Dependencies): Likewise.
10755         * modules/mbmemcasecmp (Dependencies): Likewise.
10756         * modules/mbmemcasecoll (Dependencies): Likewise.
10757         * modules/mbrtowc (Dependencies): Likewise.
10758         * modules/mbscasecmp (Dependencies): Likewise.
10759         * modules/mbscasestr (Dependencies): Likewise.
10760         * modules/mbschr (Dependencies): Likewise.
10761         * modules/mbscspn (Dependencies): Likewise.
10762         * modules/mbsinit (Dependencies): Likewise.
10763         * modules/mbsncasecmp (Dependencies): Likewise.
10764         * modules/mbsnrtowcs (Dependencies): Likewise.
10765         * modules/mbspbrk (Dependencies): Likewise.
10766         * modules/mbspcasecmp (Dependencies): Likewise.
10767         * modules/mbsrchr (Dependencies): Likewise.
10768         * modules/mbsrtowcs (Dependencies): Likewise.
10769         * modules/mbsspn (Dependencies): Likewise.
10770         * modules/mbsstr (Dependencies): Likewise.
10771         * modules/nl_langinfo (Dependencies): Likewise.
10772         * modules/quotearg (Dependencies): Likewise.
10773         * modules/unicase/locale-language (Dependencies): Likewise.
10774         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
10775         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
10776         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
10777         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
10778         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
10779         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
10780         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
10781         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
10782         * modules/vasnprintf-posix (Dependencies): Likewise.
10783         * modules/wcrtomb (Dependencies): Likewise.
10784         * modules/wcsnrtombs (Dependencies): Likewise.
10785         * modules/wcsrtombs (Dependencies): Likewise.
10786
10787 2011-02-12  Bruno Haible  <bruno@clisp.org>
10788
10789         setlocale: Workaround native Windows bug.
10790         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
10791         succeeds but sets LC_CTYPE to "C", report a failure.
10792         * tests/test-setlocale2.sh: New file.
10793         * tests/test-setlocale2.c: New file.
10794         * modules/setlocale-tests (Files): Add the new files.
10795         (Makefile.am): Enable test-setlocale2.sh test.
10796         * doc/posix-functions/setlocale.texi: Mention workaround.
10797
10798 2011-02-11  Bruno Haible  <bruno@clisp.org>
10799
10800         Tests for module 'setlocale'.
10801         * modules/setlocale-tests: New file.
10802         * tests/test-setlocale1.sh: New file.
10803         * tests/test-setlocale1.c: New file.
10804
10805         New module 'setlocale'.
10806         * lib/locale.in.h (setlocale): New declaration.
10807         * lib/setlocale.c: New file, based on
10808         gettext/gettext-runtime/intl/setlocale.c.
10809         * m4/setlocale.m4: New file.
10810         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
10811         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
10812         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
10813         REPLACE_SETLOCALE.
10814         * modules/setlocale: New file.
10815         * tests/test-locale-c++.cc: Test the declaration of setlocale.
10816         * doc/posix-functions/setlocale.texi: Mention the new module.
10817
10818 2011-02-11  Bruno Haible  <bruno@clisp.org>
10819
10820         Prepare for locale dependent tests on mingw.
10821         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
10822         because it has the wrong locale encoding.
10823         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
10824         French_France.1252 instead of "fr".
10825         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
10826         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
10827         because it has the wrong locale encoding.
10828         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
10829         native Windows, try Turkish_Turkey.65001.
10830         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
10831         Chinese_China.54936.
10832
10833         Prepare for locale dependent tests on mingw.
10834         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
10835         differently.
10836         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
10837         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
10838         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
10839         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10840
10841 2011-02-11  Eric Blake  <eblake@redhat.com>
10842
10843         strptime: avoid compiler warnings
10844         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
10845         compiler warnings about dead code.
10846         Reported by Daniel P. Berrange.
10847
10848 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
10849
10850         doc: update users.txt
10851         * users.txt: Add rcs.
10852
10853 2011-02-10  John W. Eaton  <jwe@gnu.org>
10854
10855         doc: update users.txt
10856         * users.txt: Add octave.
10857
10858 2011-02-10  Jim Meyering  <meyering@redhat.com>
10859
10860         doc: update users.txt
10861         * users.txt: Add iwhd.
10862
10863 2011-02-09  Bruno Haible  <bruno@clisp.org>
10864
10865         gnulib-tool: Make copyright notice adjustment more robust.
10866         * gnulib-tool (func_import): In sed_transform_main_lib_file,
10867         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
10868         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
10869         License".
10870         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
10871
10872 2011-02-06  Bruno Haible  <bruno@clisp.org>
10873
10874         New module 'towctrans'.
10875         * modules/towctrans: New file.
10876         * lib/wctype.in.h (towctrans): New declaration.
10877         * lib/towctrans.c: New file.
10878         * lib/towctrans-impl.h: New file.
10879         * m4/towctrans.m4: New file.
10880         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
10881         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
10882         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
10883         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
10884         * doc/posix-functions/towctrans.texi: Mention the new module.
10885
10886 2011-02-06  Bruno Haible  <bruno@clisp.org>
10887
10888         New module 'wctrans'.
10889         * modules/wctrans: New file.
10890         * lib/wctype.in.h (wctrans): New declaration.
10891         * lib/wctrans.c: New file.
10892         * lib/wctrans-impl.h: New file.
10893         * m4/wctrans.m4: New file.
10894         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
10895         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
10896         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
10897         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
10898         * doc/posix-functions/wctrans.texi: Mention the new module.
10899
10900 2011-02-06  Bruno Haible  <bruno@clisp.org>
10901
10902         New module 'iswctype'.
10903         * modules/iswctype: New file.
10904         * lib/wctype.in.h (iswctype): New declaration.
10905         * lib/iswctype.c: New file.
10906         * lib/iswctype-impl.h: New file.
10907         * m4/iswctype.m4: New file.
10908         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
10909         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
10910         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
10911         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
10912         * doc/posix-functions/iswctype.texi: Mention the new module and the
10913         HP-UX 11.00 problem.
10914
10915 2011-02-06  Bruno Haible  <bruno@clisp.org>
10916
10917         New module 'wctype'.
10918         * modules/wctype: Change to represent the wctype() substitute.
10919         * lib/wctype.in.h (wctype): New declaration.
10920         * lib/wctype.c: New file.
10921         * lib/wctype-impl.h: New file.
10922         * m4/wctype.m4: New file.
10923         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
10924         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
10925         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
10926         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
10927         * doc/posix-functions/wctype.texi: Mention the new module and the
10928         HP-UX 11.00 problem.
10929
10930 2011-02-06  Bruno Haible  <bruno@clisp.org>
10931
10932         wctype-h: Ensure wctype_t and wctrans_t are defined.
10933         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
10934         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
10935         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
10936         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
10937         HAVE_WCTRANS_T.
10938         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
10939
10940 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
10941
10942         flock: fix license typo
10943
10944         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
10945         omitted.
10946
10947 2011-02-08  Bruno Haible  <bruno@clisp.org>
10948
10949         Split large sed scripts, for HP-UX sed.
10950         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
10951         to avoid HP-UX limit of 99 commands, in the near future.
10952         * modules/stdlib (Makefile.am): Likewise.
10953         * modules/unistd (Makefile.am): Likewise.
10954         * modules/wchar (Makefile.am): Likewise.
10955         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
10956         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
10957         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
10958
10959 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
10960             Bruno Haible  <bruno@clisp.org>
10961
10962         stdlib: improve random_r modularization
10963         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
10964         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
10965         you also need the random_r module to get this material right.
10966         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
10967         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
10968         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
10969
10970 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
10971
10972         stdlib: don't depend on stdint
10973         * lib/stdlib.in.h: Don't include <stdint.h> merely because
10974         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
10975         be independent of whether stdint.h is needed.
10976         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
10977         here, instead of ...
10978         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
10979         struct random_data should be using the random_r module, not just
10980         the stdlib module (which wouldn't make sense: what package needs
10981         just struct random_data without also needing random_r?).
10982         * modules/stdlib (Depends-on): Remove stdint.
10983
10984         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
10985         See the thread rooted at
10986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
10987         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
10988         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
10989         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
10990         __VMS)); previously it was always included (via fcntl--.h).
10991         (getloadavg): Do not use c_strtod.  Instead, approximate it by
10992         hand; this is good enough for load averages.  Also, do not use
10993         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
10994         flags directly if available and don't bother otherwise.  (Packages
10995         that need the extra reliability should use the modules that define
10996         these flags on older platforms that lack them.)
10997         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
10998         fcntl-safer.
10999
11000 2011-02-08  Jim Meyering  <meyering@redhat.com>
11001
11002         di-set.h, ino-map.h: add multiple-inclusion guard
11003         Technically, the guard is required only for ino-map.h, due to its
11004         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
11005         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
11006         * lib/ino-map.h: Likewise.
11007
11008 2011-02-06  Bruno Haible  <bruno@clisp.org>
11009
11010         iswblank: Ensure declaration on glibc systems.
11011         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
11012         * modules/iswblank (Dependencies): Add 'extensions'.
11013         * doc/posix-functions/iswblank.texi: Document the glibc problem.
11014
11015 2011-02-06  Bruno Haible  <bruno@clisp.org>
11016
11017         New module 'iswblank'.
11018         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
11019         * modules/iswblank: New file.
11020         * modules/wctype-h (Files): Remove lib/iswblank.c.
11021         (Makefile.am): Substitute GNULIB_ISWBLANK.
11022         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
11023         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
11024         (gl_WCTYPE_H_DEFAULTS): New macro.
11025         (gl_WCTYPE_H): Require it. Remove iswblank related code.
11026         * modules/iswblank-tests: New file.
11027         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
11028         * tests/test-wctype-h.c (main): Remove iswblank tests.
11029         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
11030         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
11031         of 'wctype-h'.
11032         * NEWS: Mention the change.
11033         * modules/mbchar (Depends-on): Add iswblank.
11034
11035 2011-02-08  Bruno Haible  <bruno@clisp.org>
11036
11037         di-set tests: Refactor.
11038         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
11039         unnecessary includes.
11040         (ASSERT): Remove macro.
11041         (main): Make C90 compliant by avoiding variable declaration after
11042         statement.
11043         * modules/di-set-tests (Files): Add tests/macros.h.
11044
11045 2011-02-08  Bruno Haible  <bruno@clisp.org>
11046
11047         ino-map tests: Refactor.
11048         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
11049         unnecessary includes.
11050         (ASSERT): Remove macro.
11051         (main): Make C90 compliant by avoiding variable declaration after
11052         statement.
11053         * modules/ino-map-tests (Files): Add tests/macros.h.
11054
11055 2011-02-08  Jim Meyering  <meyering@redhat.com>
11056
11057         di-set: add "const" to a cast
11058         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
11059         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
11060
11061 2011-02-06  Bruno Haible  <bruno@clisp.org>
11062
11063         Rename module 'wctype' to 'wctype-h'.
11064         * modules/wctype-h: Renamed from modules/wctype.
11065         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
11066         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
11067         (Files, Depends-on, Makefile.am): Update.
11068         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
11069         (Files, Makefile.am): Update.
11070         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
11071         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
11072         * doc/posix-headers/wctype.texi: Update.
11073         * doc/posix-functions/iswalnum.texi: Update.
11074         * doc/posix-functions/iswalpha.texi: Update.
11075         * doc/posix-functions/iswblank.texi: Update.
11076         * doc/posix-functions/iswcntrl.texi: Update.
11077         * doc/posix-functions/iswdigit.texi: Update.
11078         * doc/posix-functions/iswgraph.texi: Update.
11079         * doc/posix-functions/iswlower.texi: Update.
11080         * doc/posix-functions/iswprint.texi: Update.
11081         * doc/posix-functions/iswpunct.texi: Update.
11082         * doc/posix-functions/iswspace.texi: Update.
11083         * doc/posix-functions/iswupper.texi: Update.
11084         * doc/posix-functions/iswxdigit.texi: Update.
11085         * doc/posix-functions/towlower.texi: Update.
11086         * doc/posix-functions/towupper.texi: Update.
11087         * NEWS: Mention the change.
11088         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
11089         * modules/mbchar (Dependencies): Likewise.
11090         * modules/mbswidth (Dependencies): Likewise.
11091         * modules/quotearg (Dependencies): Likewise.
11092         * modules/regex (Dependencies): Likewise.
11093         * modules/wcscasecmp (Dependencies): Likewise.
11094         * modules/wcsncasecmp (Dependencies): Likewise.
11095         * modules/wcwidth (Dependencies): Likewise.
11096
11097 2011-02-06  Bruno Haible  <bruno@clisp.org>
11098
11099         New module 'wcswidth'.
11100         * modules/wcswidth: New file.
11101         * lib/wchar.in.h (wcswidth): New declaration.
11102         * lib/wcswidth.c: New file.
11103         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
11104         * m4/wcswidth.m4: New file.
11105         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
11106         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
11107         REPLACE_WCSWIDTH.
11108         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
11109         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
11110         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
11111         * doc/posix-functions/wcswidth.texi: Mention the new module.
11112
11113 2011-02-06  Bruno Haible  <bruno@clisp.org>
11114
11115         New module 'wcstok'.
11116         * modules/wcstok: New file.
11117         * lib/wchar.in.h (wcstok): New declaration.
11118         * lib/wcstok.c: New file.
11119         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
11120         * m4/wcstok.m4: New file.
11121         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
11122         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
11123         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
11124         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
11125         * doc/posix-functions/wcstok.texi: Mention the new module.
11126
11127 2011-02-06  Bruno Haible  <bruno@clisp.org>
11128
11129         New module 'wcsstr'.
11130         * modules/wcsstr: New file.
11131         * lib/wchar.in.h (wcsstr): New declaration.
11132         * lib/wcsstr.c: New file.
11133         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
11134         * m4/wcsstr.m4: New file.
11135         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
11136         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
11137         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
11138         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
11139         * doc/posix-functions/wcsstr.texi: Mention the new module.
11140
11141 2011-02-06  Bruno Haible  <bruno@clisp.org>
11142
11143         New module 'wcspbrk'.
11144         * modules/wcspbrk: New file.
11145         * lib/wchar.in.h (wcspbrk): New declaration.
11146         * lib/wcspbrk.c: New file.
11147         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
11148         * m4/wcspbrk.m4: New file.
11149         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
11150         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
11151         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
11152         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
11153         * doc/posix-functions/wcspbrk.texi: Mention the new module.
11154
11155 2011-02-06  Bruno Haible  <bruno@clisp.org>
11156
11157         New module 'wcsspn'.
11158         * modules/wcsspn: New file.
11159         * lib/wchar.in.h (wcsspn): New declaration.
11160         * lib/wcsspn.c: New file.
11161         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
11162         * m4/wcsspn.m4: New file.
11163         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
11164         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
11165         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
11166         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
11167         * doc/posix-functions/wcsspn.texi: Mention the new module.
11168
11169 2011-02-06  Bruno Haible  <bruno@clisp.org>
11170
11171         New module 'wcscspn'.
11172         * modules/wcscspn: New file.
11173         * lib/wchar.in.h (wcscspn): New declaration.
11174         * lib/wcscspn.c: New file.
11175         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
11176         * m4/wcscspn.m4: New file.
11177         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
11178         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
11179         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
11180         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
11181         * doc/posix-functions/wcscspn.texi: Mention the new module.
11182
11183 2011-02-06  Bruno Haible  <bruno@clisp.org>
11184
11185         New module 'wcsrchr'.
11186         * modules/wcsrchr: New file.
11187         * lib/wchar.in.h (wcsrchr): New declaration.
11188         * lib/wcsrchr.c: New file.
11189         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
11190         * m4/wcsrchr.m4: New file.
11191         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
11192         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
11193         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
11194         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
11195         * doc/posix-functions/wcsrchr.texi: Mention the new module.
11196
11197 2011-02-06  Bruno Haible  <bruno@clisp.org>
11198
11199         New module 'wcschr'.
11200         * modules/wcschr: New file.
11201         * lib/wchar.in.h (wcschr): New declaration.
11202         * lib/wcschr.c: New file.
11203         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
11204         * m4/wcschr.m4: New file.
11205         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
11206         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
11207         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
11208         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
11209         * doc/posix-functions/wcschr.texi: Mention the new module.
11210
11211 2011-02-06  Bruno Haible  <bruno@clisp.org>
11212
11213         New module 'wcsdup'.
11214         * modules/wcsdup: New file.
11215         * lib/wchar.in.h (wcsdup): New declaration.
11216         * lib/wcsdup.c: New file.
11217         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
11218         * m4/wcsdup.m4: New file.
11219         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
11220         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
11221         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
11222         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
11223         * doc/posix-functions/wcsdup.texi: Mention the new module.
11224
11225 2011-02-06  Bruno Haible  <bruno@clisp.org>
11226
11227         New module 'wcsxfrm'.
11228         * modules/wcsxfrm: New file.
11229         * lib/wchar.in.h (wcsxfrm): New declaration.
11230         * lib/wcsxfrm.c: New file.
11231         * lib/wcsxfrm-impl.h: New file.
11232         * m4/wcsxfrm.m4: New file.
11233         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
11234         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
11235         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
11236         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
11237         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
11238
11239 2011-02-06  Bruno Haible  <bruno@clisp.org>
11240
11241         New module 'wcscoll'.
11242         * modules/wcscoll: New file.
11243         * lib/wchar.in.h (wcscoll): New declaration.
11244         * lib/wcscoll.c: New file.
11245         * lib/wcscoll-impl.h: New file.
11246         * m4/wcscoll.m4: New file.
11247         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
11248         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
11249         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
11250         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
11251         * doc/posix-functions/wcscoll.texi: Mention the new module.
11252
11253 2011-02-06  Bruno Haible  <bruno@clisp.org>
11254
11255         New module 'wcsncasecmp'.
11256         * modules/wcsncasecmp: New file.
11257         * lib/wchar.in.h (wcsncasecmp): New declaration.
11258         * lib/wcsncasecmp.c: New file.
11259         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
11260         * m4/wcsncasecmp.m4: New file.
11261         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
11262         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
11263         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
11264         HAVE_WCSNCASECMP.
11265         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
11266         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
11267
11268 2011-02-06  Bruno Haible  <bruno@clisp.org>
11269
11270         New module 'wcscasecmp'.
11271         * modules/wcscasecmp: New file.
11272         * lib/wchar.in.h (wcscasecmp): New declaration.
11273         * lib/wcscasecmp.c: New file.
11274         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
11275         * m4/wcscasecmp.m4: New file.
11276         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
11277         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
11278         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
11279         HAVE_WCSCASECMP.
11280         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
11281         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
11282
11283 2011-02-05  Bruno Haible  <bruno@clisp.org>
11284
11285         New module 'wcsncmp'.
11286         * modules/wcsncmp: New file.
11287         * lib/wchar.in.h (wcsncmp): New declaration.
11288         * lib/wcsncmp.c: New file.
11289         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
11290         * m4/wcsncmp.m4: New file.
11291         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
11292         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
11293         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
11294         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
11295         * doc/posix-functions/wcsncmp.texi: Mention the new module.
11296
11297 2011-02-05  Bruno Haible  <bruno@clisp.org>
11298
11299         New module 'wcscmp'.
11300         * modules/wcscmp: New file.
11301         * lib/wchar.in.h (wcscmp): New declaration.
11302         * lib/wcscmp.c: New file.
11303         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
11304         * m4/wcscmp.m4: New file.
11305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
11306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
11307         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
11308         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
11309         * doc/posix-functions/wcscmp.texi: Mention the new module.
11310
11311 2011-02-05  Bruno Haible  <bruno@clisp.org>
11312
11313         New module 'wcsncat'.
11314         * modules/wcsncat: New file.
11315         * lib/wchar.in.h (wcsncat): New declaration.
11316         * lib/wcsncat.c: New file.
11317         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
11318         * m4/wcsncat.m4: New file.
11319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
11320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
11321         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
11322         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
11323         * doc/posix-functions/wcsncat.texi: Mention the new module.
11324
11325 2011-02-05  Bruno Haible  <bruno@clisp.org>
11326
11327         New module 'wcscat'.
11328         * modules/wcscat: New file.
11329         * lib/wchar.in.h (wcscat): New declaration.
11330         * lib/wcscat.c: New file.
11331         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
11332         * m4/wcscat.m4: New file.
11333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
11334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
11335         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
11336         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
11337         * doc/posix-functions/wcscat.texi: Mention the new module.
11338
11339 2011-02-05  Bruno Haible  <bruno@clisp.org>
11340
11341         New module 'wcpncpy'.
11342         * modules/wcpncpy: New file.
11343         * lib/wchar.in.h (wcpncpy): New declaration.
11344         * lib/wcpncpy.c: New file.
11345         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
11346         * m4/wcpncpy.m4: New file.
11347         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
11348         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
11349         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
11350         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
11351         * doc/posix-functions/wcpncpy.texi: Mention the new module.
11352
11353 2011-02-05  Bruno Haible  <bruno@clisp.org>
11354
11355         New module 'wcsncpy'.
11356         * modules/wcsncpy: New file.
11357         * lib/wchar.in.h (wcsncpy): New declaration.
11358         * lib/wcsncpy.c: New file.
11359         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
11360         * m4/wcsncpy.m4: New file.
11361         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
11362         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
11363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
11364         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
11365         * doc/posix-functions/wcsncpy.texi: Mention the new module.
11366
11367 2011-02-05  Bruno Haible  <bruno@clisp.org>
11368
11369         New module 'wcpcpy'.
11370         * modules/wcpcpy: New file.
11371         * lib/wchar.in.h (wcpcpy): New declaration.
11372         * lib/wcpcpy.c: New file.
11373         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
11374         * m4/wcpcpy.m4: New file.
11375         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
11376         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
11377         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
11378         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
11379         * doc/posix-functions/wcpcpy.texi: Mention the new module.
11380
11381 2011-02-05  Bruno Haible  <bruno@clisp.org>
11382
11383         New module 'wcscpy'.
11384         * modules/wcscpy: New file.
11385         * lib/wchar.in.h (wcscpy): New declaration.
11386         * lib/wcscpy.c: New file.
11387         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
11388         * m4/wcscpy.m4: New file.
11389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
11390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
11391         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
11392         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
11393         * doc/posix-functions/wcscpy.texi: Mention the new module.
11394
11395 2011-02-05  Bruno Haible  <bruno@clisp.org>
11396
11397         New module 'wcsnlen'.
11398         * modules/wcsnlen: New file.
11399         * lib/wchar.in.h (wcsnlen): New declaration.
11400         * lib/wcsnlen.c: New file.
11401         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
11402         * m4/wcsnlen.m4: New file.
11403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
11404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
11405         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
11406         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
11407         * doc/posix-functions/wcsnlen.texi: Mention the new module.
11408
11409 2011-02-05  Bruno Haible  <bruno@clisp.org>
11410
11411         New module 'wcslen'.
11412         * modules/wcslen: New file.
11413         * lib/wchar.in.h (wcslen): New declaration.
11414         * lib/wcslen.c: New file.
11415         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
11416         * m4/wcslen.m4: New file.
11417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
11418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
11419         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
11420         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
11421         * doc/posix-functions/wcslen.texi: Mention the new module.
11422
11423 2011-02-05  Bruno Haible  <bruno@clisp.org>
11424
11425         New module 'wmemset'.
11426         * modules/wmemset: New file.
11427         * lib/wchar.in.h (wmemset): New declaration.
11428         * lib/wmemset.c: New file.
11429         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
11430         * m4/wmemset.m4: New file.
11431         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
11432         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
11433         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
11434         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
11435         * doc/posix-functions/wmemset.texi: Mention the new module.
11436
11437 2011-02-05  Bruno Haible  <bruno@clisp.org>
11438
11439         New module 'wmemmove'.
11440         * modules/wmemmove: New file.
11441         * lib/wchar.in.h (wmemmove): New declaration.
11442         * lib/wmemmove.c: New file.
11443         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
11444         * m4/wmemmove.m4: New file.
11445         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
11446         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
11447         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
11448         HAVE_WMEMMOVE.
11449         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
11450         * doc/posix-functions/wmemmove.texi: Mention the new module.
11451
11452 2011-02-05  Bruno Haible  <bruno@clisp.org>
11453
11454         New module 'wmemcpy'.
11455         * modules/wmemcpy: New file.
11456         * lib/wchar.in.h (wmemcpy): New declaration.
11457         * lib/wmemcpy.c: New file.
11458         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
11459         * m4/wmemcpy.m4: New file.
11460         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
11461         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
11462         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
11463         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
11464         * doc/posix-functions/wmemcpy.texi: Mention the new module.
11465
11466 2011-02-05  Bruno Haible  <bruno@clisp.org>
11467
11468         New module 'wmemcmp'.
11469         * modules/wmemcmp: New file.
11470         * lib/wchar.in.h (wmemcmp): New declaration.
11471         * lib/wmemcmp.c: New file.
11472         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
11473         * m4/wmemcmp.m4: New file.
11474         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
11475         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
11476         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
11477         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
11478         * doc/posix-functions/wmemcmp.texi: Mention the new module.
11479
11480 2011-02-07  Jim Meyering  <meyering@redhat.com>
11481
11482         di-set, ino-map: new modules, from coreutils
11483         * lib/di-set.c: New file.
11484         * lib/di-set.h: Likewise.
11485         * lib/ino-map.c: Likewise.
11486         * lib/ino-map.h: Likewise.
11487         * modules/di-set: Likewise.
11488         * modules/di-set-tests: Likewise.
11489         * modules/ino-map: Likewise.
11490         * modules/ino-map-tests: Likewise.
11491         * tests/test-di-set.c: Likewise.
11492         * tests/test-ino-map.c: Likewise.
11493
11494 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11495
11496         getloadavg: merge minor changes from Emacs
11497
11498         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
11499         (getloadavg): Use memset, not bzero.
11500
11501         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
11502         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
11503         clash (bug#86).
11504
11505 2010-11-14  Bruno Haible  <bruno@clisp.org>
11506
11507         Allow multiple gnulib generated replacements to coexist.
11508         * lib/getopt.in.h (struct option): Avoid identical redefinition.
11509         * lib/inttypes.in.h (imaxdiv_t): Likewise.
11510         * lib/langinfo.in.h (nl_item): Likewise.
11511         * lib/math.in.h (_NaN, NAN): Likewise.
11512         * lib/netdb.in.h (struct addrinfo): Likewise.
11513         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
11514         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
11515         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
11516         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
11517         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
11518         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
11519         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
11520         pthread_mutexattr_init, pthread_mutexattr_settype,
11521         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
11522         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
11523         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
11524         pthread_spin_trylock, pthread_spin_unlock): Likewise.
11525         * lib/sched.in.h (struct sched_param): Likewise.
11526         * lib/se-selinux.in.h (security_class_t, security_context_t,
11527         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
11528         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
11529         lsetfilecon, fsetfilecon, security_check_context,
11530         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
11531         Likewise.
11532         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
11533         Likewise.
11534         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
11535         _gl_function_taking_int_returning_void_t, union sigval,
11536         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
11537         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
11538         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
11539         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
11540         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
11541         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
11542         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
11543         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
11544         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
11545         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
11546         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
11547         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
11548         socklen_t, rpl_fd_isset): Likewise.
11549         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
11550         * lib/sys_time.in.h (struct timeval): Likewise.
11551         * lib/sys_times.in.h (struct tms): Likewise.
11552         * lib/sys_utsname.in.h (struct utsname):
11553         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
11554         * lib/unistd.in.h (getpagesize): Likewise.
11555         * lib/wchar.in.h (mbstate_t): Likewise.
11556         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
11557         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
11558         towlower, towupper): Likewise.
11559         Reported by Sam Steingold <sds@gnu.org>.
11560
11561 2011-02-05  Eric Blake  <eblake@redhat.com>
11562
11563         unsetenv: work around Haiku issues
11564         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
11565         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
11566
11567 2010-12-30  Bruce Korb  <bkorb@gnu.org>
11568
11569         libposix: avoid calling error() within libposix
11570         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
11571         is defined.
11572
11573 2011-02-05  Eric Blake  <eblake@redhat.com>
11574
11575         strerror_r-posix: port to cygwin
11576         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
11577         implementation.
11578         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
11579         * tests/test-strerror_r.c (main): Fix test.
11580         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
11581         issue.
11582
11583 2011-02-05  Bruno Haible  <bruno@clisp.org>
11584
11585         New module 'wmemchr'.
11586         * modules/wmemchr: New file.
11587         * lib/wchar.in.h (wmemchr): New declaration.
11588         * lib/wmemchr.c: New file.
11589         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
11590         * m4/wmemchr.m4: New file.
11591         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
11592         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
11593         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
11594         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
11595         * doc/posix-functions/wmemchr.texi: Mention the new module.
11596
11597 2011-02-04  Eric Blake  <eblake@redhat.com>
11598
11599         fdopendir: detect FreeBSD bug
11600         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
11601         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
11602
11603 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
11604
11605         stdbool: do not define HAVE_STDBOOL_H
11606         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
11607         AC_HEADER_STDBOOL.  All uses changed.  Do not define
11608         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
11609         imported from the latest Autoconf git.  It was motivated by Emacs,
11610         which uses gnulib but does not need HAVE_STDBOOL_H.
11611
11612 2011-02-04  Bruno Haible  <bruno@clisp.org>
11613
11614         wcsnrtombs: Prepare for new module wwcsnrtombs.
11615         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
11616         * lib/wcsnrtombs.c: Include it.
11617         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
11618
11619         wcsrtombs: Prepare for new module wwcsrtombs.
11620         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
11621         * lib/wcsrtombs.c: Include it.
11622         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
11623
11624         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
11625         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
11626         * lib/mbsnrtowcs.c: Include it.
11627         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
11628
11629         mbsrtowcs: Prepare for new module mbsrtowwcs.
11630         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
11631         * lib/mbsrtowcs.c: Include it.
11632         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
11633
11634 2011-02-04  Bruno Haible  <bruno@clisp.org>
11635
11636         vasnprintf: Reduce use of malloc for small format strings.
11637         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
11638         (arguments): Add room for the first 7 arguments.
11639         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
11640         (char_directives, u8_directives, u16_directives, u32_directives): Add
11641         room for the first 7 directives.
11642         * lib/printf-parse.c: Include <string.h>.
11643         (PRINTF_PARSE): Change memory handling code so that it uses the first
11644         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
11645         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
11646         Reported by Pádraig Brady <P@draigbrady.com>.
11647
11648 2011-01-31  Eric Blake  <eblake@redhat.com>
11649
11650         dup2: work around Haiku bug
11651         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
11652         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
11653         * doc/posix-functions/dup2.texi (dup2): Document the bug.
11654         * tests/test-dup2.c (main): Enhance test.
11655
11656 2011-01-31  Simon Josefsson  <simon@josefsson.org>
11657
11658         doc: off_t is not available in eglibc 2.11.2 stdio.h.
11659         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
11660         declared by eglibc 2.11.2.
11661         * lib/stdio.in.h: Likewise.
11662
11663 2011-01-31  Eric Blake  <eblake@redhat.com>
11664
11665         ignore-value: add missing test dependency
11666         * tests/test-ignore-value.c: Revert previous change; stdio.h
11667         provides off_t.
11668         * modules/ignore-value-tests (Depends-on): Add missing dependency.
11669
11670 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
11671
11672         mktime: clarify long_int width checking
11673         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
11674         the top level, to make it clearer that the assumption about
11675         long_int width is being checked.  See
11676         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
11677
11678 2011-01-30  Simon Josefsson  <simon@josefsson.org>
11679
11680         ignore-value: Fix self-test.
11681         * tests/test-ignore-value.c: Include sys/types.h for off_t.
11682
11683 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
11684
11685         TYPE_MAXIMUM: avoid theoretically undefined behavior
11686         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
11687         negative number, which the C Standard says has undefined behavior.
11688         In practice this is not a problem, but might as well do it by the book.
11689         Reported by Rich Felker and Eric Blake; see
11690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
11691         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
11692         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
11693         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11694         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
11695         * m4/stdint.m4 (gl_STDINT_H): Likewise.
11696         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
11697
11698         mktime: #undef mktime before #defining it
11699         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
11700
11701         mktime: systematically normalize tm_isdst comparisons
11702         * lib/mktime.c (isdst_differ): New function.
11703         (__mktime_internal): Use it systematically for all isdst comparisons.
11704         This completes the fix for libc BZ #6723, and removes the need for
11705         normalizing tm_isdst.  See
11706         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
11707         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
11708
11709         mktime: fix some integer overflow issues and sidestep the rest
11710
11711         This was prompted by a bug report by Benjamin Lindner for MinGW
11712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
11713         His bug is due to signed integer overflow (0 - INT_MIN), and I
11714         I scanned through mktime.c looking for other integer overflow
11715         problems, fixing all the bugs I found.
11716
11717         Although the C Standard says the resulting code is still not safe
11718         in the presence of integer overflow, in practice it should be good
11719         enough for all real-world two's-complement implementations, except
11720         for debugging environments that deliberately trap on integer
11721         overflow (e.g., gcc -ftrapv).
11722
11723         * lib/mktime.c (WRAPV): New macro.
11724         (SHR): Also check that long_int and time_t shift right in the
11725         usual way, before using the fast-but-unportable method.
11726         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
11727         used.  The code already assumed two's complement, so there's
11728         no need to test for alternatives.  All uses removed.
11729         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
11730         the C standard.  Problem reported by Rich Felker in
11731         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
11732         (twos_complement_arithmetic): Also check long_int and time_t.
11733         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
11734         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
11735         (__mktime_internal): Avoid integer overflow with unary subtraction
11736         in two instances where -1 - X is an adequate replacement for -X,
11737         since the calculations are approximate.
11738
11739 2011-01-29  Eric Blake  <eblake@redhat.com>
11740
11741         mktime: avoid infinite loop
11742         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
11743         type; behavior is still undefined but portable to all known targets.
11744         Reported by Rich Felker.
11745
11746 2011-01-29  Simon Josefsson  <simon@josefsson.org>
11747
11748         rename, unlink, same-inode: Relicense.
11749         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
11750         * modules/unlink (License): Likewise.
11751         * modules/same-inode (License): Likewise.
11752
11753 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
11754
11755         mktime: avoid problems on NetBSD 5 / i386
11756         * lib/mktime.c (long_int): New type.  This works around a problem
11757         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
11758         but time_t is 64 bits, and where I expect the existing code is
11759         wrong in some cases.
11760         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
11761         (ydhms_diff): Bring back the compile-time check for wide-enough
11762         year and yday.
11763
11764         mktime: fix misspelling in comment
11765         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
11766         This merges all recent glibc changes of importance.
11767
11768 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11769
11770         move-if-change: cope with concurrent mv of identical file.
11771         * build-aux/move-if-change (CMPPROG): Accept environment
11772         variable as an override for `cmp'.
11773         (usage): Document CMPPROG.
11774         Adjust comparison to drop stdout.  Cope with failure of mv if
11775         the target file exists and is identical to the source, for
11776         parallel builds.
11777         Report from H.J. Lu against binutils in PR binutils/12283.
11778
11779 2011-01-28  Bruce Korb  <bkorb@gnu.org>
11780
11781         * users.txt: Mention sharutils.
11782
11783 2011-01-28  Simon Josefsson  <simon@josefsson.org>
11784
11785         * users.txt: Mention OATH Toolkit.
11786
11787 2011-01-27  Bruno Haible  <bruno@clisp.org>
11788
11789         Prepare for supporting FreeBSD 10.
11790         * build-aux/config.libpath: Remove handling of freebsd1*.
11791
11792 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
11793
11794         Prepare for supporting FreeBSD 10.
11795         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
11796         match FreeBSD 10.0.
11797
11798 2011-01-27  Bruno Haible  <bruno@clisp.org>
11799
11800         vma-iter, get-rusage-as: Add OpenBSD support.
11801         * modules/vma-iter (configure.ac): Test for mquery.
11802         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
11803         * lib/vma-iter.c: Include <sys/mman.h>.
11804         (vma_iterate): Add an implementation based on mquery().
11805         * lib/resource-ext.h (get_rusage_as): Update comments.
11806         * lib/get-rusage-as.c: Likewise.
11807         * lib/get-rusage-data.c: Likewise.
11808
11809 2011-01-26  Karl Berry  <karl@gnu.org>
11810
11811         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
11812         variables to make it easier to override the makeinfo program used.
11813
11814 2011-01-26  Eric Blake  <eblake@redhat.com>
11815
11816         fcntl: work around Haiku F_DUPFD bugs
11817         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
11818         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
11819         cloexec bit on duplication.
11820         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
11821
11822 2011-01-26  Bruno Haible  <bruno@clisp.org>
11823
11824         Enable memory leak tests on AIX.
11825         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
11826         * tests/test-fprintf-posix3.c (main): Likewise.
11827
11828 2011-01-26  Bruno Haible  <bruno@clisp.org>
11829
11830         Tests for module 'get-rusage-data'.
11831         * modules/get-rusage-data-tests: New file.
11832         * tests/test-get-rusage-data.c: New file.
11833
11834         New module 'get-rusage-data'.
11835         * lib/resource-ext.h (get_rusage_data): New declaration.
11836         * lib/get-rusage-data.c: New file.
11837         * modules/get-rusage-data: New file.
11838
11839 2011-01-25  Bruno Haible  <bruno@clisp.org>
11840
11841         get-rusage-as: Allow for easier testing.
11842         * lib/resource-ext.h (get_rusage_as): Add comment.
11843         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
11844         (main): New function for interactive testing.
11845
11846 2011-01-25  Bruno Haible  <bruno@clisp.org>
11847
11848         vma-iter: Treat Haiku like BeOS.
11849         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
11850         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
11851
11852 2011-01-25  Eric Blake  <eblake@redhat.com>
11853
11854         c-stack: fix regression on cygwin when libsigsegv is present
11855         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
11856
11857 2011-01-24  Bruno Haible  <bruno@clisp.org>
11858
11859         vma-iter: Avoid empty intervals.
11860         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
11861         on an empty interval.
11862
11863 2011-01-24  Jim Meyering  <meyering@redhat.com>
11864
11865         u64: remove unnecessary #include
11866         * lib/u64.h: Don't include <stddef.h>.  It was not used.
11867
11868 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11869
11870         Allow the user to avoid the HAVE_RAW_DECL_* macros.
11871         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
11872
11873 2011-01-23  Bruno Haible  <bruno@clisp.org>
11874
11875         New module 'vma-iter'.
11876         * lib/vma-iter.h: New file.
11877         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
11878         * modules/vma-iter: New file.
11879         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
11880         for get_rusage_as_via_iterator.
11881         (vma_iterate_callback): New function.
11882         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
11883         * modules/get-rusage-as (Depends-on): Add vma-iter.
11884
11885 2011-01-23  Bruno Haible  <bruno@clisp.org>
11886
11887         uninorm: Tweak includes.
11888         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
11889         Reported by Jim Meyering.
11890
11891 2011-01-23  Bruno Haible  <bruno@clisp.org>
11892
11893         get-rusage-as: Improve on NetBSD.
11894         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
11895         /proc, like on FreeBSD.
11896
11897 2011-01-23  Jim Meyering  <meyering@redhat.com>
11898
11899         xreadlink.h: remove unnecessary #include
11900         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
11901
11902         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
11903         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
11904
11905 2011-01-23  Bruno Haible  <bruno@clisp.org>
11906
11907         get-rusage-as: Fix bug.
11908         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
11909         original limit when aborting the first loop.
11910
11911 2011-01-23  Bruno Haible  <bruno@clisp.org>
11912
11913         wctype: Ensure valid C syntax.
11914         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
11915         unconditionally, instead of gl_NEXT_HEADERS conditionally.
11916
11917 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
11918
11919         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
11920         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
11921         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
11922         as they are needed only for configure's test case.
11923         This removes two unnecessary symbols from config.h.
11924
11925         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
11926         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
11927         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
11928         AC_CHECK_HEADERS_ONCE on a header that we also invoke
11929         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
11930         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
11931         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
11932         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11933         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
11934         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11935         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
11936         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11937         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11938         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11939         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11940         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11941         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
11942         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
11943
11944 2011-01-21  Eric Blake  <eblake@redhat.com>
11945
11946         maintainer-makefile: work with older git for submodule check
11947         * top/maint.mk (public-submodule-commit): Rewrite to avoid
11948         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
11949         Reported by Matthias Bolte.
11950
11951         bootstrap: minor portability fixes
11952         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
11953         (usage): Omit leading capital and trailing . on help phrases, per
11954         GNU Coding Standards.
11955         (check_versions, top level): Prefix messages with script name.
11956
11957 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
11958
11959         bootstrap: support --no-git option
11960         * build-aux/bootstrap: Add --no-git option, to be used when
11961         --gnulib-srcdir points to the exact desired checkout.
11962
11963 2011-01-21  Eric Blake  <eblake@redhat.com>
11964
11965         strerror_r-posix: work with glibc 2.13
11966         * lib/strerror_r.c (strerror_r): Fix return type.
11967
11968 2011-01-21  Pádraig Brady  <P@draigBrady.com>
11969             Bruno Haible  <bruno@clisp.org>
11970
11971         uN_strstr: New unit tests.
11972         * modules/unistr/u8-strstr-tests: New file.
11973         * modules/unistr/u16-strstr-tests: New file.
11974         * modules/unistr/u32-strstr-tests: New file.
11975         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
11976         * tests/unistr/test-u8-strstr.c: New file.
11977         * tests/unistr/test-u16-strstr.c: New file.
11978         * tests/unistr/test-u32-strstr.c: New file.
11979
11980 2011-01-21  Pádraig Brady  <P@draigBrady.com>
11981             Bruno Haible  <bruno@clisp.org>
11982
11983         Make uN_strstr functions O(n) worst-case.
11984         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
11985         16-bit and 32-bit unit cases, use the unibyte algorithm from
11986         lib/mbsstr.c.
11987         * lib/unistr/u8-strstr.c: Include <string.h>.
11988         (UNIT_IS_UINT8_T): New macro.
11989         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
11990         (U_STRLEN, U_STRNLEN): New macros.
11991         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
11992         (U_STRLEN, U_STRNLEN): New macros.
11993         * modules/unistr/u8-strstr (Depends-on): Add strstr.
11994         (configure.ac): Update required libunistring version.
11995         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
11996         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
11997         malloca.
11998         (configure.ac): Update required libunistring version.
11999         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
12000         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
12001         malloca.
12002         (configure.ac): Update required libunistring version.
12003
12004 2011-01-21  Pádraig Brady  <P@draigBrady.com>
12005             Bruno Haible  <bruno@clisp.org>
12006
12007         Prepare for faster uN_strstr functions.
12008         * lib/str-kmp.h: Support definable UNITs.
12009         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
12010         needle_len argument.
12011         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
12012         * lib/mbscasestr.c (mbscasestr): Likewise.
12013
12014 2011-01-21  Pádraig Brady <P@draigBrady.com>
12015
12016         malloca-tests: make faster by unsetting MALLOC_PERTURB_
12017         * tests/test-malloca.c (main): Unset the environment variable
12018         to greatly speed up the test.
12019         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
12020         * modules/malloca-tests: Depend on unsetenv.
12021
12022 2011-01-21  Pádraig Brady <P@draigBrady.com>
12023
12024         ignore-value: remove stdint dependency
12025         * lib/ignore-value.h: Remove <stdint.h>
12026         * modules/ignore-value: Remove stdint dependency.
12027
12028 2011-01-21  Jim Meyering  <meyering@redhat.com>
12029
12030         maint.mk: adjust variable name to be consistent with other gl_ vars
12031         * top/maint.mk (gl_public_submodule_commit): Rename the variable
12032         to be lower case.
12033
12034 2011-01-20  Jim Meyering  <meyering@redhat.com>
12035
12036         maint.mk: make "check" depend on public-submodule-commit by default
12037         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
12038
12039 2011-01-20  Bruno Haible  <bruno@clisp.org>
12040
12041         mbfile, mbiter: Complete change from 2008-12-21.
12042         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
12043         * m4/mbiter.m4 (gl_MBITER): Likewise.
12044
12045 2011-01-20  Jim Meyering  <meyering@redhat.com>
12046
12047         init.sh: insert space between each function name and "()"
12048         * tests/init.sh: Make it a little easier to see that a function's
12049         name is "warn_", and not "warn" when looking at the first part of
12050         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
12051
12052 2011-01-20  Jim Meyering  <meyering@redhat.com>
12053
12054         mountlist: clean up code formatting
12055         * lib/mountlist.c (read_file_system_list): Split a long line,
12056         correct bracing style, use NULL in place of "(struct statfs *)0",
12057         don't parenthesize return value, add spaces around "=" and after
12058         ";-in-for-stmt".
12059
12060 2011-01-14  Markus Duft <mduft@gentoo.org>
12061
12062         mountlist: add support for Interix
12063         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
12064         Apply statvfs to all entries of /dev/fs.
12065         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
12066         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
12067
12068 2011-01-20  Jim Meyering  <meyering@redhat.com>
12069
12070         maint.mk: improve the public-submodule-commit rule
12071         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
12072         to suppress printing of its commands... unless V=1.
12073         Add git submodule's --quiet option to suppress printing of e.g.,
12074         "Entering gnulib" output.
12075         "cd" into $(srcdir) before running git submodule.
12076
12077 2011-01-20  Bruno Haible  <bruno@clisp.org>
12078
12079         include_next: Fix bug introduced on 2011-01-18.
12080         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
12081         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
12082         ac_cv_header_... variable if the second argument is not 'check'.
12083         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
12084         gl_NEXT_HEADERS_INTERNAL.
12085
12086 2011-01-20  Bruno Haible  <bruno@clisp.org>
12087
12088         Allow the user to avoid the GNULIB_TEST_* macros.
12089         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
12090         Suggested by Paul Eggert.
12091
12092 2011-01-14  Jim Meyering  <meyering@redhat.com>
12093
12094         bootstrap: avoid failure when there is no .gitmodules file
12095         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
12096         has been assigned to, even when its value is the empty string.
12097         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
12098         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
12099         Reported by John W. Eaton <jwe@gnu.org>.
12100
12101 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
12102
12103         assume <ctype.h>, ..., <time.h> exist
12104         For years gnulib has been assuming the existence of the headers
12105         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
12106         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
12107         them, since they don't appear to be needed.
12108         * README (Portability guidelines): Document this.
12109         * lib/flock.c: Assume <fcntl.h> exists.
12110         * lib/regex_internal.h: Assume <locale.h> exists.
12111         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
12112         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
12113         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
12114         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
12115         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
12116         * m4/regex.m4 (gl_REGEX): Likewise.
12117         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
12118         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
12119         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
12120         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
12121         * tests/test-argp.c: Likewise.
12122         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
12123
12124         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
12125         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
12126         AA_APPLE_UNIVERSAL_BUILD.  See
12127         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
12128         * NEWS: Document this.
12129
12130 2011-01-19  Eric Blake  <eblake@redhat.com>
12131
12132         c-stack: assume stack overflow if SA_SIGINFO unsupported
12133         * lib/c-stack.c (SIGACTION_WORKS): Rename...
12134         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
12135         sigaction will work.
12136         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
12137         behavior match Linux.
12138         * tests/test-c-stack.c (main): Prefer NULL for pointers.
12139
12140         stdbool-tests: accomodate Haiku
12141         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
12142
12143         binary-io: fix O_TEXT on Haiku
12144         * modules/binary-io (Depends-on): Add fcntl-h.
12145         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
12146         than blindly undefining O_TEXT.
12147         Reported by Scott McCreary.
12148
12149 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12150
12151         include_next: do not check for standard headers like stddef.h
12152
12153         I found this problem when modifying Emacs to use gnulib.
12154         I noticed that it added HAVE_STDDEF_H to config.h, even though
12155         gnulib always assumes <stddef.h> exists as per README and this
12156         symbol is unnecessary.
12157         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
12158         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
12159         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
12160         faster for headers like stddef.h that are known to exist.
12161         (gl_CHECK_NEXT_HEADERS): Use it.
12162         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
12163         rather than gl_CHECK_NEXT_HEADERS.
12164         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
12165         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
12166
12167 2011-01-18  Eric Blake  <eblake@redhat.com>
12168
12169         ansi-c++-opt: skip C++ dependency style if C++ is unused
12170         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
12171         tests when we know C++ compilation is not desired.
12172         Reported by Scott McCreary.
12173
12174 2011-01-18  Bruno Haible  <bruno@clisp.org>
12175
12176         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
12177         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
12178         (main): Perform test also when getrlimit and setrlimit don't exist or
12179         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
12180         limiting the address space size using setrlimit, compare the address
12181         space size before and after the the test.
12182         * tests/test-dprintf-posix2.c: Likewise.
12183         * tests/test-fprintf-posix3.sh: Update skip messages.
12184         * tests/test-dprintf-posix2.sh: Likewise.
12185         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
12186         * modules/dprintf-posix-tests (Depends-on): Likewise.
12187         Reported by Bruce Korb <bkorb@gnu.org> and
12188         Gary V. Vaughan <gary@gnu.org>.
12189
12190 2011-01-18  Bruno Haible  <bruno@clisp.org>
12191
12192         get-rusage-as: Improvement for Cygwin.
12193         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
12194         areas that are merely reserved.
12195
12196 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12197
12198         strftime: remove dependencies on multibyte modules
12199
12200         strftime depended on mbrlen, mbsinit, and wchar, but these modules
12201         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
12202         only if __osf__ is defined, and I suspect OSF doesn't need these
12203         other modules.  If my guess is wrong, we'll need to come up with a
12204         variant of strftime that doesn't need the multibyte modules.
12205
12206         I discovered this problem when attempting modify Emacs to use the
12207         strftime module.  With the previous gnulib, this caused Emacs to
12208         need 31 new files, ranging from lib/config.charset to
12209         m4/wint_t.m4.  This was overkill and I expect would be offputting
12210         to the Emacs maintainers.  After this change, only 6 new files are
12211         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
12212         stdbool.m4, and tm_gmtoff.m4.
12213
12214         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
12215         Suggested by Bruno Haible in
12216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
12217         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
12218         and do not check for wchar.h.
12219         * modules/strftime (Files): Remove m4/mbstate_t.m4.
12220         (Depends-on): Remove mbrlen, mbsinit, wchar.
12221
12222 2011-01-18  Bruno Haible  <bruno@clisp.org>
12223
12224         Tests for module 'get-rusage-as'.
12225         * modules/get-rusage-as-tests: New file.
12226         * tests/test-get-rusage-as.c: New file.
12227
12228         New module 'get-rusage-as'.
12229         * modules/get-rusage-as: New file.
12230         * lib/resource-ext.h: New file.
12231         * lib/get-rusage-as.c: New file.
12232
12233 2011-01-17  Eric Blake  <eblake@redhat.com>
12234
12235         sigaction: relax license from LGPLv3+ to LGPLv2+
12236         * modules/sigaction (License): Relax to LGPLv2+.
12237
12238 2011-01-14  Bruno Haible  <bruno@clisp.org>
12239
12240         filemode: Make function declarations usable in C++ mode.
12241         * lib/filemode.h: Enclose function declarations in extern "C" block.
12242         Reported by John W. Eaton <jwe@gnu.org>.
12243
12244 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
12245
12246         save-cwd: no longer include "xgetcwd.h"
12247         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
12248         This avoids a compilation failure in projects that use save-cwd
12249         without also using the xgetcwd module.
12250
12251 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
12252
12253         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
12254         This is so that a program like Emacs, which needs only dtoastr,
12255         does not have to bother with distributing and compiling ftoastr
12256         and ldtoastr.
12257         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
12258         * modules/dtoastr, modules/ldtoastr: New files.
12259         * modules/ftoastr: Now works just for 'float'.
12260         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
12261         (Makefile.am): Remove ftoastr.h (not needed and no effect),
12262         dtoastr.c, ldtoastr.c.
12263
12264 2011-01-11  Jim Meyering  <meyering@redhat.com>
12265
12266         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
12267         There is no need to work around the lack of the fchdir function,
12268         since gnulib can now provide a replacement when required.
12269         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
12270         * modules/save-cwd (Depends-on): Add fchdir.
12271
12272 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
12273
12274         openat, save-cwd: avoid xmalloc
12275
12276         This removes a direct (but undocumented) dependency of openat on
12277         xalloc, along with an indirect dependency via save-cwd.  It also
12278         removes a dependency of save-cwd on xgetcwd, and thereby
12279         indirectly on xalloc.  This change causes the openat substitute
12280         to fall back on save_cwd when memory is tight, and for save_cwd to
12281         fail instead of dying when memory is tight, but that's good enough.
12282         Problem and initial idea for fix reported by Bastien Roucaries in
12283         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
12284
12285         * lib/openat-proc.c: Include stdlib.h (for malloc), not
12286         xalloc.h (for xmalloc).
12287         (openat_proc_name): Use malloc, not xmalloc.
12288         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
12289         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
12290
12291         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
12292         This avoids heap allocation for file names whose lengths are in
12293         the range 512..1023, with the upper bound increasing to at most
12294         4031 depending on the platform's PATH_MAX.  (We do not want
12295         pathmax.h here as it might supply a non-constant PATH_MAX.)
12296         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
12297         Perhaps they should be moved to malloca.h?
12298         (OPENAT_BUFFER_SIZE): Use them.
12299
12300 2011-01-10  Bruno Haible  <bruno@clisp.org>
12301
12302         doc: Update users.txt.
12303         * users.txt: Add recutils.
12304
12305 2011-01-09  Karl Berry  <karl@gnu.org>
12306
12307         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
12308
12309         * doc/configmake.texi: New file.
12310         * doc/gnulib.texi: Include it.
12311         * modules/configmake: Move documentation from here.
12312
12313 2011-01-09  Bruno Haible  <bruno@clisp.org>
12314
12315         Update to Unicode 6.0.0.
12316         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
12317         (get_lbp): Update for Unicode 6.0.0.
12318         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
12319         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
12320         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
12321         U+11001, U+11038..U+11046. Remove U+06DE.
12322         (uc_width): Fix bounds of planes.
12323         * tests/uniwidth/test-uc_width2.sh: Same updates as in
12324         lib/uniwidth/width.c.
12325         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
12326         trailing whitespace removed.
12327         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
12328         without comments, but with the original copyright notice.
12329         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
12330         * lib/unicase/ignorable.h: Likewise.
12331         * lib/unicase/tocasefold.h: Likewise.
12332         * lib/unicase/tolower.h: Likewise.
12333         * lib/unicase/totitle.h: Likewise.
12334         * lib/unicase/toupper.h: Likewise.
12335         * lib/unictype/bidi_of.h: Likewise.
12336         * lib/unictype/blocks.h: Likewise.
12337         * lib/unictype/categ_C.h: Likewise.
12338         * lib/unictype/categ_Cn.h: Likewise.
12339         * lib/unictype/categ_L.h: Likewise.
12340         * lib/unictype/categ_Ll.h: Likewise.
12341         * lib/unictype/categ_Lm.h: Likewise.
12342         * lib/unictype/categ_Lo.h: Likewise.
12343         * lib/unictype/categ_Lu.h: Likewise.
12344         * lib/unictype/categ_M.h: Likewise.
12345         * lib/unictype/categ_Mc.h: Likewise.
12346         * lib/unictype/categ_Me.h: Likewise.
12347         * lib/unictype/categ_Mn.h: Likewise.
12348         * lib/unictype/categ_N.h: Likewise.
12349         * lib/unictype/categ_Nd.h: Likewise.
12350         * lib/unictype/categ_No.h: Likewise.
12351         * lib/unictype/categ_P.h: Likewise.
12352         * lib/unictype/categ_Po.h: Likewise.
12353         * lib/unictype/categ_S.h: Likewise.
12354         * lib/unictype/categ_Sc.h: Likewise.
12355         * lib/unictype/categ_Sk.h: Likewise.
12356         * lib/unictype/categ_Sm.h: Likewise.
12357         * lib/unictype/categ_So.h: Likewise.
12358         * lib/unictype/categ_of.h: Likewise.
12359         * lib/unictype/combining.h: Likewise.
12360         * lib/unictype/ctype_alnum.h: Likewise.
12361         * lib/unictype/ctype_alpha.h: Likewise.
12362         * lib/unictype/ctype_graph.h: Likewise.
12363         * lib/unictype/ctype_lower.h: Likewise.
12364         * lib/unictype/ctype_print.h: Likewise.
12365         * lib/unictype/ctype_punct.h: Likewise.
12366         * lib/unictype/ctype_upper.h: Likewise.
12367         * lib/unictype/decdigit.h: Likewise.
12368         * lib/unictype/digit.h: Likewise.
12369         * lib/unictype/numeric.h: Likewise.
12370         * lib/unictype/pr_alphabetic.h: Likewise.
12371         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
12372         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
12373         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
12374         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
12375         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
12376         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
12377         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
12378         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
12379         * lib/unictype/pr_case_ignorable.h: Likewise.
12380         * lib/unictype/pr_cased.h: Likewise.
12381         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
12382         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
12383         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
12384         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
12385         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
12386         * lib/unictype/pr_combining.h: Likewise.
12387         * lib/unictype/pr_composite.h: Likewise.
12388         * lib/unictype/pr_currency_symbol.h: Likewise.
12389         * lib/unictype/pr_decimal_digit.h: Likewise.
12390         * lib/unictype/pr_deprecated.h: Likewise.
12391         * lib/unictype/pr_format_control.h: Likewise.
12392         * lib/unictype/pr_grapheme_base.h: Likewise.
12393         * lib/unictype/pr_grapheme_extend.h: Likewise.
12394         * lib/unictype/pr_grapheme_link.h: Likewise.
12395         * lib/unictype/pr_id_continue.h: Likewise.
12396         * lib/unictype/pr_id_start.h: Likewise.
12397         * lib/unictype/pr_ideographic.h: Likewise.
12398         * lib/unictype/pr_lowercase.h: Likewise.
12399         * lib/unictype/pr_math.h: Likewise.
12400         * lib/unictype/pr_numeric.h: Likewise.
12401         * lib/unictype/pr_other_alphabetic.h: Likewise.
12402         * lib/unictype/pr_other_id_continue.h: Likewise.
12403         * lib/unictype/pr_other_math.h: Likewise.
12404         * lib/unictype/pr_punctuation.h: Likewise.
12405         * lib/unictype/pr_sentence_terminal.h: Likewise.
12406         * lib/unictype/pr_terminal_punctuation.h: Likewise.
12407         * lib/unictype/pr_unassigned_code_value.h: Likewise.
12408         * lib/unictype/pr_unified_ideograph.h: Likewise.
12409         * lib/unictype/pr_uppercase.h: Likewise.
12410         * lib/unictype/pr_xid_continue.h: Likewise.
12411         * lib/unictype/pr_xid_start.h: Likewise.
12412         * lib/unictype/scripts.h: Likewise.
12413         * lib/unictype/scripts_byname.gperf: Likewise.
12414         * lib/unictype/sy_java_ident.h: Likewise.
12415         * lib/unigbrk/gbrkprop.h: Likewise.
12416         * lib/unilbrk/lbrkprop1.h: Likewise.
12417         * lib/unilbrk/lbrkprop2.h: Likewise.
12418         * lib/uninorm/decomposition-table2.h: Likewise.
12419         * lib/uniwbrk/wbrkprop.h: Likewise.
12420         * tests/unicase/test-cased.c: Likewise.
12421         * tests/unicase/test-ignorable.c: Likewise.
12422         * tests/unicase/test-uc_tolower.c: Likewise.
12423         * tests/unicase/test-uc_totitle.c: Likewise.
12424         * tests/unicase/test-uc_toupper.c: Likewise.
12425         * tests/unictype/test-categ_C.c: Likewise.
12426         * tests/unictype/test-categ_Cn.c: Likewise.
12427         * tests/unictype/test-categ_L.c: Likewise.
12428         * tests/unictype/test-categ_Ll.c: Likewise.
12429         * tests/unictype/test-categ_Lm.c: Likewise.
12430         * tests/unictype/test-categ_Lo.c: Likewise.
12431         * tests/unictype/test-categ_Lu.c: Likewise.
12432         * tests/unictype/test-categ_M.c: Likewise.
12433         * tests/unictype/test-categ_Mc.c: Likewise.
12434         * tests/unictype/test-categ_Me.c: Likewise.
12435         * tests/unictype/test-categ_Mn.c: Likewise.
12436         * tests/unictype/test-categ_N.c: Likewise.
12437         * tests/unictype/test-categ_Nd.c: Likewise.
12438         * tests/unictype/test-categ_No.c: Likewise.
12439         * tests/unictype/test-categ_P.c: Likewise.
12440         * tests/unictype/test-categ_Po.c: Likewise.
12441         * tests/unictype/test-categ_S.c: Likewise.
12442         * tests/unictype/test-categ_Sc.c: Likewise.
12443         * tests/unictype/test-categ_Sk.c: Likewise.
12444         * tests/unictype/test-categ_Sm.c: Likewise.
12445         * tests/unictype/test-categ_So.c: Likewise.
12446         * tests/unictype/test-ctype_alnum.c: Likewise.
12447         * tests/unictype/test-ctype_alpha.c: Likewise.
12448         * tests/unictype/test-ctype_graph.c: Likewise.
12449         * tests/unictype/test-ctype_lower.c: Likewise.
12450         * tests/unictype/test-ctype_print.c: Likewise.
12451         * tests/unictype/test-ctype_punct.c: Likewise.
12452         * tests/unictype/test-ctype_upper.c: Likewise.
12453         * tests/unictype/test-decdigit.h: Likewise.
12454         * tests/unictype/test-digit.h: Likewise.
12455         * tests/unictype/test-numeric.h: Likewise.
12456         * tests/unictype/test-pr_alphabetic.c: Likewise.
12457         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
12458         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
12459         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
12460         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
12461         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
12462         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
12463         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
12464         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
12465         * tests/unictype/test-pr_case_ignorable.c: Likewise.
12466         * tests/unictype/test-pr_cased.c: Likewise.
12467         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
12468         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
12469         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
12470         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
12471         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
12472         * tests/unictype/test-pr_combining.c: Likewise.
12473         * tests/unictype/test-pr_composite.c: Likewise.
12474         * tests/unictype/test-pr_currency_symbol.c: Likewise.
12475         * tests/unictype/test-pr_decimal_digit.c: Likewise.
12476         * tests/unictype/test-pr_deprecated.c: Likewise.
12477         * tests/unictype/test-pr_format_control.c: Likewise.
12478         * tests/unictype/test-pr_grapheme_base.c: Likewise.
12479         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
12480         * tests/unictype/test-pr_grapheme_link.c: Likewise.
12481         * tests/unictype/test-pr_id_continue.c: Likewise.
12482         * tests/unictype/test-pr_id_start.c: Likewise.
12483         * tests/unictype/test-pr_ideographic.c: Likewise.
12484         * tests/unictype/test-pr_lowercase.c: Likewise.
12485         * tests/unictype/test-pr_math.c: Likewise.
12486         * tests/unictype/test-pr_numeric.c: Likewise.
12487         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
12488         * tests/unictype/test-pr_other_id_continue.c: Likewise.
12489         * tests/unictype/test-pr_other_math.c: Likewise.
12490         * tests/unictype/test-pr_punctuation.c: Likewise.
12491         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
12492         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
12493         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
12494         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
12495         * tests/unictype/test-pr_uppercase.c: Likewise.
12496         * tests/unictype/test-pr_xid_continue.c: Likewise.
12497         * tests/unictype/test-pr_xid_start.c: Likewise.
12498         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
12499         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
12500         changes.
12501         * lib/unictype/categ_Cc.h: Likewise.
12502         * lib/unictype/categ_Cf.h: Likewise.
12503         * lib/unictype/categ_Co.h: Likewise.
12504         * lib/unictype/categ_Cs.h: Likewise.
12505         * lib/unictype/categ_Lt.h: Likewise.
12506         * lib/unictype/categ_Nl.h: Likewise.
12507         * lib/unictype/categ_Pc.h: Likewise.
12508         * lib/unictype/categ_Pd.h: Likewise.
12509         * lib/unictype/categ_Pe.h: Likewise.
12510         * lib/unictype/categ_Pf.h: Likewise.
12511         * lib/unictype/categ_Pi.h: Likewise.
12512         * lib/unictype/categ_Ps.h: Likewise.
12513         * lib/unictype/categ_Z.h: Likewise.
12514         * lib/unictype/categ_Zl.h: Likewise.
12515         * lib/unictype/categ_Zp.h: Likewise.
12516         * lib/unictype/categ_Zs.h: Likewise.
12517         * lib/unictype/ctype_blank.h: Likewise.
12518         * lib/unictype/ctype_cntrl.h: Likewise.
12519         * lib/unictype/ctype_digit.h: Likewise.
12520         * lib/unictype/ctype_space.h: Likewise.
12521         * lib/unictype/ctype_xdigit.h: Likewise.
12522         * lib/unictype/mirror.h: Likewise.
12523         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
12524         * lib/unictype/pr_bidi_block_separator.h: Likewise.
12525         * lib/unictype/pr_bidi_common_separator.h: Likewise.
12526         * lib/unictype/pr_bidi_control.h: Likewise.
12527         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
12528         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
12529         * lib/unictype/pr_bidi_european_digit.h: Likewise.
12530         * lib/unictype/pr_bidi_pdf.h: Likewise.
12531         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
12532         * lib/unictype/pr_bidi_whitespace.h: Likewise.
12533         * lib/unictype/pr_dash.h: Likewise.
12534         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
12535         * lib/unictype/pr_diacritic.h: Likewise.
12536         * lib/unictype/pr_extender.h: Likewise.
12537         * lib/unictype/pr_hex_digit.h: Likewise.
12538         * lib/unictype/pr_hyphen.h: Likewise.
12539         * lib/unictype/pr_ids_binary_operator.h: Likewise.
12540         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
12541         * lib/unictype/pr_ignorable_control.h: Likewise.
12542         * lib/unictype/pr_iso_control.h: Likewise.
12543         * lib/unictype/pr_join_control.h: Likewise.
12544         * lib/unictype/pr_left_of_pair.h: Likewise.
12545         * lib/unictype/pr_line_separator.h: Likewise.
12546         * lib/unictype/pr_logical_order_exception.h: Likewise.
12547         * lib/unictype/pr_non_break.h: Likewise.
12548         * lib/unictype/pr_not_a_character.h: Likewise.
12549         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
12550         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
12551         * lib/unictype/pr_other_id_start.h: Likewise.
12552         * lib/unictype/pr_other_lowercase.h: Likewise.
12553         * lib/unictype/pr_other_uppercase.h: Likewise.
12554         * lib/unictype/pr_paired_punctuation.h: Likewise.
12555         * lib/unictype/pr_paragraph_separator.h: Likewise.
12556         * lib/unictype/pr_pattern_syntax.h: Likewise.
12557         * lib/unictype/pr_pattern_white_space.h: Likewise.
12558         * lib/unictype/pr_private_use.h: Likewise.
12559         * lib/unictype/pr_quotation_mark.h: Likewise.
12560         * lib/unictype/pr_radical.h: Likewise.
12561         * lib/unictype/pr_soft_dotted.h: Likewise.
12562         * lib/unictype/pr_space.h: Likewise.
12563         * lib/unictype/pr_titlecase.h: Likewise.
12564         * lib/unictype/pr_variation_selector.h: Likewise.
12565         * lib/unictype/pr_white_space.h: Likewise.
12566         * lib/unictype/pr_zero_width.h: Likewise.
12567         * lib/unictype/sy_c_ident.h: Likewise.
12568         * lib/unictype/sy_c_whitespace.h: Likewise.
12569         * lib/unictype/sy_java_whitespace.h: Likewise.
12570         * lib/uninorm/composition-table.gperf: Likewise.
12571         * lib/uninorm/decomposition-table1.h: Likewise.
12572         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
12573         LB8.
12574         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
12575         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
12576         * modules/unictype/*: Bump version number of expected libunistring
12577         version.
12578
12579 2011-01-09  Bruno Haible  <bruno@clisp.org>
12580
12581         Update to Unicode 5.2.0.
12582         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
12583         trailing whitespace removed.
12584
12585 2011-01-09  Bruno Haible  <bruno@clisp.org>
12586
12587         New Unicode character properties, from Unicode 5.2.0.
12588         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
12589         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
12590         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
12591         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
12592         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
12593         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
12594         uc_is_property_cased, uc_is_property_case_ignorable,
12595         uc_is_property_changes_when_lowercased,
12596         uc_is_property_changes_when_uppercased,
12597         uc_is_property_changes_when_titlecased,
12598         uc_is_property_changes_when_casefolded,
12599         uc_is_property_changes_when_casemapped): New declarations.
12600         * lib/unictype/pr_byname.gperf: Add the new properties.
12601         * modules/unictype/property-byname (Depends-on): Depend on the new
12602         properties modules.
12603         * modules/unictype/property-all (Depends-on): Likewise.
12604         * MODULES.html.sh (Unicode string functions): Add
12605         unictype/property-case-ignorable, unictype/property-cased,
12606         unictype/property-changes-when-casefolded,
12607         unictype/property-changes-when-casemapped,
12608         unictype/property-changes-when-lowercased,
12609         unictype/property-changes-when-titlecased,
12610         unictype/property-changes-when-uppercased.
12611
12612         New module 'unictype/property-changes-when-casemapped'.
12613         * modules/unictype/property-changes-when-casemapped: New file.
12614         * lib/unictype/pr_changes_when_casemapped.c: New file.
12615         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
12616         generated by gen-uni-tables.
12617         * modules/unictype/property-changes-when-casemapped-tests: New file.
12618         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
12619         automatically generated by gen-uni-tables.
12620
12621         New module 'unictype/property-changes-when-casefolded'.
12622         * modules/unictype/property-changes-when-casefolded: New file.
12623         * lib/unictype/pr_changes_when_casefolded.c: New file.
12624         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
12625         generated by gen-uni-tables.
12626         * modules/unictype/property-changes-when-casefolded-tests: New file.
12627         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
12628         automatically generated by gen-uni-tables.
12629
12630         New module 'unictype/property-changes-when-titlecased'.
12631         * modules/unictype/property-changes-when-titlecased: New file.
12632         * lib/unictype/pr_changes_when_titlecased.c: New file.
12633         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
12634         generated by gen-uni-tables.
12635         * modules/unictype/property-changes-when-titlecased-tests: New file.
12636         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
12637         automatically generated by gen-uni-tables.
12638
12639         New module 'unictype/property-changes-when-uppercased'.
12640         * modules/unictype/property-changes-when-uppercased: New file.
12641         * lib/unictype/pr_changes_when_uppercased.c: New file.
12642         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
12643         generated by gen-uni-tables.
12644         * modules/unictype/property-changes-when-uppercased-tests: New file.
12645         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
12646         automatically generated by gen-uni-tables.
12647
12648         New module 'unictype/property-changes-when-lowercased'.
12649         * modules/unictype/property-changes-when-lowercased: New file.
12650         * lib/unictype/pr_changes_when_lowercased.c: New file.
12651         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
12652         generated by gen-uni-tables.
12653         * modules/unictype/property-changes-when-lowercased-tests: New file.
12654         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
12655         automatically generated by gen-uni-tables.
12656
12657         New module 'unictype/property-case-ignorable'.
12658         * modules/unictype/property-case-ignorable: New file.
12659         * lib/unictype/pr_case_ignorable.c: New file.
12660         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
12661         by gen-uni-tables.
12662         * modules/unictype/property-case-ignorable-tests: New file.
12663         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
12664         generated by gen-uni-tables.
12665
12666         New module 'unictype/property-cased'.
12667         * modules/unictype/property-cased: New file.
12668         * lib/unictype/pr_cased.c: New file.
12669         * lib/unictype/pr_cased.h: New file, automatically generated by
12670         gen-uni-tables.
12671         * modules/unictype/property-cased-tests: New file.
12672         * tests/unictype/test-pr_cased.c: New file, automatically generated by
12673         gen-uni-tables.
12674
12675 2011-01-09  Bruno Haible  <bruno@clisp.org>
12676
12677         Update to Unicode 5.2.0.
12678         * lib/gen-uni-tables.c (output_predicate, output_category,
12679         output_combclass, output_bidi_category, output_decimal_digit_test,
12680         output_decimal_digit, output_digit_test, output_digit,
12681         output_numeric_test, output_numeric, output_mirror, output_scripts,
12682         output_scripts_byname, output_blocks, output_ident_category): Fix
12683         comment header.
12684         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
12685         get_wbp.
12686         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
12687         items.
12688         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
12689         Changes_When_Lowercased, Changes_When_Uppercased,
12690         Changes_When_Titlecased, Changes_When_Casefolded,
12691         Changes_When_Casemapped.
12692         (is_property_alphabetic, is_property_default_ignorable_code_point):
12693         Update for Unicode 5.2.0.
12694         (is_property_cased, is_property_case_ignorable,
12695         is_property_changes_when_lowercased,
12696         is_property_changes_when_uppercased,
12697         is_property_changes_when_titlecased,
12698         is_property_changes_when_casefolded,
12699         is_property_changes_when_casemapped): New functions.
12700         (output_properties): Output also the properties cased, case_ignorable,
12701         changes_when_lowercased, changes_when_uppercased,
12702         changes_when_titlecased, changes_when_casefolded,
12703         changes_when_casemapped.
12704         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
12705         Unicode TR#11 revision 17 -> 19.
12706         (LBP_CP): New enumeration value.
12707         (LBP_*): Adjust values accordingly.
12708         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
12709         TR#14 revision 22 -> 24.
12710         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
12711         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
12712         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
12713         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
12714         is_WBP_MIDLETTER.
12715         (output_composition_tables): Allow for 24 bits instead of 16 bits in
12716         the code1 and code2 of each composition rule.
12717         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
12718         * lib/unicase/ignorable.h: Likewise.
12719         * lib/unicase/tocasefold.h: Likewise.
12720         * lib/unicase/tolower.h: Likewise.
12721         * lib/unicase/totitle.h: Likewise.
12722         * lib/unicase/toupper.h: Likewise.
12723         * lib/unictype/bidi_of.h: Likewise.
12724         * lib/unictype/blocks.h: Likewise.
12725         * lib/unictype/categ_C.h: Likewise.
12726         * lib/unictype/categ_Cf.h: Likewise.
12727         * lib/unictype/categ_Cn.h: Likewise.
12728         * lib/unictype/categ_L.h: Likewise.
12729         * lib/unictype/categ_Ll.h: Likewise.
12730         * lib/unictype/categ_Lm.h: Likewise.
12731         * lib/unictype/categ_Lo.h: Likewise.
12732         * lib/unictype/categ_Lu.h: Likewise.
12733         * lib/unictype/categ_M.h: Likewise.
12734         * lib/unictype/categ_Mc.h: Likewise.
12735         * lib/unictype/categ_Mn.h: Likewise.
12736         * lib/unictype/categ_N.h: Likewise.
12737         * lib/unictype/categ_Nd.h: Likewise.
12738         * lib/unictype/categ_Nl.h: Likewise.
12739         * lib/unictype/categ_No.h: Likewise.
12740         * lib/unictype/categ_P.h: Likewise.
12741         * lib/unictype/categ_Pd.h: Likewise.
12742         * lib/unictype/categ_Po.h: Likewise.
12743         * lib/unictype/categ_S.h: Likewise.
12744         * lib/unictype/categ_Sc.h: Likewise.
12745         * lib/unictype/categ_So.h: Likewise.
12746         * lib/unictype/categ_of.h: Likewise.
12747         * lib/unictype/combining.h: Likewise.
12748         * lib/unictype/ctype_alnum.h: Likewise.
12749         * lib/unictype/ctype_alpha.h: Likewise.
12750         * lib/unictype/ctype_graph.h: Likewise.
12751         * lib/unictype/ctype_lower.h: Likewise.
12752         * lib/unictype/ctype_print.h: Likewise.
12753         * lib/unictype/ctype_punct.h: Likewise.
12754         * lib/unictype/ctype_upper.h: Likewise.
12755         * lib/unictype/decdigit.h: Likewise.
12756         * lib/unictype/digit.h: Likewise.
12757         * lib/unictype/numeric.h: Likewise.
12758         * lib/unictype/pr_alphabetic.h: Likewise.
12759         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
12760         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
12761         * lib/unictype/pr_bidi_european_digit.h: Likewise.
12762         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
12763         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
12764         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
12765         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
12766         * lib/unictype/pr_combining.h: Likewise.
12767         * lib/unictype/pr_composite.h: Likewise.
12768         * lib/unictype/pr_currency_symbol.h: Likewise.
12769         * lib/unictype/pr_dash.h: Likewise.
12770         * lib/unictype/pr_decimal_digit.h: Likewise.
12771         * lib/unictype/pr_deprecated.h: Likewise.
12772         * lib/unictype/pr_diacritic.h: Likewise.
12773         * lib/unictype/pr_extender.h: Likewise.
12774         * lib/unictype/pr_grapheme_base.h: Likewise.
12775         * lib/unictype/pr_grapheme_extend.h: Likewise.
12776         * lib/unictype/pr_grapheme_link.h: Likewise.
12777         * lib/unictype/pr_id_continue.h: Likewise.
12778         * lib/unictype/pr_id_start.h: Likewise.
12779         * lib/unictype/pr_ideographic.h: Likewise.
12780         * lib/unictype/pr_ignorable_control.h: Likewise.
12781         * lib/unictype/pr_logical_order_exception.h: Likewise.
12782         * lib/unictype/pr_lowercase.h: Likewise.
12783         * lib/unictype/pr_numeric.h: Likewise.
12784         * lib/unictype/pr_other_alphabetic.h: Likewise.
12785         * lib/unictype/pr_punctuation.h: Likewise.
12786         * lib/unictype/pr_sentence_terminal.h: Likewise.
12787         * lib/unictype/pr_terminal_punctuation.h: Likewise.
12788         * lib/unictype/pr_unassigned_code_value.h: Likewise.
12789         * lib/unictype/pr_unified_ideograph.h: Likewise.
12790         * lib/unictype/pr_uppercase.h: Likewise.
12791         * lib/unictype/pr_xid_continue.h: Likewise.
12792         * lib/unictype/pr_xid_start.h: Likewise.
12793         * lib/unictype/pr_zero_width.h: Likewise.
12794         * lib/unictype/scripts.h: Likewise.
12795         * lib/unictype/scripts_byname.gperf: Likewise.
12796         * lib/unictype/sy_java_ident.h: Likewise.
12797         * lib/unigbrk/gbrkprop.h: Likewise.
12798         * lib/unilbrk/lbrkprop1.h: Likewise.
12799         * lib/unilbrk/lbrkprop2.h: Likewise.
12800         * lib/unilbrk/lbrktables.h: Likewise.
12801         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
12802         LBP_CP. Implement rule LB30.
12803         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
12804         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
12805         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
12806         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
12807         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
12808         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
12809         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
12810         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
12811         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
12812         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
12813         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
12814         bits instead of 16 bits in the code1 and code2 of each composition
12815         rule.
12816         (uc_composition): Update for Unicode 5.2.0.
12817         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
12818         * lib/uninorm/decomposition-table2.h: Likewise.
12819         * lib/uniwbrk/wbrkprop.h: Likewise.
12820         * tests/unicase/test-cased.c: Likewise.
12821         * tests/unicase/test-ignorable.c: Likewise.
12822         * tests/unicase/test-uc_tolower.c: Likewise.
12823         * tests/unicase/test-uc_totitle.c: Likewise.
12824         * tests/unicase/test-uc_toupper.c: Likewise.
12825         * tests/unictype/test-categ_C.c: Likewise.
12826         * tests/unictype/test-categ_Cf.c: Likewise.
12827         * tests/unictype/test-categ_Cn.c: Likewise.
12828         * tests/unictype/test-categ_L.c: Likewise.
12829         * tests/unictype/test-categ_Ll.c: Likewise.
12830         * tests/unictype/test-categ_Lm.c: Likewise.
12831         * tests/unictype/test-categ_Lo.c: Likewise.
12832         * tests/unictype/test-categ_Lu.c: Likewise.
12833         * tests/unictype/test-categ_M.c: Likewise.
12834         * tests/unictype/test-categ_Mc.c: Likewise.
12835         * tests/unictype/test-categ_Mn.c: Likewise.
12836         * tests/unictype/test-categ_N.c: Likewise.
12837         * tests/unictype/test-categ_Nd.c: Likewise.
12838         * tests/unictype/test-categ_Nl.c: Likewise.
12839         * tests/unictype/test-categ_No.c: Likewise.
12840         * tests/unictype/test-categ_P.c: Likewise.
12841         * tests/unictype/test-categ_Pd.c: Likewise.
12842         * tests/unictype/test-categ_Po.c: Likewise.
12843         * tests/unictype/test-categ_S.c: Likewise.
12844         * tests/unictype/test-categ_Sc.c: Likewise.
12845         * tests/unictype/test-categ_So.c: Likewise.
12846         * tests/unictype/test-ctype_alnum.c: Likewise.
12847         * tests/unictype/test-ctype_alpha.c: Likewise.
12848         * tests/unictype/test-ctype_graph.c: Likewise.
12849         * tests/unictype/test-ctype_lower.c: Likewise.
12850         * tests/unictype/test-ctype_print.c: Likewise.
12851         * tests/unictype/test-ctype_punct.c: Likewise.
12852         * tests/unictype/test-ctype_upper.c: Likewise.
12853         * tests/unictype/test-decdigit.h: Likewise.
12854         * tests/unictype/test-digit.h: Likewise.
12855         * tests/unictype/test-numeric.h: Likewise.
12856         * tests/unictype/test-pr_alphabetic.c: Likewise.
12857         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
12858         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
12859         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
12860         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
12861         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
12862         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
12863         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
12864         * tests/unictype/test-pr_combining.c: Likewise.
12865         * tests/unictype/test-pr_composite.c: Likewise.
12866         * tests/unictype/test-pr_currency_symbol.c: Likewise.
12867         * tests/unictype/test-pr_dash.c: Likewise.
12868         * tests/unictype/test-pr_decimal_digit.c: Likewise.
12869         * tests/unictype/test-pr_deprecated.c: Likewise.
12870         * tests/unictype/test-pr_diacritic.c: Likewise.
12871         * tests/unictype/test-pr_extender.c: Likewise.
12872         * tests/unictype/test-pr_grapheme_base.c: Likewise.
12873         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
12874         * tests/unictype/test-pr_grapheme_link.c: Likewise.
12875         * tests/unictype/test-pr_id_continue.c: Likewise.
12876         * tests/unictype/test-pr_id_start.c: Likewise.
12877         * tests/unictype/test-pr_ideographic.c: Likewise.
12878         * tests/unictype/test-pr_ignorable_control.c: Likewise.
12879         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
12880         * tests/unictype/test-pr_lowercase.c: Likewise.
12881         * tests/unictype/test-pr_numeric.c: Likewise.
12882         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
12883         * tests/unictype/test-pr_punctuation.c: Likewise.
12884         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
12885         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
12886         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
12887         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
12888         * tests/unictype/test-pr_uppercase.c: Likewise.
12889         * tests/unictype/test-pr_xid_continue.c: Likewise.
12890         * tests/unictype/test-pr_xid_start.c: Likewise.
12891         * tests/unictype/test-pr_zero_width.c: Likewise.
12892         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
12893         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
12894         changed behaviour: line breaking is now disallowed between a letter
12895         or '=' and '('.
12896         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
12897         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
12898         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
12899         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
12900         * tests/uniwidth/test-uc_width2.sh: Same updates as in
12901         lib/uniwidth/width.c.
12902         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
12903         without comments, but with the original copyright notice.
12904         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
12905         changes.
12906         * lib/unictype/categ_Cc.h: Likewise.
12907         * lib/unictype/categ_Co.h: Likewise.
12908         * lib/unictype/categ_Cs.h: Likewise.
12909         * lib/unictype/categ_Lt.h: Likewise.
12910         * lib/unictype/categ_Me.h: Likewise.
12911         * lib/unictype/categ_Pc.h: Likewise.
12912         * lib/unictype/categ_Pe.h: Likewise.
12913         * lib/unictype/categ_Pf.h: Likewise.
12914         * lib/unictype/categ_Pi.h: Likewise.
12915         * lib/unictype/categ_Ps.h: Likewise.
12916         * lib/unictype/categ_Sk.h: Likewise.
12917         * lib/unictype/categ_Sm.h: Likewise.
12918         * lib/unictype/categ_Z.h: Likewise.
12919         * lib/unictype/categ_Zl.h: Likewise.
12920         * lib/unictype/categ_Zp.h: Likewise.
12921         * lib/unictype/categ_Zs.h: Likewise.
12922         * lib/unictype/ctype_blank.h: Likewise.
12923         * lib/unictype/ctype_cntrl.h: Likewise.
12924         * lib/unictype/ctype_digit.h: Likewise.
12925         * lib/unictype/ctype_space.h: Likewise.
12926         * lib/unictype/ctype_xdigit.h: Likewise.
12927         * lib/unictype/mirror.h: Likewise.
12928         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
12929         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
12930         * lib/unictype/pr_bidi_block_separator.h: Likewise.
12931         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
12932         * lib/unictype/pr_bidi_common_separator.h: Likewise.
12933         * lib/unictype/pr_bidi_control.h: Likewise.
12934         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
12935         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
12936         * lib/unictype/pr_bidi_pdf.h: Likewise.
12937         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
12938         * lib/unictype/pr_bidi_whitespace.h: Likewise.
12939         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
12940         * lib/unictype/pr_format_control.h: Likewise.
12941         * lib/unictype/pr_hex_digit.h: Likewise.
12942         * lib/unictype/pr_hyphen.h: Likewise.
12943         * lib/unictype/pr_ids_binary_operator.h: Likewise.
12944         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
12945         * lib/unictype/pr_iso_control.h: Likewise.
12946         * lib/unictype/pr_join_control.h: Likewise.
12947         * lib/unictype/pr_left_of_pair.h: Likewise.
12948         * lib/unictype/pr_line_separator.h: Likewise.
12949         * lib/unictype/pr_math.h: Likewise.
12950         * lib/unictype/pr_non_break.h: Likewise.
12951         * lib/unictype/pr_not_a_character.h: Likewise.
12952         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
12953         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
12954         * lib/unictype/pr_other_id_continue.h: Likewise.
12955         * lib/unictype/pr_other_id_start.h: Likewise.
12956         * lib/unictype/pr_other_lowercase.h: Likewise.
12957         * lib/unictype/pr_other_math.h: Likewise.
12958         * lib/unictype/pr_other_uppercase.h: Likewise.
12959         * lib/unictype/pr_paired_punctuation.h: Likewise.
12960         * lib/unictype/pr_paragraph_separator.h: Likewise.
12961         * lib/unictype/pr_pattern_syntax.h: Likewise.
12962         * lib/unictype/pr_pattern_white_space.h: Likewise.
12963         * lib/unictype/pr_private_use.h: Likewise.
12964         * lib/unictype/pr_quotation_mark.h: Likewise.
12965         * lib/unictype/pr_radical.h: Likewise.
12966         * lib/unictype/pr_soft_dotted.h: Likewise.
12967         * lib/unictype/pr_space.h: Likewise.
12968         * lib/unictype/pr_titlecase.h: Likewise.
12969         * lib/unictype/pr_variation_selector.h: Likewise.
12970         * lib/unictype/pr_white_space.h: Likewise.
12971         * lib/unictype/sy_c_ident.h: Likewise.
12972         * lib/unictype/sy_c_whitespace.h: Likewise.
12973         * lib/unictype/sy_java_whitespace.h: Likewise.
12974         * modules/uni*/*: Bump version number of expected libunistring version.
12975         Reported by Simon Josefsson.
12976
12977 2011-01-09  Karl Heuer  <kwzh@gnu.org>
12978
12979         useless-if-before-free: fix typo in --help and make the internal,
12980         automatic version date update process work once again.
12981         --help output contained a NUL character instead of the
12982         backslash-zero that was intended.  Also, the "must lie within
12983         the first 8 lines" line is on line 9, and hence not getting
12984         automatically updated.
12985         * build-aux/useless-if-before-free: Fix the former by adding a
12986         backslash, and the latter by condensing the three lines of what-it-does
12987         to a single line, leaving one line of slack for the future.
12988
12989 2011-01-09  Bruno Haible  <bruno@clisp.org>
12990
12991         uniwidth/width: Fix width of U+1D173..U+1D17A.
12992         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
12993         symbolic_width, output_width_property_test): New functions.
12994         (main): Invoke output_nonspacing_property, output_width_property_test.
12995         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
12996         U+1D173..U+1D17A.
12997         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
12998         1.
12999         * modules/uniwidth/*: Bump version number of expected libunistring
13000         version.
13001         * modules/unilbrk/*: Likewise.
13002
13003 2011-01-08  Bruno Haible  <bruno@clisp.org>
13004
13005         uninorm tests: Preserve copyright of Unicode data file.
13006         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
13007         Mention modifications.
13008
13009 2011-01-08  Bruno Haible  <bruno@clisp.org>
13010
13011         gen-uni-tables: Prepare for Unicode 5.2.0.
13012         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
13013         (debug_output_lbp, output_lbp): Update.
13014
13015 2011-01-08  Bruno Haible  <bruno@clisp.org>
13016
13017         unilbrk: Clarify gen-uni-tables.c code.
13018         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
13019         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
13020         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
13021
13022 2011-01-07  Bruno Haible  <bruno@clisp.org>
13023
13024         strtod: Restore errno when successfully parsing Infinity or NaN.
13025         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
13026         restore the original errno.
13027
13028 2011-01-07  Bruno Haible  <bruno@clisp.org>
13029
13030         remove test: Avoid failure on HP-UX 11.
13031         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
13032
13033 2011-01-07  Bruno Haible  <bruno@clisp.org>
13034
13035         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
13036         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
13037         error code.
13038
13039 2011-01-07  Pádraig Brady <P@draigBrady.com>
13040
13041         ignore-value: fixup comments, and add Eric Blake
13042         as an author since he rewrote the macros.
13043         * lib/ignore-value.h (ignore_value):  State that
13044         we now support aggregates.  Also specify exactly
13045         when the GCC warn_unused_result feature was added.
13046
13047 2011-01-06  Eric Blake  <eblake@redhat.com>
13048
13049         ignore-value: support aggregate types
13050         * lib/ignore-value.h (ignore_value): Provide separate gcc
13051         definition.
13052         * modules/ignore-value-tests: New test module.
13053         * tests/test-ignore-value.c: New test.
13054
13055         maint.mk: improve sc_prohibit_strcmp regex
13056         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
13057         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
13058         definition of STRNEQ.
13059
13060         signal: work around Haiku issue with SIGBUS
13061         * lib/siglist.h: Add comment.
13062         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
13063         strsignal's favoring of SIGSEGV.
13064         * tests/test-signal.c (main): Avoid test failure.
13065         * doc/posix-headers/signal.texi (signal.h): Document the issue.
13066         Reported by Scott McCreary.
13067
13068         maint.mk: add pre-release check to ensure submodule commits are public
13069         * top/maint.mk (public-submodule-commit): New rule.
13070         (submodule-checks): New variable.
13071         (alpha beta stable): Depend on the variable.
13072
13073 2011-01-05  Pádraig Brady <P@draigBrady.com>
13074         and Jim Meyering  <meyering@redhat.com>
13075
13076         ignore-value: make ignore_value more generic; deprecate ignore_ptr
13077         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
13078         (ATTRIBUTE_DEPRECATED): Define.
13079         (_ignore_case): New function.
13080         (ignore_value): New macro, to replace the old function.
13081         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
13082         * modules/ignore-value (Depends-on): Add stdint.
13083
13084 2011-01-04  Eric Blake  <eblake@redhat.com>
13085
13086         doc: regenerate INSTALL
13087         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
13088         @firstparagraphindent support, now that autoconf dropped it.
13089         (INSTALL_PRELUDE): Reinstate old macro.
13090         * doc/install.texi: Resync from autoconf.
13091         * doc/INSTALL: Reflect recent autoconf update.
13092         * doc/INSTALL.ISO: Likewise.
13093         * doc/INSTALL.UTF-8: Likewise.
13094         Reported by Karl Berry.
13095
13096 2011-01-04  Bruce Korb  <address@hidden>
13097
13098         git-version-gen: avoid a sub-shell
13099         * build-aux/git-version-gen: Redirect stderr in `...` via
13100         "exec 2>...", rather than via an added sub-shell.
13101
13102 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
13103
13104         git-version-gen: use (...) rather than sh -c '...'
13105         * build-aux/git-version-gen: Rather than hard-coding a shell's name
13106         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
13107
13108 2011-01-03  Jim Meyering  <meyering@redhat.com>
13109
13110         git-version-gen: convert leading TABs to spaces
13111         * build-aux/git-version-gen: Expand leading TABs.
13112
13113         git-version-gen: handle failed "git rev-list"
13114         * build-aux/git-version-gen: Rather than leaking a "fatal" error
13115         from git and proceeding as if it had succeeded but printed no SHA1
13116         checksums, suppress the diagnostic and handle the failure.
13117         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
13118
13119         git-version-gen: include command name in one more diagnostic
13120         * build-aux/git-version-gen: When the required .tarball-version file
13121         was missing or unreadable, you might see the diagnostic from "cat",
13122         but no trace of the name of the invoking script.  Now, you still see
13123         the diagnostic from cat, but also get one from "git-version-gen: ".
13124         Inspired by a patch from Bruce Korb.
13125
13126         update-copyright: adjust test to match changed code
13127         * tests/test-update-copyright.sh: Change test's expected output
13128         to match new actual output.
13129
13130 2011-01-02  Bruno Haible  <bruno@clisp.org>
13131
13132         getlogin_r: Avoid test failure on HP-UX 11.
13133         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
13134         ERANGE when the second argument is zero.
13135         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
13136         portability problem.
13137
13138 2011-01-02  Bruce Korb  <bkorb@gnu.org>
13139
13140         * build-aux/update-copyright: doc Simon's changes
13141
13142 2011-01-02  Simon Josefsson  <simon@josefsson.org>
13143
13144         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
13145         environment variable.
13146
13147 2011-01-02  Bruno Haible  <bruno@clisp.org>
13148
13149         unigbrk: Avoid gcc warnings.
13150         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
13151         unused variable.
13152         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
13153         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
13154         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
13155         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
13156         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
13157         Change type of first argument to 'const char *'.
13158         (main): Remove unused variable.
13159         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
13160         type of first argument to 'const char *'.
13161         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
13162         Likewise.
13163         (main): Change type of variable 's'.
13164         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
13165         to 'int'.
13166
13167 2011-01-02  Bruno Haible  <bruno@clisp.org>
13168
13169         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
13170         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
13171         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
13172         bug.
13173         * lib/pwrite.c: Undo 2010-12-31 patch.
13174         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
13175
13176 2011-01-02  Bruno Haible  <bruno@clisp.org>
13177
13178         pread: Fix test whether it works.
13179         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
13180
13181 2011-01-02  Bruno Haible  <bruno@clisp.org>
13182
13183         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
13184         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
13185         ends in "6". Don't require a specific month name. Try also the locale
13186         names found on HP-UX 11 and Solaris 7.
13187
13188 2011-01-02  Bruno Haible  <bruno@clisp.org>
13189
13190         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
13191         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
13192         C linkage.
13193         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
13194
13195 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
13196
13197         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
13198         for consistency, since the "cluster" term is not used elsewhere.
13199         * lib/unigbrk.in.h: Update name.
13200         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
13201         * lib/unigbrk/u16-grapheme-next.c: Update name.
13202         * lib/unigbrk/u16-grapheme-prev.c: Update name.
13203         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
13204         * lib/unigbrk/u32-grapheme-next.c: Update name.
13205         * lib/unigbrk/u32-grapheme-prev.c: Update name.
13206         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
13207         * lib/unigbrk/u8-grapheme-next.c: Update name.
13208         * lib/unigbrk/u8-grapheme-prev.c: Update name.
13209         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
13210         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
13211         Suggested by Bruno Haible.
13212
13213 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
13214
13215         Remove module 'u8-grapheme-len' as too redundant with
13216         'u8-grapheme-next'.
13217         * modules/unigbrk/u8-grapheme-len: Delete file.
13218         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
13219         * lib/unigbrk.in.h: Remove prototype for deleted function.
13220         * lib/unigbrk/u8-grapheme-len.c: Delete file.
13221         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
13222
13223         Remove module 'u16-grapheme-len' as too redundant with
13224         'u16-grapheme-next'.
13225         * modules/unigbrk/u16-grapheme-len: Delete file.
13226         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
13227         * lib/unigbrk.in.h: Remove prototype for deleted function.
13228         * lib/unigbrk/u16-grapheme-len.c: Delete file.
13229         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
13230
13231         Remove module 'u32-grapheme-len' as too redundant with
13232         'u32-grapheme-next'.
13233         * modules/unigbrk/u32-grapheme-len: Delete file.
13234         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
13235         * lib/unigbrk.in.h: Remove prototype for deleted function.
13236         * lib/unigbrk/u32-grapheme-len.c: Delete file.
13237         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
13238
13239         Suggested by Bruno Haible.
13240
13241 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
13242
13243         * unigbrk.in.h: Fix typo: "ben" => "been".
13244         Reported by Bruno Haible.
13245
13246 2011-01-01  Jim Meyering  <meyering@redhat.com>
13247
13248         maint: update almost all copyright ranges to include 2011
13249         Run the new "make update-copyright" rule.
13250
13251 2011-01-01  Jim Meyering  <meyering@redhat.com>
13252
13253         maint: update-copyright: exempt doc/INSTALL*
13254         * Makefile (update-copyright): Also exclude doc/INSTALL*,
13255         since they are generated.  Suggested by Bruno Haible.
13256
13257 2011-01-01  Jim Meyering  <meyering@redhat.com>
13258
13259         maint: refine the update-copyright rule
13260         * Makefile (update-copyright): Also exclude any file that includes
13261         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
13262         code that merely generates the comment.
13263
13264 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
13265
13266         New module 'u8-grapheme-len'.
13267         * modules/unigbrk/u8-grapheme-len: New file.
13268         * modules/unigbrk/u8-grapheme-len-tests: New file.
13269         * lib/unigbrk.in.h: Add prototype for new function.
13270         * lib/unigbrk/u8-grapheme-len.c: New file.
13271         * tests/unigbrk/test-u8-grapheme-len.c: New file.
13272
13273         New module 'u16-grapheme-len'.
13274         * modules/unigbrk/u16-grapheme-len: New file.
13275         * modules/unigbrk/u16-grapheme-len-tests: New file.
13276         * lib/unigbrk.in.h: Add prototype for new function.
13277         * lib/unigbrk/u16-grapheme-len.c: New file.
13278         * tests/unigbrk/test-u16-grapheme-len.c: New file.
13279
13280         New module 'u32-grapheme-len'.
13281         * modules/unigbrk/u32-grapheme-len: New file.
13282         * modules/unigbrk/u32-grapheme-len-tests: New file.
13283         * lib/unigbrk.in.h: Add prototype for new function.
13284         * lib/unigbrk/u32-grapheme-len.c: New file.
13285         * tests/unigbrk/test-u32-grapheme-len.c: New file.
13286
13287         New module 'u8-grapheme-next'.
13288         * modules/unigbrk/u8-grapheme-next: New file.
13289         * modules/unigbrk/u8-grapheme-next-tests: New file.
13290         * lib/unigbrk.in.h: Add prototype for new function.
13291         * lib/unigbrk/u8-grapheme-next.c: New file.
13292         * tests/unigbrk/test-u8-grapheme-next.c: New file.
13293
13294         New module 'u16-grapheme-next'.
13295         * modules/unigbrk/u16-grapheme-next: New file.
13296         * modules/unigbrk/u16-grapheme-next-tests: New file.
13297         * lib/unigbrk.in.h: Add prototype for new function.
13298         * lib/unigbrk/u16-grapheme-next.c: New file.
13299         * tests/unigbrk/test-u16-grapheme-next.c: New file.
13300
13301         New module 'u32-grapheme-next'.
13302         * modules/unigbrk/u32-grapheme-next: New file.
13303         * modules/unigbrk/u32-grapheme-next-tests: New file.
13304         * lib/unigbrk.in.h: Add prototype for new function.
13305         * lib/unigbrk/u32-grapheme-next.c: New file.
13306         * tests/unigbrk/test-u32-grapheme-next.c: New file.
13307
13308         New module 'u8-grapheme-prev'.
13309         * modules/unigbrk/u8-grapheme-prev: New file.
13310         * modules/unigbrk/u8-grapheme-prev-tests: New file.
13311         * lib/unigbrk.in.h: Add prototype for new function.
13312         * lib/unigbrk/u8-grapheme-prev.c: New file.
13313         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
13314
13315         New module 'u16-grapheme-prev'.
13316         * modules/unigbrk/u16-grapheme-prev: New file.
13317         * modules/unigbrk/u16-grapheme-prev-tests: New file.
13318         * lib/unigbrk.in.h: Add prototype for new function.
13319         * lib/unigbrk/u16-grapheme-prev.c: New file.
13320         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
13321
13322         New module 'u32-grapheme-prev'.
13323         * modules/unigbrk/u32-grapheme-prev: New file.
13324         * modules/unigbrk/u32-grapheme-prev-tests: New file.
13325         * lib/unigbrk.in.h: Add prototype for new function.
13326         * lib/unigbrk/u32-grapheme-prev.c: New file.
13327         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
13328
13329         New module 'u8-grapheme-breaks'.
13330         * modules/unigbrk/u8-grapheme-breaks: New file.
13331         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
13332         * lib/unigbrk.in.h: Add prototype for new function.
13333         * lib/unigbrk/u8-grapheme-breaks.c: New file.
13334         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
13335
13336         New module 'u16-grapheme-breaks'.
13337         * modules/unigbrk/u16-grapheme-breaks: New file.
13338         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
13339         * lib/unigbrk.in.h: Add prototype for new function.
13340         * lib/unigbrk/u16-grapheme-breaks.c: New file.
13341         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
13342
13343         New module 'u32-grapheme-breaks'.
13344         * modules/unigbrk/u32-grapheme-breaks: New file.
13345         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
13346         * lib/unigbrk.in.h: Add prototype for new function.
13347         * lib/unigbrk/u32-grapheme-breaks.c: New file.
13348         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
13349
13350         New module 'ulc-grapheme-breaks'.
13351         * modules/unigbrk/ulc-grapheme-breaks: New file.
13352         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
13353         * m4/locale-ar.m4: New file.
13354         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
13355         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
13356         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
13357
13358 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
13359
13360         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
13361         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
13362         modified how this file was generated before I initially submitted
13363         the module, but failed to regenerate it.  This meant that several
13364         of the level2 entries were wrong.
13365         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
13366         Remove the division-by-2 that is folded into the table now that
13367         gbrkprop.h has been regenerated properly.  Now -1 entries are
13368         handled correctly.
13369
13370         New module 'unigbrk/uc-gbrk-prop-tests'.
13371         * modules/unigbrk/uc-gbrk-prop-tests: New file.
13372         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
13373         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
13374         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
13375
13376 2011-01-01  Bruno Haible  <bruno@clisp.org>
13377
13378         Avoid use of hexadecimal escapes.
13379         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
13380         instead of hexadecimal escapes.
13381
13382 2011-01-01  Jim Meyering  <meyering@redhat.com>
13383
13384         maint: new rule to update copyright year ranges
13385         * Makefile (update-copyright): New rule.
13386
13387         maint: indent with TABs in Makefile
13388         * Makefile: Expand leading sequences of spaces to TABs
13389
13390         version-etc: update the copyright year it reports
13391         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
13392
13393 2010-12-31  Bruno Haible  <bruno@clisp.org>
13394
13395         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
13396         * lib/isfinite.c (zerof, zerod, zerol): New variables.
13397         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
13398         zero.
13399
13400 2010-12-31  Bruno Haible  <bruno@clisp.org>
13401
13402         pwrite: Work around HP-UX 11.11 bug.
13403         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
13404         works and set REPLACE_PWRITE if not.
13405         * lib/pwrite.c (pwrite): Add an implementation that uses the system
13406         function.
13407         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
13408
13409 2010-12-31  Bruno Haible  <bruno@clisp.org>
13410
13411         pread: Work around HP-UX 11 bugs.
13412         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
13413         and set REPLACE_PREAD if not.
13414         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
13415
13416 2010-12-31  Eric Blake  <eblake@redhat.com>
13417
13418         nl_langinfo: fix YESEXPR on Irix 6.5
13419         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
13420         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
13421         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
13422         it.
13423
13424 2010-12-31  Bruno Haible  <bruno@clisp.org>
13425
13426         iconv: Document HP-UX 11 bug.
13427         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
13428
13429 2010-12-31  Bruno Haible  <bruno@clisp.org>
13430
13431         ldexpl: Fix link error on HP-UX 11.
13432         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
13433         LDEXPL_LIBM, using $ISNANL_LIBM.
13434
13435 2010-12-31  Eric Blake  <eblake@redhat.com>
13436
13437         ftello: avoid compilation failure with SunStudio c89
13438         * lib/ftello.c (ftello): Use lseek, not llseek.
13439
13440         tests: avoid failing coreutils tests on cygwin
13441         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
13442         (create_exe_shims_): Return 0 when skipping.
13443
13444 2010-12-31  Bruno Haible  <bruno@clisp.org>
13445
13446         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
13447         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
13448
13449 2010-12-31  Bruno Haible  <bruno@clisp.org>
13450
13451         waitpid: Fix link error in C++ mode.
13452         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
13453
13454 2010-12-31  Bruno Haible  <bruno@clisp.org>
13455
13456         isnan: Use GCC built-ins when possible.
13457         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
13458         __builtin_isnan.
13459         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
13460         (isnan): Define using GCC built-ins for GCC >= 4.0.
13461
13462 2010-12-31  Bruno Haible  <bruno@clisp.org>
13463
13464         isnand: Fix mistake.
13465         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
13466         __builtin_isnand.
13467
13468 2010-12-31  Bruno Haible  <bruno@clisp.org>
13469
13470         open: Avoid C++ error on HP-UX 11.
13471         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
13472
13473 2010-12-31  Bruno Haible  <bruno@clisp.org>
13474
13475         time_r: Add missing declarations on HP-UX 11.
13476         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
13477         instead of HAVE_LOCALTIME_R.
13478         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
13479         HAVE_LOCALTIME_R always.
13480         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
13481         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
13482         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
13483         HAVE_LOCALTIME_R.
13484         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
13485         * doc/posix-functions/localtime_r.texi: Likewise.
13486
13487 2010-12-29  Eric Blake  <eblake@redhat.com>
13488
13489         mountlist: tweak previous commit
13490         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
13491         Reported by Paul Eggert.
13492
13493         mountlist: fix local drive detection on cygwin
13494         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
13495         that works for cygwin.
13496
13497 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
13498
13499         ftoastr, snprintf: ftoastr + snprintf module
13500         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
13501         since the snprintf module now should be good enough here.
13502         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
13503         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
13504         and gl_MODULE_INDICATOR([snprintf]), but the former enables
13505         GNULIB_SNPRINTF only for the test directory, and the latter
13506         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
13507         seems to suffice by itself.
13508
13509 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
13510
13511         alloca: one step towards thread-safety
13512         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
13513         need for a static variable.  All callers changed.  This does not
13514         make the alloca replacement thread-safe, but it's one step.
13515
13516         tests: minor indenting change
13517         * tests/init.sh: Sync from coreutils housekeeping patch
13518         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
13519         to keep lines within 80 columns.
13520
13521 2010-12-28  Jim Meyering  <meyering@redhat.com>
13522
13523         regex: don't infloop on persistent failing calloc
13524         * lib/regexec.c (build_trtable): Return failure indication upon
13525         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
13526         In glibc, this was fixed for version 2.13:
13527         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
13528
13529 2010-12-28  Bruno Haible  <bruno@clisp.org>
13530             Paul Eggert <eggert@cs.ucla.edu>
13531
13532         linkat: Make implementation robust against system behaviour variations.
13533         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
13534         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
13535         way, and to -2 if it needs a generic runtime test.
13536         * lib/linkat.c (solaris_optimized_link_immediate,
13537         solaris_optimized_link_follow): New functions.
13538         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
13539         (check_same_link): Use it.
13540
13541 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
13542
13543         New module 'unigbrk/base'.
13544         * modules/unigbrk/base: New file.
13545         * lib/unigbrk.in.h: New file.
13546
13547         New module 'unigbrk/uc-gbrk-prop'.
13548         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
13549         * modules/unigbrk/uc-gbrk-prop: New file.
13550         * lib/unigbrk/gbrkprop.h: New file.
13551         * lib/unigbrk/uc-gbrk-prop.c: New file.
13552
13553         New module 'unigbrk/uc-is-grapheme-break'.
13554         * modules/unigbrk/uc-is-grapheme-break: New file.
13555         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
13556         * lib/unigbrk/uc-is-grapheme-break.c: New file.
13557         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
13558         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
13559         * tests/unigbrk/GraphemeBreakTest.txt: New file.
13560
13561         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
13562
13563 2010-12-27  Bruno Haible  <bruno@clisp.org>
13564
13565         linkat test: Avoid failure on Solaris 11 2010-11.
13566         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
13567
13568 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
13569
13570         utimens: work around glibc rounding bug on more platforms
13571         * lib/utimens.c (fdutimens): Work around rounding bug even if
13572         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
13573         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
13574
13575 2010-12-27  Bruno Haible  <bruno@clisp.org>
13576
13577         select tests: Improve comments.
13578         * tests/test-select.c (do_select): Add comments.
13579
13580 2010-12-27  Bruno Haible  <bruno@clisp.org>
13581
13582         select tests: Safer way of handling timeout.
13583         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
13584         at every invocation.
13585
13586 2010-12-27  Bruno Haible  <bruno@clisp.org>
13587
13588         select tests: Use 'bool' where appropriate.
13589         * tests/test-select.c (connect_to_socket): Change argument type to
13590         'bool'.
13591
13592 2010-12-27  Bruno Haible  <bruno@clisp.org>
13593
13594         select tests: Use existing modules.
13595         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
13596         (configure.ac): Don't test for unistd.h.
13597         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
13598         declared in <unistd.h>.
13599
13600 2010-12-27  Bruno Haible  <bruno@clisp.org>
13601
13602         mbrtowc: Work around a Solaris 7 bug.
13603         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
13604         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
13605         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
13606         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
13607         MBRTOWC_NULL_ARG1_BUG.
13608         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
13609         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
13610         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
13611         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
13612
13613 2010-12-27  Jim Meyering  <meyering@redhat.com>
13614
13615         read-file.c: tweak syntax
13616         * lib/read-file.c (fread_file): Remove space after "*" in function
13617         definitions.
13618
13619 2010-12-27  Bruno Haible  <bruno@clisp.org>
13620
13621         times test: Avoid gcc warnings on OSF/1.
13622         * tests/test-times.c (main): Cast printf arguments from clock_t to
13623         'long int'.
13624
13625 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
13626
13627         utimens: work around glibc rounding bug on older Linux kernels
13628         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
13629         on Linux with a glibc whose utimes might not work, then work
13630         around a longstanding glibc bug involving rounding rather than
13631         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
13632         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
13633
13634 2010-12-26  Bruno Haible  <bruno@clisp.org>
13635
13636         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
13637         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
13638         _GL_CXXALIAS_SYS.
13639         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13640
13641 2010-12-26  Bruno Haible  <bruno@clisp.org>
13642
13643         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
13644         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
13645         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
13646         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
13647         looking for the declaration.
13648         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
13649         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
13650         problem.
13651         * doc/posix-functions/inet_pton.texi: Likewise.
13652
13653 2010-12-26  Bruno Haible  <bruno@clisp.org>
13654
13655         arpa_inet: Use the common idioms with C++ support.
13656         * lib/arpa_inet.in.h: Include c++defs.h.
13657         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
13658         support.
13659         * modules/arpa_inet (Depends-on): Add c++defs.
13660         (Makefile.am): Substitute the contents of c++defs.h.
13661         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
13662         * modules/arpa_inet-c++-tests: New file.
13663         * tests/test-arpa_inet-c++.cc: New file.
13664
13665 2010-12-25  Bruno Haible  <bruno@clisp.org>
13666
13667         Fix more C++ link errors on Solaris 8.
13668         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
13669         $(LIB_EACCESS).
13670         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
13671         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
13672         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
13673         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
13674         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
13675
13676 2010-12-25  Bruno Haible  <bruno@clisp.org>
13677
13678         printf-posix: Fix link error when a non-GCC compiler is used.
13679         * lib/stdio.in.h (printf): When not using GCC, override printf
13680         correctly.
13681         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13682
13683 2010-12-25  Bruno Haible  <bruno@clisp.org>
13684
13685         strerror_r-posix: Update doc.
13686         * doc/posix-functions/strerror_r.texi: Update doc about the return
13687         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
13688
13689 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
13690
13691         utimens: simplify the logic of the previous change
13692         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
13693         This should not affect whether the test succeeds or fails.
13694
13695         utimens: configure better on hosts with NFS clock skew
13696         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
13697         uses the clock of the local host.  It might use the clock of the
13698         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
13699         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
13700
13701 2010-12-25  Bruno Haible  <bruno@clisp.org>
13702
13703         ptsname test: Avoid failure on Solaris.
13704         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
13705         open a pseudo-terminal; don't use BSD-style ptys.
13706         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
13707
13708 2010-12-25  Bruno Haible  <bruno@clisp.org>
13709
13710         ptsname: Avoid ERANGE failure on some systems.
13711         * lib/ptsname.c (buffer): Increase size.
13712
13713 2010-12-25  Bruno Haible  <bruno@clisp.org>
13714
13715         rename, renameat: Avoid test failures at NFS mounted locations.
13716         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
13717         so that subsequent mkdir calls succeed.
13718
13719 2010-12-25  Bruno Haible  <bruno@clisp.org>
13720
13721         iswblank: Fix C++ link error on Solaris 8.
13722         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
13723         _GL_FUNCDECL_SYS.
13724
13725 2010-12-25  Bruno Haible  <bruno@clisp.org>
13726
13727         unistd: Fix C++ link error on Solaris 8.
13728         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
13729
13730 2010-12-25  Bruno Haible  <bruno@clisp.org>
13731
13732         readlink doc: Mention an old glibc bug.
13733         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
13734
13735 2010-12-25  Bruno Haible  <bruno@clisp.org>
13736
13737         fcntl-h: Fix for use of C++ on glibc systems.
13738         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
13739         also on glibc systems in C++ mode.
13740         Reported by Gary V. Vaughan <gary@gnu.org>.
13741
13742 2010-12-25  Bruno Haible  <bruno@clisp.org>
13743
13744         roundl-ieee: Make it work on OSF/1 5.1 with cc.
13745         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
13746
13747 2010-12-25  Bruno Haible  <bruno@clisp.org>
13748
13749         truncl-ieee: Make it work on OSF/1 5.1 with cc.
13750         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
13751         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
13752         test whether truncl works according to ISO C 99 with IEC 60559.
13753         * m4/truncl-ieee.m4: New file.
13754         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
13755         m4/signbit.m4.
13756         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
13757
13758 2010-12-25  Bruno Haible  <bruno@clisp.org>
13759
13760         ceill-ieee: Make it work on OSF/1 5.1 with cc.
13761         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
13762         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
13763         test whether ceill works according to ISO C 99 with IEC 60559.
13764         * m4/ceill-ieee.m4: New file.
13765         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
13766         m4/signbit.m4.
13767         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
13768
13769 2010-12-25  Bruno Haible  <bruno@clisp.org>
13770
13771         Ensure all prerequisites of <wchar.h> are included.
13772         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
13773         before <wchar.h>.
13774         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
13775         gl_MBRLEN_NUL_RETVAL): Likewise.
13776         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
13777         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
13778         AC_FUNC_MBRTOWC): Likewise.
13779         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13780         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
13781         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13782         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
13783         Likewise.
13784         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13785         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
13786         (gl_WCHAR_H): Improve comments.
13787         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
13788
13789 2010-12-25  Bruno Haible  <bruno@clisp.org>
13790
13791         strtok_r: Fix C syntax error in autoconf macro.
13792         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
13793         characters in test program.
13794
13795 2010-12-24  Bruno Haible  <bruno@clisp.org>
13796
13797         ceil, trunc, round: Fix gcc warnings.
13798         * lib/ceil.c (MIN): Undefine before redefining.
13799         * lib/trunc.c (MIN): Likewise.
13800         * lib/round.c (MIN): Likewise.
13801         Include <math.h> first.
13802
13803 2010-12-24  Bruno Haible  <bruno@clisp.org>
13804
13805         select tests: Avoid failures on OSF/1 5.1.
13806         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
13807         failure of closing the last socket; it may fail with ECONNRESET.
13808
13809 2010-12-24  Eric Blake  <eblake@redhat.com>
13810
13811         stdint: avoid HP-UX 10.20 preprocessor bug
13812         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
13813         than #if.
13814         * tests/test-floor2.c (main): Likewise.
13815         Reported by Peter O'Gorman.
13816
13817         pipe: make obsoletion transition easier
13818         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
13819         * modules/pipe (Files): Include revived file.
13820         (Include): Drop reference, to mirror getdate's behavior.
13821
13822 2010-12-24  Bruno Haible  <bruno@clisp.org>
13823
13824         sys_socket: Hide mismatch of declarations on NonStop Kernel.
13825         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
13826         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
13827         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13828
13829 2010-12-24  Bruno Haible  <bruno@clisp.org>
13830
13831         gethostname: Ensure declaration on NonStop Kernel.
13832         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
13833         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13834
13835 2010-12-24  Bruno Haible  <bruno@clisp.org>
13836
13837         sys_select: Ensure all necessary types on NonStop Kernel.
13838         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
13839         include <sys/time.h>.
13840         * doc/posix-headers/sys_select.texi: Mention that it's missing on
13841         NonStop Kernel.
13842         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13843
13844 2010-12-24  Bruno Haible  <bruno@clisp.org>
13845
13846         sys_select: Remove unneeded include.
13847         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
13848         have <sys/select.h>.
13849
13850 2010-12-24  Bruno Haible  <bruno@clisp.org>
13851
13852         gethostname: Provide a fallback for HOST_NAME_MAX.
13853         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
13854         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
13855         instead.
13856         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13857
13858 2010-12-24  Bruno Haible  <bruno@clisp.org>
13859
13860         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
13861         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
13862         (SA_RESTART): Likewise.
13863         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13864
13865 2010-12-24  Bruno Haible  <bruno@clisp.org>
13866
13867         signal: Define NSIG.
13868         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
13869         * tests/test-signal.c (nsig): New variable.
13870         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13871
13872 2010-12-24  Bruno Haible  <bruno@clisp.org>
13873
13874         rename, renameat: Avoid test failures on OSF/1 5.1.
13875         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
13876         alternative error codes.
13877         * tests/test-renameat.c (main): Likewise.
13878
13879 2010-12-24  Bruno Haible  <bruno@clisp.org>
13880
13881         *printf: Detect large precisions bug on Solaris 10/SPARC.
13882         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
13883         by Paul Eggert.
13884         * tests/test-snprintf-posix.h (test_function): Add this test code here
13885         too.
13886         * tests/test-sprintf-posix.h (test_function): Likewise.
13887         * tests/test-vasnprintf-posix.c (test_function): Likewise.
13888         * tests/test-vasprintf-posix.c (test_function): Likewise.
13889         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
13890         around by gnulib.
13891         * doc/posix-functions/printf.texi: Likewise.
13892         * doc/posix-functions/snprintf.texi: Likewise.
13893         * doc/posix-functions/sprintf.texi: Likewise.
13894         * doc/posix-functions/vfprintf.texi: Likewise.
13895         * doc/posix-functions/vprintf.texi: Likewise.
13896         * doc/posix-functions/vsnprintf.texi: Likewise.
13897         * doc/posix-functions/vsprintf.texi: Likewise.
13898         * doc/posix-functions/dprintf.texi: Undo last commit.
13899         * doc/posix-functions/vdprintf.texi: Likewise.
13900
13901 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
13902
13903         tests: port test-fdutimensat.c to Solaris 8
13904         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
13905         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
13906         On Solaris 8, it fails with errno == ENOSYS, because there is no
13907         futimens (so it can't use the fd), and there is no lutimens (so it
13908         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
13909
13910         vsnprintf: make more consistent with snprintf; doc fixes
13911
13912         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
13913         the byte count return problem was promoted from the snprintf-posix
13914         to the snprintf module.
13915         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13916         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
13917         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
13918         * tests/test-snprintf.c (main): Check the byte count returned.
13919         * tests/test-vsnprintf.c (main): Likewise.
13920
13921 2010-12-23  Eric Blake  <eblake@redhat.com>
13922
13923         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
13924         * modules/sigpipe (License): Relax license.
13925
13926 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
13927
13928         doc: document Solaris printf bug with large float precisions
13929         * doc/posix-functions/dprintf.texi (dprintf):
13930         * doc/posix-functions/fprintf.texi (fprintf):
13931         * doc/posix-functions/printf.texi (printf):
13932         * doc/posix-functions/snprintf.texi (snprintf):
13933         * doc/posix-functions/sprintf.texi (sprintf):
13934         * doc/posix-functions/vdprintf.texi (vdprintf):
13935         * doc/posix-functions/vfprintf.texi (vfprintf):
13936         * doc/posix-functions/vprintf.texi (vprintf):
13937         * doc/posix-functions/vsnprintf.texi (vsnprintf):
13938         * doc/posix-functions/vsprintf.texi (vsprintf):
13939         Mention that these functions mishandle large floating point
13940         precisions on Solaris 10.  The same bug is also present in Solaris
13941         8, and I assume earlier.  This causes "cd gnulib-tests; make
13942         check" to fail on Solaris 8 (and I assume, later) when building
13943         the latest coreutils, in test-vasprintf-posix's call to
13944         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
13945         the wide flavors (e.g., wprintf) so this patch just updates the
13946         documentation for the narrow ones.
13947
13948         test-posixtm.c: add two tests
13949         * tests/test-posixtm.c: Add two tests, to highlight the
13950         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
13951         around this bug; this is merely to document it.
13952
13953 2010-12-22  Bruno Haible  <bruno@clisp.org>
13954
13955         getlogin_r: Work around portability problem on OSF/1.
13956         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
13957         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
13958         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
13959         test for a truncated result.
13960         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
13961         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
13962         * modules/getlogin_r (Depends-on): Add memchr.
13963         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
13964
13965 2010-12-22  Bruno Haible  <bruno@clisp.org>
13966
13967         ptsname: Avoid test failure on OSF/1 5.1.
13968         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
13969         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
13970         (same_slave): New function.
13971         (main): Use it to compare ptsname's result with the expected file name.
13972
13973 2010-12-22  Bruno Haible  <bruno@clisp.org>
13974
13975         Port extended stdio modules to HP NonStop Kernel.
13976         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
13977         macros.
13978         * lib/fbufmode.c: Update comments.
13979         * lib/fflush.c: Likewise.
13980         * lib/fpurge.c: Likewise.
13981         * lib/freadable.c: Likewise.
13982         * lib/freadahead.c: Likewise.
13983         * lib/freading.c: Likewise.
13984         * lib/freadptr.c: Likewise.
13985         * lib/freadseek.c: Likewise.
13986         * lib/fseeko.c: Likewise.
13987         * lib/fseterr.c: Likewise.
13988         * lib/fwritable.c: Likewise.
13989         * lib/fwriting.c: Likewise.
13990         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13991
13992 2010-12-22  Bruno Haible  <bruno@clisp.org>
13993
13994         ttyname_r: Work around bug on OSF/1 5.1.
13995         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
13996         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
13997         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
13998         present.
13999         * lib/ttyname_r.c (ttyname_r): Update comments.
14000
14001 2010-12-22  Bruno Haible  <bruno@clisp.org>
14002
14003         round: Implement result sign according to IEEE 754.
14004         * lib/round.c (MIN, MINUS_ZERO): New macros.
14005         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
14006         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
14007         * tests/test-round-ieee.c (main): Likewise.
14008         * tests/test-roundl-ieee.c (main): Likewise.
14009
14010         trunc: Implement result sign according to IEEE 754.
14011         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
14012         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
14013         * tests/test-trunc2.c: Include minus-zero.h.
14014         (MINUS_ZERO): New macro.
14015         (trunc_reference): Keep in sync with lib/trunc.c.
14016         * tests/test-truncf2.c: Include minus-zero.h.
14017         (MINUS_ZERO): New macro.
14018         (truncf_reference): Keep in sync with lib/trunc.c.
14019         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
14020         * tests/test-trunc-ieee.c (main): Likewise.
14021         * tests/test-truncl-ieee.c (main): Likewise.
14022
14023         ceil: Implement result sign according to IEEE 754.
14024         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
14025         (FUNC): Return -0.0 for -1 < x < 0.
14026         * tests/test-ceil2.c: Include minus-zero.h.
14027         (MINUS_ZERO): New macro.
14028         (ceil_reference): Keep in sync with lib/ceil.c.
14029         * tests/test-ceilf2.c: Include minus-zero.h.
14030         (MINUS_ZERO): New macro.
14031         (ceilf_reference): Keep in sync with lib/ceil.c.
14032         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
14033         * tests/test-ceil-ieee.c (main): Likewise.
14034         * tests/test-ceill-ieee.c (main): Likewise.
14035
14036         floor: Implement result sign according to IEEE 754.
14037         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
14038         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
14039         * tests/test-floorf2.c (floorf_reference): Likewise.
14040         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
14041         * tests/test-floor-ieee.c (main): Likewise.
14042         * tests/test-floorl-ieee.c (main): Likewise.
14043
14044 2010-12-22  Bruno Haible  <bruno@clisp.org>
14045
14046         getaddrinfo: Update doc.
14047         * doc/posix-functions/gai_strerror.texi: Return type is also different
14048         on AIX and HP-UX.
14049
14050 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
14051
14052         getaddrinfo, inet_ntop: Update doc for Solaris.
14053         * doc/posix-functions/gai_strerror.texi: Return type is also an
14054         issue on Solaris 9 and earlier.
14055         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
14056         on Solaris 10 and earlier.
14057
14058 2010-12-21  Bruno Haible  <bruno@clisp.org>
14059
14060         New module 'roundl-ieee'.
14061         * modules/roundl-ieee: New file.
14062         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
14063         test whether roundl works according to ISO C 99 with IEC 60559.
14064         * m4/roundl-ieee.m4: New file.
14065         * modules/roundl-ieee-tests: New file.
14066         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
14067         * tests/test-roundl.c (main): Remove signbit tests.
14068         * modules/roundl-tests (Depends-on): Remove signbit.
14069         * doc/posix-functions/roundl.texi: Mention the new module.
14070
14071 2010-12-21  Bruno Haible  <bruno@clisp.org>
14072
14073         New module 'truncl-ieee'.
14074         * modules/truncl-ieee: New file.
14075         * modules/truncl-ieee-tests: New file.
14076         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
14077         * tests/test-truncl.c (main): Remove signbit tests.
14078         * modules/truncl-tests (Depends-on): Remove signbit.
14079         * doc/posix-functions/truncl.texi: Mention the new module.
14080
14081 2010-12-21  Bruno Haible  <bruno@clisp.org>
14082
14083         New module 'ceill-ieee'.
14084         * modules/ceill-ieee: New file.
14085         * modules/ceill-ieee-tests: New file.
14086         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
14087         * tests/test-ceill.c (main): Remove signbit tests.
14088         * modules/ceill-tests (Depends-on): Remove signbit.
14089         * doc/posix-functions/ceill.texi: Mention the new module.
14090
14091 2010-12-21  Bruno Haible  <bruno@clisp.org>
14092
14093         New module 'floorl-ieee'.
14094         * modules/floorl-ieee: New file.
14095         * modules/floorl-ieee-tests: New file.
14096         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
14097         * tests/test-floorl.c (main): Remove signbit tests.
14098         * modules/floorl-tests (Depends-on): Remove signbit.
14099         * doc/posix-functions/floorl.texi: Mention the new module.
14100
14101 2010-12-21  Bruno Haible  <bruno@clisp.org>
14102
14103         New module 'round-ieee'.
14104         * modules/round-ieee: New file.
14105         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
14106         whether round works according to ISO C 99 with IEC 60559.
14107         * m4/round-ieee.m4: New file.
14108         * modules/round-ieee-tests: New file.
14109         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
14110         * tests/test-round1.c (main): Remove signbit tests.
14111         * modules/round-tests (Depends-on): Remove 'signbit'.
14112         * doc/posix-functions/round.texi: Mention the new module.
14113
14114 2010-12-21  Bruno Haible  <bruno@clisp.org>
14115
14116         New module 'trunc-ieee'.
14117         * modules/trunc-ieee: New file.
14118         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
14119         whether trunc works according to ISO C 99 with IEC 60559.
14120         * m4/trunc-ieee.m4: New file.
14121         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
14122         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
14123         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
14124         * modules/trunc-ieee-tests: New file.
14125         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
14126         * tests/test-trunc1.c (main): Remove signbit tests.
14127         * modules/trunc-tests (Depends-on): Remove 'signbit'.
14128         * doc/posix-functions/trunc.texi: Mention the new module.
14129
14130 2010-12-21  Bruno Haible  <bruno@clisp.org>
14131
14132         New module 'ceil-ieee'.
14133         * modules/ceil-ieee: New file.
14134         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
14135         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
14136         ISO C 99 with IEC 60559.
14137         * m4/ceil-ieee.m4: New file.
14138         * modules/ceil (Files): Add lib/ceil.c.
14139         (Depends-on): Add 'float'.
14140         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
14141         * lib/math.in.h (ceil): New declaration.
14142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
14143         REPLACE_CEIL.
14144         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
14145         * modules/ceil-ieee-tests: New file.
14146         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
14147         * tests/test-math-c++.cc: Check the signature of 'ceil'.
14148         * doc/posix-functions/ceil.texi: Mention the new module.
14149
14150 2010-12-21  Bruno Haible  <bruno@clisp.org>
14151
14152         New module 'floor-ieee'.
14153         * modules/floor-ieee: New file.
14154         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
14155         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
14156         ISO C 99 with IEC 60559.
14157         * m4/floor-ieee.m4: New file.
14158         * modules/floor (Files): Add lib/floor.c.
14159         (Depends-on): Add 'float'.
14160         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
14161         * lib/math.in.h (floor): New declaration.
14162         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
14163         REPLACE_FLOOR.
14164         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
14165         * modules/floor-ieee-tests: New file.
14166         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
14167         * tests/test-math-c++.cc: Check the signature of 'floor'.
14168         * doc/posix-functions/floor.texi: Mention the new module.
14169
14170 2010-12-21  Bruno Haible  <bruno@clisp.org>
14171
14172         New module 'roundf-ieee'.
14173         * modules/roundf-ieee: New file.
14174         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
14175         test whether roundf works according to ISO C 99 with IEC 60559.
14176         * m4/roundf-ieee.m4: New file.
14177         * modules/roundf-ieee-tests: New file.
14178         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
14179         * tests/test-roundf1.c (main): Remove signbit tests.
14180         * modules/roundf-tests (Depends-on): Remove 'signbit'.
14181         * doc/posix-functions/roundf.texi: Mention the new module.
14182
14183 2010-12-21  Bruno Haible  <bruno@clisp.org>
14184
14185         New module 'truncf-ieee'.
14186         * modules/truncf-ieee: New file.
14187         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
14188         test whether truncf works according to ISO C 99 with IEC 60559.
14189         * m4/truncf-ieee.m4: New file.
14190         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
14191         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
14192         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
14193         * modules/truncf-ieee-tests: New file.
14194         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
14195         * tests/test-truncf1.c (main): Remove signbit tests.
14196         * modules/truncf-tests (Depends-on): Remove 'signbit'.
14197         * doc/posix-functions/truncf.texi: Mention the new module.
14198
14199 2010-12-21  Bruno Haible  <bruno@clisp.org>
14200
14201         New module 'ceilf-ieee'.
14202         * modules/ceilf-ieee: New file.
14203         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
14204         test whether ceilf works according to ISO C 99 with IEC 60559.
14205         * m4/ceilf-ieee.m4: New file.
14206         * modules/ceilf-ieee-tests: New file.
14207         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
14208         * tests/test-ceilf1.c (main): Remove signbit tests.
14209         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
14210         * doc/posix-functions/ceilf.texi: Mention the new module.
14211
14212 2010-12-21  Bruno Haible  <bruno@clisp.org>
14213
14214         New module 'floorf-ieee'.
14215         * modules/floorf-ieee: New file.
14216         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
14217         test whether floorf works according to ISO C 99 with IEC 60559.
14218         * m4/floorf-ieee.m4: New file.
14219         * modules/floorf-ieee-tests: New file.
14220         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
14221         * tests/test-floorf1.c (main): Remove signbit tests.
14222         * modules/floorf-tests (Depends-on): Remove 'signbit'.
14223         * doc/posix-functions/floorf.texi: Mention the new module.
14224
14225 2010-12-21  Bruno Haible  <bruno@clisp.org>
14226
14227         Support for minus zero in autoconf macros.
14228         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
14229         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
14230         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
14231         * tests/minus-zero.h: Update comments.
14232
14233 2010-12-21  Bruno Haible  <bruno@clisp.org>
14234
14235         Tests for module 'ceil'.
14236         * modules/ceil-tests: New file.
14237         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
14238         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
14239
14240 2010-12-21  Bruno Haible  <bruno@clisp.org>
14241
14242         Tests for module 'floor'.
14243         * modules/floor-tests: New file.
14244         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
14245         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
14246
14247 2010-12-21  Bruno Haible  <bruno@clisp.org>
14248
14249         math: Fix indentation.
14250         * lib/math.in.h (floorf): Fix indentation.
14251
14252 2010-12-21  Bruno Haible  <bruno@clisp.org>
14253
14254         Fix cross-compilation guesses on Solaris.
14255         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
14256         not match "solaris2.10".
14257         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
14258         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
14259         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
14260
14261 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
14262
14263         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
14264         This fixes a problem observed with the latest coreutils snapshot
14265         that caused a test to fail on Solaris 8.  src/csplit.c's call
14266         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
14267         earlier, instead of returning the number of bytes that would have
14268         been generated; this causes csplit to incorrectly report memory
14269         exhaustion.
14270         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
14271         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
14272         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
14273         comments to match.
14274         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
14275         Fix typo in matching older versions of Solaris: "solaris2.10"
14276         is matched by the shell pattern "solaris2.[0-9]*".  This matters
14277         only for guessing while cross-compiling.
14278         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
14279
14280 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14281
14282         ftoastr: fix comment again
14283         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
14284         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
14285         Also, simplify example a bit by using flags = 0.
14286
14287 2010-12-20  Bruno Haible  <bruno@clisp.org>
14288
14289         round*, trunc*: Update documentation regarding glibc.
14290         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
14291         * doc/posix-functions/round.texi: Likewise.
14292         * doc/posix-functions/roundl.texi: Likewise.
14293         * doc/posix-functions/truncf.texi: Likewise.
14294         * doc/posix-functions/trunc.texi: Likewise.
14295         * doc/posix-functions/truncl.texi: Likewise.
14296
14297 2010-12-20  Bruno Haible  <bruno@clisp.org>
14298
14299         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
14300         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
14301         * doc/posix-functions/round.texi: Likewise.
14302         * doc/posix-functions/roundl.texi: Likewise.
14303
14304 2010-12-20  Bruno Haible  <bruno@clisp.org>
14305
14306         ttyname_r: Add missing declaration on HP-UX 11.
14307         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
14308         HAVE_TTYNAME_R.
14309         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
14310         declared. Set HAVE_TTYNAME_R always.
14311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14312         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
14313         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
14314         HAVE_TTYNAME_R.
14315         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
14316
14317 2010-12-20  Bruno Haible  <bruno@clisp.org>
14318
14319         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
14320         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
14321         * doc/posix-functions/getlogin_r.texi: Likewise.
14322         * tests/test-getlogin.c: Include <errno.h>.
14323         (main): Avoid test failure on HP-UX 11.11.
14324         * tests/test-getlogin_r.c (main): Likewise.
14325
14326 2010-12-20  Bruno Haible  <bruno@clisp.org>
14327
14328         getlogin_r: Add missing declaration on HP-UX 11.
14329         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
14330         declared also when it exists as a function.
14331         * doc/posix-functions/getlogin_r.texi: Document this workaround.
14332
14333 2010-12-20  Bruno Haible  <bruno@clisp.org>
14334
14335         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
14336         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
14337         through wcrtomb.
14338
14339 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14340
14341         ftoastr: fix comment
14342         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
14343         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
14344
14345 2010-12-19  Bruno Haible  <bruno@clisp.org>
14346
14347         isnan: Ensure it is a macro.
14348         * lib/math.in.h (isnan): Define as a macro if not already a macro.
14349         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
14350         Solaris.
14351
14352 2010-12-19  Bruno Haible  <bruno@clisp.org>
14353
14354         ldexpl test: Fix link error on OSF/1 5.1.
14355         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
14356
14357 2010-12-19  Bruno Haible  <bruno@clisp.org>
14358
14359         wctype: Make it work in C++ mode on OSF/1 5.1.
14360         * lib/wctype.in.h (iswblank): Declare but not define here.
14361         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
14362         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
14363         * modules/wctype (Files): Add lib/iswblank.c.
14364
14365 2010-12-19  Bruno Haible  <bruno@clisp.org>
14366
14367         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
14368         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
14369         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
14370
14371 2010-12-19  Bruno Haible  <bruno@clisp.org>
14372
14373         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
14374         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
14375         _POSIX_PII_SOCKET.
14376         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
14377         * doc/posix-functions/recvfrom.texi: Likewise.
14378         * doc/posix-functions/send.texi: Likewise.
14379         * doc/posix-functions/sendto.texi: Likewise.
14380
14381 2010-12-19  Bruno Haible  <bruno@clisp.org>
14382
14383         tcgetsid: Add missing declaration on OSF/1 5.1.
14384         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
14385         HAVE_TCGETSID.
14386         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
14387         Don't set HAVE_TCGETSID.
14388         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
14389         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
14390         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
14391         HAVE_TCGETSID.
14392         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
14393
14394 2010-12-19  Bruno Haible  <bruno@clisp.org>
14395
14396         stdio: Fix problem with popen() declaration on OSF/1 5.1.
14397         * lib/stdio.in.h: During the include_next statement, let recursive
14398         includes of this file include only the system header file.
14399
14400 2010-12-19  Bruno Haible  <bruno@clisp.org>
14401
14402         iconv_open: Fix regression from 2010-12-04.
14403         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
14404         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
14405
14406 2010-12-19  Bruno Haible  <bruno@clisp.org>
14407
14408         stdbool test: Avoid a gcc warning.
14409         * tests/test-stdbool.c (main): Fail if e1 is false.
14410         Reported by Jim Meyering.
14411
14412 2010-12-19  Jim Meyering  <meyering@redhat.com>
14413
14414         setenv: restore to working order
14415         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
14416         mistakenly removed.
14417         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
14418         HAVE_SETENV.
14419         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
14420         HAVE_SETENV.
14421
14422 2010-12-19  Bruno Haible  <bruno@clisp.org>
14423
14424         Document some different function declarations on OSF/1 5.1.
14425         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
14426         * doc/posix-functions/inet_ntop.texi: Likewise.
14427         * doc/posix-functions/gethostname.texi: Likewise.
14428         * lib/unistd.in.h (gethostname): Update comment.
14429
14430 2010-12-19  Bruno Haible  <bruno@clisp.org>
14431
14432         doc: Mention vasprintf-posix module.
14433         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
14434         the 'vasprintf-posix' module.
14435         * doc/glibc-functions/vasprintf.texi: Likewise.
14436
14437 2010-12-19  Bruno Haible  <bruno@clisp.org>
14438
14439         unsetenv: Add missing declaration on OSF/1 5.1.
14440         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
14441         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
14442         Don't set HAVE_UNSETENV. In the test program, set _BSD.
14443         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
14444         not HAVE_UNSETENV.
14445         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
14446         HAVE_UNSETENV.
14447         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
14448
14449 2010-12-19  Bruno Haible  <bruno@clisp.org>
14450
14451         setenv: Add missing declaration on OSF/1 5.1.
14452         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
14453         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
14454         declared. Don't set HAVE_SETENV.
14455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
14456         not HAVE_SETENV.
14457         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
14458         HAVE_SETENV.
14459         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
14460
14461 2010-12-19  Bruno Haible  <bruno@clisp.org>
14462
14463         nl_langinfo tests: Avoid gcc warning.
14464         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
14465
14466 2010-12-19  Bruno Haible  <bruno@clisp.org>
14467
14468         mknod: Avoid error in C++ mode on OSF/1 with GCC.
14469         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
14470         _GL_CXXALIAS_SYS.
14471
14472 2010-12-19  Bruno Haible  <bruno@clisp.org>
14473
14474         stdbool: Relax test.
14475         * tests/test-stdbool.c (e): Don't require that casts from a variable's
14476         address to 'bool' work in static initializer, for compilers other than
14477         GCC.
14478
14479 2010-12-19  Bruno Haible  <bruno@clisp.org>
14480
14481         ftello: Add missing declaration on OSF/1 5.1.
14482         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
14483         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
14484         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
14485         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
14486         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
14487
14488 2010-12-19  Bruno Haible  <bruno@clisp.org>
14489
14490         fseeko: Add missing declaration on OSF/1 5.1.
14491         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
14492         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
14493         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
14494         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
14495         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
14496
14497 2010-12-19  Bruno Haible  <bruno@clisp.org>
14498
14499         fchdir: Add missing declaration on OSF/1 5.1.
14500         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
14501         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
14502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
14503         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
14504         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
14505
14506 2010-12-19  Bruno Haible  <bruno@clisp.org>
14507
14508         relocatable-prog-wrapper: Separate from relocatable-prog.
14509         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
14510         uninstall-relocwrapper rule here.
14511         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
14512         Reported by Ian Beckwith <ianb@erislabs.net>.
14513
14514 2010-12-19  Bruno Haible  <bruno@clisp.org>
14515
14516         unistr/u8-mbsnlen: Add missing dependency.
14517         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
14518         Reported by Ian Beckwith <ianb@erislabs.net>.
14519
14520 2010-12-19  Bruno Haible  <bruno@clisp.org>
14521
14522         iconv: Make it possible again to use this module without 'iconv-h'.
14523         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
14524         if it is not defined.
14525         Reported by Ian Beckwith <ianb@erislabs.net>.
14526
14527 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
14528
14529         acl: port to Solaris 8 when copying from tmpfs to ufs
14530         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
14531         error number.  Problem observed on Solaris 8 with latest
14532         coreutils, with "mv A B", where A is on a tmpfs file system and B
14533         is on a ufs file system.  This caused coreutils' mv/part-symlink
14534         test to fail.
14535
14536         tests: set fail=0 at start
14537         * tests/init.sh (setup_): Move fail=0 initialization here ...
14538         (mktempd_): ... from here, so that tests can rely on fail being
14539         set to 0 initially.  This fixes a problem in coreutils; see:
14540         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
14541
14542 2010-12-18  Bruno Haible  <bruno@clisp.org>
14543
14544         memmem-simple: Stylistic changes.
14545         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
14546         Fix preprocessor directive indentation.
14547
14548 2010-12-15  Pádraig Brady <P@draigBrady.com>
14549
14550         memmem, memmem-simple: reorganize and expand empty needle check
14551         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
14552         functional checks to memmem-simple so that one has a fully functional
14553         memmem by using just this module.
14554         Restrict the performance only check to the memmem module.
14555         Also expand the empty needle check to ensure the correct
14556         pointer is returned, not just a non NULL pointer.
14557         * doc/glibc-functions/memmem.texi: Rearrange the portability
14558         documentation to correlate with the rearranged checks.
14559         Clarify exactly how the memmem and memmem-simple modules
14560         relate to each other.
14561
14562 2010-12-15  Pádraig Brady <P@draigBrady.com>
14563             Bruno Haible  <bruno@clisp.org>
14564
14565         Improve cross-compilation guesses for uClibc.
14566         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
14567         that uClibc does not have the glibc bug.
14568         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
14569         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
14570
14571 2010-12-14  Eric Blake  <eblake@redhat.com>
14572
14573         configmake: provide fallbacks for oldest supported autotools
14574         * m4/configmake.m4: New file.
14575         * modules/configmake (Files): Ship it.
14576         (configure.ac): Use it to guarantee fallbacks.
14577
14578 2010-12-13  Pádraig Brady <P@draigBrady.com>
14579
14580         read-file: Improve handling of large files
14581         * lib/read-file.c (fread_file): Minimize realloc()s
14582         for regular files, and better manage sizes around SIZE_MAX.
14583
14584 2010-12-13  Eric Blake  <eblake@redhat.com>
14585
14586         cloexec, fcntl: relax license
14587         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
14588         consent from all contributors.
14589         * modules/fcntl (License): Likewise.
14590
14591 2010-12-10  Bruno Haible  <bruno@clisp.org>
14592
14593         Tests for module 'pipe-posix'.
14594         * modules/pipe-posix-tests: New file.
14595         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
14596
14597 2010-12-10  Bruno Haible  <bruno@clisp.org>
14598
14599         pipe-posix: Make it work in C++ mode.
14600         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
14601         (pipe): Use common idiom, not a macro definition.
14602         * lib/pipe.c: New file.
14603         * m4/pipe.m4: New file.
14604         * modules/pipe-posix (Description): Enhance.
14605         (Files): Add lib/pipe.c, m4/pipe.m4.
14606         (configure.ac): Invoke gl_FUNC_PIPE.
14607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
14608         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
14609         * tests/test-unistd-c++.cc: Check the signature of pipe.
14610
14611 2010-12-10  Bruno Haible  <bruno@clisp.org>
14612
14613         Rename module 'pipe' to 'spawn-pipe'.
14614         * modules/spawn-pipe: New file, renamed from modules/pipe.
14615         (Files, configure.ac, Makefile.am): Update.
14616         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
14617         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
14618         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
14619         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
14620         "spawn-pipe.h" instead of "pipe.h".
14621         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
14622         to gl_SPAWN_PIPE.
14623         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
14624         (Files, Makefile.am): Update.
14625         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
14626         Update.
14627         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
14628         Include "spawn-pipe.h" instead of "pipe.h".
14629         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
14630         * lib/javacomp.c: Likewise.
14631         * lib/javaversion.c: Likewise.
14632         * lib/pipe-filter-gi.c: Likewise.
14633         * lib/pipe-filter-ii.c: Likewise.
14634         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
14635         * modules/javacomp (Depends-on): Likewise.
14636         * modules/javaversion (Depends-on): Likewise.
14637         * modules/pipe-filter-gi (Depends-on): Likewise.
14638         * modules/pipe-filter-ii (Depends-on): Likewise.
14639         * MODULES.html.sh (Executing programs): Update.
14640         * NEWS: Mention the change.
14641
14642 2010-12-10  Eric Blake  <eblake@redhat.com>
14643
14644         pipe-posix: new module
14645         * modules/pipe-posix: New file.
14646         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
14647         (gl_UNISTD_H): Check for declaration.
14648         * modules/unistd (Makefile.am): Substitute it.
14649         * lib/unistd.in.h (pipe): Provide it for mingw.
14650         * doc/posix-functions/pipe.texi (pipe): Update documentation.
14651         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
14652
14653 2010-12-07  Bruno Haible  <bruno@clisp.org>
14654
14655         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
14656         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
14657         u8_strcmp_gnu.
14658         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
14659
14660 2010-12-06  Bruno Haible  <bruno@clisp.org>
14661
14662         Update internal documentation.
14663         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
14664
14665 2010-12-04  Bruno Haible  <bruno@clisp.org>
14666
14667         Put more information about failed tests into the test return codes.
14668         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
14669         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
14670         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
14671         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14672         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
14673         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14674         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14675         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
14676         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
14677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14678         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
14679         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14680         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14681         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14682         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
14683         returns a bit mask.
14684         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
14685         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
14686         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
14687         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
14688         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14689         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
14690         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
14691         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
14692         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
14693         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
14694         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
14695         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
14696         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14697         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
14698         * m4/link.m4 (gl_FUNC_LINK): Likewise.
14699         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
14700         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
14701         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
14702         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14703         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
14704         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
14705         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
14706         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
14707         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14708         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
14709         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
14710         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
14711         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
14712         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
14713         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
14714         gl_PRINTF_PRECISION): Likewise.
14715         * m4/regex.m4 (gl_REGEX): Likewise.
14716         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
14717         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
14718         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
14719         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
14720         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14721         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14722         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14723         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
14724         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
14725         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14726         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
14727         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
14728         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
14729         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
14730         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
14731         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
14732         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
14733         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
14734         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14735         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
14736         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
14737         enumerated value.
14738         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
14739
14740 2010-12-04  Bruno Haible  <bruno@clisp.org>
14741
14742         Update for Solaris 11 2010-11.
14743         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
14744         Express, released in November 2010.
14745
14746 2010-12-04  Bruno Haible  <bruno@clisp.org>
14747
14748         nproc: Relax license.
14749         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
14750         and Paul Eggert.
14751         Requested by Ludovic Courtès <ludo@gnu.org>.
14752
14753 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
14754
14755         utimecmp: fine-grained src to nearby coarse-grained dest
14756
14757         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
14758         and the source is on a file system with higher-resolution time
14759         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
14760         not work, and the time stamps are close together, the algorithm to
14761         determine the exact resolution from the read-back mtime was buggy:
14762         it had a "!=" where it should have had an "==".  This bug has been
14763         in the code ever since it was introduced to gnulib.
14764         Problem reported by Dan Jacobson in
14765         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
14766
14767 2010-11-30  Bruno Haible  <bruno@clisp.org>
14768
14769         strerror_r-posix: Fix autoconf test.
14770         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
14771
14772 2010-11-28  Bruno Haible  <bruno@clisp.org>
14773             Paul Eggert  <eggert@cs.ucla.edu>
14774
14775         Tests for module 'getdomainname'.
14776         * modules/getdomainname-tests: New file.
14777         * tests/test-getdomainname.c: New file, based on
14778         tests/test-gethostname.c.
14779
14780 2010-11-28  Bruno Haible  <bruno@clisp.org>
14781             Paul Eggert  <eggert@cs.ucla.edu>
14782
14783         getdomainname: Use the system function when possible.
14784         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
14785         (getdomainname): Replace if needed. Provide the declaration if it is
14786         missing. Don't use _GL_CXXALIAS_SYS_CAST.
14787         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
14788         (getdomainname): When the system has getdomainname, call the system
14789         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
14790         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
14791         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
14792         found in libnsl. Look for the declaration also in <netdb.h>. Replace
14793         the function if its second argument is of type 'int' or if it is found
14794         in libnsl.
14795         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
14796         <sys/systeminfo.h> and sysinfo().
14797         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
14798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14799         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
14800         HAVE_GETDOMAINNAME.
14801         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
14802         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
14803         * doc/glibc-functions/getdomainname.texi: Document the problems with
14804         the getdomainname declaration.
14805
14806 2010-11-28  Bruno Haible  <bruno@clisp.org>
14807
14808         sys_socket: Ensure ss_family field on AIX.
14809         * lib/sys_socket.in.h (ss_family): New macro definition.
14810         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
14811         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
14812         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
14813         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
14814         * modules/sys_socket (Makefile.am): Substitute
14815         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
14816         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
14817
14818 2010-11-27  Bruno Haible  <bruno@clisp.org>
14819
14820         readline: Improve configure output.
14821         * m4/readline.m4 (gl_FUNC_READLINE): Make the
14822         "checking for readline..." result understandable.
14823
14824 2010-11-27  Bruno Haible  <bruno@clisp.org>
14825
14826         *printf-posix: Detect a bug on Solaris 10/x86.
14827         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
14828         for floating-point output.
14829         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
14830         directive.
14831         * tests/test-snprintf-posix.h (test_function): Likewise.
14832         * tests/test-sprintf-posix.h (test_function): Likewise.
14833         * tests/test-vasprintf-posix.c (test_function): Likewise.
14834         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
14835         * doc/posix-functions/printf.texi: Likewise.
14836         * doc/posix-functions/snprintf.texi: Likewise.
14837         * doc/posix-functions/sprintf.texi: Likewise.
14838         * doc/posix-functions/vfprintf.texi: Likewise.
14839         * doc/posix-functions/vprintf.texi: Likewise.
14840         * doc/posix-functions/vsnprintf.texi: Likewise.
14841         * doc/posix-functions/vsprintf.texi: Likewise.
14842         * doc/glibc-functions/obstack_printf.texi: Likewise.
14843         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14844
14845 2010-11-27  Bruno Haible  <bruno@clisp.org>
14846
14847         Fix link error when module libunistring-optional is in use.
14848         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
14849         * modules/striconveha-tests (Makefile.am): Likewise.
14850
14851 2010-11-27  Bruno Haible  <bruno@clisp.org>
14852
14853         regex: Mention link dependencies.
14854         * modules/regex (Link): New section.
14855         * modules/rpmatch (Link): Likewise.
14856         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
14857
14858 2010-11-27  Bruno Haible  <bruno@clisp.org>
14859
14860         ftoastr: Fix compilation error on Solaris.
14861         * lib/ftoastr.c: Include <config.h>.
14862
14863 2010-11-27  Bruno Haible  <bruno@clisp.org>
14864
14865         getloadavg: Update documentation.
14866         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
14867
14868 2010-11-27  Bruno Haible  <bruno@clisp.org>
14869
14870         sys_socket: Fix test whether the functions are declared.
14871         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
14872         not <sys/select.h>.
14873
14874 2010-11-27  Bruno Haible  <bruno@clisp.org>
14875
14876         getpass: Make sure to get system declaration on some platforms.
14877         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
14878         gl_USE_SYSTEM_EXTENSIONS.
14879         * modules/getpass (Depends-on): Add extensions.
14880
14881 2010-11-26  Bruno Haible  <bruno@clisp.org>
14882
14883         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
14884         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
14885         'iconv' module is present.
14886         (ICONV_CONST): New macro.
14887         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
14888         ICONV_CONST.
14889         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
14890         set ICONV_CONST.
14891         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
14892         here.
14893         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
14894         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
14895         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
14896         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
14897         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
14898         present.
14899
14900 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14901
14902         ftoastr: comment fix
14903         * lib/ftoastr.c: "little" -> "little or no" in comment
14904
14905 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
14906
14907         stdint: port to GCC 4.3 + OSX + Octave
14908         On this platform, stdint.h is buggy and defines int64_t to long
14909         long int.  The replacement defined it to long int, causing
14910         problems with C++ style name mangling.  Instead, trust the system
14911         definition if INT64_MAX is defined, and likewise for the unsigned
14912         variant.   Problem reported by Jarno Rajahalme in
14913         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
14914         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
14915         and don't mess with int64_t and INT64_MAX in this case.
14916         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
14917
14918 2010-11-24  Bruno Haible  <bruno@clisp.org>
14919
14920         doc: Corrections regarding MacOS X 10.4 and 10.5.
14921         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
14922         MacOS X.
14923         Reported by Simon Josefsson.
14924
14925 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
14926
14927         Uninstall ".bin" files installed by relocwrapper.
14928         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
14929         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
14930         unless it is already there.
14931
14932 2010-11-21  Bruno Haible  <bruno@clisp.org>
14933
14934         Update for NetBSD 5.0.
14935         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
14936         NetBSD; the test fails on NetBSD 5.0.
14937         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
14938         about NetBSD.
14939
14940 2010-11-21  Bruno Haible  <bruno@clisp.org>
14941
14942         Update for HP-UX 11.23 and HP-UX 11.31.
14943         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
14944         HP-UX.
14945
14946 2010-11-21  Bruno Haible  <bruno@clisp.org>
14947
14948         Update for MacOS X 10.5.
14949         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
14950         MacOS X; the test fails on MacOS X 10.5.8.
14951         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
14952         about MacOS X.
14953
14954 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
14955
14956         bootstrap: add bootstrap_sync option.
14957         See discussion at
14958         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
14959         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
14960         * build-aux/bootstrap: Accept --bootstrap-sync to update
14961         bootstrap if it is not identical to the local gnulib's
14962         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
14963         enable this by default.  Accept --no-bootstrap-sync to disable
14964         it.
14965
14966 2010-11-20  Bruno Haible  <bruno@clisp.org>
14967
14968         Ensure that <features.h> is included before __GLIBC__ is tested.
14969         * lib/printf-parse.h: Include <features.h>.
14970         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
14971         Reported by Mike Frysinger <vapier@gentoo.org>.
14972
14973         Ensure that <features.h> is included before __GLIBC__ is tested.
14974         * lib/wchar.in.h: Include <features.h>.
14975         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
14976         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
14977         Reported by Mike Frysinger <vapier@gentoo.org>.
14978
14979         Ensure that <features.h> is included before __GLIBC__ is tested.
14980         * lib/arpa_inet.in.h: Include <features.h>.
14981         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
14982         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
14983         Reported by Mike Frysinger <vapier@gentoo.org>.
14984
14985         Ensure that <features.h> is included before __GLIBC__ is tested.
14986         * build-aux/link-warning.h: Include <features.h>.
14987         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
14988         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
14989         Reported by Mike Frysinger <vapier@gentoo.org>.
14990
14991         Ensure that <features.h> is included before __GLIBC__ is tested.
14992         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
14993         Reported by Mike Frysinger <vapier@gentoo.org>.
14994
14995 2010-11-20  Bruno Haible  <bruno@clisp.org>
14996
14997         memmem: Fix autoconf test.
14998         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
14999
15000 2010-11-20  Bruno Haible  <bruno@clisp.org>
15001
15002         Port to uClibc.
15003         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
15004         * lib/fcntl.in.h: Likewise.
15005         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
15006         * lib/mbrtowc.c (mbrtowc): Likewise.
15007         * lib/relocatable.c (find_shared_library_fullname): Likewise.
15008         * lib/strerror_r.c: Likewise.
15009         * lib/unistr/u8-strnlen.c: Likewise.
15010         * lib/vasnprintf.c (decimal_point_char): Likewise.
15011         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
15012         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
15013         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
15014         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
15015         * tests/test-sigaction.c (handler, main): Likewise.
15016         * lib/freading.h: Treat uClibc like a non-glibc platform.
15017         * lib/freading.c: Likewise.
15018         * lib/gettext.h: Likewise.
15019         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
15020         Likewise.
15021         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
15022         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
15023         * lib/propername.c (proper_name_utf8): Likewise.
15024         * lib/spawn.in.h: Likewise.
15025         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
15026         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
15027         mem_cd_iconveh_internal): Likewise.
15028         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
15029         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
15030         strstr, strcasestr): Likewise.
15031         * lib/unicodeio.c (unicode_to_mb): Likewise.
15032         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
15033         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
15034         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
15035         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
15036         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
15037         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
15038         * lib/unistr/u8-stpncpy.c: Likewise.
15039         * lib/vasnprintf.c (VASNPRINTF): Likewise.
15040         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
15041         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15042         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15043         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
15044         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
15045         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
15046         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
15047         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
15048         Likewise.
15049         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
15050         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15051         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
15052         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15053         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
15054         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15055         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15056         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
15057         * tests/test-getopt.h (OPTIND_MIN): Likewise.
15058         * tests/test-striconveha.c (main): Likewise.
15059         * tests/test-vasnprintf-posix.c (test_function): Likewise.
15060         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
15061         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
15062         * doc/posix-functions/getline.texi: Likewise.
15063         Reported by Mike Frysinger <vapier@gentoo.org>.
15064
15065 2010-11-20  Bruno Haible  <bruno@clisp.org>
15066
15067         nproc: Fix condition.
15068         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
15069         HAVE_PTHREAD_AFFINITY_NP.
15070
15071 2010-11-20  Bruno Haible  <bruno@clisp.org>
15072
15073         Fix a comment.
15074         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
15075
15076 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
15077
15078         ftoastr: don't assume snprintf
15079         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
15080         Implement a subset of snprintf here, by using sprintf safely.
15081         * modules/ftoastr (Depends-on): Remove snprintf.
15082
15083 2010-11-19  Jim Meyering  <meyering@redhat.com>
15084
15085         test-rename.h: fix compilation failure
15086         * tests/test-rename.h (test_rename): Add omitted "}".
15087
15088 2010-11-17  Jim Meyering  <meyering@redhat.com>
15089
15090         maint.mk: add a URL discussing the no-@acronym policy
15091         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
15092
15093 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
15094
15095         ftoastr: depend on snprintf, improve comments
15096         * lib/ftoastr.c: Also mention Loitsch's draft.
15097         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
15098         needed in the current implementation, but it might simplify
15099         speeding up the code later.
15100         * modules/ftoastr: Depend on snprintf; this improves portability.
15101         Suggested by Bruno Haible in the same email.
15102
15103         ftoastr: port to hosts lacking strtof and strtold
15104         Problem reported by Bruno Haible in
15105         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
15106         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
15107         environment and strtold (and presumably strtof) are not available.
15108         * modules/ftoastr (Files): Add m4/c-strtod.m4.
15109         (configure.ac): Require gl_C99_STRTOLD.
15110
15111 2010-11-18  Bruno Haible  <bruno@clisp.org>
15112
15113         c-strtold: Avoid link error on AIX 7.
15114         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
15115         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
15116         (gl_C_STRTOLD): Test whether strtold_l exists.
15117         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15118
15119 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
15120
15121         intprops: new macro INT_BITS_STRLEN_BOUND
15122         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
15123         ftoastr.h.  This exposes an internal of intprops.h that was formerly
15124         not exposed.  Also, it uses a slightly tighter bound than before;
15125         though this makes no practical difference, we might as well be as
15126         tight as we easily can.
15127
15128         ftoastr: new module, for lossless conversion of floats to short strings
15129         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
15130         * modules/ftoastr: New files.
15131
15132 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
15133
15134         bootstrap: port to Solaris sed
15135         * build-aux/bootstrap (get_version): Port to Solaris sed.
15136         See Ralf Wildenhues's note in
15137         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
15138
15139 2010-11-14  Jim Meyering  <meyering@redhat.com>
15140
15141         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
15142         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
15143         and move definition closer to sole use.
15144
15145 2010-11-13  Jim Meyering  <meyering@redhat.com>
15146
15147         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
15148         Now we require at least autoconf-2.59, which means the work-around
15149         is no longer needed.
15150         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
15151         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
15152         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
15153         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
15154         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15155
15156 2010-11-13  Bruno Haible  <bruno@clisp.org>
15157
15158         rename, renameat: Avoid test failures at NFS mounted locations.
15159         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
15160         functions.
15161         (test_rename): Use assert_nonexistent.
15162         * tests/test-rename.c: Include <dirent.h>.
15163         * tests/test-renameat.c: Likewise.
15164         Reported by Gary V. Vaughan <gary@gnu.org>.
15165
15166         rename, renameat: Document Linux bug with NFS
15167         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
15168         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
15169         * doc/posix-functions/renameat.texi: Likewise.
15170         Suggested by Eric Blake.
15171
15172 2010-11-13  Bruno Haible  <bruno@clisp.org>
15173
15174         rename test: Add comments.
15175         * tests/test-rename.h (test_rename): Add structure and comments.
15176
15177 2010-11-13  Eric Blake  <eblake@redhat.com>
15178
15179         maintainer-makefile: cover a few more files
15180         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
15181         scripts generated within C files, for libvirt.
15182
15183 2010-11-13  Bruno Haible  <bruno@clisp.org>
15184
15185         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
15186         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
15187         character, return the number of bytes that belong together, not always
15188         1.
15189         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
15190         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
15191         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
15192         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
15193         number of bytes of an invalid character.
15194         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
15195         (main): Invoke it.
15196         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
15197         results.
15198         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
15199         malformed byte sequences.
15200         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
15201         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
15202         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
15203         Reported by Ben Pfaff and Paolo Bonzini.
15204
15205 2010-11-13  Bruno Haible  <bruno@clisp.org>
15206
15207         openat: Work around glibc bug with fchownat() and empty file names.
15208         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
15209         (gl_FUNC_FCHOWNAT): Invoke it.
15210         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
15211         * doc/posix-functions/fchownat.texi: Document the glibc bug.
15212         Reported by Gary V. Vaughan <gary@gnu.org>.
15213
15214 2010-11-13  Bruno Haible  <bruno@clisp.org>
15215
15216         openat: Ensure autoconf macro ordering.
15217         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
15218         gl_USE_SYSTEM_EXTENSIONS.
15219         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
15220
15221 2010-11-13  Bruno Haible  <bruno@clisp.org>
15222
15223         Update comments.
15224         * lib/unistr/u8-check.c: Update file name in comments.
15225         * lib/unistr/u8-mblen.c: Likewise.
15226         * lib/unistr/u8-prev.c: Likewise.
15227         * lib/unistr/u8-strmblen.c: Likewise.
15228         * lib/unistr/u8-strmbtouc.c: Likewise.
15229
15230 2010-11-13  Jim Meyering  <meyering@redhat.com>
15231
15232         tests: avoid test failure on Solaris 10 due to lack of PATH export
15233         * tests/test-update-copyright.sh: Don't forget to export PATH.
15234
15235         init.sh: ensure that IFS is defined, just in case...
15236         * tests/init.sh (setup_): Ensure that IFS is defined,
15237         so that saving and restoring it works as expected.  This
15238         appears to be useful at least for an old version of dash
15239         from a long time ago (RH 6).  See here for details:
15240         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
15241
15242         maint.mk: tighten "test a == b" check
15243         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
15244         test to files that contain something like #!/bin/sh.
15245         Without this, coreutils would get two false positives in
15246         the comments of C source files.
15247
15248 2010-11-12  Eric Blake  <eblake@redhat.com>
15249
15250         bootstrap: fix typo in previous attempt
15251         * build-aux/bootstrap (buildreq): Correct the grouping.
15252         Reported by Paul Eggert.
15253
15254         maintainer-makefile: prohibit test x == x
15255         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
15256         Based on a report by Matthias Bolte.
15257
15258         bootstrap: allow FreeBSD gzip
15259         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
15260         which has no '.' and goes to stderr.
15261         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
15262         Reported by Matthias Bolte.
15263
15264         maintainer-makefile: check for i18n setup
15265         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
15266         will likely work.
15267
15268 2010-11-12  Bruno Haible  <bruno@clisp.org>
15269
15270         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
15271         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
15272         * lib/nanosleep.c (nanosleep): Likewise.
15273
15274 2010-11-11  Bruno Haible  <bruno@clisp.org>
15275
15276         fcntl-h: Fix for use of C++ on glibc systems.
15277         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
15278         also on glibc systems in C++ mode.
15279         Reported by Gary V. Vaughan <gary@gnu.org>.
15280
15281 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
15282
15283         mknod: avoid false failure with dash
15284         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
15285
15286 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
15287
15288         unlink: Fix "is it should" typo in diagnostic.
15289         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
15290         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
15291
15292 2010-11-11  Bruno Haible  <bruno@clisp.org>
15293
15294         Tests for module 'strerror_r-posix'.
15295         * modules/strerror_r-posix-tests: New file.
15296         * tests/test-strerror_r.c: New file.
15297         * tests/test-string-c++.cc: Check the signature of strerror_r.
15298
15299         New module 'strerror_r-posix'.
15300         * lib/string.in.h (strerror_r): New declaration.
15301         * lib/strerror_r.c: New file.
15302         * m4/strerror_r.m4: New file.
15303         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
15304         of strerror_r.
15305         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
15306         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
15307         * modules/strerror_r-posix: New file.
15308         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
15309         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
15310         * doc/posix-functions/strerror_r.texi: Mention the new module and the
15311         portability problems.
15312
15313 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
15314
15315         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
15316         line is also considered for output. Quoted function name in shell
15317         command, so temporary files for functions like MyClass::operator()
15318         are removed correctly without errors.
15319
15320 2010-11-09  Bruno Haible  <bruno@clisp.org>
15321
15322         * doc/posix-functions/strerror.texi: List more failing platforms.
15323
15324         * doc/posix-functions/strerror.texi: Add a comment.
15325
15326 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
15327
15328         fdopendir: fix bug on MacOS X when low on file descriptors
15329
15330         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
15331         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
15332         All callers changed.
15333         (fdopendir): Invoke save_cwd at the top level, not after using
15334         multiple dup() calls to use up file descriptors.  Then retry
15335         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
15336         less than the maximum number of open file descriptors, because
15337         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
15338         on Mac OS X 10.6.4 for tar 1.24
15339         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
15340         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
15341         and for tar 1.25
15342         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
15343
15344 2010-11-07  Bruno Haible  <bruno@clisp.org>
15345
15346         vasnprintf: Support I flag on glibc systems.
15347         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
15348         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
15349         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
15350         snprintf function.
15351         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
15352         glibc systems.
15353         * tests/test-vasnprintf-posix3.c: New file.
15354         * modules/vasnprintf-posix-tests (Files): Add it.
15355         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
15356
15357 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
15358
15359         [html] Fix copy/paste bug: Use unique name for compiler warnings.
15360         * MODULES.html.sh: For compiler warnings, use name
15361         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
15362
15363 2010-11-05  Eric Blake  <eblake@redhat.com>
15364
15365         ceil, floor: avoid spurious failure with icc
15366         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
15367         [denormals-as-zero] when optimizing without -mieee-fp option.
15368         * tests/test-floorf2.c (floorf_reference): Likewise.
15369         * tests/test-ceilf1.c (dummy): New function.
15370         (main): Use it to outsmart icc's optimization.
15371         * tests/test-floorf1.c (dummy, main): Likewise.
15372
15373         tests: require working signbit
15374         * modules/ceilf-tests (Depends-on): Add signbit.
15375         * modules/ceill-tests (Depends-on): Likewise.
15376         * modules/floorf-tests (Depends-on): Likewise.
15377         * modules/floorl-tests (Depends-on): Likewise.
15378         * modules/round-tests (Depends-on): Likewise.
15379         * modules/roundf-tests (Depends-on): Likewise.
15380         * modules/roundl-tests (Depends-on): Likewise.
15381         * modules/trunc-tests (Depends-on): Likewise.
15382         * modules/truncf-tests (Depends-on): Likewise.
15383         * modules/truncl-tests (Depends-on): Likewise.
15384
15385         strtod: work around icc bug
15386         * lib/strtod.c (minus_zero): Define to working value.
15387         (strtod): Use it to avoid icc bug.
15388
15389         copysign: enhance tests
15390         * modules/copysign-tests (Files): Add minus-zero.h.
15391         * tests/test-copysign.c (main): Also test zeros.
15392
15393 2010-11-04  Eric Blake  <eblake@redhat.com>
15394
15395         ceil, floor, round, trunc: enhance tests of -0
15396         * tests/test-ceilf1.c (main): Ensure correct sign of result.
15397         * tests/test-ceill.c (main): Likewise.
15398         * tests/test-floorf1.c (main): Likewise.
15399         * tests/test-floorl.c (main): Likewise.
15400         * tests/test-round1.c (main): Likewise.
15401         * tests/test-roundf1.c (main): Likewise.
15402         * tests/test-roundl.c (main): Likewise.
15403         * tests/test-trunc1.c (main): Likewise.
15404         * tests/test-truncf1.c (main): Likewise.
15405         * tests/test-truncl.c (main): Likewise.
15406
15407 2010-11-04  Eric Blake  <eblake@redhat.com>
15408
15409         frexp, tests: work around ICC bug with -zero
15410         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
15411         works with more compilers.
15412         * tests/minus-zero.h: New file.
15413         * modules/ceilf-tests (Files): Include it.
15414         * modules/ceill-tests (Files): Likewise.
15415         * modules/floorf-tests (Files): Likewise.
15416         * modules/floorl-tests (Files): Likewise.
15417         * modules/frexp-nolibm-tests (Files): Likewise.
15418         * modules/frexp-tests (Files): Likewise.
15419         * modules/frexpl-nolibm-tests (Files): Likewise.
15420         * modules/frexpl-tests (Files): Likewise.
15421         * modules/isnan-tests (Files): Likewise.
15422         * modules/isnand-nolibm-tests (Files): Likewise.
15423         * modules/isnand-tests (Files): Likewise.
15424         * modules/isnanf-nolibm-tests (Files): Likewise.
15425         * modules/isnanf-tests (Files): Likewise.
15426         * modules/isnanl-nolibm-tests (Files): Likewise.
15427         * modules/isnanl-tests (Files): Likewise.
15428         * modules/round-tests (Files): Likewise.
15429         * modules/roundf-tests (Files): Likewise.
15430         * modules/roundl-tests (Files): Likewise.
15431         * modules/ldexpl-tests (Files): Likewise.
15432         * modules/signbit-tests (Files): Likewise.
15433         * modules/snprintf-posix-tests (Files): Likewise.
15434         * modules/sprintf-posix-tests (Files): Likewise.
15435         * modules/strtod-tests (Files): Likewise.
15436         * modules/trunc-tests (Files): Likewise.
15437         * modules/truncf-tests (Files): Likewise.
15438         * modules/truncl-tests (Files): Likewise.
15439         * modules/vsnprintf-posix-tests (Files): Likewise.
15440         * modules/vsprintf-posix-tests (Files): Likewise.
15441         * modules/vasnprintf-posix-tests (Files): Likewise.
15442         * modules/vasprintf-posix-tests (Files): Likewise.
15443         * tests/test-ceilf1.c (main): Use it.
15444         * tests/test-ceill.c (main): Likewise.
15445         * tests/test-floorf1.c (main): Likewise.
15446         * tests/test-floorl.c (main): Likewise.
15447         * tests/test-frexp.c (main): Likewise.
15448         * tests/test-frexpl.c (main): Likewise.
15449         * tests/test-isnan.c (main): Likewise.
15450         * tests/test-isnand.h (main): Likewise.
15451         * tests/test-isnanf.h (main): Likewise.
15452         * tests/test-isnanl.h (main): Likewise.
15453         * tests/test-ldexpl.c (main): Likewise.
15454         * tests/test-round.c (main): Likewise.
15455         * tests/test-roundf.c (main): Likewise.
15456         * tests/test-roundl.c (main): Likewise.
15457         * tests/test-signbit.c (test_signbitf, test_signbitd)
15458         (test_signbitl): Likewise.
15459         * tests/test-snprintf-posix.h (test_function): Likewise.
15460         * tests/test-sprintf-posix.h (test_function): Likewise.
15461         * tests/test-strtod.c (main): Likewise.
15462         * tests/test-trunc1.c (main): Likewise.
15463         * tests/test-truncf1.c (main): Likewise.
15464         * tests/test-truncl.c (main): Likewise.
15465
15466         isnanl: work around icc bug
15467         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
15468
15469 2010-11-03  Eric Blake  <eblake@redhat.com>
15470
15471         tests: fix compiler warnings
15472         * tests/test-getopt.h (test_getopt): Fix condition.
15473         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15474         * tests/test-pipe2.c (main): Likewise.
15475         * tests/test-quotearg-simple.c (main): Avoid icc warning.
15476
15477         utimens: fix broken m4 test
15478         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
15479
15480 2010-10-28  Bruno Haible  <bruno@clisp.org>
15481
15482         posix_spawn*, getdtablesize: Relax license.
15483         * modules/posix_spawn (License): Change to LGPLv2+.
15484         * modules/posix_spawnp (License): Likewise.
15485         * modules/posix_spawn-internal (License): Likewise.
15486         * modules/posix_spawnattr_init (License): Likewise.
15487         * modules/posix_spawnattr_getflags (License): Likewise.
15488         * modules/posix_spawnattr_setflags (License): Likewise.
15489         * modules/posix_spawnattr_getpgroup (License): Likewise.
15490         * modules/posix_spawnattr_setpgroup (License): Likewise.
15491         * modules/posix_spawnattr_getschedparam (License): Likewise.
15492         * modules/posix_spawnattr_setschedparam (License): Likewise.
15493         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
15494         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
15495         * modules/posix_spawnattr_getsigdefault (License): Likewise.
15496         * modules/posix_spawnattr_setsigdefault (License): Likewise.
15497         * modules/posix_spawnattr_getsigmask (License): Likewise.
15498         * modules/posix_spawnattr_setsigmask (License): Likewise.
15499         * modules/posix_spawnattr_destroy (License): Likewise.
15500         * modules/posix_spawn_file_actions_init (License): Likewise.
15501         * modules/posix_spawn_file_actions_addclose (License): Likewise.
15502         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
15503         * modules/posix_spawn_file_actions_addopen (License): Likewise.
15504         * modules/posix_spawn_file_actions_destroy (License): Likewise.
15505         * modules/getdtablesize (License): Likewise.
15506         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
15507
15508 2010-10-26  Bruno Haible  <bruno@clisp.org>
15509
15510         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
15511         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
15512         Cygwin and mingw.
15513         Suggested by Eric Blake.
15514
15515 2010-10-26  Bruno Haible  <bruno@clisp.org>
15516
15517         stdio: Work around compilation error due to renameat() on Solaris 10.
15518         * lib/stdio.in.h: Include <unistd.h> on Solaris.
15519         * lib/renameat.c: Don't include <unistd.h> here.
15520         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
15521         Reported by Paul Eggert and Eric Blake.
15522
15523 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
15524
15525         renameat: port to Solaris 10, which declares renameat in unistd.h
15526
15527         * lib/renameat.c: Include unistd.h before stdio.h, because
15528         Solaris 10 declares renameat in unistd.h.  Problem encountered
15529         when building GNU tar 1.24 on Solaris 10.
15530
15531 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
15532
15533         fdopendir: fix C89 compilation
15534         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
15535         compilers.
15536
15537 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
15538
15539         inttostr: simplify by removing unnecessary redundancy
15540         * lib/anytostr.c: Don't include verify.h.
15541         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
15542         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
15543         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
15544         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
15545         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
15546         Likewise.
15547         * modules/inttostr (Depends-on): Remove 'verify'.
15548
15549 2010-10-23  Bruno Haible  <bruno@clisp.org>
15550
15551         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
15552         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
15553         Reported by Eric Blake.
15554
15555 2010-10-23  Bruno Haible  <bruno@clisp.org>
15556
15557         Tests: Fix LOCALE_JA on MirBSD 10.
15558         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
15559         to an UTF-8 locale.
15560         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
15561         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
15562         Reported by Eric Blake.
15563
15564 2010-10-21  Bruno Haible  <bruno@clisp.org>
15565
15566         nl_langinfo test: Avoid test failure on NetBSD 5.
15567         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
15568         Reported by Eric Blake.
15569
15570 2010-10-21  Eric Blake  <eblake@redhat.com>
15571
15572         c-stack: work around libsigsegv 2.8 bug
15573         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
15574         overflow on at least PowerPC64.
15575
15576 2010-10-17  Bruno Haible  <bruno@clisp.org>
15577
15578         userspec: Drop redundant file.
15579         * modules/userspec (Files): Remove lib/inttostr.h.
15580
15581 2010-10-17  Bruno Haible  <bruno@clisp.org>
15582
15583         nl_langinfo tests: Silence some warnings.
15584         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
15585         Reported by Jim Meyering.
15586
15587 2010-10-17  Bruno Haible  <bruno@clisp.org>
15588
15589         Make use of GCC's attribute __alloc_size__.
15590         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
15591         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
15592         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
15593         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
15594         __alloc_size__.
15595         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
15596         Suggested by Jim Meyering.
15597
15598 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
15599
15600         bootstrap: anchor .gitignore entries.
15601         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
15602         with...
15603         (insert_vc_ignore): ... this new function, which prepends `/' to
15604         all .gitignore entries before passing them to
15605         insert_sorted_if_absent.
15606
15607 2010-10-16  Bruno Haible  <bruno@clisp.org>
15608
15609         nextafter: Fix configure check.
15610         * modules/nextafter (configure.ac): Correct expected prototype.
15611
15612 2010-10-16  Bruno Haible  <bruno@clisp.org>
15613
15614         termios: Update documentation.
15615         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
15616
15617 2010-10-16  Bruno Haible  <bruno@clisp.org>
15618
15619         tests: Make them compile with TinyCC.
15620         * tests/test-strstr.c (main): Remove parentheses around array
15621         initializer.
15622
15623 2010-10-15  Eric Blake  <eblake@redhat.com>
15624
15625         ignore-value: make header idempotent
15626         * lib/ignore-value.h: Add double-inclusion guards.
15627         Reported by Stefan Berger.
15628
15629 2010-10-15  Jim Meyering  <meyering@redhat.com>
15630
15631         GNUmakefile: handle "stable" target, not "major"
15632         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
15633         lists in maint.mk and announce-gen.  Without this, "make stable"
15634         would fail to ensure that $(VERSION) is up to date.
15635
15636 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
15637
15638         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
15639         & co.
15640
15641 2010-10-14  Bruno Haible  <bruno@clisp.org>
15642
15643         vasnprintf: Don't set errno to 0.
15644         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
15645         block that sets it to 0.
15646         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
15647
15648 2010-10-14  Bruno Haible  <bruno@clisp.org>
15649
15650         socketlib: Fix.
15651         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
15652         gl_PREREQ_SYS_H_WINSOCK2.
15653         Reported by Ian Beckwith <ianb@erislabs.net>.
15654
15655 2010-10-13  Jim Meyering  <meyering@redhat.com>
15656
15657         test-select-stdin.c: avoid warn_unused_result warnings
15658         * tests/test-select-stdin.c: Include "macros.h".
15659         ASSERT that read and fflush succeed.
15660
15661 2010-10-13  Jim Meyering  <meyering@redhat.com>
15662
15663         git-version-gen: do require git-VC'd files in cwd
15664         * build-aux/git-version-gen: Reject a git version string
15665         if there are no commits associated with the current directory.
15666         This avoids an unlikely false-positive (unrelated dir whose parent
15667         repository also contains a tag matching v*), as pointed out
15668         by Giuseppe Scrivano in
15669         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
15670
15671 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
15672
15673         argv-iter: omit nonconforming declaration
15674         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
15675         enum arg_iter_err declaration, which doesn't conform to C99.
15676         Solaris 10 cc warns about this.
15677
15678 2010-10-13  Eric Blake  <eblake@redhat.com>
15679
15680         termios: fix compilation on mingw
15681         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
15682         (gl_TERMIOS_H): Adjust it on mingw.
15683         * modules/termios (Makefile.am): Substitute new key.
15684         * lib/termios.in.h (includes): Make include_next conditional.
15685         * doc/posix-headers/termios.texi (termios.h): Update
15686         documentation.
15687         Reported by Daniel P. Berrange.
15688
15689 2010-10-13  Jim Meyering  <meyering@redhat.com>
15690
15691         git-version-gen: don't require that .git/ be in the current dir
15692         * build-aux/git-version-gen: Adjust this script so that it works
15693         when run from any working directory beneath the top-level .git/-
15694         containing directory.  Inspired by a patch from Giuseppe Scrivano,
15695         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
15696
15697         test-select: avoid warn_unused_result warnings
15698         * tests/test-select.c: Include "macros.h".
15699         ASSERT that each call to read, write, and pipe succeeds.
15700         While not technically required, also check each "close".
15701         * modules/select-tests (Files): Add tests/macros.h.
15702
15703         test-symlinkat: remove declaration of unused local
15704         * tests/test-symlinkat.c (main): Remove unused local, "buf".
15705
15706         test-inttostr: avoid shadowing warnings
15707         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
15708         and use malloc rather than the stack for the same reason as
15709         mentioned in the comment justifying the other allocation.
15710
15711 2010-10-11  Bruno Haible  <bruno@clisp.org>
15712
15713         stdlib: Allow multiple gnulib generated replacements to coexist.
15714         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
15715         Reported by Sam Steingold <sds@gnu.org>.
15716
15717 2010-10-11  Jim Meyering  <meyering@redhat.com>
15718
15719         fix a documentation typo
15720         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
15721
15722 2010-10-11  Eric Blake  <eblake@redhat.com>
15723
15724         futimens: work around Solaris 11 bug
15725         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
15726         * tests/test-futimens.h (test_futimens): Enhance, rather than
15727         weaken test.
15728         * doc/posix-functions/futimens.texi (futimens): Document the bug.
15729
15730 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
15731
15732         Indentation.
15733         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
15734         higher-level operators more to the left.
15735
15736 2010-10-11  Jim Meyering  <meyering@redhat.com>
15737
15738         test-futimens: avoid unwarranted test failure on Solaris 5.11
15739         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
15740         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
15741         because it tries to dereference the NULL name argument.
15742
15743 2010-10-11  Bruno Haible  <bruno@clisp.org>
15744
15745         Indentation.
15746         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
15747         indentation.
15748
15749 2010-10-11  Jim Meyering  <meyering@redhat.com>
15750
15751         spawn.in.h: make indentation consistent with parentheses
15752         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
15753         Make indentation consistent with parentheses.
15754
15755 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
15756
15757         Fix mismatched parens in previous commit
15758         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
15759         parens.
15760
15761 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
15762
15763         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
15764
15765         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
15766         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
15767         * lib/malloca.c: Include "verify.h".
15768         (verify1): Remove, replacing with a verify call.
15769         * lib/relocwrapper.c (verify1): Likewise.
15770         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
15771         Likewise.
15772         * modules/malloca (Depends-on): Add 'verify'.
15773         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
15774         * modules/vasnprintf (Depends-on): Add 'verify'.
15775         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
15776         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
15777         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
15778         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
15779         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
15780         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
15781         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
15782
15783         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
15784
15785         Formerly the style was sometimes 2*X - 1, because the C standard
15786         was wrongly thought to disallow ?: in integral constant expressions.
15787         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
15788         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
15789         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
15790         * lib/stdint.in.h (_verify_intmax_size): Likewise.
15791         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
15792         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
15793         verify that time_t cannot be floating.
15794
15795 2010-10-08  Eric Blake  <eblake@redhat.com>
15796
15797         time: enforce recent POSIX ruling that time_t is integral
15798         * lib/time.in.h (__time_t_must_be_integral): Detect any
15799         problematic systems, allowing the rest of gnulib to assume POSIX.
15800
15801 2010-10-08  Jim Meyering  <meyering@redhat.com>
15802
15803         fdopendir: fix a bug on systems lacking openat and /proc support
15804         OpenBSD 4.7 is one such system.  The most noticeable effect was
15805         failure of any application making nontrivial use of fts: rm, du,
15806         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
15807           ./rm: traversal failed: `a': Bad file descriptor
15808         Debugging that, you see that even though FD 6 was closed just
15809         prior to the opendir call in fd_clone_opendir, its resulting
15810         dir->dd_fd was 8, rather than the expected value of 6:
15811
15812         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
15813         93                close (fd);
15814         (gdb) n
15815         94                dir = fd_clone_opendir (dupfd);
15816         (gdb) n
15817         95                saved_errno = errno;
15818         (gdb) p dir->dd_fd
15819         $11 = 8
15820
15821         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
15822         The problem is that on OpenBSD, fd_clone_opendir has to resort
15823         to using the old-style save/restore CWD mechanism, due to its
15824         lack of openat/proc support, and *that* would steal the FD (6)
15825         that opendir was supposed to use.
15826
15827         The fix is to squirrel away the desired FD so that save_cwd uses a
15828         different one, and then free the dest FD right before calling opendir.
15829         That guarantees opendir will use the required file descriptor.
15830
15831         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
15832
15833 2010-10-08  Bruno Haible  <bruno@clisp.org>
15834
15835         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
15836         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
15837
15838 2010-10-08  Bruno Haible  <bruno@clisp.org>
15839
15840         nanosleep: Make replacement POSIX compliant.
15841         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
15842         is out of range.
15843         Reported by Jim Meyering.
15844
15845 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
15846
15847         bootstrap: add hook for altering gnulib.mk, for Bison
15848         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
15849         the Bison bootstrapping process can rewrite file names and variables
15850         in this file before later parts of 'bootstrap' use the file.
15851         Bison wants to include lib/gnulib.mk from the top-level makefile,
15852         so it needs the file names in this file to be relative to the top
15853         level, not relative to lib; plus it needs variable names to be
15854         rewritten.
15855         (slurp): Use the new function.
15856
15857         bootstrap: reformat for readability
15858         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
15859
15860 2010-10-08  Eric Blake  <eblake@redhat.com>
15861
15862         docs: update cygwin progress
15863         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
15864         1.7.7.
15865         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
15866         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
15867         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
15868         * doc/posix-functions/carg.texi (carg): Likewise.
15869         * doc/posix-functions/cargf.texi (cargf): Likewise.
15870         * doc/posix-functions/casin.texi (casin): Likewise.
15871         * doc/posix-functions/casinf.texi (casinf): Likewise.
15872         * doc/posix-functions/casinh.texi (casinh): Likewise.
15873         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
15874         * doc/posix-functions/catan.texi (catan): Likewise.
15875         * doc/posix-functions/catanf.texi (catanf): Likewise.
15876         * doc/posix-functions/catanh.texi (catanh): Likewise.
15877         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
15878         * doc/posix-functions/ccos.texi (ccos): Likewise.
15879         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
15880         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
15881         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
15882         * doc/posix-functions/cexp.texi (cexp): Likewise.
15883         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
15884         * doc/posix-functions/cimag.texi (cimag): Likewise.
15885         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
15886         * doc/posix-functions/clog.texi (clog): Likewise.
15887         * doc/posix-functions/clogf.texi (clogf): Likewise.
15888         * doc/posix-functions/conj.texi (conj): Likewise.
15889         * doc/posix-functions/conjf.texi (conjf): Likewise.
15890         * doc/posix-functions/cpow.texi (cpow): Likewise.
15891         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
15892         * doc/posix-functions/cproj.texi (cproj): Likewise.
15893         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
15894         * doc/posix-functions/creal.texi (creal): Likewise.
15895         * doc/posix-functions/crealf.texi (crealf): Likewise.
15896         * doc/posix-functions/csin.texi (csin): Likewise.
15897         * doc/posix-functions/csinf.texi (csinf): Likewise.
15898         * doc/posix-functions/csinh.texi (csinh): Likewise.
15899         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
15900         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
15901         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
15902         * doc/posix-functions/ctan.texi (ctan): Likewise.
15903         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
15904         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
15905         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
15906         * doc/posix-headers/complex.texi (complex.h): Likewise.
15907
15908 2010-10-07  Jim Meyering  <meyering@redhat.com>
15909
15910         parse-datetime: avoid compilation failure on OpenBSD 4.7
15911         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
15912         This works around a compilation failure on OpenBSD 4.7:
15913         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
15914
15915 2010-10-07  Eric Blake  <eblake@redhat.com>
15916
15917         docs: update cygwin progress
15918         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
15919         1.7.6.
15920         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
15921         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
15922         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
15923         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
15924         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
15925         Likewise.
15926         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
15927         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
15928         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
15929         Likewise.
15930         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
15931         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
15932         Likewise.
15933         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
15934         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
15935         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
15936         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
15937         Likewise.
15938         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
15939         Likewise.
15940         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
15941
15942         docs: update parse-datetime history
15943         * doc/parse-datetime.texi (Authors of parse_datetime): Better
15944         documentation of this function's history and alternatives.
15945
15946         cygwin: use more robust version check
15947         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
15948         exclude an eventual cygwin 1.9.1.
15949         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
15950         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
15951         (gl_FUNC_STRCASESTR): Likewise.
15952         Reported by Bruno Haible.
15953
15954 2010-10-06  Bruno Haible  <bruno@clisp.org>
15955
15956         string, sys_select: Avoid #including large headers unless necessary.
15957         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
15958         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
15959         OSF/1, BeOS, Haiku.
15960         Reported by Jim Meyering.
15961
15962 2010-10-05  Eric Blake  <eblake@redhat.com>
15963
15964         memmem, strstr, strcasestr: fix bug with long periodic needle
15965         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
15966         periodic needle having false positive.
15967         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
15968         and cygwin 1.7.7.
15969         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
15970         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
15971         (gl_FUNC_STRCASESTR): Likewise.
15972         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
15973         * tests/test-memmem.c (main): Expose the bug.
15974         * tests/test-strcasestr.c (main): Likewise.
15975         * tests/test-strstr.c (main): Likewise.
15976         * tests/test-c-strcasestr.c (main): Likewise.
15977         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
15978         * doc/posix-functions/strstr.texi (strstr): Likewise.
15979         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
15980         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
15981
15982 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
15983
15984         parse-datetime: do some more renaming
15985         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
15986         parse_datetime, not get_date.  Mention the renaming.
15987         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
15988         in comments.
15989         * m4/bison.m4: Likewise.
15990
15991 2010-10-05  Eric Blake  <eblake@redhat.com>
15992
15993         parse-datetime: better name than get_date
15994         * NEWS: Reword the deprecation notice.
15995         * modules/get_date: Rename to modules/parse-datetime.
15996         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
15997         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
15998         * lib/get_date.y: Rename to lib/parse-datetime.y.
15999         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
16000         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
16001         * doc/getdate.texi: Provide fallback wrapper.
16002         * lib/getdate.h: Move guts, and wrap...
16003         * lib/parse-datetime.h: ...new file.
16004         * lib/parse-datetime.y (get_date): Rename...
16005         (parse_datetime): ...to this.
16006         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
16007         (gl_PARSE_DATETIME): ...to this.
16008         * doc/posix-functions/getdate.texi (get_date): Provide fallback
16009         documentation.
16010         * modules/getdate (Files): Provide fallback docs and header.
16011         (Notice, Depends-on): Update references.
16012         * tests/test-parse-datetime.c: Likewise.
16013         * DEPENDENCIES: Likewise.
16014         * MODULES.html.sh (Date and time <time.h>): Likewise.
16015         * doc/parse-datetime.texi (Date input formats)
16016         (Authors of parse_datetime): Likewise.
16017         * modules/parse-datetime (Files, configure.ac, Makefile.am)
16018         (Include): Likewise.
16019         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
16020         * gnulib-tool: Likewise.
16021         * m4/bison.m4 (gl_BISON): Likewise.
16022         Suggested by Bruno Haible.
16023
16024 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
16025
16026         more ports to Solaris tr, which needs [] around ranges
16027         * gnulib-tool: Solaris tr needs [] around ranges.
16028         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
16029         * tests/test-pipe-filter-gi1.c (main): Likewise.
16030         * tests/test-pipe-filter-ii1.c (main): Likewise.
16031
16032 2010-10-05  Eric Blake  <eblake@redhat.com>
16033
16034         bootstrap: fix Solaris regression
16035         * build-aux/bootstrap (check_versions): Solaris tr still needs []
16036         around ranges.
16037         Reported by Pádraig Brady.
16038
16039         bootstrap: work with pkg-config
16040         * build-aux/bootstrap (check_versions): Also transliterate - in
16041         prerequisite name.
16042         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
16043         prerequisites that were already found, to avoid confusion.
16044         Reported by Justin Clift.
16045
16046         faccessat: remove unused wrappers
16047         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
16048         presence of these wrappers dragged in -lgen on Solaris.
16049         Reported by Clemens Brogi; fix suggested by Paul Eggert.
16050
16051 2010-10-05  Jim Meyering  <meyering@redhat.com>
16052
16053         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
16054         * Makefile (sc_pragma_columns): New syntax-check rule.
16055
16056 2010-10-04  Bruno Haible  <bruno@clisp.org>
16057
16058         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
16059         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
16060         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
16061         Reported by Bruce Korb and Eric Blake.
16062
16063 2010-10-04  Bruno Haible  <bruno@clisp.org>
16064
16065         threadlib: Make option --with-libpth-prefix work.
16066         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
16067         use $LIBPTH, not just -lpth.
16068
16069 2010-10-04  Bruno Haible  <bruno@clisp.org>
16070
16071         Avoid line length limitation from HP NonStop system header files.
16072         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
16073         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
16074         * lib/ctype.in.h: Likewise.
16075         * lib/dirent.in.h: Likewise.
16076         * lib/errno.in.h: Likewise.
16077         * lib/fcntl.in.h: Likewise.
16078         * lib/float.in.h: Likewise.
16079         * lib/getopt.in.h: Likewise.
16080         * lib/iconv.in.h: Likewise.
16081         * lib/inttypes.in.h: Likewise.
16082         * lib/langinfo.in.h: Likewise.
16083         * lib/locale.in.h: Likewise.
16084         * lib/math.in.h: Likewise.
16085         * lib/netdb.in.h: Likewise.
16086         * lib/netinet_in.in.h: Likewise.
16087         * lib/poll.in.h: Likewise.
16088         * lib/pthread.in.h: Likewise.
16089         * lib/pty.in.h: Likewise.
16090         * lib/sched.in.h: Likewise.
16091         * lib/se-selinux.in.h: Likewise.
16092         * lib/search.in.h: Likewise.
16093         * lib/signal.in.h: Likewise.
16094         * lib/spawn.in.h: Likewise.
16095         * lib/stdarg.in.h: Likewise.
16096         * lib/stddef.in.h: Likewise.
16097         * lib/stdint.in.h: Likewise.
16098         * lib/stdio.in.h: Likewise.
16099         * lib/stdlib.in.h: Likewise.
16100         * lib/string.in.h: Likewise.
16101         * lib/strings.in.h: Likewise.
16102         * lib/sys_file.in.h: Likewise.
16103         * lib/sys_ioctl.in.h: Likewise.
16104         * lib/sys_select.in.h: Likewise.
16105         * lib/sys_socket.in.h: Likewise.
16106         * lib/sys_stat.in.h: Likewise.
16107         * lib/sys_time.in.h: Likewise.
16108         * lib/sys_times.in.h: Likewise.
16109         * lib/sys_utsname.in.h: Likewise.
16110         * lib/sys_wait.in.h: Likewise.
16111         * lib/sysexits.in.h: Likewise.
16112         * lib/termios.in.h: Likewise.
16113         * lib/time.in.h: Likewise.
16114         * lib/unistd.in.h: Likewise.
16115         * lib/wchar.in.h: Likewise.
16116         * lib/wctype.in.h: Likewise.
16117         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
16118         * modules/ctype (Makefile.am): Likewise.
16119         * modules/dirent (Makefile.am): Likewise.
16120         * modules/errno (Makefile.am): Likewise.
16121         * modules/fcntl-h (Makefile.am): Likewise.
16122         * modules/float (Makefile.am): Likewise.
16123         * modules/getopt-posix (Makefile.am): Likewise.
16124         * modules/iconv-h (Makefile.am): Likewise.
16125         * modules/inttypes (Makefile.am): Likewise.
16126         * modules/langinfo (Makefile.am): Likewise.
16127         * modules/locale (Makefile.am): Likewise.
16128         * modules/math (Makefile.am): Likewise.
16129         * modules/netdb (Makefile.am): Likewise.
16130         * modules/netinet_in (Makefile.am): Likewise.
16131         * modules/poll-h (Makefile.am): Likewise.
16132         * modules/pthread (Makefile.am): Likewise.
16133         * modules/pty (Makefile.am): Likewise.
16134         * modules/sched (Makefile.am): Likewise.
16135         * modules/search (Makefile.am): Likewise.
16136         * modules/selinux-h (Makefile.am): Likewise.
16137         * modules/signal (Makefile.am): Likewise.
16138         * modules/spawn (Makefile.am): Likewise.
16139         * modules/stdarg (Makefile.am): Likewise.
16140         * modules/stddef (Makefile.am): Likewise.
16141         * modules/stdint (Makefile.am): Likewise.
16142         * modules/stdio (Makefile.am): Likewise.
16143         * modules/stdlib (Makefile.am): Likewise.
16144         * modules/string (Makefile.am): Likewise.
16145         * modules/strings (Makefile.am): Likewise.
16146         * modules/sys_file (Makefile.am): Likewise.
16147         * modules/sys_ioctl (Makefile.am): Likewise.
16148         * modules/sys_select (Makefile.am): Likewise.
16149         * modules/sys_socket (Makefile.am): Likewise.
16150         * modules/sys_stat (Makefile.am): Likewise.
16151         * modules/sys_time (Makefile.am): Likewise.
16152         * modules/sys_times (Makefile.am): Likewise.
16153         * modules/sys_utsname (Makefile.am): Likewise.
16154         * modules/sys_wait (Makefile.am): Likewise.
16155         * modules/sysexits (Makefile.am): Likewise.
16156         * modules/termios (Makefile.am): Likewise.
16157         * modules/time (Makefile.am): Likewise.
16158         * modules/unistd (Makefile.am): Likewise.
16159         * modules/wchar (Makefile.am): Likewise.
16160         * modules/wctype (Makefile.am): Likewise.
16161
16162 2010-10-04  Bruno Haible  <bruno@clisp.org>
16163
16164         read-file tests: Avoid a test failure on NonStop Kernel.
16165         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
16166         a regular file.
16167         Reported by Joachim Schmitz <schmitz@hp.com>.
16168
16169 2010-10-03  Bruno Haible  <bruno@clisp.org>
16170
16171         gnulib-tool: Fixes for --create-testdir with --libtool.
16172         * gnulib-tool (func_get_automake_snippet): Don't augment
16173         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
16174         an executable.
16175         (func_create_testdir): Handle module 'alloca' like func_import.
16176         Reported by Bruce Korb <bruce.korb@gmail.com>.
16177
16178 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
16179
16180         Avoid some lines longer than 80 characters.
16181         * lib/stdint.in.h: Break long comment lines.
16182         * lib/math.in.h: Likewise.
16183         (_GL_NUM_UINT_WORDS): New macro, for readability.
16184         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
16185         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
16186         * lib/stdlib.in.h: Likewise.
16187         * lib/spawn.in.h: Likewise.
16188         * lib/sys_socket.in.h: Update an URL.
16189         * lib/sys_stat.in.h: Break long line.
16190
16191 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
16192
16193         Improve pmccabe2html.
16194         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
16195         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
16196         when the sources change. Remove the line in the HTML about "Used
16197         ranges" (which implied that there might be other unused ranges),
16198         rename "Resume" to "Summary" (easier to understand for more users).
16199         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
16200         styles, and some unnecessary blank lines.
16201
16202 2010-10-03  Bruno Haible  <bruno@clisp.org>
16203             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
16204
16205         acl: Add support for ACLs on NonStop Kernel.
16206         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
16207         Check whether the function aclsort() exists.
16208         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
16209         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
16210         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
16211         (acl_nontrivial [HAVE_ACLSORT]: New function.
16212         (file_has_acl): Implement for NonStop Kernel.
16213         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
16214         (qset_acl): Implement for NonStop Kernel.
16215         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
16216         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
16217         (main): Implement for NonStop Kernel.
16218         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
16219         Kernel. Handle this flavor.
16220         * tests/test-set-mode-acl.sh: Likewise.
16221         * tests/test-copy-acl.sh: Likewise.
16222         * tests/test-copy-file.sh: Likewise.
16223
16224 2010-10-03  Bruno Haible  <bruno@clisp.org>
16225
16226         Info about ACLs on NonStop Kernel.
16227         * doc/acl-resources.txt: Add info about NonStop Kernel.
16228         References by Joachim Schmitz <schmitz@hp.com>.
16229
16230 2010-10-02  Bruno Haible  <bruno@clisp.org>
16231
16232         Define missing EDQUOT on NonStop Kernel.
16233         * lib/errno.in.h (EDQUOT): Assign a value if missing.
16234         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
16235         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
16236         missing.
16237         * doc/posix-headers/errno.texi: Mention the NSK bug.
16238         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
16239         Reported by Joachim Schmitz <schmitz@hp.com>.
16240
16241 2010-10-02  Bruno Haible  <bruno@clisp.org>
16242
16243         Update doc for POSIX:2008.
16244         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
16245         Update URL of POSIX specification.
16246
16247 2010-10-02  Bruno Haible  <bruno@clisp.org>
16248
16249         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
16250         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
16251         from gnulib, not from Automake.
16252
16253 2010-10-02  Bruno Haible  <bruno@clisp.org>
16254
16255         New module 'system-posix'.
16256         * modules/system-posix: New file.
16257         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
16258         module is present.
16259         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
16260         GNULIB_SYSTEM_POSIX.
16261         * modules/stdlib (Depends-on): Remove sys_wait.
16262         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
16263         * doc/posix-functions/system.texi: Mention the new module.
16264         * doc/posix-headers/stdlib.texi: Likewise.
16265         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
16266         define test_sys_wait_macros to a no-op.
16267         Reported by Sam Steingold <sds@gnu.org>.
16268
16269 2010-09-30  Bruno Haible  <bruno@clisp.org>
16270
16271         More renaming from 'getdate' to 'get_date'.
16272         * doc/get_date.texi: Renamed from doc/getdate.texi.
16273         * modules/get_date (Files): Update.
16274         * MODULES.html.sh (Date and time <time.h>): Update.
16275         * DEPENDENCIES: Update.
16276         * gnulib-tool: Update comment.
16277         * m4/bison.m4 (gl_BISON): Likewise.
16278         * m4/get_date.m4 (gl_GET_DATE): Likewise.
16279
16280 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
16281
16282         bootstrap: support ACLOCAL_FLAGS during aclocal
16283         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
16284         can add additional -I dir for third-party .m4 files.
16285
16286 2010-09-30  Eric Blake  <eblake@redhat.com>
16287
16288         bootstrap: use glibtoolize on MacOS
16289         * build-aux/bootstrap (check_versions): Convert libtool into
16290         libtoolize.
16291         (tool search): Move libtool check earlier, and look for
16292         glibtoolize for MacOS.
16293         (gnulib_tool_options): Auto-add --libtool when appropriate.
16294         Reported by Justin Clift.
16295
16296         poll: fix typo that broke test on MacOS
16297         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
16298         Reported by Justin Clift.
16299
16300         getdate: rename to get_date
16301         Note: getdate.h is not renamed, to minimize client impact.
16302         * modules/getdate: Mark obsolete.  Move old contents...
16303         * modules/get_date: ...to new module name.
16304         * modules/getdate-tests: Move...
16305         * modules/get_date-tests: ...here.
16306         * m4/getdate.m4: Move...
16307         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
16308         * lib/getdate.y: Move...
16309         * lib/get_date.y: ...here.
16310         * tests/test-getdate.c: Move...
16311         * tests/test-get_date.c: ...here.
16312         * doc/posix-functions/getdate.texi (getdate): Update name.
16313         * NEWS: Mention the change.
16314
16315 2010-09-29  Bruno Haible  <bruno@clisp.org>
16316
16317         Separate the module 'waitpid' from the module 'sys_wait'.
16318         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
16319         present.
16320         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
16321         gl_MODULE_INDICATOR_FOR_TESTS.
16322         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
16323         * modules/sys_wait (Depends-on): Remove waitpid.
16324         (Makefile.am): Substitute GNULIB_WAITPID.
16325         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
16326         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
16327         signature only if the 'waitpid' module is present.
16328         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
16329         * NEWS: Mention the change.
16330         * modules/grantpt (Depends-on): Add waitpid.
16331         * modules/wait-process (Depends-on): Likewise.
16332
16333 2010-09-29  Bruno Haible  <bruno@clisp.org>
16334
16335         More tests for module 'sys_wait'.
16336         * modules/sys_wait-c++-tests: New file.
16337         * tests/test-sys_wait-c++.cc: New file.
16338         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
16339         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
16340
16341 2010-09-29  Bruno Haible  <bruno@clisp.org>
16342
16343         New module 'waitpid'.
16344         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
16345         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
16346         Don't include <process.h>.
16347         (waitpid): Declare only, using modern idiom.
16348         * m4/waitpid.m4: New file.
16349         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
16350         * modules/waitpid: New file.
16351         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
16352         (Makefile.am): Update.
16353         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
16354
16355 2010-09-28  Bruno Haible  <bruno@clisp.org>
16356
16357         poll: Assume ANSI C.
16358         * lib/poll.c (poll): Use an ANSI C declaration.
16359
16360 2010-09-28  Bruno Haible  <bruno@clisp.org>
16361
16362         poll-h: Create poll.h on all platforms.
16363         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
16364         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
16365         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
16366         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
16367         (gl_REPLACE_POLL_H): Don't set POLL_H.
16368         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
16369         * modules/poll-h (Depends-on): Add include_next.
16370         (Makefile.am): Create poll.h unconditionally. Substitute also
16371         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
16372
16373 2010-09-28  Bruno Haible  <bruno@clisp.org>
16374
16375         Tests for module 'poll-h'.
16376         * modules/poll-h-c++-tests: New file.
16377         * tests/test-poll-h-c++.cc: New file.
16378
16379         Tests for module 'poll-h'.
16380         * modules/poll-h-tests: New file.
16381         * tests/test-poll-h.c: New file.
16382
16383 2010-09-28  Bruno Haible  <bruno@clisp.org>
16384
16385         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
16386         * modules/poll-h (Depends-on): Add 'extensions'.
16387
16388 2010-09-28  Bruno Haible  <bruno@clisp.org>
16389
16390         New module 'poll-h'.
16391         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
16392         (poll): Use modern idiom.
16393         * modules/poll-h: New file.
16394         * modules/poll (Files): Remove lib/poll.in.h.
16395         (Depends-on): Add poll-h.
16396         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
16397         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
16398         * m4/poll_h.m4: New file.
16399         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
16400         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
16401         and invoke gl_REPLACE_POLL_H.
16402         * lib/poll.c: Use common idiom.
16403         * tests/test-poll.c: Likewise.
16404         * doc/posix-headers/poll.texi: Mention the poll-h module.
16405         Suggested by Eric Blake.
16406
16407 2010-09-26  Bruno Haible  <bruno@clisp.org>
16408
16409         sys_wait: Implement WSTOPSIG.
16410         * lib/sys_wait.in.h (WSTOPSIG): New macro.
16411         Reported by Simon Josefsson.
16412
16413 2010-09-26  Simon Josefsson  <simon@josefsson.org>
16414
16415         stdlib, sys_wait: Avoid compilation error on mingw.
16416         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
16417
16418 2010-09-26  Bruno Haible  <bruno@clisp.org>
16419
16420         stdlib tests: Avoid code duplication.
16421         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
16422         * modules/sys_wait-tests (Files): Likewise.
16423         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
16424         * tests/test-stdlib.c: Include test-sys_wait.h.
16425         (main): Invoke test_sys_wait_macros.
16426         * tests/test-sys_wait.c: Include test-sys_wait.h.
16427         (main): Invoke test_sys_wait_macros.
16428
16429 2010-09-25  Simon Josefsson  <simon@josefsson.org>
16430
16431         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
16432         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
16433         sure Windows sockets are working before calling getaddrinfo.
16434         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
16435         * doc/gnulib.texi (Windows sockets): Fix typo.
16436
16437 2010-09-25  Bruno Haible  <bruno@clisp.org>
16438
16439         Tests for module 'regex-quote'.
16440         * modules/regex-quote-tests: New file.
16441         * tests/test-regex-quote.c: New file.
16442
16443         New module 'regex-quote'.
16444         * lib/regex-quote.h: New file.
16445         * lib/regex-quote.c: New file.
16446         * modules/regex-quote: New file.
16447         Suggested by Reuben Thomas <rrt@sc3d.org>.
16448
16449 2010-09-24  Bruno Haible  <bruno@clisp.org>
16450
16451         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
16452         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
16453
16454 2010-09-23  Bruno Haible  <bruno@clisp.org>
16455
16456         setenv: Relax license.
16457         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
16458         Blake.
16459         Requested by Eric Blake.
16460
16461 2010-09-22  Bruno Haible  <bruno@clisp.org>
16462
16463         termios: Relax license.
16464         * modules/termios (License): Change to LGPLv2+.
16465         Requested by Eric Blake.
16466
16467 2010-09-22  Bruno Haible  <bruno@clisp.org>
16468
16469         threadlib: Allow the package to change the default to 'no'.
16470         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
16471         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
16472         Reported by Paul Eggert.
16473
16474 2010-09-22  Pádraig Brady  <P@draigbrady.com>
16475             Bruno Haible  <bruno@clisp.org>
16476
16477         Fix endless loop in mbmemcasecoll.
16478         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
16479         byte.
16480         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
16481
16482 2010-09-22  Bruno Haible  <bruno@clisp.org>
16483
16484         Tests for module 'memcoll'.
16485         * modules/memcoll-tests: New file.
16486         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
16487
16488         memcoll, xmemcoll: Clarify size vs. length.
16489         * modules/memcoll.c (memcoll0): Clarify specification.
16490         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
16491         passed to collate_error.
16492
16493 2010-09-22  Bruno Haible  <bruno@clisp.org>
16494
16495         Tests for module 'memcasecmp'.
16496         * modules/memcasecmp-tests: New file.
16497         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
16498
16499 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16500
16501         * lib/pthread.in.h: Add split double-inclusion guard, and include
16502         system <pthread.h> if there is one.  Use @@-style as in other
16503         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
16504         pthread.h doesn't.
16505         (pthread_mutexattr_destroy, pthread_mutexattr_init):
16506         (pthread_mutexattr_settype, pthread_mutex_trylock):
16507         New static inline functions, if there's no system <pthread.h>.
16508         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
16509         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
16510         Approximate with mutexes if the system lacks spinlocks, as in
16511         MacOS.
16512         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
16513         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
16514         @@-style.  Check for spinlocks separately.
16515         (gl_PTHREAD_DEFAULTS): New macro.
16516         * modules/pthread: Redo to use a more typical style for in.h files.
16517
16518 2010-09-21  Eric Blake  <eblake@redhat.com>
16519
16520         net_if: enhance tests
16521         * tests/test-net_if.c (main): Move signature checks earlier.
16522         Print failures to stderr.
16523         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
16524         Document the bug that we do not yet fix.
16525
16526 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
16527
16528         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
16529         about gnulib, not GSS.
16530
16531 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
16532
16533         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
16534         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
16535         for Emacs.
16536         * build-aux/pmccabe2html: Make Makefile.am example code more
16537         cut-and-paste friendly.
16538
16539 2010-09-21  Simon Josefsson  <simon@josefsson.org>
16540
16541         * tests/test-net_if.c: New file.
16542         * modules/net_if-tests: New file.
16543
16544 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16545
16546         pthread: add pthread_spin_destroy
16547         * lib/pthread.in.h (pthread_spin_destroy): New function.
16548
16549 2010-09-19  Bruno Haible  <bruno@clisp.org>
16550
16551         gnulib-tool: Fix --help output.
16552         * gnulib-tool (func_usage): Fix help message.
16553         Reported by Reuben Thomas <rrt@sc3d.org>.
16554
16555 2010-09-18  Jim Meyering  <meyering@redhat.com>
16556
16557         maint.mk: avoid unexpanded \n in two diagnostics
16558         * top/maint.mk (sc_prohibit_always_true_header_tests):
16559         Don't use a literal \n in a halt=... assignment.  It would not be
16560         expanded, and the two \n bytes would appear in the diagnostic output
16561         rather than the desired newline.  Use halt=$$(printf ... instead.
16562         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
16563
16564 2010-09-18  Bruno Haible  <bruno@clisp.org>
16565
16566         netinet_in: Doc tweak.
16567         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
16568         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16569
16570 2010-09-18  Jim Meyering  <meyering@redhat.com>
16571
16572         init.sh: correct an outdated comment
16573         * tests/init.sh (create_exe_shims_):  s/function/alias/
16574
16575         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
16576         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
16577         a file named "*.exe" is removed between the glob expansion and the
16578         processing of that oddly named file.
16579
16580 2010-09-17  Eric Blake  <eblake@redhat.com>
16581
16582         mirbsd: add some more support
16583         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
16584         in BSD family.
16585         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
16586         devices as OpenBSD.
16587         * m4/host-os.m4 (mirbsd): Add MirBSD.
16588
16589         tests: fix unportable assumption on sys/wait.h
16590         * tests/test-sys_wait.c (main): Relax test.
16591         * tests/test-stdlib.c (main): Likewise.
16592
16593         init.sh: accomodate directory with no .exes
16594         * tests/init.sh: Accomodate directory containing only scripts.
16595
16596         tests: avoid compiler warning
16597         * tests/test-stdlib.c (main): Use the variable.
16598
16599         fdutimens, fdutimensat: update signature, again
16600         * lib/utimens.h (gl_futimens): Delete, and move signature...
16601         (fdutimens): ...here.
16602         (fdutimensat): Rearrange signature.
16603         (lutimensat): Rename variable for clarity.
16604         * lib/fdutimensat.c (fdutimensat): Update signature.
16605         * lib/utimens.c (fdutimens): Likewise.
16606         (gl_futimens): Delete.
16607         (utimens, lutimens): Update callers.
16608         * lib/futimens.c (futimens): Likewise.
16609         * tests/test-fdutimensat.c: Likewise.
16610         * tests/test-utimens.c: Likewise.
16611         * tests/test-futimens.h: Update comment.
16612         * NEWS: Mention this.
16613         Suggested by Paul Eggert.
16614
16615 2010-09-17  Bruno Haible  <bruno@clisp.org>
16616
16617         Take over the maintenance of some older macros from Autoconf.
16618         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
16619         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
16620         GNU Autoconf.
16621         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
16622         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
16623
16624 2010-09-17  Eric Blake  <eblake@redhat.com>
16625
16626         fdutimensat: drop atflag validation
16627         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
16628         with valid fd, to close a race scenario where futimens is
16629         unsupported and FILE was replaced by a symlink.
16630         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
16631         accordingly.
16632         Suggested by Paul Eggert.
16633
16634 2010-09-16  Bruno Haible  <bruno@clisp.org>
16635
16636         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
16637         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
16638
16639 2010-09-16  Bruno Haible  <bruno@clisp.org>
16640
16641         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
16642         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
16643         login_tty exists.
16644         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16645
16646 2010-09-16  Bruno Haible  <bruno@clisp.org>
16647
16648         login_tty: Make the replacement code work on BSD systems.
16649         * lib/login_tty.c: Include <sys/ioctl.h>.
16650         (login_tty): Use ioctl TIOCSCTTY when available.
16651         * modules/login_tty (Depends-on): Add sys_ioctl.
16652         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16653
16654 2010-09-16  Bruno Haible  <bruno@clisp.org>
16655
16656         login_tty: Stricter unit test.
16657         * modules/login_tty-tests (Depends-on): Add tcgetsid.
16658         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
16659         and tcgetsid() after login_tty.
16660         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16661
16662 2010-09-16  Bruno Haible  <bruno@clisp.org>
16663
16664         New module 'tcgetsid'.
16665         * lib/tcgetsid.c: New file.
16666         * m4/tcgetsid.m4: New file.
16667         * modules/tcgetsid: New file.
16668         * modules/termios (Depends-on): Add c++defs, warn-on-use.
16669         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
16670         GNULIB_TCGETSID, HAVE_TCGETSID.
16671         * lib/termios.in.h: Include <sys/types.h>.
16672         (tcgetsid): New declaration.
16673         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
16674         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
16675         * doc/posix-functions/tcgetsid.texi: Mention the new module.
16676         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
16677
16678 2010-09-16  Bruno Haible  <bruno@clisp.org>
16679
16680         Tests for module 'termios'.
16681         * modules/termios-c++-tests: New file.
16682         * modules/termios-tests: New file.
16683         * tests/test-termios-c++.cc: New file.
16684         * tests/test-termios.c: New file.
16685
16686         New module 'termios'.
16687         * modules/termios: New file.
16688         * lib/termios.in.h: New file.
16689         * m4/termios_h.m4: New file.
16690         * doc/posix-headers/termios.texi: Mention the new module.
16691
16692 2010-09-16  Eric Blake  <eblake@redhat.com>
16693
16694         fdutimensat: add an atflag parameter
16695         * lib/fdutimensat.c (fdutimensat): Add new parameter.
16696         * lib/utimens.h (fdutimensat): Update prototype.
16697         * tests/test-fdutimensat.c: Adjust test to match.
16698         * NEWS: Document the change.
16699         Suggested by Paul Eggert.
16700
16701 2010-09-16  Bruno Haible  <bruno@clisp.org>
16702
16703         Fix typos in comments.
16704         * lib/striconveh.h: Fix typo in comment.
16705         * lib/login_tty.c (login_tty): Likewise.
16706
16707 2010-09-15  Bruno Haible  <bruno@clisp.org>
16708
16709         stdlib: clarify MirBSD WEXITSTATUS bug
16710         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
16711         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
16712
16713 2010-09-15  Eric Blake  <eblake@redhat.com>
16714
16715         stdlib: work around MirBSD WEXITSTATUS bug
16716         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
16717         * modules/stdlib (Depends-on): Add sys_wait.
16718         * tests/test-sys_wait.c (main): Enhance test.
16719         * tests/test-stdlib.c (main): Likewise.
16720         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
16721
16722         docs: mention MacOS issue with WEXITSTATUS(constant)
16723         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
16724         issue.
16725         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
16726
16727         strnlen: add tests
16728         * modules/strnlen-tests: New file.
16729         * tests/test-strnlen.c: Likewise.
16730
16731 2010-09-14  Bruno Haible  <bruno@clisp.org>
16732
16733         unistr/base: Avoid link errors when module 'libunistring' is also used.
16734         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
16735         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
16736         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
16737         Declare also when HAVE_LIBUNISTRING is set.
16738         Reported by Pádraig Brady <P@draigbrady.com>.
16739
16740 2010-09-14  Eric Blake  <eblake@redhat.com>
16741
16742         test-rawmemchr: make more robust
16743         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
16744         (Depends-on, configure.ac): Add needed prerequisites to use it.
16745         * modules/memchr-tests (Files, Depends-on, configure.ac):
16746         Likewise, to avoid implicit reliance on memchr module prereqs.
16747         * tests/test-memchr.c (main): Ensure proper masking.
16748         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
16749         reads.
16750
16751         memchr: detect glibc Alpha bug
16752         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
16753         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
16754         Alpha.
16755         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
16756         * tests/test-memchr.c (main): Enhance test.
16757         Reported by Nelson H. F. Beebe.
16758
16759 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16760
16761         fts, getcwd, glob: audit for dirfd returning -1
16762         * lib/fts.c (opendir): Remove #define; no longer used.
16763         (opendirat): New arg PDIR_FD.  All callers changed.
16764         (fts_build, _opendir2): Use new opendirat to avoid the need for
16765         dirfd, or for checking whether dirfd returns a negative value.
16766         Don't use opendir; always use openat followed by fdopendir.
16767         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
16768         it.
16769         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
16770         returns -1 here.
16771         * modules/fts (Depends-on): Remove dirfd.
16772         * modules/getcwd (Depends-on): Likewise.
16773
16774 2010-09-13  Eric Blake  <eblake@redhat.com>
16775
16776         float: fix broken MirBSD header
16777         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
16778         * doc/posix-headers/float.texi (float.h): Document it.
16779
16780 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16781
16782         fts: use O_NOFOLLOW to avoid race condition when opening a directory
16783         * lib/fts.c (opendirat): New arg extra_flags.
16784         (__opendir2): Use it to avoid following symlinks when opening
16785         a directory, if symlinks are not supposed to be followed.  See
16786         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
16787
16788         fdopendir: preserve argument fd before returning
16789         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
16790         (fdopendir_with_dup, fd_clone_opendir): New static functions.
16791         (fdopendir): Use them, arranging for FD to be open to the same
16792         directory that it was when it started.  (It might be temporarily
16793         closed while fdopendir is running, so this not thread- or
16794         signal-safe.)  Be careful to do the right thing even when file
16795         descriptors are scarce and dup fails with errno == EMFILE.  See
16796         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
16797
16798 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
16799
16800         regex: Pass the system regex if its only problem is 32-bit regoff_t.
16801         * NEWS: Document change.
16802         * m4/regex.m4: Disable test for regoff_t size.
16803
16804 2010-09-13  Jim Meyering  <meyering@redhat.com>
16805
16806         fts: don't operate on an invalid file descriptor after failed dup
16807         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
16808         negative file descriptor.
16809
16810 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
16811
16812         savedir: add streamsavedir, deprecate fdsavedir
16813         * NEWS: Mention deprecation of fdsavedir.
16814         * lib/savedir.c (streamsavedir): New extern function, whose name
16815         ends in "savedir" to be consistent with the others.  This differs
16816         from savedirstream in that it doesn't close its argument.  The
16817         next version of GNU tar will use this instead of fdsavedir, to
16818         avoid some race conditions and conserve file descriptors.
16819         (savedirstream): Reimplement as a wrapper around streamsavedir.
16820         (fdsavedir): Add a comment deprecating this function.  As far as
16821         I know, only GNU tar used it, and GNU tar doesn't need it any more.
16822         * lib/savedir.h (streamsavedir): New decl.
16823         (fdsavedir): Add a comment deprecating this.
16824
16825 2010-09-10  Bruno Haible  <bruno@clisp.org>
16826
16827         langinfo: Fix last commit.
16828         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
16829         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
16830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16831
16832 2010-09-10  Bruno Haible  <bruno@clisp.org>
16833
16834         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
16835         * lib/progreloc.c (O_EXEC): Define fallback.
16836
16837 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16838
16839         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
16840         * NEWS: Document recent changes to fcntl-h.
16841         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
16842         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
16843         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
16844         Similarly for O_SEARCH; this last was already true, but not documented.
16845         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
16846         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
16847         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
16848         Likewise.
16849         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
16850         is zero, not whether it is defined.
16851         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
16852         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
16853         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
16854
16855 2010-09-10  Bruno Haible  <bruno@clisp.org>
16856
16857         langinfo, nl_langinfo: Fix for IRIX 5.3.
16858         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
16859         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
16860         HAVE_LANGINFO_YESEXPR.
16861         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
16862         HAVE_LANGINFO_YESEXPR.
16863         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
16864         HAVE_LANGINFO_T_FMT_AMPM is 0.
16865         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
16866         HAVE_LANGINFO_YESEXPR is 0.
16867         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
16868         NOEXPR.
16869         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
16870         * doc/posix-functions/nl_langinfo.texi: Likewise.
16871         Reported by Eric Blake.
16872
16873 2010-09-10  Bruno Haible  <bruno@clisp.org>
16874
16875         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
16876         * doc/glibc-functions/login_tty.texi: Mention the include file problem
16877         on FreeBSD 8.0 and OpenBSD 4.6.
16878         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
16879         * m4/pty_h.m4 (gl_PTY_H): Likewise.
16880         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
16881         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
16882         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
16883         ac_includes_default.
16884         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16885
16886 2010-09-09  Eric Blake  <eblake@redhat.com>
16887
16888         strsignal: work around NetBSD bug
16889         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
16890         * lib/string.in.h (includes): Likewise.
16891         * doc/posix-functions/strsignal.texi (strsignal): Document the
16892         bug.
16893         Reported by Nelson H. F. Beebe.
16894
16895         gnulib-tool: work with NetBSD /bin/sh
16896         * gnulib-tool (func_cache_var, func_cache_lookup_module)
16897         (func_get_description, func_get_comment, func_get_status)
16898         (func_get_notice, func_get_applicability, func_get_filelist)
16899         (func_get_dependencies, func_get_autoconf_early_snippet)
16900         (func_get_autoconf_snippet, func_get_automake_snippet)
16901         (func_get_include_directive, func_get_link_directive)
16902         (func_get_license, func_get_maintainer, func_import): Avoid
16903         shell syntax errors from parsing syntax extensions.
16904
16905 2010-09-09  Bruno Haible  <bruno@clisp.org>
16906
16907         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
16908         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
16909         a reliable way to determine whether the 'alias' command works.
16910
16911 2010-09-08  Jim Meyering  <meyering@redhat.com>
16912
16913         init.sh: penalize a set-x-impaired shell; don't disqualify it
16914         * tests/init.sh: Too many shells corrupt application stderr when
16915         you set -x, so we can't afford to disqualify them, since at least
16916         on Irix-6.5, that would disqualify all bourne shells.
16917         Instead, use a two-pass approach.
16918         On the first pass, try to find a shell that meets the stricter
16919         condition that set -x does not corrupt stderr.
16920         If no shell meets the stricter condition, retest each candidate
16921         shell, but without that extra condition.  Finally, when
16922         VERBOSE=yes is requested and set -x might cause trouble, simply
16923         issue a warning and refrain from enabling debug output.
16924
16925 2010-09-08  Eric Blake  <eblake@redhat.com>
16926
16927         unsetenv: fix OpenBSD bug
16928         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
16929         * doc/posix-functions/unsetenv.texi (unsetenv): Update
16930         documentation.
16931         Reported by Jim Meyering.
16932
16933         strtod: work around IRIX 6.5 bug
16934         * lib/strtod.c (strtod): Reparse number on shorter string if
16935         exponent parse was invalid.
16936         * tests/test-strtod.c (main): Add check for "0x1p 2".
16937         Reported by Tom G. Christensen.
16938
16939         getopt: optimize previous patch
16940         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
16941         empty variable.  Speed up awk script.
16942         Reported by Paolo Bonzini.
16943
16944 2010-09-08  Jim Meyering  <meyering@redhat.com>
16945
16946         test.sh: disqualify shells for which set -x corrupts stderr
16947         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
16948         and OpenBSD 4.7.  They make it so with "set -x", environment settings
16949         appear in stderr output.  For example, this command:
16950             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
16951         prints "P=1" on those two systems:
16952
16953 2010-09-08  Bruno Haible  <bruno@clisp.org>
16954
16955         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
16956         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
16957         commands, because some shells ignore redirections when there is an
16958         error in the command lookup.
16959         Reported by Eric Blake.
16960
16961 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
16962
16963         * lib/regex.h: Fix a mention of `regex_compile' (should be
16964         `re_compile_pattern').
16965         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
16966         (re_set_registers): Correct name of parameter in comment.
16967
16968         * doc/regex.texi: Add documentation for missing syntax flags.
16969         Remove commented-out documentation of defunct syntax option
16970         RE_NO_EMPTY_ALTS.
16971         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
16972         Add documentation of re_set_registers.
16973         Document trick to re-use a pattern buffer by setting fastmap manually.
16974         Update documentation of struct re_pattern_buffer per public members.
16975         Uncomment documentation of equivalence class operators and
16976         collating symbol operators, since they are now implemented,
16977         Explain leftmost-longest matching in relation to alternatives.
16978         Tidy documentation of substring matching.
16979         Remove POSIX documentation, which is done better in
16980         glibc, and refer the reader there. Keep BSD API documentation, as
16981         that is not readily available elsewhere.
16982
16983 2010-09-07  Eric Blake  <eblake@redhat.com>
16984
16985         getopt: handle POSIXLY_CORRECT set but not exported
16986         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
16987         export state of POSIXLY_CORRECT, due to bash set -o posix.
16988         Reported by Dustin J. Mitchell.
16989
16990 2010-09-05  Bruno Haible  <bruno@clisp.org>
16991
16992         gnulib-tool: Highlight the changed options.
16993         * gnulib-tool (func_usage): Display the --import, --add-import,
16994         --remove-import explanations in bold font.
16995
16996 2010-09-06  Karl Berry  <karl@gnu.org>
16997
16998         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
16999
17000 2010-09-05  Bruno Haible  <bruno@clisp.org>
17001
17002         uniwidth/width: Update comment.
17003         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
17004         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
17005
17006 2010-09-05  Bruno Haible  <bruno@clisp.org>
17007
17008         isinf, isnan: Relax license.
17009         * modules/isinf (License): Change from GPL to LGPL, with consent from
17010         Ben Pfaff.
17011         * modules/isnan (License): Likewise.
17012         Requested by Ludovic Courtès.
17013
17014 2010-09-04  Bruno Haible  <bruno@clisp.org>
17015
17016         gnulib-tool: Help migration from --import to --add-import or --update.
17017         * gnulib-tool: Emit a verbose error message when --import is used
17018         without any module name.
17019
17020 2010-09-04  Bruno Haible  <bruno@clisp.org>
17021
17022         Update doc about gnulib-tool.
17023         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
17024         'gnulib-tool --update' in more detail.
17025         Reported by Eric Blake.
17026
17027 2010-09-04  Bruno Haible  <bruno@clisp.org>
17028
17029         gnulib-tool: Change --import. New options --add/remove-import.
17030         * gnulib-tool: New options --add-import, --remove-import.
17031         (func_usage): Document them.
17032         (have_associative): Define always.
17033         (func_import): In import mode, don't merge the specified settings with
17034         the cached settings. Implement remove-import mode.
17035         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
17036         Explain when to use them versus --import.
17037         (Simple update): Use --add-import instead of --import.
17038         * NEWS: Mention the change.
17039
17040 2010-09-04  Bruno Haible  <bruno@clisp.org>
17041
17042         * doc/gnulib-tool.texi (Initial import): Update paragraph about
17043         separate gnulib.mk.
17044
17045 2010-09-04  Bruno Haible  <bruno@clisp.org>
17046
17047         gnulib-tool: Don't talk about CVS any more.
17048         * gnulib-tool (func_usage, func_import): Write "version control"
17049         instead of CVS.
17050
17051 2010-09-04  Jim Meyering  <meyering@redhat.com>
17052
17053         maint.mk: avoid obscure sc_copyright_check failure in coreutils
17054         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
17055         false positives (whose names may be ill-chosen) when searching
17056         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
17057         would cause a false-positive.
17058
17059         avoid coreutils "make distcheck" failure
17060         Coreutils tests with an absolute build directory name that contains
17061         a space.  Not quoting this directory name caused a failure.
17062         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
17063         * tests/test-vc-list-files-cvs.sh: Likewise.
17064
17065 2010-09-04  Bruno Haible  <bruno@clisp.org>
17066
17067         gnulib-tool: Avoid error when run in a package without Makefile.am.
17068         * gnulib-tool: When collecting the m4dirs in a package that does not
17069         have a Makefile.am, eliminate those directories that contain no
17070         gnulib-cache.m4. Fix expression that counts these directories.
17071
17072 2010-09-04  Bruno Haible  <bruno@clisp.org>
17073
17074         update-copyright test: Improve output when perl is missing or too old.
17075         * tests/test-update-copyright.sh: Move test of Perl version down after
17076         the test whether Perl exists. Provide an explanation relating Perl's
17077         error message to Automake's SKIP: message.
17078
17079 2010-09-04  Bruno Haible  <bruno@clisp.org>
17080
17081         Don't augment PATH in TESTS_ENVIRONMENT.
17082         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
17083         set abs_aux_dir instead of augmenting PATH.
17084         * modules/vc-list-files-tests (Makefile.am): Likewise.
17085         * tests/test-update-copyright.sh: Augment PATH here.
17086         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
17087         path_prepend_.
17088         * tests/test-vc-list-files-git.sh: Likewise.
17089
17090 2010-09-04  Jim Meyering  <meyering@redhat.com>
17091
17092         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
17093         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
17094
17095 2010-09-04  Bruno Haible  <bruno@clisp.org>
17096
17097         strdup: Fix compilation error in C++ mode.
17098         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
17099         the macro.
17100
17101 2010-09-04  Bruno Haible  <bruno@clisp.org>
17102
17103         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
17104         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
17105         macro into a function.
17106         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17107
17108 2010-09-04  Bruno Haible  <bruno@clisp.org>
17109
17110         Set PATH_SEPARATOR the same way autoconf does.
17111         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
17112         the value of PATH_SEPARATOR the same way autoconf-generated configure
17113         scripts do.
17114         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
17115         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
17116
17117 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17118
17119         Set PATH_SEPARATOR the same way autoconf does.
17120         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
17121         the same way autoconf-generated configure scripts do.
17122         * posix-modules: Likewise.
17123
17124 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17125
17126         hash: fix safe_hasher const typo
17127         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
17128         const; otherwise, there is a type error later.
17129
17130 2010-09-02  Jim Meyering  <meyering@redhat.com>
17131
17132         test-update-copyright.sh: require perl 5.8.0
17133         * tests/test-update-copyright.sh: Require 5.8.0,
17134         which Tom G. Christensen has confirmed is adequate,
17135         while 5.6.1 is not.
17136
17137 2010-09-02  Eric Blake  <eblake@redhat.com>
17138
17139         tests: init.sh improvements for re-exec'ing with zsh
17140         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
17141         -vx through shell re-exec.
17142         Reported by Tom G. Christensen.
17143
17144         wctype: fix typo in previous commit
17145         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
17146         Reported by Ludovic Courtès.
17147
17148 2010-09-02  Jim Meyering  <meyering@redhat.com>
17149
17150         test-update-copyright.sh: skip test if Perl is too old
17151         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
17152         Reported by Tom G. Christensen.
17153
17154 2010-09-02  Bruno Haible  <bruno@clisp.org>
17155
17156         wctype: Avoid compilation error on IRIX 6.5.30.
17157         * lib/wctype.in.h (iswblank): Declare with a replacement if
17158         REPLACE_ISWBLANK is set.
17159         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
17160         declared. Set REPLACE_ISWBLANK.
17161         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
17162         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
17163         * doc/posix-headers/wctype.texi: Likewise.
17164         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17165
17166 2010-09-01  Bruno Haible  <bruno@clisp.org>
17167
17168         New module 'socketlib'.
17169         * modules/socketlib: New file.
17170         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
17171         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
17172         * modules/sockets (Depends-on): Add socketlib.
17173         Suggested by Sam Steingold <sds@gnu.org>.
17174
17175 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17176
17177         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
17178
17179         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
17180         when one needs search access to a directory but not read access.
17181         On systems where it is available, it works in some cases where
17182         O_RDONLY does not, namely on directories that are searchable but
17183         not readable, and which need only to be searchable.  If O_SEARCH
17184         is not available, fall back to the traditional method of using
17185         O_RDONLY.
17186
17187         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
17188         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
17189         when opening a directory that needs only to be searchable.
17190         * lib/chdir-safer.c (chdir_no_follow): Likewise.
17191         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
17192         * lib/openat-proc.c (openat_proc_name): Likewise.
17193         * lib/openat.c (openat_needs_fchdir): Likewise.
17194         * lib/save-cwd.c (save_cwd): Likewise.
17195         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
17196
17197 2010-08-28  Bruno Haible  <bruno@clisp.org>
17198
17199         New module 'host-cpu-c-abi'.
17200         * modules/host-cpu-c-abi: New file.
17201         * m4/host-cpu-c-abi.m4: New file, based on part of
17202         clisp/src/m4/general.m4.
17203         Requested by Sam Steingold <sds@gnu.org>.
17204
17205 2010-08-31  Eric Blake  <eblake@redhat.com>
17206         and Jim Meyering  <meyering@redhat.com>
17207
17208         hash: factor, and guard against misbehaving hasher function
17209         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
17210         of table->hasher's return value.  Also protect against a hash value
17211         so large that adding it to table->bucket results in a NULL pointer.
17212         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
17213         Use it in place of open-coded check-and-abort.
17214
17215 2010-08-30  Bruno Haible  <bruno@clisp.org>
17216
17217         hash: silence spurious clang warning
17218         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
17219         Reported by Eric Blake.
17220
17221 2010-08-30  Eric Blake  <eblake@redhat.com>
17222
17223         strstr, memmem, strcasestr: avoid leaked shell message
17224         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
17225         FreeBSD.
17226         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17227         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17228
17229         tests: silence clang warning
17230         * tests/test-malloca.c (do_allocation): Avoid dead store.
17231
17232 2010-08-29  Bruno Haible  <bruno@clisp.org>
17233
17234         gettext: Fix recent mistake.
17235         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
17236
17237 2010-08-29  Bruno Haible  <bruno@clisp.org>
17238
17239         selinux-h: Offer a --without-selinux option.
17240         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
17241         --without-selinux was specified, skip all tests and define
17242         HAVE_SELINUX_SELINUX_H to 0.
17243         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
17244         set LIB_SELINUX to empty.
17245         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
17246         gl_LIBSELINUX. If --without-selinux was specified, replace
17247         selinux/context.h.
17248         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
17249
17250 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17251             Bruno Haible  <bruno@clisp.org>
17252
17253         Make the module 'realloc-gnu' work again on AIX and OSF/1.
17254         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
17255         of HAVE_REALLOC.
17256         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
17257         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
17258         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
17259         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
17260
17261 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17262             Bruno Haible  <bruno@clisp.org>
17263
17264         Make the module 'calloc-gnu' work again on AIX and OSF/1.
17265         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
17266         HAVE_CALLOC.
17267         * lib/xmalloc.c: Update accordingly.
17268         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
17269         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
17270         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
17271
17272 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17273             Bruno Haible  <bruno@clisp.org>
17274
17275         Make the module 'malloc-gnu' work again on AIX and OSF/1.
17276         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
17277         HAVE_MALLOC.
17278         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
17279         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
17280         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
17281
17282 2010-08-29  Bruno Haible  <bruno@clisp.org>
17283
17284         Update modules list.
17285         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
17286         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
17287         (String handling <string.h>): Add astrxfrm.
17288         (File system functions): Add readlinkat.
17289
17290 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17291
17292         Tests for module 'realloc-gnu'.
17293         * modules/realloc-gnu-tests: New file.
17294         * tests/test-realloc-gnu.c: New file.
17295
17296         Tests for module 'calloc-gnu'.
17297         * modules/calloc-gnu-tests: New file.
17298         * tests/test-calloc-gnu.c: New file.
17299
17300         Tests for module 'malloc-gnu'.
17301         * modules/malloc-gnu-tests: New file.
17302         * tests/test-malloc-gnu.c: New file.
17303
17304 2010-08-28  Bruno Haible  <bruno@clisp.org>
17305
17306         Rename module 'realloc' -> 'realloc-gnu'.
17307         * modules/realloc-gnu: New file, copied from modules/realloc.
17308         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
17309         obsolete.
17310         * modules/mgetgroups (Depends-on): Update.
17311         * doc/posix-functions/realloc.texi: Update.
17312         * NEWS: Mention the change.
17313
17314         Rename module 'calloc' -> 'calloc-gnu'.
17315         * modules/calloc-gnu: New file, copied from modules/calloc.
17316         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
17317         obsolete.
17318         * doc/posix-functions/calloc.texi: Update.
17319         * NEWS: Mention the change.
17320
17321         Rename module 'malloc' -> 'malloc-gnu'.
17322         * modules/malloc-gnu: New file, copied from modules/malloc.
17323         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
17324         obsolete.
17325         * modules/argp (Depends-on): Update.
17326         * modules/regex (Depends-on): Update.
17327         * doc/posix-functions/malloc.texi: Update.
17328         * NEWS: Mention the change.
17329
17330 2010-08-28  Eric Blake  <eblake@redhat.com>
17331
17332         pread, pwrite: add missing dependency
17333         * modules/pread (Depends-on): Add extensions.
17334         * modules/pwrite (Depends-on): Likewise.
17335
17336 2010-08-28  Bruno Haible  <bruno@clisp.org>
17337
17338         unistr/u*-strchr: Fix tests dependencies.
17339         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
17340         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
17341         Reported by Ian Beckwith <ianb@erislabs.net>.
17342
17343 2010-08-28  Bruno Haible  <bruno@clisp.org>
17344
17345         read-file: Don't occupy too much unused memory.
17346         * lib/read-file.c (fread_file): Shrink the buffer at the end.
17347
17348 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
17349             Eric Blake  <eblake@redhat.com>
17350             Bruno Haible  <bruno@clisp.org>
17351
17352         read-file: Avoid memory reallocations with regular files.
17353         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
17354         (fread_file): With regular files, use the remaining length as the
17355         initial buffer size.  Check against overflow.
17356         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
17357         sys_stat.
17358
17359 2010-08-28  Bruno Haible  <bruno@clisp.org>
17360
17361         ftello: Relax license.
17362         * modules/ftello (License): Relax to LGPLv2+.
17363         Reported by Eric Blake.
17364
17365 2010-08-28  Bruno Haible  <bruno@clisp.org>
17366
17367         Avoid relocwrapper link errors due to gnulib replacement functions.
17368         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
17369         function.
17370         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17371
17372 2010-08-28  Bruno Haible  <bruno@clisp.org>
17373
17374         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
17375         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
17376         defined.
17377         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
17378         Suggested by Eric Blake.
17379
17380 2010-08-28  Bruno Haible  <bruno@clisp.org>
17381
17382         sys_socket, netdb: Ensure socklen_t gets defined.
17383         * modules/sys_socket (Depends-on): Add socklen.
17384         * modules/netdb (Depends-on): Likewise.
17385         * modules/getaddrinfo (Depends-on): Remove socklen.
17386         * modules/getsockopt (Depends-on): Likewise.
17387         * modules/setsockopt (Depends-on): Likewise.
17388         * tests/test-sys_socket.c: Check that socklen_t is defined.
17389         * tests/test-netdb.c: Likewise.
17390         * m4/socklen.m4: Update comments.
17391         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17392
17393 2010-08-27  Eric Blake  <eblake@redhat.com>
17394
17395         login_tty: add missing dependency
17396         * modules/login_tty (Depends-on): Add pty.
17397
17398 2010-08-26  Eric Blake  <eblake@redhat.com>
17399
17400         lib-symbol-versions: fix m4 quoting
17401         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
17402         format for AC_LINK_IFELSE.
17403
17404         glob: fix compile test
17405         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
17406
17407         btowc: fix missing file
17408         * modules/btowc (Files): Also ship locale-fr.m4.
17409
17410         lseek: fix link test
17411         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
17412         AC_LINK_IFELSE.
17413
17414         include_next: silence autoconf 2.68 warning
17415         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
17416         AC_COMPILE_IFELSE as special.
17417         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
17418         autoconf < 2.68.
17419
17420         acl: fix compilation test
17421         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
17422         AC_COMPILE_IFELSE.
17423
17424 2010-08-26  Bruno Haible  <bruno@clisp.org>
17425
17426         Modernize AC_TRY_RUN invocations.
17427         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
17428         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17429         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
17430         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
17431         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
17432         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
17433         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17434         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17435         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
17436         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17437         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17438         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17439         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17440         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17441         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17442         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
17443         gl_MBRLEN_NUL_RETVAL): Likewise.
17444         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17445         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
17446         Likewise.
17447         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17448         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17449         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17450         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17451         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
17452         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
17453         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
17454         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
17455         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
17456         Likewise.
17457         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
17458         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
17459         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17460         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
17461         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17462         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17463         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17464         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
17465         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17466         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17467
17468 2010-08-26  Bruno Haible  <bruno@clisp.org>
17469
17470         Modernize AC_TRY_LINK invocations.
17471         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
17472         AC_TRY_LINK.
17473         * m4/argp.m4 (gl_ARGP): Likewise.
17474         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
17475         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
17476         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
17477         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
17478         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
17479         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
17480         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
17481         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
17482         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
17483         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
17484         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
17485         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
17486         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
17487         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
17488         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
17489         * m4/hostent.m4 (gl_HOSTENT): Likewise.
17490         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17491         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
17492         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
17493         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
17494         Likewise.
17495         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
17496         Likewise.
17497         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
17498         Likewise.
17499         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
17500         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
17501         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
17502         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
17503         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
17504         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
17505         * m4/servent.m4 (gl_SERVENT): Likewise.
17506         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
17507         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
17508         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
17509         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
17510         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
17511         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
17512         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17513         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17514         * modules/tsearch-tests (configure.ac): Likewise.
17515
17516 2010-08-26  Bruno Haible  <bruno@clisp.org>
17517
17518         Modernize AC_TRY_COMPILE invocations.
17519         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
17520         AC_TRY_COMPILE.
17521         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
17522         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
17523         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
17524         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
17525         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
17526         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
17527         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
17528         * m4/lock.m4 (gl_LOCK): Likewise.
17529         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
17530         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
17531         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
17532         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
17533         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
17534         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
17535         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
17536         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
17537         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
17538         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
17539         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
17540         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
17541         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
17542         extraneous semicolon.
17543
17544 2010-08-26  Jim Meyering  <meyering@redhat.com>
17545
17546         stat-time: relax license LGPL
17547         * modules/stat-time (License): Change from GPL to LGPL,
17548         with consent from all contributors, for use in libguile.
17549         Requested by Ludovic Courtès.
17550
17551 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
17552
17553         poll: return immediately on POLLHUP.
17554         * lib/poll.c (poll): Always set timeout before wait_timeout is
17555         computed.
17556
17557 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17558
17559         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
17560         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
17561         rmdir ("dir/.//"), unlinkat.
17562
17563 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17564
17565         stdbool: avoid spurious failure with modern xlc
17566         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
17567
17568 2010-08-24  Bruno Haible  <bruno@clisp.org>
17569
17570         getloadavg: simplify code
17571         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
17572         gl_have_func. Update comments.
17573
17574 2010-08-24  Eric Blake  <eblake@redhat.com>
17575
17576         getloadavg: don't define SVR4 on cygwin
17577         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
17578         only define SVR4 when -lkvm is required.
17579         Reported by Yaakov Selkowitz.
17580
17581 2010-08-24  Bruno Haible  <bruno@clisp.org>
17582
17583         priv-set: fix comment
17584         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
17585
17586 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17587
17588         priv-set: fix comments
17589         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
17590         to match code, as suggested by David Bartley in:
17591         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
17592
17593 2010-08-23  Eric Blake  <eblake@redhat.com>
17594
17595         stdbool: avoid rejecting clang
17596         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
17597         * tests/test-stdbool.c: Enable more tests if using the system
17598         <stdbool.h> instead of the gnulib replacement.
17599         (main): Move xlc bug test to a runtime test for all compilers.
17600         Reported by Anders Kaseorg.
17601
17602         argz: fix shell quoting issue
17603         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
17604         Reported by Charles Wilson.
17605
17606 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
17607             Erik Faye-Lund <kusmabite@gmail.com>
17608
17609         poll, select: handle ERROR_BROKEN_PIPE.
17610         * lib/poll.c (win32_compute_revents): Return POLLHUP when
17611         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
17612         * lib/select.c (win32_compute_revents): Do not mark a pipe
17613         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
17614
17615 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
17616
17617         fts: allow compilation with C++
17618         * lib/fts_.h: Specify extern "C" linkage with C++.
17619
17620 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17621
17622         Fix gnulib-tool sed script de-commentation for AIX sed.
17623         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
17624         sed.
17625
17626 2010-08-17  Eric Blake  <eblake@redhat.com>
17627
17628         test-stddef: test for (some) offsetof bugs
17629         * tests/test-stddef.c: Enhance test to ensure correct type of
17630         offsetof.
17631         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
17632         that we are not fixing at this time.
17633
17634 2010-08-15  Bruno Haible  <bruno@clisp.org>
17635
17636         stpncpy: Allow stpncpy to be defined as a macro.
17637         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
17638         if it's already correctly declared.
17639         * lib/string.in.h (stpncpy): Undefine before redefining.
17640         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
17641
17642 2010-08-14  Bruno Haible  <bruno@clisp.org>
17643
17644         Rename module 'memxfrm' to 'amemxfrm'.
17645         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
17646         (amemxfrm): Renamed from memxfrm.
17647         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
17648         (amemxfrm): Renamed from memxfrm.
17649         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
17650         * NEWS: Mention the change.
17651         * MODULES.html.sh (String handling <string.h>): Update.
17652         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
17653         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
17654         * lib/unicase/u16-casexfrm.c: Likewise.
17655         * lib/unicase/u32-casexfrm.c: Likewise.
17656         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
17657         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
17658         * lib/uninorm/u16-normxfrm.c: Likewise.
17659         * lib/uninorm/u32-normxfrm.c: Likewise.
17660         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
17661         memxfrm.
17662         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
17663         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
17664         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
17665         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
17666         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
17667         Suggested by Paul Eggert.
17668
17669 2010-08-14  Bruno Haible  <bruno@clisp.org>
17670
17671         Tests for module 'astrxfrm'.
17672         * modules/astrxfrm-tests: New file.
17673         * tests/test-astrxfrm.c: New file.
17674
17675         New module 'astrxfrm'.
17676         * lib/astrxfrm.h: New file.
17677         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
17678         * modules/astrxfrm: New file.
17679
17680 2010-08-14  Reuben Thomas <rrt@sc3d.org>
17681
17682         regex: Tweak doc.
17683         * doc/regex.texi (Overview): Don't mention regex.c.
17684         (GNU Regular Expression Compiling): Likewise.
17685         (Match-end-of-line Operator): Mention 'not_eol'.
17686
17687 2010-08-14  Brian Gough  <bjg@gnu.org>
17688             Bruno Haible  <bruno@clisp.org>
17689
17690         git-merge-changelog: add doc relating to use with bzr and hg.
17691         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
17692
17693 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
17694
17695         pthread: fix pthread.h creation for srcdir != builddir
17696         * modules/pthread (Makefile.am): Fix the rule to work also in a
17697         non-srcdir build.
17698
17699 2010-08-13  Karl Berry  <karl@gnu.org>
17700
17701         * doc/regex.texi (Predefined Syntaxes): @smallexample.
17702         * doc/posix-*/*: force line break before @url of POSIX
17703         specifications.
17704         Suggested by Werner Lemberg.
17705
17706 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17707
17708         strtod: fix const diagnostic
17709         * lib/strtod.c (strtod): Don't assign const char * to char *,
17710         as this elicits a warning from GCC when warnings are enabled.
17711
17712 2010-08-10  Pádraig Brady <P@draigbrady.com>
17713         and Eric Blake  <eblake@redhat.com>
17714
17715         copy-acl: ignore ENOTSUP on HP-UX
17716         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
17717         so that it is available for HP-UX.
17718         * lib/copy-acl.c (qcopy_acl): Use it.
17719         Reported by Patrick M. Callahan.
17720
17721 2010-08-10  Eric Blake  <eblake@redhat.com>
17722
17723         open, chown: relax license
17724         * modules/open (License): Change to LGPLv2+, with consent by all
17725         authors, for use in augeas.
17726         * modules/chown (License): Likewise.
17727         * modules/lchown (Likewise): Likewise.
17728         Requested by Adam Stokes.
17729
17730 2010-08-09  Karl Berry  <karl@gnu.org>
17731
17732         * build-aux/ar-lib: new file, import from Automake.
17733         * config/srclist.txt: autocheck for updates.
17734
17735 2010-08-09  Eric Blake  <eblake@redhat.com>
17736
17737         readlinkat: adjust client modules
17738         * modules/areadlinkat (Depends-on): Use readlinkat, not
17739         symlinkat.
17740         * modules/areadlinkat-with-size (Depends-on): Likewise.
17741
17742         mknod: be more vocal about danger of running tests as root
17743         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
17744         root, since that is just asking for problems.
17745         Suggested by Bruno Haible, based on a report by Rainer Tammer.
17746
17747         readlinkat: split into its own module
17748         * modules/symlinkat: Split readlinkat...
17749         * modules/readlinkat: ...into separate module.
17750         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
17751         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
17752         * lib/symlinkat.c (readlinkat): Move...
17753         * lib/readlinkat.c: ...into new file.
17754         * modules/symlinkat-tests: Split readlinkat test...
17755         * modules/readlinkat-tests: ...into separate module.
17756         * tests/test-symlinkat.c: Split...
17757         * tests/test-readlinkat.c: ...into new file.
17758         * NEWS: Document the split.
17759         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
17760         * lib/unistd.in.h (readlinkat): Likewise.
17761         Suggested by Bruno Haible.
17762
17763 2010-08-08  Bruno Haible  <bruno@clisp.org>
17764
17765         memxfrm: Speed up.
17766         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
17767         that usually only one call to strxfrm is necessary for each string
17768         part.
17769         Reported by Paul Eggert <eggert@cs.ucla.edu>.
17770
17771 2010-08-07  Karl Berry  <karl@gnu.org>
17772
17773         * doc/posix-headers/limits.texi,
17774         * doc/posix-functions/malloc.texi,
17775         * doc/posix-functions/strsignal.texi: missing @item.
17776         * doc/ld-version-script.texi: spurious leading i.
17777         * doc/regex.texi (Interval Operators): no commas inside @var.
17778
17779 2010-08-01  Bruno Haible  <bruno@clisp.org>
17780
17781         Integrate the regex documentation.
17782         * doc/gnulib.texi: Define 'cn' index.
17783         (Regular expressions): New a chapter that includes regex.texi and
17784         regexprops-generic.texi.
17785         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
17786         syntax.
17787
17788         Whitespace cleanup.
17789         * doc/regex.texi: Remove trailing spaces.
17790
17791         Add regex documentation.
17792         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
17793         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
17794         Written by Kathy A. Hargreaves and Karl Berry.
17795
17796 2010-08-01  Bruno Haible  <bruno@clisp.org>
17797
17798         link: Update documentation.
17799         * doc/posix-functions/link.texi: Update regarding Solaris.
17800
17801 2010-07-31  Bruno Haible  <bruno@clisp.org>
17802
17803         Update modules list.
17804         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
17805         (String handling <string.h>): Add memcmp2, memxfrm.
17806         (Container data structures): Add xlist, xsublist, xoset.
17807         (Core language properties): Add alignof, unused-parameter.
17808         (Process control, Numeric conversion functions <stdlib.h>): Renamed
17809         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
17810         (Unibyte characters <ctype.h>): New section.
17811         (String handling <string.h>): New section.
17812         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
17813         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
17814         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
17815         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
17816         tan, tanh, tanl, y0, y1, yn.
17817         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
17818         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
17819         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
17820         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
17821         unlockpt, vdprintf, vdprintf-posix.
17822         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
17823         (File system functions): Add concat-filename, sys_file, sys_ioctl,
17824         xconcat-filename.
17825         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
17826         getdtablesize, pipe2, pipe2-safer.
17827         (Security): New section.
17828         (Networking functions): Add accept4.
17829         (Signal handling): Add sigpipe.
17830         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
17831         mbmemcasecoll.
17832         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
17833         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
17834         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
17835         pipe-filter-ii.
17836         (Misc): Add argp-version-etc, login_tty, parse-duration.
17837
17838 2010-07-31  Bruno Haible  <bruno@clisp.org>
17839
17840         Improve doc in MODULES.html.
17841         * modules/linkat (Description): Add the word "function".
17842         * modules/mkfifo (Description): Likewise.
17843         * modules/mknod (Description): Likewise.
17844         * modules/remove (Description): Likewise.
17845         * modules/renameat (Description): Likewise.
17846         * modules/stat (Description): Likewise.
17847         * modules/symlink (Description): Likewise.
17848         * modules/unlink (Description): Likewise.
17849
17850 2010-07-31  Bruno Haible  <bruno@clisp.org>
17851
17852         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
17853         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
17854         option --enable/disable-c++ instead of --enable/disable-cxx.
17855         * NEWS: Mention the change.
17856
17857 2010-07-31  Bruno Haible  <bruno@clisp.org>
17858
17859         readlink, areadlink: Relax test a bit.
17860         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
17861         alternative to ENOTDIR.
17862         * tests/test-areadlink.h (test_areadlink): Likewise.
17863         Reported by Rainer Tammer.
17864
17865 2010-07-31  Bruno Haible  <bruno@clisp.org>
17866
17867         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
17868         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
17869         character, perform the search using U_STRCHR.
17870         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
17871         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
17872         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
17873         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
17874         Suggested by Paolo Bonzini.
17875
17876 2010-07-31  Bruno Haible  <bruno@clisp.org>
17877
17878         unistr/u*-strstr: Fix dependencies.
17879         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
17880         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
17881         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
17882
17883 2010-07-31  Bruno Haible  <bruno@clisp.org>
17884
17885         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
17886         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
17887         the beginning of the loop.
17888         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
17889         cases in 'switch' statement.
17890
17891         unistr/u8-strchr: Fix several bugs.
17892         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
17893         the string. When not found, return NULL, not a pointer near the end.
17894
17895         More tests for unistr/u8-strchr.
17896         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
17897         that the function does not read past the first occurrence of the byte
17898         being searched.
17899         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
17900         * tests/unistr/test-u16-strchr.c (main): New function.
17901         * tests/unistr/test-u32-strchr.c (main): New function.
17902
17903 2010-07-31  Bruno Haible  <bruno@clisp.org>
17904
17905         posix-modules: Ignore backup files of documentation files.
17906         * posix-modules: grep only through files named *.texi.
17907
17908 2010-07-31  Bruno Haible  <bruno@clisp.org>
17909
17910         symlinkat: Fix documentation.
17911         * doc/posix-functions/readlinkat.texi: Fix module name.
17912
17913 2010-07-31  Bruno Haible  <bruno@clisp.org>
17914
17915         fchownat: Replace also when chown has the trailing slash bug.
17916         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
17917         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
17918         introduced on 2010-04-10.
17919         Reported by Rainer Tammer.
17920
17921 2010-07-31  Bruno Haible  <bruno@clisp.org>
17922
17923         linkat: Work around AIX 7.1 bug.
17924         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
17925         whether linkat handles trailing slash correctly. If not, replace linkat
17926         and define LINKAT_TRAILING_SLASH_BUG.
17927         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
17928         check whether (fd1,file1) points to a directory if file1 or file2 ends
17929         in a slash. Code taken from lib/link.c.
17930         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
17931         Reported by Rainer Tammer.
17932
17933 2010-07-31  Bruno Haible  <bruno@clisp.org>
17934
17935         Correctly determine whether pow is available in libc on AIX 7 with xlc.
17936         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
17937         This disables an xlc optimization that was causing wrong test results.
17938         Reported by Rainer Tammer.
17939
17940 2010-07-31  Bruno Haible  <bruno@clisp.org>
17941
17942         iconv: Work around AIX 6.1..7.1 bug.
17943         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
17944         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
17945         cross-compiling, guess no on all versions of AIX.
17946         Reported by Rainer Tammer.
17947
17948 2010-07-31  Bruno Haible  <bruno@clisp.org>
17949
17950         readlink: Relax test a bit.
17951         * tests/test-readlink.h (test_readlink): Allow different errno value
17952         when readlink is called with a file name that ends in / and refers to
17953         a file.
17954         Suggested by Eric Blake.
17955         Reported by Rainer Tammer.
17956
17957 2010-07-31  Bruno Haible  <bruno@clisp.org>
17958
17959         copysign: Does not require -lm on glibc systems.
17960         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
17961         gl_COMMON_DOUBLE_MATHFUNC.
17962         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
17963
17964 2010-07-31  Bruno Haible  <bruno@clisp.org>
17965
17966         duplocale: Work around AIX 7.1 bug.
17967         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
17968         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
17969         * lib/duplocale.c (rpl_duplocale): Update comment.
17970         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
17971         Reported by Rainer Tammer.
17972
17973 2010-07-30  Bruno Haible  <bruno@clisp.org>
17974
17975         dirfd: Avoid link error on AIX 7.1.
17976         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
17977         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
17978         exist, set REPLACE_DIRFD.
17979         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
17980         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
17981         * doc/posix-functions/dirfd.texi: Update.
17982         Reported by Rainer Tammer.
17983
17984 2010-07-30  Eric Blake  <eblake@redhat.com>
17985
17986         strtod: next round of AIX fixes
17987         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
17988         exponent.
17989         * tests/test-strtod.c (main): Enhance tests.
17990         * doc/posix-functions/strtod.texi (strtod): Document next bug.
17991         Reported by Rainer Tammer.
17992
17993         futimens: fix configure check
17994         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
17995         Reported by Bruno Haible.
17996
17997 2010-07-30  Bruno Haible  <bruno@clisp.org>
17998
17999         getline: Update regarding AIX.
18000         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
18001         Reported by Rainer Tammer.
18002
18003 2010-07-30  Bruno Haible  <bruno@clisp.org>
18004
18005         wcwidth: Drop replacement on AIX 7.
18006         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
18007         AIX 7.
18008         Reported by Rainer Tammer.
18009
18010 2010-07-30  Bruno Haible  <bruno@clisp.org>
18011
18012         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
18013         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
18014         a 'char *'.
18015         Reported by Rainer Tammer.
18016
18017 2010-07-30  Bruno Haible  <bruno@clisp.org>
18018
18019         unlink: Update regarding AIX.
18020         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
18021         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
18022         Reported by Rainer Tammer.
18023
18024 2010-07-30  Bruno Haible  <bruno@clisp.org>
18025
18026         symlink: Update regarding AIX.
18027         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
18028         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
18029         Reported by Rainer Tammer.
18030
18031 2010-07-30  Bruno Haible  <bruno@clisp.org>
18032
18033         strndup: Update regarding AIX.
18034         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
18035         AIX 7.
18036         Reported by Rainer Tammer.
18037
18038 2010-07-30  Bruno Haible  <bruno@clisp.org>
18039
18040         stat: Update regarding AIX.
18041         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
18042         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
18043         Reported by Rainer Tammer.
18044
18045 2010-07-30  Bruno Haible  <bruno@clisp.org>
18046
18047         truncl: Fix autoconf test.
18048         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
18049         whether truncl works.
18050         Reported by Rainer Tammer.
18051
18052 2010-07-30  Bruno Haible  <bruno@clisp.org>
18053
18054         round: Update regarding AIX.
18055         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
18056         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
18057         Reported by Rainer Tammer.
18058
18059 2010-07-30  Bruno Haible  <bruno@clisp.org>
18060
18061         rename: Update regarding AIX.
18062         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
18063         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
18064         Reported by Rainer Tammer.
18065
18066 2010-07-30  Bruno Haible  <bruno@clisp.org>
18067
18068         printf.m4: Update regarding AIX.
18069         * m4/printf.m4: Update comments regarding AIX.
18070         Reported by Rainer Tammer.
18071
18072 2010-07-30  Bruno Haible  <bruno@clisp.org>
18073
18074         iconv: Update regarding AIX.
18075         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
18076         AIX 7.
18077         Reported by Rainer Tammer.
18078
18079 2010-07-30  Bruno Haible  <bruno@clisp.org>
18080
18081         getopt: Update regarding AIX.
18082         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
18083         no on AIX.
18084         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
18085         Reported by Rainer Tammer.
18086
18087 2010-07-30  Bruno Haible  <bruno@clisp.org>
18088
18089         ldexpl; Update regarding AIX.
18090         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
18091         on AIX 7.
18092         Reported by Rainer Tammer.
18093
18094 2010-07-30  Bruno Haible  <bruno@clisp.org>
18095
18096         frexpl: Update regarding AIX.
18097         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
18098         on AIX 7.
18099         Reported by Rainer Tammer.
18100
18101 2010-07-30  Bruno Haible  <bruno@clisp.org>
18102
18103         open, fopen: Update regarding AIX.
18104         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
18105         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
18106         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
18107         * doc/posix-functions/fopen.texi: Likewise.
18108         Reported by Rainer Tammer.
18109
18110 2010-07-30  Bruno Haible  <bruno@clisp.org>
18111
18112         chown: Update doc regarding AIX.
18113         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
18114         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
18115         Reported by Rainer Tammer.
18116
18117 2010-07-30  Eric Blake  <eblake@redhat.com>
18118
18119         strtod: fix bug in replacement function on AIX
18120         * lib/strtod.c (strtod): Special case broken "0x" parse in
18121         underlying strtod.
18122         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
18123         * doc/posix-functions/strtod.texi (strtod): Likewise.
18124         Reported by Rainer Tammer.
18125
18126 2010-07-30  Bruno Haible  <bruno@clisp.org>
18127
18128         mbrlen: Fix cross-compilation guess for AIX.
18129         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
18130         guess. Leftover from 2008-12-22.
18131
18132 2010-07-30  Bruno Haible  <bruno@clisp.org>
18133
18134         mbrtowc: Fix cross-compilation guess for AIX.
18135         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
18136         guess. Leftover from 2008-12-21.
18137
18138 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
18139
18140         init.sh: work around trap limitation of some shells
18141         * tests/init.sh (setup_): Move exit trap outside of shell function.
18142
18143 2010-07-29  Eric Blake  <eblake@redhat.com>
18144
18145         strtod: aid debugging
18146         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
18147         understanding why strtod is rejected.
18148
18149 2010-07-28  Bruno Haible  <bruno@clisp.org>
18150
18151         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
18152         * lib/unistr/u8-chr.c: Include <string.h>.
18153         * tests/unistr/test-u8-chr.c: Likewise.
18154         * tests/unistr/test-u16-chr.c: Likewise.
18155         * tests/unistr/test-u32-chr.c: Likewise.
18156         * tests/unistr/test-u8-strchr.c: Likewise.
18157         * tests/unistr/test-u16-strchr.c: Likewise.
18158         * tests/unistr/test-u32-strchr.c: Likewise.
18159         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
18160         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
18161         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
18162         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
18163
18164 2010-07-28  Bruno Haible  <bruno@clisp.org>
18165
18166         Use spaces for indentation, not tabs.
18167         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
18168
18169 2010-07-27  Bruno Haible  <bruno@clisp.org>
18170
18171         mbspcasecmp: Fix function specification.
18172         * lib/string.in.h (mbspcasecmp): Fix specification comment.
18173         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
18174         Reported by Eric Blake <eblake@redhat.com>.
18175
18176 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
18177
18178         timespec: use cast and not conditional, as truncation isn't possible
18179         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
18180         instead of a conditional.  Comment about the situation in more detail.
18181         This undoes most of the 2009-10-29 patch.
18182
18183 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
18184
18185         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
18186         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
18187         * lib/unistr/u8-strchr.c: Likewise.
18188         * modules/unistr/u8-chr: Depend on memchr.
18189
18190         unistr/u*-strchr: add tests
18191         * modules/unistr/u8-strchr-tests: New file.
18192         * modules/unistr/u16-strchr-tests: New file.
18193         * modules/unistr/u32-strchr-tests: New file.
18194         * tests/unistr/test-strchr.h: New file.
18195         * tests/unistr/test-u8-strchr.c: New file.
18196         * tests/unistr/test-u16-strchr.c: New file.
18197         * tests/unistr/test-u32-strchr.c: New file.
18198
18199         unistr/u*-chr: test multibyte sequences more
18200         * tests/unistr/test-chr.h: Do complete testing of the characters in the
18201         test vector.
18202         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
18203         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
18204         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
18205
18206         unistr/u*-chr: test multibyte sequences
18207         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
18208
18209         unistr/u*-chr: prepare for multibyte tests
18210         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
18211         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
18212         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
18213         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
18214         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
18215         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
18216
18217 2010-07-18  Bruno Haible  <bruno@clisp.org>
18218
18219         unistr/u8-strchr: Optimize non-ASCII argument case.
18220         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
18221         because the first byte often matches anyway.
18222         Reported by Pádraig Brady <P@draigbrady.com>.
18223
18224 2010-07-15  Karl Berry  <karl@gnu.org>
18225
18226         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
18227
18228 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
18229
18230         getcwd: on Solaris, work better if ancestors are inaccessible
18231         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
18232         buffer and size, try again with a large buffer.  This works better
18233         on Solaris, since its getcwd succeeds even if the path to the root
18234         is inaccessible, and this is helpful in common cases such as .zfs
18235         hidden directories.  Problem reported by J Chapman Flack in
18236         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
18237         Use system getcwd if it's declared, not merely if it's partly
18238         working; use the partly-working test only to avoid needless effort
18239         if the system getcwd fails.
18240         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
18241         comment that was already obsolete and is now even more obsolete.
18242         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
18243         now might call strdup.
18244
18245 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
18246
18247         pthread: Add enough so that coreutils/src/sort.c compiles.
18248         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
18249         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
18250         gnulib. Include <sched.h> and <time.h>, as per POSIX.
18251         Include <sys/types.h>, in case it defines pthread_t.
18252         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
18253         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
18254         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
18255         (pthread_rwlockattr_t, pthread_spinlock_t):
18256         New typedefs, if HAVE_PTHREAD_T is not defined.
18257         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
18258         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
18259         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
18260         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
18261         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
18262         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
18263         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
18264         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
18265         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
18266         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
18267         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
18268         New macros.
18269         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
18270         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
18271         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
18272         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
18273         (pthread_spin_unlock): New dummy functions.
18274         (pthread_create): Return EAGAIN; don't set errno.
18275         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
18276         require AC_C_INLINE.
18277         * modules/pthread (Depends-on): Add sched, time.
18278         (pthread.h): Use AM_V_GEN.
18279
18280 2010-07-13  Bruno Haible  <bruno@clisp.org>
18281
18282         striconveh: Don't malloc memory if the result buffer is sufficient.
18283         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
18284         buffer if its size is sufficient.
18285         Reported by Ludovic Courtès <ludo@gnu.org>.
18286
18287 2010-07-13  Bruno Haible  <bruno@clisp.org>
18288
18289         strtod: Add safety check.
18290         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
18291
18292 2010-07-12  Bruno Haible  <bruno@clisp.org>
18293
18294         Unify tests that set gl_cv_func_ldexpl_no_libm.
18295         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
18296         gl_FUNC_LDEXPL.
18297         (gl_FUNC_LDEXPL): Invoke it.
18298         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
18299
18300 2010-07-12  Bruno Haible  <bruno@clisp.org>
18301
18302         Unify tests that set gl_cv_func_ldexp_no_libm.
18303         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
18304         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
18305         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
18306         (configure.ac): Simply invoke gl_FUNC_LDEXP.
18307         * modules/strtod (Files): Add m4/ldexp.m4.
18308
18309 2010-07-12  Bruno Haible  <bruno@clisp.org>
18310
18311         Unify tests that set gl_cv_func_frexpl_no_libm.
18312         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
18313         gl_FUNC_FREXPL_NO_LIBM.
18314         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
18315         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
18316
18317 2010-07-12  Bruno Haible  <bruno@clisp.org>
18318
18319         Unify tests that set gl_cv_func_frexp_no_libm.
18320         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
18321         gl_FUNC_FREXP_NO_LIBM.
18322         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
18323         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
18324
18325 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
18326
18327         memcoll: clarify sizes versus lengths, document better, and tweak perf
18328         * lib/memcoll.c (strcoll_loop, memcoll0):
18329         Improve quality of descriptive comments.  Name variables
18330         consistently as to whether they are lengths (which do not include
18331         terminating null) versus sizes (which do).
18332         * lib/xmemcoll.c (xmemcoll0): Likewise.
18333         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
18334         returned when s1size == 0; this is easier to compile and saves
18335         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
18336
18337 2010-07-12  Bruno Haible  <bruno@clisp.org>
18338
18339         Tests for module '_Exit'.
18340         * modules/_Exit-tests: New file.
18341         * tests/test-_Exit.sh: New file.
18342         * tests/test-_Exit.c: New file.
18343
18344         New module '_Exit'.
18345         * lib/stdlib.in.h (__attribute__): New macro.
18346         (_Exit): New declaration.
18347         * lib/_Exit.c: New file.
18348         * m4/_Exit.m4: New file.
18349         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
18350         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
18351         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
18352         * modules/_Exit: New file.
18353         * tests/test-stdlib-c++.cc (_Exit): Check signature.
18354         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
18355
18356 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
18357
18358         strtod: make it more-accurate typically, and don't require libm
18359         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
18360         Include limits.h.  Don't include string.h.
18361         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
18362         (locale_isspace): New function, so that no casts are needed to
18363         check whether *s is a space.
18364         (ldexp): Provide an unused dummy if not available.
18365         (scale_radix_exp, parse_number, underlying_strtod): New functions.
18366         (strtod): Use them.  This implementation prefers to use the
18367         underlying strtod if available, falling back on our own code
18368         only to fix known bugs.  This is more likely to produce an
18369         accurate result.  Also, it avoids the use of libm functions.
18370         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
18371         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
18372         was absent, but it caused a test failure with coreutils.
18373         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
18374         with libm.
18375         * modules/strtod (Makefile.am, Link): libm is no longer needed.
18376         * modules/strtod-tests (Makefile.am): Likewise.
18377
18378 2010-07-11  Pádraig Brady  <P@draigBrady.com>
18379             Bruno Haible  <bruno@clisp.org>
18380
18381         unistr/u8-strchr: Optimize ASCII argument case.
18382         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
18383
18384 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
18385
18386         (x)memcoll: minor tweaks
18387         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
18388         is after the type that it qualifies.
18389         (memcoll0): Likewise.
18390         * lib/memcoll.h (memcoll0): Likewise.
18391         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
18392         * lib/xmemcoll.h (xmemcoll0): Likewise.
18393         * lib/memcoll.c (memcoll0): Correct the comment.  This function
18394         differs from memcoll in that the NUL byte is part of the argument.
18395         Omit the abort-checks, as performance is a real issue here.  Plus,
18396         the checks were wrong anyway (an off-by-one error).  Omit local
18397         variable 'diff', as it's a bit clearer that way.
18398         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
18399         no longer needed.
18400
18401 2010-07-08  Chen Guo <chenguo4@yahoo.com>
18402
18403         (x)memcoll: speedup when input is known to be NUL delimited
18404         * lib/memcoll.c: Include stdlib.
18405         (memcoll0): New function.
18406         (strcoll_loop): New function, refactored for use in both memcoll
18407         and memcoll0.
18408         * lib/memcoll.h (memcoll0): Add prototype.
18409         * lib/xmemcoll.c (xmemcoll0): New function.
18410         (collate_error): New function, refactored for use in both xmemcoll
18411         and xmemcoll0.
18412         * lib/xmemcoll.h (xmemcoll0): Add prototype.
18413         * m4/memcoll.m4: add inline invocation.
18414
18415 2010-07-06  Pádraig Brady  <P@draigBrady.com>
18416
18417         * build-aux/bootstrap: Remove any local translations
18418         from the translation project synchronization directory,
18419         so that local only translations are not distributed.
18420
18421 2010-07-04  Bruno Haible  <bruno@clisp.org>
18422
18423         fsusage: Clarify which code applies to which platforms.
18424         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
18425         platform.
18426         * lib/fsusage.c (get_fs_usage): Likewise.
18427
18428 2010-07-04  Bruno Haible  <bruno@clisp.org>
18429
18430         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
18431         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
18432         Reported by Martin Lambers <marlam@marlam.de>.
18433
18434 2010-07-04  Jim Meyering  <meyering@redhat.com>
18435
18436         hash: once again explicitly disallow insertion of NULL
18437         * lib/hash.c (hash_insert0): Reinstate just-removed test:
18438         inserting a NULL pointer cannot work with these functions.
18439         Add a comment with details.
18440         This reverts part of the 2010-07-01 commit, 5bef1a35
18441         "hash: extend module to deal with non-pointer keys".
18442
18443 2010-07-01  Bruno Haible  <bruno@clisp.org>
18444
18445         stdbool: Update doc.
18446         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
18447         Info from Christian Weisgerber <naddy@mips.inka.de>.
18448
18449 2010-07-01  Jim Meyering  <meyering@redhat.com>
18450
18451         hash: extend module to deal with non-pointer keys
18452         * lib/hash.c (hash_insert0): New interface, much like hash_insert
18453         but that allows insertion of non-pointer entries.
18454         Do not disallow an ENTRY value of NULL.
18455         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
18456         * lib/hash.h (hash_insert0): Declare.
18457
18458 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18459
18460         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
18461         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
18462         not present (i.e. with autoconf 2.59 and when using gettextize, not
18463         gnulib), require AC_GNU_SOURCE instead.
18464
18465 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
18466
18467         idpriv-drop: Fix tests.
18468         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
18469         not to the test-idpriv-droptemp program.
18470
18471 2010-06-29  Bruno Haible  <bruno@clisp.org>
18472
18473         string: Fix syntax error with g++ 2.96.
18474         * lib/string.in.h (__pure__): Remove definition.
18475         (_GL_ATTRIBUTE_PURE): New macro.
18476         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
18477         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
18478         Reported by Christian Weisgerber <naddy@mips.inka.de>.
18479
18480 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
18481
18482         unitypes: Fix bug introduced on 2010-05-18.
18483         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
18484
18485 2010-06-22  Eric Blake  <eblake@redhat.com>
18486
18487         memmem: slight optimization
18488         * lib/str-two-way.h (critical_factorization): Update comments.
18489         Reduce work during factorization phase.
18490         Reported by Carlos Bueno <carlos@bueno.org>.
18491
18492 2010-06-21  Bruno Haible  <bruno@clisp.org>
18493
18494         Fix HAVE_CALLOC_POSIX misnomer.
18495         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
18496         !HAVE_CALLOC_POSIX.
18497         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
18498         HAVE_CALLOC_POSIX.
18499         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
18500         instead of HAVE_CALLOC_POSIX.
18501         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
18502         HAVE_CALLOC_POSIX.
18503
18504         Use modern idiom for calloc() replacement.
18505         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
18506         AC_FUNC_CALLOC.
18507         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
18508         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
18509         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
18510         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
18511         (gl_REPLACE_CALLOC): New macro.
18512
18513 2010-06-21  Bruno Haible  <bruno@clisp.org>
18514
18515         Fix HAVE_REALLOC_POSIX misnomer.
18516         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
18517         !HAVE_REALLOC_POSIX.
18518         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
18519         HAVE_REALLOC_POSIX.
18520         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
18521         instead of HAVE_REALLOC_POSIX.
18522         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
18523         HAVE_REALLOC_POSIX.
18524
18525         Use modern idiom for realloc() replacement.
18526         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
18527         AC_FUNC_REALLOC.
18528         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
18529         Autoconf's AC_FUNC_REALLOC.
18530         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
18531         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
18532         (gl_REPLACE_REALLOC): New macro.
18533         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
18534
18535 2010-06-21  Bruno Haible  <bruno@clisp.org>
18536
18537         Fix HAVE_MALLOC_POSIX misnomer.
18538         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
18539         !HAVE_MALLOC_POSIX.
18540         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
18541         HAVE_MALLOC_POSIX.
18542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
18543         instead of HAVE_MALLOC_POSIX.
18544         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
18545         HAVE_MALLOC_POSIX.
18546
18547         Use modern idiom for malloc() replacement.
18548         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
18549         AC_FUNC_MALLOC.
18550         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
18551         Autoconf's AC_FUNC_MALLOC.
18552         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
18553         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
18554         (gl_REPLACE_MALLOC): New macro.
18555         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
18556
18557 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
18558
18559         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
18560         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
18561         This macro takes 3 arguments, not 4.
18562
18563 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
18564
18565         ipv6: fix detection under mingw
18566         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
18567         in6_addr.
18568
18569 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
18570
18571         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
18572         that strtod() works when cross-compiling to a glibc version known
18573         to work.
18574
18575 2010-06-15  Bruno Haible  <bruno@clisp.org>
18576
18577         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
18578
18579 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
18580
18581         select: Correct timeout.
18582         * lib/select.c (rpl_select): Compute wait_timeout correctly.
18583
18584 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18585
18586         git-version-gen: init shell var to avoid env var influence
18587         * build-aux/git-version-gen (v): Init shell var to empty.
18588
18589 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
18590
18591         priv-set: Don't assume that priv.h exists merely because getppriv does.
18592         See Jan Andersen's bug report about AIX 5L in
18593         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
18594         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
18595         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
18596         * lib/priv-set.h: Likewise.
18597         * tests/test-priv-set.c: Likewise.
18598
18599 2010-06-13  Bruno Haible  <bruno@clisp.org>
18600
18601         relocatable: Make it easier to test whether to install wrappers.
18602         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
18603         RELOCATABLE_VIA_WRAPPER.
18604
18605 2010-06-13  Bruno Haible  <bruno@clisp.org>
18606
18607         gnulib-tool: Display specified modules and dependencies differently.
18608         * gnulib-tool (func_show_module_list): New function.
18609         (func_import, func_create_testdir): Invoke it.
18610         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18611
18612 2010-06-13  Bruno Haible  <bruno@clisp.org>
18613
18614         gnulib-tool: Align code of func_import and func_create_testdir.
18615         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
18616         specified_modules.
18617
18618 2010-06-12  Jim Meyering  <meyering@redhat.com>
18619
18620         test-inttostr: avoid spurious failure on Solaris 9
18621         * tests/test-inttostr.c (main): Skip the test when snprintf fails
18622         to accept "%ju".  Reported by Bruno Haible.
18623
18624 2010-06-11  Jim Meyering  <meyering@redhat.com>
18625
18626         test-sys_socket: mark variables as used more readably
18627         * tests/test-sys_socket.c (main): Mark otherwise unused variables
18628         as "used" explicitly via (void) statement casts.  This is more
18629         readable than using them in an artificial return expression.
18630         Suggestion from Bruno Haible.
18631
18632 2010-06-11  Bruno Haible  <bruno@clisp.org>
18633
18634         Avoid some more warnings from "gcc -Wwrite-strings".
18635         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
18636         to 'const char *'.
18637         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
18638         * tests/test-c-strcasestr.c (main): Likewise.
18639         * tests/test-mbscasestr1.c (main): Likewise.
18640         * tests/test-mbscasestr2.c (main): Likewise.
18641         * tests/test-memmem.c (main): Likewise.
18642         * tests/test-strstr.c (main): Likewise.
18643         * tests/test-strcasestr.c (main): Likewise.
18644
18645 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18646
18647         init.sh: change framework_failure_ to fail with status 99, not 1
18648         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
18649         automake's parallel-tests rule that this is an unexpected failure,
18650         even if the test is listed in XFAIL_TESTS.
18651
18652 2010-06-11  Jim Meyering  <meyering@redhat.com>
18653
18654         test-inttostr: avoid warnings about 4-6KB literal strings
18655         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
18656         Include "macros.h", for its definition of ASSERT.
18657         (CK): s/assert/ASSERT/
18658         * modules/inttostr-tests (Files): Add macros.h.
18659
18660         init.sh: don't use $ME_ or skip_ before they are defined
18661         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
18662         their first uses.  Also hoist their companions: warn_, fail_,
18663         framework_failure_, $stderr_fileno.  Prompted by a patch from
18664         Stefano Lattarini.
18665
18666         test-sys_socket: avoid set-but-not-used warnings from gcc
18667         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
18668         avoid warning about set-but-not-used variables.
18669
18670         test-xvasprintf: avoid 'const' discard warnings
18671         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
18672         "const" when assigning from literal strings.
18673         (test_xasprintf): Add "void" in function argument list to placate
18674         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
18675
18676         tests: avoid compilation warnings in argmatch and exclude tests...
18677         in packages that define ARGMATCH_DIE_DECL, like coreutils.
18678         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
18679         Since it always exits, declare with the "noreturn" attribute.
18680         * tests/test-argmatch.c: Likewise.
18681
18682         tests: avoid 'const' discard warnings in mbsstr tests
18683         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
18684         * tests/test-mbsstr2.c (main): Likewise.
18685
18686         test-verify: avoid warning from gcc's -Wmissing-declarations
18687         * tests/test-verify.c (function): Declare to be static.
18688
18689         test-inttostr.c: include <string.h> for use of strcmp
18690         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
18691
18692         test-linkat: avoid failed assertion on "other" architectures
18693         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
18694         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
18695         sparc: https://bugs.launchpad.net/bugs/591968
18696
18697 2010-06-11  Jim Meyering  <meyering@redhat.com>
18698
18699         printf.m4: avoid autoconf's "Expanded Before Required" warning
18700         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
18701         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
18702         autoconf warning.
18703
18704 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
18705
18706         Replacement header templates are now named with ".in", not "_".
18707         * doc/gnulib-intro.texi: Correct.
18708
18709 2010-06-10  Jim Meyering  <meyering@redhat.com>
18710
18711         inttostr-tests: depend on snprintf, not snprintf-posix
18712         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
18713         snprintf-posix, to avoid this aclocal failure:
18714           missing file gnulib-tests/vasnprintf.c
18715           configure.ac:45: error: expected source file, required through \
18716           AC_LIBSOURCES, not found
18717
18718 2010-06-10  Jim Meyering  <meyering@redhat.com>
18719
18720         inttostr: add a new function, inttostr, and tests
18721         The namesake function was not available.  The existence of the
18722         template file, inttostr.c makes its addition nontrivial.
18723         * lib/anytostr.c: Rename from inttostr.c.
18724         (anytostr): Rename from inttostr.
18725         * lib/inttostr.c: New file.
18726         * modules/inttostr (Files): Add anytostr.c.
18727         (Makefile.am): Set lib_SOURCES instead of ...
18728         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
18729         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
18730         * lib/offtostr.c: Likewise.
18731         * lib/uinttostr.c: Likewise.
18732         * lib/umaxtostr.c: Likewise.
18733         * modules/inttostr-tests: New file.
18734         * tests/test-inttostr.c: New file.  Test these functions.
18735
18736 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
18737             Bruno Haible  <bruno@clisp.org>
18738
18739         Add "Extending Gnulib" chapter to manual.
18740         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
18741         chapter.
18742         (Extending Gnulib): New chapter.
18743         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
18744         chapter.
18745
18746 2010-06-09  Bruno Haible  <bruno@clisp.org>
18747
18748         Avoid relocwrapper link errors due to gnulib replacement functions.
18749         * lib/areadlink.c: Use the system's malloc, realloc functions.
18750         (areadlink): Set errno to ENOMEM explicitly.
18751         * modules/areadlink (Depends-on): Remove malloc-posix.
18752         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18753
18754 2010-06-09  Bruno Haible  <bruno@clisp.org>
18755
18756         Avoid relocwrapper link errors due to gnulib replacement functions.
18757         * lib/canonicalize-lgpl.c: Use the system's malloc function.
18758         * lib/malloca.c: Likewise.
18759         * lib/relocatable.c: Likewise.
18760         * lib/progreloc.c: Use the system's malloc, sprintf functions.
18761         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
18762         * lib/setenv.c: Use the system's malloc, realloc functions.
18763         * lib/strerror.c: Use the system's sprintf function.
18764         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18765
18766 2010-06-04  Bruno Haible  <bruno@clisp.org>
18767
18768         Prefer documented low-level autoconf macro names.
18769         * m4/lib-link.m4: Use m4_translit instead of translit.
18770         * m4/environ.m4: Likewise.
18771         * m4/mathfunc.m4: Likewise.
18772         * m4/onceonly.m4: Likewise.
18773         * m4/stdint.m4: Likewise.
18774         Suggested by Eric Blake.
18775
18776 2010-06-04  Martin Lambers  <marlam@marlam.de>
18777             Bruno Haible  <bruno@clisp.org>
18778
18779         havelib: Allow library names with '+' characters.
18780         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
18781         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
18782
18783 2010-06-09  Bruno Haible  <bruno@clisp.org>
18784
18785         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
18786         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
18787         realloc failed.
18788
18789 2010-06-08  Peter Simons  <simons@cryp.to>
18790
18791         maint.mk: make the news-check rule more configurable
18792         * top/maint.mk (news-check-lines-spec): New variable.
18793         (news-check): Use "sed -n 1,10p" in place of "head".
18794
18795 2010-06-07  Jim Meyering  <meyering@redhat.com>
18796
18797         do-release-commit-and-tag: fix typo in --help
18798         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
18799
18800         regex: avoid new dead-code warning with gcc-4.6.0
18801         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
18802         if-block containing a while-loop.  It's been unused for at least
18803         5 years.
18804
18805 2010-06-05  Bruno Haible  <bruno@clisp.org>
18806
18807         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
18808         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
18809
18810 2010-06-04  Bruno Haible  <bruno@clisp.org>
18811
18812         Update to GNU gettext 0.18.1.
18813         * modules/gettext (configure.ac): Require gettext infrastructure from
18814         version 0.18.1.
18815
18816 2010-06-03  Bruno Haible  <bruno@clisp.org>
18817
18818         Don't use AC_LIBOBJ with file names in subdirectories.
18819         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
18820         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
18821         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
18822         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
18823         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
18824         gl_LIBUNISTRING_LIBSOURCE.
18825         (Makefile.am): Augment lib_SOURCES here, conditionally.
18826         * NEWS: Drop requirement for Automake option 'subdir-objects'.
18827
18828 2010-06-03  Bruno Haible  <bruno@clisp.org>
18829
18830         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
18831         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
18832         expansion does not end with a newline.
18833         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
18834         unnecessary newline.
18835
18836 2010-06-03  Bruno Haible  <bruno@clisp.org>
18837
18838         Reduce dependencies.
18839         * tests/test-quotearg.h: New file, extracted from
18840         tests/test-quotearg.c.
18841         * tests/test-quotearg-simple.c: New file, extracted from
18842         tests/test-quotearg.c.
18843         * tests/test-quotearg.c: Don't include <ctype.h>.
18844         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
18845         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
18846         use_quote_double_quotes, use_quotearg_colon): Moved to
18847         tests/test-quotearg.h.
18848         (results_g, flag_results, custom_quotes, custom_results): Moved
18849         to tests/test-quotearg-simple.c.
18850         (main): Moved the part that does not depend on gettext to
18851         tests/test-quotearg-simple.c. Return 77 if the test cannot be
18852         performed.
18853         * modules/quotearg-simple: New file.
18854         * modules/quotearg-simple-tests: New file.
18855         * modules/quotearg (Depends-on): Add quotearg-simple.
18856         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
18857         (Files): Add tests/test-quotearg.h.
18858         Reported by Paolo Bonzini.
18859
18860 2010-06-03  Bruno Haible  <bruno@clisp.org>
18861
18862         Reduce dependencies.
18863         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
18864
18865 2010-06-03  Bruno Haible  <bruno@clisp.org>
18866
18867         time: Undefine more broken macros.
18868         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
18869         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
18870         Reported by Eric Blake.
18871
18872 2010-06-03  Bruno Haible  <bruno@clisp.org>
18873
18874         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
18875         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
18876         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
18877         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
18878         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
18879         Reported by Ludovic Courtès <ludo@gnu.org>.
18880
18881 2010-06-02  Eric Blake  <eblake@redhat.com>
18882
18883         time: work with mingw + pthreads-win32 library
18884         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
18885         if timespec is defined only in pthread.h.
18886         * modules/time (Makefile.am): Substitute it.
18887         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
18888         <pthread.h>, when needed.
18889         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
18890         from the library.
18891
18892 2010-05-31  Bruno Haible  <bruno@clisp.org>
18893
18894         Avoid expanding two macros in the wrong order.
18895         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
18896         gl_LIBUNISTRING if it is defined.
18897         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
18898         autoconf >= 2.64.
18899         Reported by Ludovic Courtès <ludo@gnu.org>.
18900
18901 2010-05-27  Jim Meyering  <meyering@redhat.com>
18902
18903         maint.mk: also prohibit "#undef" of always-defined symbols
18904         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
18905         Allow more than one space before the symbol name.
18906         (sc_prohibit_always-defined_macros): Use grep's -E, now that
18907         the regexp uses alternation.
18908
18909 2010-05-26  Eric Blake  <eblake@redhat.com>
18910
18911         maint.mk: avoid echo -e
18912         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
18913         Convert all uses of echo -* to printf.
18914         Reported by Matthias Bolte.
18915
18916 2010-05-25  Bruno Haible  <bruno@clisp.org>
18917
18918         Update to GNU gettext 0.18, part 2.
18919         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
18920         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
18921
18922 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18923
18924         Add missing include in test-pwrite.c.
18925         * tests/test-pwrite.c: Include string.h, for strcmp.
18926
18927 2010-05-24  Bruno Haible  <bruno@clisp.org>
18928
18929         * NEWS: Mention requirement for Automake option 'subdir-objects'.
18930
18931 2010-05-24  Bruno Haible  <bruno@clisp.org>
18932
18933         Don't use conversion with transliteration in u{8,16,32}_strcoll.
18934         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
18935         iconveh_error argument.
18936         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
18937         U_STRCONV_TO_LOCALE.
18938         * lib/unistr/u16-strcoll.c: Likewise.
18939         * lib/unistr/u32-strcoll.c: Likewise.
18940         * modules/unistr/u8-strcoll (Depends-on): Add
18941         uniconv/u8-strconv-to-enc, localcharset. Remove
18942         uniconv/u8-strconv-to-locale.
18943         (configure.ac): Bump version number.
18944         * modules/unistr/u16-strcoll (Depends-on): Add
18945         uniconv/u16-strconv-to-enc, localcharset. Remove
18946         uniconv/u16-strconv-to-locale.
18947         (configure.ac): Bump version number.
18948         * modules/unistr/u32-strcoll (Depends-on): Add
18949         uniconv/u32-strconv-to-enc, localcharset. Remove
18950         uniconv/u32-strconv-to-locale.
18951         (configure.ac): Bump version number.
18952
18953 2010-05-24  Bruno Haible  <bruno@clisp.org>
18954
18955         Avoid a test failure on NetBSD 5.0.
18956         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
18957         an iconv() bug.
18958
18959 2010-05-24  Bruno Haible  <bruno@clisp.org>
18960
18961         Adjust #include directive style.
18962         * modules/regex (Includes): Recommend to write <regex.h>.
18963
18964 2010-05-24  Bruno Haible  <bruno@clisp.org>
18965
18966         regex: Don't require alloca.
18967         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
18968         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
18969         only inside if (0).
18970
18971 2010-05-23  Jim Meyering  <meyering@redhat.com>
18972
18973         test-renameat.c: include <sys/stat.h>
18974         * tests/test-renameat.c: Include <sys/stat.h>; required for
18975         definition of S_IS* macros.
18976
18977 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
18978
18979         Update maintainer documentation for 'relocatable-prog' module.
18980         * doc/relocatable-maint.texi: Update.
18981         Comments by Bruno Haible.
18982
18983 2010-05-23  Bruno Haible  <bruno@clisp.org>
18984
18985         git-merge-changelog: Enable --split-merged-entry by default.
18986         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
18987         (usage): Don't mention this option any more.
18988         Reported by Ralf Wildenhues.
18989
18990 2010-05-23  Jim Meyering  <meyering@redhat.com>
18991
18992         test-pwrite: do not leave behind a test file named "out"
18993         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
18994         The trivial-looking use of init.sh is really necessary.
18995         It ensures that the temporary file, "out", is created in
18996         a temporary directory, and removed upon termination.
18997         * tests/test-pwrite.sh: Re-add file.
18998         * modules/pwrite-tests: Reference it.
18999
19000 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19001
19002         Fix output redirection buglet in init.sh.
19003         * tests/init.sh: Fix redirection of stderr.
19004
19005 2010-05-20  Simon Josefsson  <simon@josefsson.org>
19006
19007         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
19008
19009 2010-05-17  Simon Josefsson  <simon@josefsson.org>
19010
19011         * modules/valgrind-tests: New file.
19012         * m4/valgrind-tests.m4: New file.
19013         * doc/valgrind-tests.texi: New file.
19014         * doc/gnulib.texi (Running self-tests under valgrind): New
19015         section.
19016
19017 2010-05-19  Bruno Haible  <bruno@clisp.org>
19018
19019         Clean up dead code in recent commit.
19020         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
19021         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
19022         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
19023         Suggested by Paolo Bonzini.
19024
19025 2010-05-19  Bruno Haible  <bruno@clisp.org>
19026
19027         Avoid valgrind error reports from libunistring.
19028         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
19029         * modules/libunistring (Files): Add it.
19030         * modules/libunistring-optional (Files): Likewise.
19031
19032 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
19033             Bruno Haible  <bruno@clisp.org>
19034
19035         New module 'libunistring-optional'.
19036         * modules/libunistring-optional: New file.
19037         * m4/libunistring-base.m4: New file.
19038         * m4/libunistring-optional.m4: New file.
19039         * lib/unicase.in.h: Renamed from lib/unicase.h.
19040         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
19041         * lib/unictype.in.h: Renamed from lib/unictype.h.
19042         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
19043         * lib/uniname.in.h: Renamed from lib/uniname.h.
19044         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
19045         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
19046         * lib/unistr.in.h: Renamed from lib/unistr.h.
19047         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
19048         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
19049         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
19050         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
19051         gl_LIBUNISTRING. If the library was found, determine the installed
19052         version and set LIBUNISTRING_VERSION.
19053         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
19054         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
19055         handle a configuration option --with-included-libunistring.
19056         * modules/libunistring (Files): Add m4/absolute-header.m4.
19057         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
19058         Add m4/libunistring-base.m4.
19059         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19060         (Makefile.am): Build unicase.h from unicase.in.h.
19061         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
19062         Add m4/libunistring-base.m4.
19063         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19064         (Makefile.am): Build uniconv.h from uniconv.in.h.
19065         * modules/unictype/base (Files): Use unictype.in.h instead of
19066         unictype.h. Add m4/libunistring-base.m4.
19067         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19068         (Makefile.am): Build unictype.h from unictype.in.h.
19069         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
19070         Add m4/libunistring-base.m4.
19071         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19072         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
19073         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
19074         Add m4/libunistring-base.m4.
19075         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19076         (Makefile.am): Build uniname.h from uniname.in.h.
19077         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
19078         Add m4/libunistring-base.m4.
19079         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19080         (Makefile.am): Build uninorm.h from uninorm.in.h.
19081         * modules/unistdio/base (Files): Use unistdio.in.h instead of
19082         unistdio.h. Add m4/libunistring-base.m4.
19083         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19084         (Makefile.am): Build unistdio.h from unistdio.in.h.
19085         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
19086         Add m4/libunistring-base.m4.
19087         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19088         (Makefile.am): Build unistr.h from unistr.in.h.
19089         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
19090         Add m4/libunistring-base.m4.
19091         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19092         (Makefile.am): Build unitypes.h from unitypes.in.h.
19093         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
19094         Add m4/libunistring-base.m4.
19095         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19096         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
19097         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
19098         uniwidth.h. Add m4/libunistring-base.m4.
19099         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
19100         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
19101         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
19102         instead of augmenting lib_SOURCES.
19103         * modules/unicase/empty-suffix-context: Likewise.
19104         * modules/unicase/locale-language: Likewise.
19105         * modules/unicase/tolower: Likewise.
19106         * modules/unicase/totitle: Likewise.
19107         * modules/unicase/toupper: Likewise.
19108         * modules/unicase/u8-casecmp: Likewise.
19109         * modules/unicase/u8-casecoll: Likewise.
19110         * modules/unicase/u8-casefold: Likewise.
19111         * modules/unicase/u8-casexfrm: Likewise.
19112         * modules/unicase/u8-ct-casefold: Likewise.
19113         * modules/unicase/u8-ct-tolower: Likewise.
19114         * modules/unicase/u8-ct-totitle: Likewise.
19115         * modules/unicase/u8-ct-toupper: Likewise.
19116         * modules/unicase/u8-is-cased: Likewise.
19117         * modules/unicase/u8-is-casefolded: Likewise.
19118         * modules/unicase/u8-is-lowercase: Likewise.
19119         * modules/unicase/u8-is-titlecase: Likewise.
19120         * modules/unicase/u8-is-uppercase: Likewise.
19121         * modules/unicase/u8-prefix-context: Likewise.
19122         * modules/unicase/u8-suffix-context: Likewise.
19123         * modules/unicase/u8-tolower: Likewise.
19124         * modules/unicase/u8-totitle: Likewise.
19125         * modules/unicase/u8-toupper: Likewise.
19126         * modules/unicase/u16-casecmp: Likewise.
19127         * modules/unicase/u16-casecoll: Likewise.
19128         * modules/unicase/u16-casefold: Likewise.
19129         * modules/unicase/u16-casexfrm: Likewise.
19130         * modules/unicase/u16-ct-casefold: Likewise.
19131         * modules/unicase/u16-ct-tolower: Likewise.
19132         * modules/unicase/u16-ct-totitle: Likewise.
19133         * modules/unicase/u16-ct-toupper: Likewise.
19134         * modules/unicase/u16-is-cased: Likewise.
19135         * modules/unicase/u16-is-casefolded: Likewise.
19136         * modules/unicase/u16-is-lowercase: Likewise.
19137         * modules/unicase/u16-is-titlecase: Likewise.
19138         * modules/unicase/u16-is-uppercase: Likewise.
19139         * modules/unicase/u16-prefix-context: Likewise.
19140         * modules/unicase/u16-suffix-context: Likewise.
19141         * modules/unicase/u16-tolower: Likewise.
19142         * modules/unicase/u16-totitle: Likewise.
19143         * modules/unicase/u16-toupper: Likewise.
19144         * modules/unicase/u32-casecmp: Likewise.
19145         * modules/unicase/u32-casecoll: Likewise.
19146         * modules/unicase/u32-casefold: Likewise.
19147         * modules/unicase/u32-casexfrm: Likewise.
19148         * modules/unicase/u32-ct-casefold: Likewise.
19149         * modules/unicase/u32-ct-tolower: Likewise.
19150         * modules/unicase/u32-ct-totitle: Likewise.
19151         * modules/unicase/u32-ct-toupper: Likewise.
19152         * modules/unicase/u32-is-cased: Likewise.
19153         * modules/unicase/u32-is-casefolded: Likewise.
19154         * modules/unicase/u32-is-lowercase: Likewise.
19155         * modules/unicase/u32-is-titlecase: Likewise.
19156         * modules/unicase/u32-is-uppercase: Likewise.
19157         * modules/unicase/u32-prefix-context: Likewise.
19158         * modules/unicase/u32-suffix-context: Likewise.
19159         * modules/unicase/u32-tolower: Likewise.
19160         * modules/unicase/u32-totitle: Likewise.
19161         * modules/unicase/u32-toupper: Likewise.
19162         * modules/unicase/ulc-casecmp: Likewise.
19163         * modules/unicase/ulc-casecoll: Likewise.
19164         * modules/unicase/ulc-casexfrm: Likewise.
19165         * modules/uniconv/u8-conv-from-enc: Likewise.
19166         * modules/uniconv/u8-conv-to-enc: Likewise.
19167         * modules/uniconv/u8-strconv-from-enc: Likewise.
19168         * modules/uniconv/u8-strconv-from-locale: Likewise.
19169         * modules/uniconv/u8-strconv-to-enc: Likewise.
19170         * modules/uniconv/u8-strconv-to-locale: Likewise.
19171         * modules/uniconv/u16-conv-from-enc: Likewise.
19172         * modules/uniconv/u16-conv-to-enc: Likewise.
19173         * modules/uniconv/u16-strconv-from-enc: Likewise.
19174         * modules/uniconv/u16-strconv-from-locale: Likewise.
19175         * modules/uniconv/u16-strconv-to-enc: Likewise.
19176         * modules/uniconv/u16-strconv-to-locale: Likewise.
19177         * modules/uniconv/u32-conv-from-enc: Likewise.
19178         * modules/uniconv/u32-conv-to-enc: Likewise.
19179         * modules/uniconv/u32-strconv-from-enc: Likewise.
19180         * modules/uniconv/u32-strconv-from-locale: Likewise.
19181         * modules/uniconv/u32-strconv-to-enc: Likewise.
19182         * modules/uniconv/u32-strconv-to-locale: Likewise.
19183         * modules/unictype/bidicategory-byname: Likewise.
19184         * modules/unictype/bidicategory-name: Likewise.
19185         * modules/unictype/bidicategory-of: Likewise.
19186         * modules/unictype/bidicategory-test: Likewise.
19187         * modules/unictype/block-list: Likewise.
19188         * modules/unictype/block-test: Likewise.
19189         * modules/unictype/category-C: Likewise.
19190         * modules/unictype/category-Cc: Likewise.
19191         * modules/unictype/category-Cf: Likewise.
19192         * modules/unictype/category-Cn: Likewise.
19193         * modules/unictype/category-Co: Likewise.
19194         * modules/unictype/category-Cs: Likewise.
19195         * modules/unictype/category-L: Likewise.
19196         * modules/unictype/category-Ll: Likewise.
19197         * modules/unictype/category-Lm: Likewise.
19198         * modules/unictype/category-Lo: Likewise.
19199         * modules/unictype/category-Lt: Likewise.
19200         * modules/unictype/category-Lu: Likewise.
19201         * modules/unictype/category-M: Likewise.
19202         * modules/unictype/category-Mc: Likewise.
19203         * modules/unictype/category-Me: Likewise.
19204         * modules/unictype/category-Mn: Likewise.
19205         * modules/unictype/category-N: Likewise.
19206         * modules/unictype/category-Nd: Likewise.
19207         * modules/unictype/category-Nl: Likewise.
19208         * modules/unictype/category-No: Likewise.
19209         * modules/unictype/category-P: Likewise.
19210         * modules/unictype/category-Pc: Likewise.
19211         * modules/unictype/category-Pd: Likewise.
19212         * modules/unictype/category-Pe: Likewise.
19213         * modules/unictype/category-Pf: Likewise.
19214         * modules/unictype/category-Pi: Likewise.
19215         * modules/unictype/category-Po: Likewise.
19216         * modules/unictype/category-Ps: Likewise.
19217         * modules/unictype/category-S: Likewise.
19218         * modules/unictype/category-Sc: Likewise.
19219         * modules/unictype/category-Sk: Likewise.
19220         * modules/unictype/category-Sm: Likewise.
19221         * modules/unictype/category-So: Likewise.
19222         * modules/unictype/category-Z: Likewise.
19223         * modules/unictype/category-Zl: Likewise.
19224         * modules/unictype/category-Zp: Likewise.
19225         * modules/unictype/category-Zs: Likewise.
19226         * modules/unictype/category-and: Likewise.
19227         * modules/unictype/category-and-not: Likewise.
19228         * modules/unictype/category-byname: Likewise.
19229         * modules/unictype/category-name: Likewise.
19230         * modules/unictype/category-none: Likewise.
19231         * modules/unictype/category-of: Likewise.
19232         * modules/unictype/category-or: Likewise.
19233         * modules/unictype/category-test: Likewise.
19234         * modules/unictype/combining-class: Likewise.
19235         * modules/unictype/ctype-alnum: Likewise.
19236         * modules/unictype/ctype-alpha: Likewise.
19237         * modules/unictype/ctype-blank: Likewise.
19238         * modules/unictype/ctype-cntrl: Likewise.
19239         * modules/unictype/ctype-digit: Likewise.
19240         * modules/unictype/ctype-graph: Likewise.
19241         * modules/unictype/ctype-lower: Likewise.
19242         * modules/unictype/ctype-print: Likewise.
19243         * modules/unictype/ctype-punct: Likewise.
19244         * modules/unictype/ctype-space: Likewise.
19245         * modules/unictype/ctype-upper: Likewise.
19246         * modules/unictype/ctype-xdigit: Likewise.
19247         * modules/unictype/decimal-digit: Likewise.
19248         * modules/unictype/digit: Likewise.
19249         * modules/unictype/mirror: Likewise.
19250         * modules/unictype/numeric: Likewise.
19251         * modules/unictype/property-alphabetic: Likewise.
19252         * modules/unictype/property-ascii-hex-digit: Likewise.
19253         * modules/unictype/property-bidi-arabic-digit: Likewise.
19254         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
19255         * modules/unictype/property-bidi-block-separator: Likewise.
19256         * modules/unictype/property-bidi-boundary-neutral: Likewise.
19257         * modules/unictype/property-bidi-common-separator: Likewise.
19258         * modules/unictype/property-bidi-control: Likewise.
19259         * modules/unictype/property-bidi-embedding-or-override: Likewise.
19260         * modules/unictype/property-bidi-eur-num-separator: Likewise.
19261         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
19262         * modules/unictype/property-bidi-european-digit: Likewise.
19263         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
19264         * modules/unictype/property-bidi-left-to-right: Likewise.
19265         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
19266         * modules/unictype/property-bidi-other-neutral: Likewise.
19267         * modules/unictype/property-bidi-pdf: Likewise.
19268         * modules/unictype/property-bidi-segment-separator: Likewise.
19269         * modules/unictype/property-bidi-whitespace: Likewise.
19270         * modules/unictype/property-byname: Likewise.
19271         * modules/unictype/property-combining: Likewise.
19272         * modules/unictype/property-composite: Likewise.
19273         * modules/unictype/property-currency-symbol: Likewise.
19274         * modules/unictype/property-dash: Likewise.
19275         * modules/unictype/property-decimal-digit: Likewise.
19276         * modules/unictype/property-default-ignorable-code-point: Likewise.
19277         * modules/unictype/property-deprecated: Likewise.
19278         * modules/unictype/property-diacritic: Likewise.
19279         * modules/unictype/property-extender: Likewise.
19280         * modules/unictype/property-format-control: Likewise.
19281         * modules/unictype/property-grapheme-base: Likewise.
19282         * modules/unictype/property-grapheme-extend: Likewise.
19283         * modules/unictype/property-grapheme-link: Likewise.
19284         * modules/unictype/property-hex-digit: Likewise.
19285         * modules/unictype/property-hyphen: Likewise.
19286         * modules/unictype/property-id-continue: Likewise.
19287         * modules/unictype/property-id-start: Likewise.
19288         * modules/unictype/property-ideographic: Likewise.
19289         * modules/unictype/property-ids-binary-operator: Likewise.
19290         * modules/unictype/property-ids-trinary-operator: Likewise.
19291         * modules/unictype/property-ignorable-control: Likewise.
19292         * modules/unictype/property-iso-control: Likewise.
19293         * modules/unictype/property-join-control: Likewise.
19294         * modules/unictype/property-left-of-pair: Likewise.
19295         * modules/unictype/property-line-separator: Likewise.
19296         * modules/unictype/property-logical-order-exception: Likewise.
19297         * modules/unictype/property-lowercase: Likewise.
19298         * modules/unictype/property-math: Likewise.
19299         * modules/unictype/property-non-break: Likewise.
19300         * modules/unictype/property-not-a-character: Likewise.
19301         * modules/unictype/property-numeric: Likewise.
19302         * modules/unictype/property-other-alphabetic: Likewise.
19303         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
19304         * modules/unictype/property-other-grapheme-extend: Likewise.
19305         * modules/unictype/property-other-id-continue: Likewise.
19306         * modules/unictype/property-other-id-start: Likewise.
19307         * modules/unictype/property-other-lowercase: Likewise.
19308         * modules/unictype/property-other-math: Likewise.
19309         * modules/unictype/property-other-uppercase: Likewise.
19310         * modules/unictype/property-paired-punctuation: Likewise.
19311         * modules/unictype/property-paragraph-separator: Likewise.
19312         * modules/unictype/property-pattern-syntax: Likewise.
19313         * modules/unictype/property-pattern-white-space: Likewise.
19314         * modules/unictype/property-private-use: Likewise.
19315         * modules/unictype/property-punctuation: Likewise.
19316         * modules/unictype/property-quotation-mark: Likewise.
19317         * modules/unictype/property-radical: Likewise.
19318         * modules/unictype/property-sentence-terminal: Likewise.
19319         * modules/unictype/property-soft-dotted: Likewise.
19320         * modules/unictype/property-space: Likewise.
19321         * modules/unictype/property-terminal-punctuation: Likewise.
19322         * modules/unictype/property-test: Likewise.
19323         * modules/unictype/property-titlecase: Likewise.
19324         * modules/unictype/property-unassigned-code-value: Likewise.
19325         * modules/unictype/property-unified-ideograph: Likewise.
19326         * modules/unictype/property-uppercase: Likewise.
19327         * modules/unictype/property-variation-selector: Likewise.
19328         * modules/unictype/property-white-space: Likewise.
19329         * modules/unictype/property-xid-continue: Likewise.
19330         * modules/unictype/property-xid-start: Likewise.
19331         * modules/unictype/property-zero-width: Likewise.
19332         * modules/unictype/scripts: Likewise.
19333         * modules/unictype/syntax-c-ident: Likewise.
19334         * modules/unictype/syntax-c-whitespace: Likewise.
19335         * modules/unictype/syntax-java-ident: Likewise.
19336         * modules/unictype/syntax-java-whitespace: Likewise.
19337         * modules/unilbrk/u8-possible-linebreaks: Likewise.
19338         * modules/unilbrk/u8-width-linebreaks: Likewise.
19339         * modules/unilbrk/u16-possible-linebreaks: Likewise.
19340         * modules/unilbrk/u16-width-linebreaks: Likewise.
19341         * modules/unilbrk/u32-possible-linebreaks: Likewise.
19342         * modules/unilbrk/u32-width-linebreaks: Likewise.
19343         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
19344         * modules/unilbrk/ulc-width-linebreaks: Likewise.
19345         * modules/uniname/uniname: Likewise.
19346         * modules/uninorm/canonical-decomposition: Likewise.
19347         * modules/uninorm/composition: Likewise.
19348         * modules/uninorm/decomposing-form: Likewise.
19349         * modules/uninorm/decomposition: Likewise.
19350         * modules/uninorm/filter: Likewise.
19351         * modules/uninorm/nfc: Likewise.
19352         * modules/uninorm/nfd: Likewise.
19353         * modules/uninorm/nfkc: Likewise.
19354         * modules/uninorm/nfkd: Likewise.
19355         * modules/uninorm/u8-normalize: Likewise.
19356         * modules/uninorm/u8-normcmp: Likewise.
19357         * modules/uninorm/u8-normcoll: Likewise.
19358         * modules/uninorm/u8-normxfrm: Likewise.
19359         * modules/uninorm/u16-normalize: Likewise.
19360         * modules/uninorm/u16-normcmp: Likewise.
19361         * modules/uninorm/u16-normcoll: Likewise.
19362         * modules/uninorm/u16-normxfrm: Likewise.
19363         * modules/uninorm/u32-normalize: Likewise.
19364         * modules/uninorm/u32-normcmp: Likewise.
19365         * modules/uninorm/u32-normcoll: Likewise.
19366         * modules/uninorm/u32-normxfrm: Likewise.
19367         * modules/unistdio/u8-asnprintf: Likewise.
19368         * modules/unistdio/u8-asprintf: Likewise.
19369         * modules/unistdio/u8-snprintf: Likewise.
19370         * modules/unistdio/u8-sprintf: Likewise.
19371         * modules/unistdio/u8-u8-asnprintf: Likewise.
19372         * modules/unistdio/u8-u8-asprintf: Likewise.
19373         * modules/unistdio/u8-u8-snprintf: Likewise.
19374         * modules/unistdio/u8-u8-sprintf: Likewise.
19375         * modules/unistdio/u8-u8-vasnprintf: Likewise.
19376         * modules/unistdio/u8-u8-vasprintf: Likewise.
19377         * modules/unistdio/u8-u8-vsnprintf: Likewise.
19378         * modules/unistdio/u8-u8-vsprintf: Likewise.
19379         * modules/unistdio/u8-vasnprintf: Likewise.
19380         * modules/unistdio/u8-vasprintf: Likewise.
19381         * modules/unistdio/u8-vsnprintf: Likewise.
19382         * modules/unistdio/u8-vsprintf: Likewise.
19383         * modules/unistdio/u16-asnprintf: Likewise.
19384         * modules/unistdio/u16-asprintf: Likewise.
19385         * modules/unistdio/u16-snprintf: Likewise.
19386         * modules/unistdio/u16-sprintf: Likewise.
19387         * modules/unistdio/u16-u16-asnprintf: Likewise.
19388         * modules/unistdio/u16-u16-asprintf: Likewise.
19389         * modules/unistdio/u16-u16-snprintf: Likewise.
19390         * modules/unistdio/u16-u16-sprintf: Likewise.
19391         * modules/unistdio/u16-u16-vasnprintf: Likewise.
19392         * modules/unistdio/u16-u16-vasprintf: Likewise.
19393         * modules/unistdio/u16-u16-vsnprintf: Likewise.
19394         * modules/unistdio/u16-u16-vsprintf: Likewise.
19395         * modules/unistdio/u16-vasnprintf: Likewise.
19396         * modules/unistdio/u16-vasprintf: Likewise.
19397         * modules/unistdio/u16-vsnprintf: Likewise.
19398         * modules/unistdio/u16-vsprintf: Likewise.
19399         * modules/unistdio/u32-asnprintf: Likewise.
19400         * modules/unistdio/u32-asprintf: Likewise.
19401         * modules/unistdio/u32-snprintf: Likewise.
19402         * modules/unistdio/u32-sprintf: Likewise.
19403         * modules/unistdio/u32-u32-asnprintf: Likewise.
19404         * modules/unistdio/u32-u32-asprintf: Likewise.
19405         * modules/unistdio/u32-u32-snprintf: Likewise.
19406         * modules/unistdio/u32-u32-sprintf: Likewise.
19407         * modules/unistdio/u32-u32-vasnprintf: Likewise.
19408         * modules/unistdio/u32-u32-vasprintf: Likewise.
19409         * modules/unistdio/u32-u32-vsnprintf: Likewise.
19410         * modules/unistdio/u32-u32-vsprintf: Likewise.
19411         * modules/unistdio/u32-vasnprintf: Likewise.
19412         * modules/unistdio/u32-vasprintf: Likewise.
19413         * modules/unistdio/u32-vsnprintf: Likewise.
19414         * modules/unistdio/u32-vsprintf: Likewise.
19415         * modules/unistdio/ulc-asnprintf: Likewise.
19416         * modules/unistdio/ulc-asprintf: Likewise.
19417         * modules/unistdio/ulc-fprintf: Likewise.
19418         * modules/unistdio/ulc-snprintf: Likewise.
19419         * modules/unistdio/ulc-sprintf: Likewise.
19420         * modules/unistdio/ulc-vasnprintf: Likewise.
19421         * modules/unistdio/ulc-vasprintf: Likewise.
19422         * modules/unistdio/ulc-vfprintf: Likewise.
19423         * modules/unistdio/ulc-vsnprintf: Likewise.
19424         * modules/unistdio/ulc-vsprintf: Likewise.
19425         * modules/unistr/u8-check: Likewise.
19426         * modules/unistr/u8-chr: Likewise.
19427         * modules/unistr/u8-cmp: Likewise.
19428         * modules/unistr/u8-cmp2: Likewise.
19429         * modules/unistr/u8-cpy: Likewise.
19430         * modules/unistr/u8-cpy-alloc: Likewise.
19431         * modules/unistr/u8-endswith: Likewise.
19432         * modules/unistr/u8-mblen: Likewise.
19433         * modules/unistr/u8-mbsnlen: Likewise.
19434         * modules/unistr/u8-mbtouc: Likewise.
19435         * modules/unistr/u8-mbtouc-unsafe: Likewise.
19436         * modules/unistr/u8-mbtoucr: Likewise.
19437         * modules/unistr/u8-move: Likewise.
19438         * modules/unistr/u8-next: Likewise.
19439         * modules/unistr/u8-prev: Likewise.
19440         * modules/unistr/u8-set: Likewise.
19441         * modules/unistr/u8-startswith: Likewise.
19442         * modules/unistr/u8-stpcpy: Likewise.
19443         * modules/unistr/u8-stpncpy: Likewise.
19444         * modules/unistr/u8-strcat: Likewise.
19445         * modules/unistr/u8-strchr: Likewise.
19446         * modules/unistr/u8-strcmp: Likewise.
19447         * modules/unistr/u8-strcoll: Likewise.
19448         * modules/unistr/u8-strcpy: Likewise.
19449         * modules/unistr/u8-strcspn: Likewise.
19450         * modules/unistr/u8-strdup: Likewise.
19451         * modules/unistr/u8-strlen: Likewise.
19452         * modules/unistr/u8-strmblen: Likewise.
19453         * modules/unistr/u8-strmbtouc: Likewise.
19454         * modules/unistr/u8-strncat: Likewise.
19455         * modules/unistr/u8-strncmp: Likewise.
19456         * modules/unistr/u8-strncpy: Likewise.
19457         * modules/unistr/u8-strnlen: Likewise.
19458         * modules/unistr/u8-strpbrk: Likewise.
19459         * modules/unistr/u8-strrchr: Likewise.
19460         * modules/unistr/u8-strspn: Likewise.
19461         * modules/unistr/u8-strstr: Likewise.
19462         * modules/unistr/u8-strtok: Likewise.
19463         * modules/unistr/u8-to-u16: Likewise.
19464         * modules/unistr/u8-to-u32: Likewise.
19465         * modules/unistr/u8-uctomb: Likewise.
19466         * modules/unistr/u16-check: Likewise.
19467         * modules/unistr/u16-chr: Likewise.
19468         * modules/unistr/u16-cmp: Likewise.
19469         * modules/unistr/u16-cmp2: Likewise.
19470         * modules/unistr/u16-cpy: Likewise.
19471         * modules/unistr/u16-cpy-alloc: Likewise.
19472         * modules/unistr/u16-endswith: Likewise.
19473         * modules/unistr/u16-mblen: Likewise.
19474         * modules/unistr/u16-mbsnlen: Likewise.
19475         * modules/unistr/u16-mbtouc: Likewise.
19476         * modules/unistr/u16-mbtouc-unsafe: Likewise.
19477         * modules/unistr/u16-mbtoucr: Likewise.
19478         * modules/unistr/u16-move: Likewise.
19479         * modules/unistr/u16-next: Likewise.
19480         * modules/unistr/u16-prev: Likewise.
19481         * modules/unistr/u16-set: Likewise.
19482         * modules/unistr/u16-startswith: Likewise.
19483         * modules/unistr/u16-stpcpy: Likewise.
19484         * modules/unistr/u16-stpncpy: Likewise.
19485         * modules/unistr/u16-strcat: Likewise.
19486         * modules/unistr/u16-strchr: Likewise.
19487         * modules/unistr/u16-strcmp: Likewise.
19488         * modules/unistr/u16-strcoll: Likewise.
19489         * modules/unistr/u16-strcpy: Likewise.
19490         * modules/unistr/u16-strcspn: Likewise.
19491         * modules/unistr/u16-strdup: Likewise.
19492         * modules/unistr/u16-strlen: Likewise.
19493         * modules/unistr/u16-strmblen: Likewise.
19494         * modules/unistr/u16-strmbtouc: Likewise.
19495         * modules/unistr/u16-strncat: Likewise.
19496         * modules/unistr/u16-strncmp: Likewise.
19497         * modules/unistr/u16-strncpy: Likewise.
19498         * modules/unistr/u16-strnlen: Likewise.
19499         * modules/unistr/u16-strpbrk: Likewise.
19500         * modules/unistr/u16-strrchr: Likewise.
19501         * modules/unistr/u16-strspn: Likewise.
19502         * modules/unistr/u16-strstr: Likewise.
19503         * modules/unistr/u16-strtok: Likewise.
19504         * modules/unistr/u16-to-u32: Likewise.
19505         * modules/unistr/u16-to-u8: Likewise.
19506         * modules/unistr/u16-uctomb: Likewise.
19507         * modules/unistr/u32-check: Likewise.
19508         * modules/unistr/u32-chr: Likewise.
19509         * modules/unistr/u32-cmp: Likewise.
19510         * modules/unistr/u32-cmp2: Likewise.
19511         * modules/unistr/u32-cpy: Likewise.
19512         * modules/unistr/u32-cpy-alloc: Likewise.
19513         * modules/unistr/u32-endswith: Likewise.
19514         * modules/unistr/u32-mblen: Likewise.
19515         * modules/unistr/u32-mbsnlen: Likewise.
19516         * modules/unistr/u32-mbtouc: Likewise.
19517         * modules/unistr/u32-mbtouc-unsafe: Likewise.
19518         * modules/unistr/u32-mbtoucr: Likewise.
19519         * modules/unistr/u32-move: Likewise.
19520         * modules/unistr/u32-next: Likewise.
19521         * modules/unistr/u32-prev: Likewise.
19522         * modules/unistr/u32-set: Likewise.
19523         * modules/unistr/u32-startswith: Likewise.
19524         * modules/unistr/u32-stpcpy: Likewise.
19525         * modules/unistr/u32-stpncpy: Likewise.
19526         * modules/unistr/u32-strcat: Likewise.
19527         * modules/unistr/u32-strchr: Likewise.
19528         * modules/unistr/u32-strcmp: Likewise.
19529         * modules/unistr/u32-strcoll: Likewise.
19530         * modules/unistr/u32-strcpy: Likewise.
19531         * modules/unistr/u32-strcspn: Likewise.
19532         * modules/unistr/u32-strdup: Likewise.
19533         * modules/unistr/u32-strlen: Likewise.
19534         * modules/unistr/u32-strmblen: Likewise.
19535         * modules/unistr/u32-strmbtouc: Likewise.
19536         * modules/unistr/u32-strncat: Likewise.
19537         * modules/unistr/u32-strncmp: Likewise.
19538         * modules/unistr/u32-strncpy: Likewise.
19539         * modules/unistr/u32-strnlen: Likewise.
19540         * modules/unistr/u32-strpbrk: Likewise.
19541         * modules/unistr/u32-strrchr: Likewise.
19542         * modules/unistr/u32-strspn: Likewise.
19543         * modules/unistr/u32-strstr: Likewise.
19544         * modules/unistr/u32-strtok: Likewise.
19545         * modules/unistr/u32-to-u16: Likewise.
19546         * modules/unistr/u32-to-u8: Likewise.
19547         * modules/unistr/u32-uctomb: Likewise.
19548         * modules/uniwbrk/u8-wordbreaks: Likewise.
19549         * modules/uniwbrk/u16-wordbreaks: Likewise.
19550         * modules/uniwbrk/u32-wordbreaks: Likewise.
19551         * modules/uniwbrk/ulc-wordbreaks: Likewise.
19552         * modules/uniwbrk/wordbreak-property: Likewise.
19553         * modules/uniwidth/u8-strwidth: Likewise.
19554         * modules/uniwidth/u8-width: Likewise.
19555         * modules/uniwidth/u16-strwidth: Likewise.
19556         * modules/uniwidth/u16-width: Likewise.
19557         * modules/uniwidth/u32-strwidth: Likewise.
19558         * modules/uniwidth/u32-width: Likewise.
19559         * modules/uniwidth/width: Likewise.
19560         * modules/unicase/cased-tests (Makefile.am): Link all test programs
19561         with $(LIBUNISTRING).
19562         * modules/unicase/ignorable-tests: Likewise.
19563         * modules/unicase/locale-language-tests: Likewise.
19564         * modules/unicase/tolower-tests: Likewise.
19565         * modules/unicase/totitle-tests: Likewise.
19566         * modules/unicase/toupper-tests: Likewise.
19567         * modules/unicase/u8-casecmp-tests: Likewise.
19568         * modules/unicase/u8-casecoll-tests: Likewise.
19569         * modules/unicase/u8-casefold-tests: Likewise.
19570         * modules/unicase/u8-is-cased-tests: Likewise.
19571         * modules/unicase/u8-is-casefolded-tests: Likewise.
19572         * modules/unicase/u8-is-lowercase-tests: Likewise.
19573         * modules/unicase/u8-is-titlecase-tests: Likewise.
19574         * modules/unicase/u8-is-uppercase-tests: Likewise.
19575         * modules/unicase/u8-tolower-tests: Likewise.
19576         * modules/unicase/u8-totitle-tests: Likewise.
19577         * modules/unicase/u8-toupper-tests: Likewise.
19578         * modules/unicase/u16-casecmp-tests: Likewise.
19579         * modules/unicase/u16-casecoll-tests: Likewise.
19580         * modules/unicase/u16-casefold-tests: Likewise.
19581         * modules/unicase/u16-is-cased-tests: Likewise.
19582         * modules/unicase/u16-is-casefolded-tests: Likewise.
19583         * modules/unicase/u16-is-lowercase-tests: Likewise.
19584         * modules/unicase/u16-is-titlecase-tests: Likewise.
19585         * modules/unicase/u16-is-uppercase-tests: Likewise.
19586         * modules/unicase/u16-tolower-tests: Likewise.
19587         * modules/unicase/u16-totitle-tests: Likewise.
19588         * modules/unicase/u16-toupper-tests: Likewise.
19589         * modules/unicase/u32-casecmp-tests: Likewise.
19590         * modules/unicase/u32-casecoll-tests: Likewise.
19591         * modules/unicase/u32-casefold-tests: Likewise.
19592         * modules/unicase/u32-is-cased-tests: Likewise.
19593         * modules/unicase/u32-is-casefolded-tests: Likewise.
19594         * modules/unicase/u32-is-lowercase-tests: Likewise.
19595         * modules/unicase/u32-is-titlecase-tests: Likewise.
19596         * modules/unicase/u32-is-uppercase-tests: Likewise.
19597         * modules/unicase/u32-tolower-tests: Likewise.
19598         * modules/unicase/u32-totitle-tests: Likewise.
19599         * modules/unicase/u32-toupper-tests: Likewise.
19600         * modules/unicase/ulc-casecmp-tests: Likewise.
19601         * modules/unicase/ulc-casecoll-tests: Likewise.
19602         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
19603         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
19604         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
19605         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
19606         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
19607         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
19608         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
19609         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
19610         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
19611         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
19612         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
19613         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
19614         * modules/unictype/bidicategory-byname-tests: Likewise.
19615         * modules/unictype/bidicategory-name-tests: Likewise.
19616         * modules/unictype/bidicategory-of-tests: Likewise.
19617         * modules/unictype/bidicategory-test-tests: Likewise.
19618         * modules/unictype/block-list-tests: Likewise.
19619         * modules/unictype/block-of-tests: Likewise.
19620         * modules/unictype/block-test-tests: Likewise.
19621         * modules/unictype/category-C-tests: Likewise.
19622         * modules/unictype/category-Cc-tests: Likewise.
19623         * modules/unictype/category-Cf-tests: Likewise.
19624         * modules/unictype/category-Cn-tests: Likewise.
19625         * modules/unictype/category-Co-tests: Likewise.
19626         * modules/unictype/category-Cs-tests: Likewise.
19627         * modules/unictype/category-L-tests: Likewise.
19628         * modules/unictype/category-Ll-tests: Likewise.
19629         * modules/unictype/category-Lm-tests: Likewise.
19630         * modules/unictype/category-Lo-tests: Likewise.
19631         * modules/unictype/category-Lt-tests: Likewise.
19632         * modules/unictype/category-Lu-tests: Likewise.
19633         * modules/unictype/category-M-tests: Likewise.
19634         * modules/unictype/category-Mc-tests: Likewise.
19635         * modules/unictype/category-Me-tests: Likewise.
19636         * modules/unictype/category-Mn-tests: Likewise.
19637         * modules/unictype/category-N-tests: Likewise.
19638         * modules/unictype/category-Nd-tests: Likewise.
19639         * modules/unictype/category-Nl-tests: Likewise.
19640         * modules/unictype/category-No-tests: Likewise.
19641         * modules/unictype/category-P-tests: Likewise.
19642         * modules/unictype/category-Pc-tests: Likewise.
19643         * modules/unictype/category-Pd-tests: Likewise.
19644         * modules/unictype/category-Pe-tests: Likewise.
19645         * modules/unictype/category-Pf-tests: Likewise.
19646         * modules/unictype/category-Pi-tests: Likewise.
19647         * modules/unictype/category-Po-tests: Likewise.
19648         * modules/unictype/category-Ps-tests: Likewise.
19649         * modules/unictype/category-S-tests: Likewise.
19650         * modules/unictype/category-Sc-tests: Likewise.
19651         * modules/unictype/category-Sk-tests: Likewise.
19652         * modules/unictype/category-Sm-tests: Likewise.
19653         * modules/unictype/category-So-tests: Likewise.
19654         * modules/unictype/category-Z-tests: Likewise.
19655         * modules/unictype/category-Zl-tests: Likewise.
19656         * modules/unictype/category-Zp-tests: Likewise.
19657         * modules/unictype/category-Zs-tests: Likewise.
19658         * modules/unictype/category-and-not-tests: Likewise.
19659         * modules/unictype/category-and-tests: Likewise.
19660         * modules/unictype/category-byname-tests: Likewise.
19661         * modules/unictype/category-name-tests: Likewise.
19662         * modules/unictype/category-none-tests: Likewise.
19663         * modules/unictype/category-of-tests: Likewise.
19664         * modules/unictype/category-or-tests: Likewise.
19665         * modules/unictype/category-test-withtable-tests: Likewise.
19666         * modules/unictype/combining-class-tests: Likewise.
19667         * modules/unictype/ctype-alnum-tests: Likewise.
19668         * modules/unictype/ctype-alpha-tests: Likewise.
19669         * modules/unictype/ctype-blank-tests: Likewise.
19670         * modules/unictype/ctype-cntrl-tests: Likewise.
19671         * modules/unictype/ctype-digit-tests: Likewise.
19672         * modules/unictype/ctype-graph-tests: Likewise.
19673         * modules/unictype/ctype-lower-tests: Likewise.
19674         * modules/unictype/ctype-print-tests: Likewise.
19675         * modules/unictype/ctype-punct-tests: Likewise.
19676         * modules/unictype/ctype-space-tests: Likewise.
19677         * modules/unictype/ctype-upper-tests: Likewise.
19678         * modules/unictype/ctype-xdigit-tests: Likewise.
19679         * modules/unictype/decimal-digit-tests: Likewise.
19680         * modules/unictype/digit-tests: Likewise.
19681         * modules/unictype/mirror-tests: Likewise.
19682         * modules/unictype/numeric-tests: Likewise.
19683         * modules/unictype/property-alphabetic-tests: Likewise.
19684         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
19685         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
19686         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
19687         * modules/unictype/property-bidi-block-separator-tests: Likewise.
19688         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
19689         * modules/unictype/property-bidi-common-separator-tests: Likewise.
19690         * modules/unictype/property-bidi-control-tests: Likewise.
19691         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
19692         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
19693         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
19694         * modules/unictype/property-bidi-european-digit-tests: Likewise.
19695         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
19696         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
19697         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
19698         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
19699         * modules/unictype/property-bidi-pdf-tests: Likewise.
19700         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
19701         * modules/unictype/property-bidi-whitespace-tests: Likewise.
19702         * modules/unictype/property-byname-tests: Likewise.
19703         * modules/unictype/property-combining-tests: Likewise.
19704         * modules/unictype/property-composite-tests: Likewise.
19705         * modules/unictype/property-currency-symbol-tests: Likewise.
19706         * modules/unictype/property-dash-tests: Likewise.
19707         * modules/unictype/property-decimal-digit-tests: Likewise.
19708         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
19709         * modules/unictype/property-deprecated-tests: Likewise.
19710         * modules/unictype/property-diacritic-tests: Likewise.
19711         * modules/unictype/property-extender-tests: Likewise.
19712         * modules/unictype/property-format-control-tests: Likewise.
19713         * modules/unictype/property-grapheme-base-tests: Likewise.
19714         * modules/unictype/property-grapheme-extend-tests: Likewise.
19715         * modules/unictype/property-grapheme-link-tests: Likewise.
19716         * modules/unictype/property-hex-digit-tests: Likewise.
19717         * modules/unictype/property-hyphen-tests: Likewise.
19718         * modules/unictype/property-id-continue-tests: Likewise.
19719         * modules/unictype/property-id-start-tests: Likewise.
19720         * modules/unictype/property-ideographic-tests: Likewise.
19721         * modules/unictype/property-ids-binary-operator-tests: Likewise.
19722         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
19723         * modules/unictype/property-ignorable-control-tests: Likewise.
19724         * modules/unictype/property-iso-control-tests: Likewise.
19725         * modules/unictype/property-join-control-tests: Likewise.
19726         * modules/unictype/property-left-of-pair-tests: Likewise.
19727         * modules/unictype/property-line-separator-tests: Likewise.
19728         * modules/unictype/property-logical-order-exception-tests: Likewise.
19729         * modules/unictype/property-lowercase-tests: Likewise.
19730         * modules/unictype/property-math-tests: Likewise.
19731         * modules/unictype/property-non-break-tests: Likewise.
19732         * modules/unictype/property-not-a-character-tests: Likewise.
19733         * modules/unictype/property-numeric-tests: Likewise.
19734         * modules/unictype/property-other-alphabetic-tests: Likewise.
19735         * modules/unictype/property-other-default-ignorable-code-point-tests:
19736         Likewise.
19737         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
19738         * modules/unictype/property-other-id-continue-tests: Likewise.
19739         * modules/unictype/property-other-id-start-tests: Likewise.
19740         * modules/unictype/property-other-lowercase-tests: Likewise.
19741         * modules/unictype/property-other-math-tests: Likewise.
19742         * modules/unictype/property-other-uppercase-tests: Likewise.
19743         * modules/unictype/property-paired-punctuation-tests: Likewise.
19744         * modules/unictype/property-paragraph-separator-tests: Likewise.
19745         * modules/unictype/property-pattern-syntax-tests: Likewise.
19746         * modules/unictype/property-pattern-white-space-tests: Likewise.
19747         * modules/unictype/property-private-use-tests: Likewise.
19748         * modules/unictype/property-punctuation-tests: Likewise.
19749         * modules/unictype/property-quotation-mark-tests: Likewise.
19750         * modules/unictype/property-radical-tests: Likewise.
19751         * modules/unictype/property-sentence-terminal-tests: Likewise.
19752         * modules/unictype/property-soft-dotted-tests: Likewise.
19753         * modules/unictype/property-space-tests: Likewise.
19754         * modules/unictype/property-terminal-punctuation-tests: Likewise.
19755         * modules/unictype/property-test-tests: Likewise.
19756         * modules/unictype/property-titlecase-tests: Likewise.
19757         * modules/unictype/property-unassigned-code-value-tests: Likewise.
19758         * modules/unictype/property-unified-ideograph-tests: Likewise.
19759         * modules/unictype/property-uppercase-tests: Likewise.
19760         * modules/unictype/property-variation-selector-tests: Likewise.
19761         * modules/unictype/property-white-space-tests: Likewise.
19762         * modules/unictype/property-xid-continue-tests: Likewise.
19763         * modules/unictype/property-xid-start-tests: Likewise.
19764         * modules/unictype/property-zero-width-tests: Likewise.
19765         * modules/unictype/scripts-tests: Likewise.
19766         * modules/unictype/syntax-c-ident-tests: Likewise.
19767         * modules/unictype/syntax-c-whitespace-tests: Likewise.
19768         * modules/unictype/syntax-java-ident-tests: Likewise.
19769         * modules/unictype/syntax-java-whitespace-tests: Likewise.
19770         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
19771         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
19772         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
19773         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
19774         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
19775         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
19776         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
19777         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
19778         * modules/uniname/uniname-tests: Likewise.
19779         * modules/uninorm/canonical-decomposition-tests: Likewise.
19780         * modules/uninorm/compat-decomposition-tests: Likewise.
19781         * modules/uninorm/composition-tests: Likewise.
19782         * modules/uninorm/decomposing-form-tests: Likewise.
19783         * modules/uninorm/decomposition-tests: Likewise.
19784         * modules/uninorm/filter-tests: Likewise.
19785         * modules/uninorm/nfc-tests: Likewise.
19786         * modules/uninorm/nfd-tests: Likewise.
19787         * modules/uninorm/nfkc-tests: Likewise.
19788         * modules/uninorm/nfkd-tests: Likewise.
19789         * modules/uninorm/u8-normcmp-tests: Likewise.
19790         * modules/uninorm/u8-normcoll-tests: Likewise.
19791         * modules/uninorm/u16-normcmp-tests: Likewise.
19792         * modules/uninorm/u16-normcoll-tests: Likewise.
19793         * modules/uninorm/u32-normcmp-tests: Likewise.
19794         * modules/uninorm/u32-normcoll-tests: Likewise.
19795         * modules/unistdio/u8-asnprintf-tests: Likewise.
19796         * modules/unistdio/u8-vasnprintf-tests: Likewise.
19797         * modules/unistdio/u8-vasprintf-tests: Likewise.
19798         * modules/unistdio/u8-vsnprintf-tests: Likewise.
19799         * modules/unistdio/u8-vsprintf-tests: Likewise.
19800         * modules/unistdio/u16-asnprintf-tests: Likewise.
19801         * modules/unistdio/u16-vasnprintf-tests: Likewise.
19802         * modules/unistdio/u16-vasprintf-tests: Likewise.
19803         * modules/unistdio/u16-vsnprintf-tests: Likewise.
19804         * modules/unistdio/u16-vsprintf-tests: Likewise.
19805         * modules/unistdio/u32-asnprintf-tests: Likewise.
19806         * modules/unistdio/u32-vasnprintf-tests: Likewise.
19807         * modules/unistdio/u32-vasprintf-tests: Likewise.
19808         * modules/unistdio/u32-vsnprintf-tests: Likewise.
19809         * modules/unistdio/u32-vsprintf-tests: Likewise.
19810         * modules/unistdio/ulc-asnprintf-tests: Likewise.
19811         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
19812         * modules/unistdio/ulc-vasprintf-tests: Likewise.
19813         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
19814         * modules/unistdio/ulc-vsprintf-tests: Likewise.
19815         * modules/unistr/u8-check-tests: Likewise.
19816         * modules/unistr/u8-chr-tests: Likewise.
19817         * modules/unistr/u8-cmp-tests: Likewise.
19818         * modules/unistr/u8-cmp2-tests: Likewise.
19819         * modules/unistr/u8-cpy-alloc-tests: Likewise.
19820         * modules/unistr/u8-cpy-tests: Likewise.
19821         * modules/unistr/u8-mblen-tests: Likewise.
19822         * modules/unistr/u8-mbsnlen-tests: Likewise.
19823         * modules/unistr/u8-mbtouc-tests: Likewise.
19824         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
19825         * modules/unistr/u8-mbtoucr-tests: Likewise.
19826         * modules/unistr/u8-move-tests: Likewise.
19827         * modules/unistr/u8-next-tests: Likewise.
19828         * modules/unistr/u8-prev-tests: Likewise.
19829         * modules/unistr/u8-set-tests: Likewise.
19830         * modules/unistr/u8-stpcpy-tests: Likewise.
19831         * modules/unistr/u8-stpncpy-tests: Likewise.
19832         * modules/unistr/u8-strcat-tests: Likewise.
19833         * modules/unistr/u8-strcmp-tests: Likewise.
19834         * modules/unistr/u8-strcoll-tests: Likewise.
19835         * modules/unistr/u8-strcpy-tests: Likewise.
19836         * modules/unistr/u8-strdup-tests: Likewise.
19837         * modules/unistr/u8-strlen-tests: Likewise.
19838         * modules/unistr/u8-strmblen-tests: Likewise.
19839         * modules/unistr/u8-strmbtouc-tests: Likewise.
19840         * modules/unistr/u8-strncat-tests: Likewise.
19841         * modules/unistr/u8-strncmp-tests: Likewise.
19842         * modules/unistr/u8-strncpy-tests: Likewise.
19843         * modules/unistr/u8-strnlen-tests: Likewise.
19844         * modules/unistr/u8-to-u16-tests: Likewise.
19845         * modules/unistr/u8-to-u32-tests: Likewise.
19846         * modules/unistr/u8-uctomb-tests: Likewise.
19847         * modules/unistr/u16-check-tests: Likewise.
19848         * modules/unistr/u16-chr-tests: Likewise.
19849         * modules/unistr/u16-cmp-tests: Likewise.
19850         * modules/unistr/u16-cmp2-tests: Likewise.
19851         * modules/unistr/u16-cpy-alloc-tests: Likewise.
19852         * modules/unistr/u16-cpy-tests: Likewise.
19853         * modules/unistr/u16-mblen-tests: Likewise.
19854         * modules/unistr/u16-mbsnlen-tests: Likewise.
19855         * modules/unistr/u16-mbtouc-tests: Likewise.
19856         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
19857         * modules/unistr/u16-mbtoucr-tests: Likewise.
19858         * modules/unistr/u16-move-tests: Likewise.
19859         * modules/unistr/u16-next-tests: Likewise.
19860         * modules/unistr/u16-prev-tests: Likewise.
19861         * modules/unistr/u16-set-tests: Likewise.
19862         * modules/unistr/u16-stpcpy-tests: Likewise.
19863         * modules/unistr/u16-stpncpy-tests: Likewise.
19864         * modules/unistr/u16-strcat-tests: Likewise.
19865         * modules/unistr/u16-strcmp-tests: Likewise.
19866         * modules/unistr/u16-strcoll-tests: Likewise.
19867         * modules/unistr/u16-strcpy-tests: Likewise.
19868         * modules/unistr/u16-strdup-tests: Likewise.
19869         * modules/unistr/u16-strlen-tests: Likewise.
19870         * modules/unistr/u16-strmblen-tests: Likewise.
19871         * modules/unistr/u16-strmbtouc-tests: Likewise.
19872         * modules/unistr/u16-strncat-tests: Likewise.
19873         * modules/unistr/u16-strncmp-tests: Likewise.
19874         * modules/unistr/u16-strncpy-tests: Likewise.
19875         * modules/unistr/u16-strnlen-tests: Likewise.
19876         * modules/unistr/u16-to-u32-tests: Likewise.
19877         * modules/unistr/u16-to-u8-tests: Likewise.
19878         * modules/unistr/u16-uctomb-tests: Likewise.
19879         * modules/unistr/u32-check-tests: Likewise.
19880         * modules/unistr/u32-chr-tests: Likewise.
19881         * modules/unistr/u32-cmp-tests: Likewise.
19882         * modules/unistr/u32-cmp2-tests: Likewise.
19883         * modules/unistr/u32-cpy-alloc-tests: Likewise.
19884         * modules/unistr/u32-cpy-tests: Likewise.
19885         * modules/unistr/u32-mblen-tests: Likewise.
19886         * modules/unistr/u32-mbsnlen-tests: Likewise.
19887         * modules/unistr/u32-mbtouc-tests: Likewise.
19888         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
19889         * modules/unistr/u32-mbtoucr-tests: Likewise.
19890         * modules/unistr/u32-move-tests: Likewise.
19891         * modules/unistr/u32-next-tests: Likewise.
19892         * modules/unistr/u32-prev-tests: Likewise.
19893         * modules/unistr/u32-set-tests: Likewise.
19894         * modules/unistr/u32-stpcpy-tests: Likewise.
19895         * modules/unistr/u32-stpncpy-tests: Likewise.
19896         * modules/unistr/u32-strcat-tests: Likewise.
19897         * modules/unistr/u32-strcmp-tests: Likewise.
19898         * modules/unistr/u32-strcoll-tests: Likewise.
19899         * modules/unistr/u32-strcpy-tests: Likewise.
19900         * modules/unistr/u32-strdup-tests: Likewise.
19901         * modules/unistr/u32-strlen-tests: Likewise.
19902         * modules/unistr/u32-strmblen-tests: Likewise.
19903         * modules/unistr/u32-strmbtouc-tests: Likewise.
19904         * modules/unistr/u32-strncat-tests: Likewise.
19905         * modules/unistr/u32-strncmp-tests: Likewise.
19906         * modules/unistr/u32-strncpy-tests: Likewise.
19907         * modules/unistr/u32-strnlen-tests: Likewise.
19908         * modules/unistr/u32-to-u16-tests: Likewise.
19909         * modules/unistr/u32-to-u8-tests: Likewise.
19910         * modules/unistr/u32-uctomb-tests: Likewise.
19911         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
19912         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
19913         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
19914         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
19915         * modules/uniwidth/u8-strwidth-tests: Likewise.
19916         * modules/uniwidth/u8-width-tests: Likewise.
19917         * modules/uniwidth/u16-strwidth-tests: Likewise.
19918         * modules/uniwidth/u16-width-tests: Likewise.
19919         * modules/uniwidth/u32-strwidth-tests: Likewise.
19920         * modules/uniwidth/u32-width-tests: Likewise.
19921         * modules/uniwidth/width-tests: Likewise.
19922
19923 2010-05-18  Richard Jones  <rjones@redhat.com>
19924
19925         doc: users.txt: list hivex
19926         * users.txt: Add hivex.
19927
19928 2010-05-18  Richard Jones  <rjones@redhat.com>
19929
19930         doc: users.txt: list febootstrap
19931         * users.txt: Add febootstrap.
19932
19933 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
19934
19935         bootstrap: fix an error when gnulib is not used as a git submodule
19936         * build-aux/bootstrap (gnulib_path): If its length is zero then
19937         assign "gnulib" to it.
19938         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
19939
19940 2010-05-16  Bruno Haible  <bruno@clisp.org>
19941
19942         Avoid autoconf warnings about AM_ICONV.
19943         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
19944         2.64.
19945
19946 2010-05-16  Bruno Haible  <bruno@clisp.org>
19947
19948         absolute-header: Make the macro usable in more situations.
19949         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
19950         from gl_ABSOLUTE_HEADER.
19951         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
19952
19953 2010-05-16  James Youngman  <jay@gnu.org>
19954
19955         doc: update users.txt
19956         * users.txt: Add CSSC.
19957
19958 2010-05-16  Jim Meyering  <meyering@redhat.com>
19959
19960         init.sh: fix an error in the previous change; add more comments
19961         * tests/init.sh: Compare exit code in loop against 9, not 2.
19962         Patch by Bruno Haible.
19963         Make the two tests more similar by adding an empty "then" clause.
19964         Add comments.
19965
19966         init.sh: avoid unnecessary shell re-exec
19967         * tests/init.sh: Improve the re-exec-required check to first test the
19968         current shell.  If it passes the test, do not search for a shell that
19969         does pass, and do not re-exec.  This test is particularly contorted to
19970         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
19971         of $(...) evokes a syntax error and causes immediate shell exit with
19972         status 2.  Bruno Haible reported that the re-exec made it impossible
19973         to single-step through any init.sh-using script.
19974
19975 2010-05-16  Bruno Haible  <bruno@clisp.org>
19976
19977         Fix collision between gnulib's and libintl's printf replacements.
19978         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
19979         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
19980         (printf): When using GNU C, map the __printf__ function to rpl_printf
19981         via __asm__. When not using GNU C, define rpl_printf instead of
19982         __printf__.
19983         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
19984         commit.
19985         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
19986         commit.
19987         * m4/asm-underscore.m4: New file.
19988         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
19989         * modules/stdio (Files): Add m4/asm-underscore.m4.
19990         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
19991         Reported by Ben Pfaff.
19992
19993 2010-05-16  Bruno Haible  <bruno@clisp.org>
19994
19995         verify: Avoid skipping the test on openSUSE 11.0.
19996         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
19997
19998 2010-05-13  Bruno Haible  <bruno@clisp.org>
19999
20000         Avoid useless warnings from G++.
20001         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
20002         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
20003         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20004
20005 2010-05-11  Jim Meyering  <meyering@redhat.com>
20006
20007         maint.mk: tweak preceding change
20008         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
20009         regexps tighter by anchoring at EOL, and make the new group "shy"
20010         for slightly decreased overhead.
20011
20012 2010-05-11  Eric Blake  <eblake@redhat.com>
20013
20014         maint.mk: gnulib doesn't guarantee NSIG
20015         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
20016
20017 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
20018
20019         test-pwrite.c: Remove unused variable declaration.
20020         * tests/test-pwrite.c (main): Remove read_buf declaration.
20021
20022         Remove useless test-pwrite.sh file.
20023         * tests/test-pwrite.sh: Delete file.
20024         * modules/pwrite-tests: Remove references.
20025         Reported by Bruno Haible.
20026
20027 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
20028
20029         init.sh: fix a typo
20030         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
20031
20032 2010-05-10  Jim Meyering  <meyering@redhat.com>
20033
20034         maint.mk: avoid using a temporary file in the always-defined-macros check
20035         * top/maint.mk (.re-defmac): Remove rule.
20036         (gl_trap_): Remove definition.
20037         (sc_prohibit_always-defined_macros): Rewrite not to create and
20038         depend on a temporary file.  Instead, depend on GNU grep's ability
20039         to read a list of regular expressions from stdin when given "-f -".
20040
20041 2010-05-09  Bruno Haible  <bruno@clisp.org>
20042
20043         Update to GNU gettext 0.18, part 1.
20044         * m4/gettext.m4: Update to GNU gettext 0.18.
20045         * m4/intl.m4: Likewise.
20046         * m4/po.m4: Likewise.
20047         * modules/gettext (Files): Add m4/fcntl-o.m4.
20048         (configure.ac): Require gettext infrastructure from version 0.18.
20049
20050 2010-05-09  Jim Meyering  <meyering@redhat.com>
20051
20052         init.sh: enable MALLOC_PERTURB_
20053         * tests/init.sh: Enable glibc's malloc-perturbing option.
20054
20055         maint.mk: improve sc_cross_check_PATH_usage_in_tests
20056         With my recent change in init.sh from the two-line form:
20057             -#   : ${srcdir=.}
20058             -#   . "$srcdir/init.sh"; path_prepend_ .
20059             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
20060         I noticed that using the one-line form would cause this test
20061         to fail with a false-positive, or to stop working altogether,
20062         depending on whether help-version changed or all the tests did.
20063         * top/maint.mk (_hv_regex): Remove this definition.
20064         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
20065         (_hv_regex_strong): Use a stronger regex to check for conformance.
20066         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
20067         Give a separate diagnostic for lack of conforming use.
20068
20069         maint.mk: prohibit definition of symbols defined by gnulib
20070         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
20071         definition of symbols defined by gnulib.
20072
20073 2010-05-09  Bruno Haible  <bruno@clisp.org>
20074
20075         acl: Avoid test failure on Cygwin-hosted mingw.
20076         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
20077
20078 2010-05-09  Bruno Haible  <bruno@clisp.org>
20079
20080         error: Use system's fcntl function.
20081         * lib/error.c (fcntl): Undefine.
20082
20083 2010-05-09  Jim Meyering  <meyering@redhat.com>
20084
20085         verify: adjust formatting to be more consistent
20086         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
20087         argument-list '('s, and after one comma.
20088
20089 2010-05-09  Bruno Haible  <bruno@clisp.org>
20090
20091         error: More reliable output on mingw.
20092         * lib/error.c: Include <windows.h>.
20093         (is_open): New function.
20094         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
20095         defined.
20096
20097 2010-05-09  Bruno Haible  <bruno@clisp.org>
20098
20099         vasnprintf: Fix syntax errors in libintl build on mingw.
20100         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
20101         pad_ourselves and prec_ourselves after use.
20102
20103 2010-05-08  Bruno Haible  <bruno@clisp.org>
20104
20105         * lib/config.charset: Update comments for Cygwin 1.7.
20106         * lib/localcharset.c: Likewise.
20107
20108 2010-05-07  Jim Meyering  <meyering@redhat.com>
20109
20110         init.sh: improve comments
20111         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
20112         . "${srcdir=.}/init.sh"; path_prepend_ .
20113         Add a note about path_prepend_ and the alternative of using
20114         TESTS_ENVIRONMENT.
20115
20116 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
20117
20118         exclude: Unescape hashed patterns in wildcard mode.
20119         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
20120         to the hash list.
20121         * tests/test-exclude8.sh: New test case.
20122         * modules/exclude-tests: Add new test.
20123
20124 2010-05-05  Eric Blake  <eblake@redhat.com>
20125
20126         verify: automate tests
20127         * modules/verify-tests: New module.
20128         * tests/test-verify.sh: New file.
20129         * tests/test-verify.c: Guard each negative test with a unique id.
20130         Also avoid warning about unused left hand of comma expressions.
20131
20132 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20133
20134         Further improvements to verify.h, suggested by Eric Blake.
20135         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
20136         the GL_* versions, to avoid collision with OpenGL.
20137         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
20138         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
20139         than testing merely whether it's defined.
20140
20141         Modify verify.h to pacify gcc -Wredundant_decls.
20142         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
20143         These use the prefix "GL_" since they're likely to be useful elsewhere.
20144         We may need to break them out into a different .h file.
20145         (__COUNTER__): Define to 0 if the compiler doesn't support it.
20146         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
20147         of verify_function__.
20148
20149 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
20150
20151         Tests for module pwrite.
20152         * modules/pwrite-tests: New file.
20153         * tests/test-pwrite.sh: New file.
20154         * tests/test-pwrite.c: New file.
20155
20156         New module pwrite.
20157         * lib/unistd.in.h (pwrite): New declaration.
20158         * lib/pwrite.c: New file, from glibc with modifications.
20159         * m4/pwrite.m4: New file.
20160         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
20161         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
20162         REPLACE_PWRITE.
20163         * modules/pwrite: New file.
20164         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
20165         REPLACE_PWRITE.
20166         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
20167         * doc/posix-functions/pwrite.texi: Mention the new module.
20168
20169 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
20170
20171         pread: Update documentation.
20172         * doc/posix-functions/pread.texi: Mention the 'pread' module.
20173
20174 2010-05-04  Eric Blake  <eblake@redhat.com>
20175
20176         docs: update cygwin progress
20177         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
20178         this bug.
20179         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
20180         Added in cygwin 1.7.2.
20181         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
20182         Likewise.
20183         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
20184         Likewise.
20185         * doc/glibc-functions/dup3.texi (dup3): Likewise.
20186         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
20187         * doc/glibc-functions/accept4.texi (accept4): Likewise.
20188         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
20189         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
20190         Mention nproc module.
20191         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
20192         bug in cygwin 1.7.5 addition.
20193         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
20194         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
20195         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
20196         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
20197         1.7.5.
20198         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
20199         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
20200         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
20201         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
20202         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
20203         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
20204         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
20205         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
20206         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
20207         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
20208         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
20209         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
20210         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
20211         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
20212         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
20213         Likewise.
20214         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
20215         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
20216         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
20217         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
20218         Likewise.
20219         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
20220         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
20221         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
20222         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
20223         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
20224         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
20225         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
20226         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
20227         Likewise.
20228         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
20229         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
20230         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
20231         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
20232         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
20233         Likewise.
20234         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
20235         Likewise.
20236         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
20237         Likewise.
20238         * doc/glibc-functions/xdrrec_endofrecord.texi
20239         (xdrrec_endofrecord): Likewise.
20240         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
20241         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
20242         Likewise.
20243         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
20244         Likewise.
20245
20246 2010-05-04  Jim Meyering  <meyering@redhat.com>
20247
20248         gendocs.sh: make its "-s FILE" option more useful
20249         * build-aux/gendocs.sh: When honoring the -s FILE option, update
20250         $PACKAGE to reflect the probably-different basename of "FILE".
20251
20252 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
20253
20254         bootstrap: don't ignore download_po_files failure
20255         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
20256         failure.
20257
20258 2010-05-03  Jim Meyering  <meyering@redhat.com>
20259
20260         maint.mk: allow to pass options to gendocs.sh
20261         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
20262         (gendocs_options_): New overridable variable.
20263
20264         gnu-web-doc-update: don't ignore configure or build failure
20265         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
20266
20267         announce-gen: backslash-escape '@'s in --help output
20268         * build-aux/announce-gen: Fix syntax errors.
20269
20270         maint.mk, announce-gen: allow project-specific announcement mail headers
20271         * top/maint.mk (translation_project_): Define default.
20272         (announcement_Cc_, announcement_mail_headers_): Likewise.
20273         (announcement): Invoke announce-gen with new --mail-headers option.
20274         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
20275
20276         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
20277         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
20278         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
20279         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
20280         line in the "err2" output file when running "make check" in verbose
20281         mode (i.e., with set -x enabled).
20282
20283 2010-05-03  Bruno Haible  <bruno@clisp.org>
20284
20285         wctob: Fix for weird platforms.
20286         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
20287         argument value.
20288
20289 2010-05-03  Jim Meyering  <meyering@redhat.com>
20290
20291         maint.mk: prohibit unwarranted use of <strings.h>
20292         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
20293         strings.h in a file that does not also use strcasecmp, strncasecmp,
20294         ffs or ffsll.
20295
20296         maint.mk: remove obsolete comments
20297         * top/maint.mk: Remove stale, commented-out rules.
20298
20299 2010-05-02  Bruno Haible  <bruno@clisp.org>
20300
20301         wcwidth: Declare also when it's aliased.
20302         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
20303         macro.
20304
20305 2010-05-02  Bruno Haible  <bruno@clisp.org>
20306
20307         Fix regression from 2010-04-25.
20308         * gnulib-tool (func_modules_transitive_closure): Check the status of
20309         all modules, not only of the tests that are of the form foo-tests where
20310         foo is a module.
20311
20312 2010-05-02  Bruno Haible  <bruno@clisp.org>
20313
20314         wctob: Work around nasty Cygwin 1.7.2 bug.
20315         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
20316         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
20317
20318 2010-05-01  Bruno Haible  <bruno@clisp.org>
20319
20320         fpurge: Sharper test.
20321         * tests/test-fpurge.c (main): Add one more ftell check.
20322         * modules/fpurge-tests (Depends-on): Add ftell.
20323         Suggested by Eric Blake.
20324
20325 2010-05-01  Bruno Haible  <bruno@clisp.org>
20326
20327         ftello: Another test.
20328         * tests/test-ftello3.c: New file.
20329         * modules/ftello-tests (Files): Add it.
20330         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
20331         MOSTLYCLEANFILES.
20332
20333         ftell: Another test.
20334         * tests/test-ftell3.c: New file.
20335         * modules/ftell-tests (Files): Add it.
20336         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
20337         MOSTLYCLEANFILES.
20338
20339 2010-05-01  Bruno Haible  <bruno@clisp.org>
20340
20341         ftell, ftello: Work around Solaris bug.
20342         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
20343         * lib/ftello.c: Include stdio-impl.h.
20344         (ftello): On Solaris, when _IOWRT is set, compute the result without
20345         looking at _IOREAD.
20346         * modules/ftello (Files): Add lib/stdio-impl.h.
20347         * doc/posix-functions/ftell.texi: Mention Solaris bug.
20348         * doc/posix-functions/ftello.texi: Likewise.
20349         Reported by Eric Blake.
20350
20351 2010-05-01  Bruno Haible  <bruno@clisp.org>
20352
20353         freading: Adapt to special meaning of _IOREAD flag on Solaris.
20354         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
20355         the _IOWRT flag is also set.
20356
20357 2010-05-01  Bruno Haible  <bruno@clisp.org>
20358
20359         Fix doc about a HP-UX stdio bug.
20360         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
20361         * doc/posix-functions/ftello.texi: Likewise.
20362
20363 2010-05-01  Bruno Haible  <bruno@clisp.org>
20364
20365         lseek test: Fix failure on Solaris.
20366         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
20367         output.
20368
20369 2010-04-30  Jim Meyering  <meyering@redhat.com>
20370
20371         bootstrap: don't ignore failure to generate po*/Makevars
20372         * build-aux/bootstrap (with_gettext): Don't ignore failure
20373         to create po/Makevars or runtime-po/Makevars.
20374
20375 2010-04-29  Eric Blake  <eblake@redhat.com>
20376
20377         headers: relax license to LGPLv2+
20378         * modules/fcntl-h (License): Relax license.
20379         * modules/getopt-posix (License): Likewise.
20380         * modules/locale (License): Likewise.
20381         * modules/math (License): Likewise.
20382         * modules/pty (License): Likewise.
20383         * modules/sched (License): Likewise.
20384         * modules/search (License): Likewise.
20385         * modules/spawn (License): Likewise.
20386         * modules/stdarg (License): Likewise.
20387         * modules/sysexits (License): Likewise.
20388
20389 2010-04-29  Jim Meyering  <meyering@redhat.com>
20390
20391         inttypes: relax license to LGPLv2+
20392         * modules/inttypes (License): Relax license.
20393
20394 2010-04-29  Simon Josefsson  <simon@josefsson.org>
20395
20396         * top/maint.mk (indent): Run twice to produce idempotent results.
20397
20398 2010-04-28  Bruno Haible  <bruno@clisp.org>
20399
20400         getdate: Generate getdate.c in the source directory.
20401         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
20402         MOSTLYCLEANFILES.
20403         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
20404
20405 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
20406
20407         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
20408         is not declared as a const *; avoid warnings in that case.
20409
20410 2010-04-28  Eric Blake  <eblake@redhat.com>
20411
20412         canonicalize-lgpl: avoid compiler warning
20413         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
20414         declaration' / 'extraneous semicolon' warning with some compilers.
20415         Reported by Andreas Gruenbacher.
20416
20417 2010-04-28  Jim Meyering  <meyering@redhat.com>
20418
20419         init.sh: ensure a more reliable exit status when exiting via trap
20420         * tests/init.sh (setup_): Don't rely on $? in signal handler.
20421         Inspired by patches from Dmitry V. Levin.
20422         Also trap on signal 3 (SIGQUIT).
20423
20424 2010-04-27  Bruno Haible  <bruno@clisp.org>
20425
20426         Update doc about utimes().
20427         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
20428         'utimens' module.
20429         Reported by Andreas Gruenbacher <agruen@suse.de>.
20430
20431 2010-04-27  Eric Blake  <eblake@redhat.com>
20432
20433         full-read, full-write: relax license
20434         * modules/full-read (License): Drop to LGPLv2+.
20435         * modules/full-write (License): Likewise.
20436         * modules/safe-read (License): Likewise.
20437         * modules/safe-write (License): Likewise.
20438
20439         pthread: mention library for linking
20440         * modules/pthread (Link): Mention $(LIB_PTHREAD).
20441
20442 2010-04-27  Jim Meyering  <meyering@redhat.com>
20443
20444         maint.mk: fix a bug introduced in last change
20445         * top/maint.mk (gl_assured_headers_): Now that all names are on
20446         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
20447         is not anchored to end of word, it should be adequate.
20448
20449         maint.mk: avoid side-effect in latest syntax-check
20450         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
20451         to run commands via $(shell...), and hence to incur cost only when
20452         the new rule is actually run.
20453
20454         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
20455         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
20456         and use that to create a regexp used to detect all #if HAVE_..._H uses.
20457         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
20458         (gl_assured_headers_, az_, AZ_): Define.
20459         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
20460
20461 2010-04-26  Jim Meyering  <jim@meyering.net>
20462             Bruno Haible  <bruno@clisp.org>
20463
20464         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
20465         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
20466         Prompted by an exchange with Gilles Espinasse.
20467
20468 2010-04-26  Jim Meyering  <meyering@redhat.com>
20469
20470         git-version-gen: aesthetic tweak
20471         * build-aux/git-version-gen: Use "$nl" rather than a literal,
20472         so that the command remains on a single line.
20473
20474 2010-04-26  Eric Blake  <eblake@redhat.com>
20475
20476         git-version-gen: allow use on EBCDIC hosts
20477         * build-aux/git-version-gen (dirty): Use literal rather than tying
20478         ourselves to ascii.
20479         Reported by Steve Goetze.
20480
20481 2010-04-25  Bruno Haible  <bruno@clisp.org>
20482
20483         netdb: Add support for GNULIB_POSIXCHECK.
20484         * lib/netdb.in.h: Include warn-on-use.h.
20485         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
20486         functions are used when GNULIB_POSIXCHECK is defined and the
20487         getaddrinfo module is not in use.
20488         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
20489         freeaddrinfo, gai_strerror, getnameinfo are declared.
20490         * modules/netdb (Depends-on): Add warn-on-use.
20491         (Makefile.am): Include warn-on-use.h in netdb.h.
20492
20493 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
20494
20495         build: avoid "make check" failure without .git/ directory
20496         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
20497         there is no .git/ directory.
20498
20499 2010-04-25  Bruno Haible  <bruno@clisp.org>
20500
20501         ptsname: Fix misuse of ttyname_r.
20502         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
20503         of errno.
20504
20505 2010-04-25  Bruno Haible  <bruno@clisp.org>
20506
20507         ttyname_r: Make it work on Solaris 10.
20508         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
20509         if the system function has the POSIX declaration. Test whether the
20510         function fails if the buffer is less than 128 bytes large.
20511         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
20512         system's ttyname_r function. Provide a reasonably large buffer.
20513         * modules/ttyname_r (Depends-on): Add extensions.
20514         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
20515
20516 2010-04-25  Bruno Haible  <bruno@clisp.org>
20517
20518         Use the 'extensions' module for some more functions on Solaris.
20519         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
20520         module.
20521         * doc/posix-functions/ctime_r.texi: Likewise.
20522         * doc/posix-functions/getgrgid_r.texi: Likewise.
20523         * doc/posix-functions/getgrnam_r.texi: Likewise.
20524         * doc/posix-functions/getpwnam_r.texi: Likewise.
20525         * doc/posix-functions/getpwuid_r.texi: Likewise.
20526         * doc/posix-functions/readdir_r.texi: Likewise.
20527         * doc/posix-functions/sigwait.texi: Likewise.
20528         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
20529         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
20530
20531 2010-04-25  Bruno Haible  <bruno@clisp.org>
20532
20533         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
20534         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
20535         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
20536         * lib/ttyname_r.c: Include <limits.h>.
20537         (ttyname_r): Define using the system's ttyname_r function, if it exists
20538         and not on Solaris.
20539         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
20540         set.
20541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
20542         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
20543         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
20544         Reported by Simon Josefsson.
20545
20546 2010-04-25  Bruno Haible  <bruno@clisp.org>
20547
20548         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
20549         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
20550         * doc/posix-functions/ctime_r.texi: Likewise.
20551         * doc/posix-functions/getgrgid_r.texi: Likewise.
20552         * doc/posix-functions/getgrnam_r.texi: Likewise.
20553         * doc/posix-functions/getlogin_r.texi: Likewise.
20554         * doc/posix-functions/getpwnam_r.texi: Likewise.
20555         * doc/posix-functions/getpwuid_r.texi: Likewise.
20556         * doc/posix-functions/readdir_r.texi: Likewise.
20557         * doc/posix-functions/sigwait.texi: Likewise.
20558         * doc/posix-functions/ttyname_r.texi: Likewise.
20559         Reported by Simon Josefsson.
20560
20561 2010-04-25  Bruno Haible  <bruno@clisp.org>
20562
20563         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
20564         * gnulib-tool (func_usage): Document that --with-*-tests options apply
20565         also to --create-testdir.
20566         (func_acceptable): Don't consider the status of *-tests modules here.
20567         (func_modules_transitive_closure): Consider it here, before including a
20568         test module.
20569         (func_import, func_create_testdir): Set inc_all_direct_tests,
20570         inc_all_indirect_tests.
20571         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
20572         --create-testdir and --create-megatestdir.
20573
20574 2010-04-25  Bruno Haible  <bruno@clisp.org>
20575
20576         gnulib-tool: Add --without-*-tests options.
20577         * gnulib-tool (func_usage): Document the --without-*-tests options.
20578         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
20579         excl_unportable_tests): New variables.
20580         Fail if they are specified with --import or --update.
20581         (func_acceptable): Respect the excl_*_tests variables.
20582         (func_import): Set the excl_*_tests variables to empty.
20583
20584 2010-04-25  Simon Josefsson  <simon@josefsson.org>
20585             Bruno Haible  <bruno@clisp.org>
20586
20587         Work around a MacOS X 10.4 bug with openpty.
20588         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
20589         * tests/test-openpty.c (main): Close the master side explicitly.
20590
20591 2010-04-25  Bruno Haible  <bruno@clisp.org>
20592
20593         strnlen: Fix a C++ test error on MacOS X and Solaris.
20594         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
20595         the function is not declared.
20596         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
20597         Simon Josefsson.
20598
20599 2010-04-24  Bruno Haible  <bruno@clisp.org>
20600
20601         Avoid a gcc warning.
20602         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
20603         of correct type for %08lx directive.
20604         Reported by Eric Blake.
20605
20606 2010-04-24  Bruno Haible  <bruno@clisp.org>
20607
20608         vasnprintf: Correct errno value in case of out-of-memory.
20609         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
20610         or sprintf. Use the errno value from SNPRINTF or sprintf.
20611         Reported by Ian Beckwith <ianb@erislabs.net>.
20612
20613 2010-04-24  Bruno Haible  <bruno@clisp.org>
20614
20615         ansi-c++-opt: Find correct compiler when cross-compiling.
20616         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
20617         AC_CHECK_PROGS.
20618         Reported by Simon Josefsson.
20619
20620 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
20621
20622         vc-list-files: Add support for subversion
20623         * build-aux/vc-list-files: Use "svn list" to generate the list of
20624         files controlled by subversion.
20625
20626 2010-04-23  Jim Meyering  <meyering@redhat.com>
20627
20628         vc-list-files tests: convert to use init.sh
20629         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
20630         path_prepend_.
20631         Use Exit, not exit.
20632         Use skip_ rather than open coding it.
20633         Remove trap set-up and compare definitions.
20634         * tests/test-vc-list-files-git.sh: Likewise.
20635         * modules/vc-list-files-tests (Files): Add tests/init.sh.
20636
20637 2010-04-22  Simon Josefsson  <simon@josefsson.org>
20638
20639         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
20640         backup files.
20641
20642 2010-04-21  Simon Josefsson  <simon@josefsson.org>
20643
20644         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
20645
20646 2010-04-20  Eric Blake  <eblake@redhat.com>
20647
20648         tests: be robust to ignored SIGPIPE
20649         * tests/test-select-in.sh: Consume all output.
20650         * tests/test-lseek.sh: Check correct exit status, while avoiding
20651         EPIPE.
20652
20653 2010-04-20  Simon Josefsson  <simon@josefsson.org>
20654             Bruno Haible  <bruno@clisp.org>
20655
20656         visibility: Don't use -fvisibility if it leads to a warning.
20657         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
20658         yes, don't pretend that visibility works if it leads to a warning.
20659         Reported by Mike Gran <spk121@yahoo.com>.
20660
20661 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
20662
20663         * build-aux/bootstrap: Use "git -h" for testing for supported options
20664         instead of "git --help".  The short-form option only shows a summary,
20665         and doesn't layout the full man page.  Grep for the full option name
20666         in the summary, too.
20667
20668 2010-04-19  Bruno Haible  <bruno@clisp.org>
20669
20670         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
20671         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
20672         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
20673         mention of RELOCATABLE_STRIP.
20674         Reported by Sylvain Beucler <beuc@beuc.net>.
20675
20676 2010-04-19  Bruno Haible  <bruno@clisp.org>
20677
20678         * lib/diffseq.h: Fix typo in comment.
20679         Reported by Eric Blake.
20680
20681 2010-04-19  Bruno Haible  <bruno@clisp.org>
20682
20683         ioctl: Move autoconf macro to a .m4 file.
20684         * m4/ioctl.m4: New file, extracted from modules/ioctl.
20685         * modules/ioctl (Files): Add it.
20686         (configure.ac): Simply invoke gl_FUNC_IOCTL.
20687         Reported by Ian Beckwith <ianb@erislabs.net>.
20688
20689 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
20690             Bruno Haible  <bruno@clisp.org>
20691
20692         diffseq: Accommodate use-case with abstract arrays.
20693         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
20694         is not defined.
20695         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
20696         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
20697
20698 2010-04-18  Bruno Haible  <bruno@clisp.org>
20699
20700         * doc/posix-headers/stdbool.texi: More precise wording.
20701
20702 2010-04-17  Jim Meyering  <meyering@redhat.com>
20703
20704         maint.mk: use gnu-style indentation in an embedded perl script
20705         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
20706         Rename variable: s/two/last_two_bytes/
20707
20708 2010-04-16  Eric Blake  <eblake@redhat.com>
20709
20710         test-stdbool: skip test that fails with Solaris CC
20711         * tests/test-stdbool.c (f): Skip test that causes compilation
20712         error under buggy C++ compiler.
20713         * lib/stdbool.in.h: Document the limitation.
20714         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
20715
20716         setenv: allow compilation with C++
20717         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
20718         register keyword.
20719
20720         stdint: allow test to pass with C++
20721         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
20722
20723         getopt: allow compilation with C++
20724         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
20725         struct.
20726         * lib/getopt.c (_getopt_internal_r): Use correct type.
20727         Reported by Dagobert Michelson, via Joel E. Denny.
20728
20729 2010-04-16  Bruno Haible  <bruno@clisp.org>
20730
20731         Override netdb.h always.
20732         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
20733         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
20734         Reported by Ludovic Courtès <ludo@gnu.org>.
20735
20736 2010-04-15  Bruno Haible  <bruno@clisp.org>
20737
20738         openpty: Fix mistake from 2010-03-21.
20739         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
20740         Reported by Simon Josefsson.
20741
20742 2010-04-15  Eric Blake  <eblake@redhat.com>
20743
20744         test-forkpty: fix expected signature
20745         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
20746         Reported by Simon Josefsson.
20747
20748 2010-04-15  Jim Meyering  <meyering@redhat.com>
20749
20750         maint.mk: texinfo_suffix_re_: correct the default regexp
20751         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
20752
20753         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
20754         make it configurable via texinfo_suffix_re_.
20755
20756 2010-04-14  Eric Blake  <eblake@redhat.com>
20757
20758         strtok_r: relax license to LGPLv2+
20759         * modules/strtok_r (License): Relax license.
20760         Reported by Matthias Bolte.
20761
20762 2010-04-14  Simon Josefsson  <simon@josefsson.org>
20763
20764         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
20765         version 1.4.4 by default instead of requiring the libgcrypt
20766         version used during build.  This makes it possible to use the
20767         application with older but still binary compatible libgcrypt
20768         versions.
20769
20770 2010-04-13  Eric Blake  <eblake@redhat.com>
20771
20772         getopt-gnu: match recent glibc fixes and posix ruling
20773         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
20774         '+' handling, when requesting extensions.
20775         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
20776         'W;' handling.
20777         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
20778         * doc/posix-functions/getopt.texi (getopt): Document this.
20779         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
20780         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20781         Likewise.
20782
20783         getopt: merge bug fixes from glibc
20784         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
20785         diagnostics.  Honor '+:' correctly.  Reject ';'.
20786
20787         getopt-posix: detect MacOS bug
20788         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
20789         optind when missing a required argument.
20790         * doc/posix-functions/getopt.texi (getopt): Document the bug.
20791         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
20792         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20793         Likewise.
20794
20795         getopt-posix: avoid spurious failure on Solaris
20796         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
20797         an indicator that setting optind=1 is sufficient for reset.
20798
20799         getopt-posix: avoid spurious failure on FreeBSD
20800         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
20801         in POSIX mode, since the m4 test uses it.
20802
20803         gnulib-tool: silence warning on BSD sh
20804         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
20805
20806 2010-04-13  Jim Meyering  <meyering@redhat.com>
20807
20808         doc: users.txt: GNU patch now uses gnulib
20809         * users.txt: Add patch.
20810
20811 2010-04-12  Jim Meyering  <meyering@redhat.com>
20812
20813         maint.mk: generate more concise timing data for syntax-check rules
20814         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
20815         " done" from each line that reports a syntax-check test duration.
20816
20817 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
20818
20819         git-version-gen: use "git update-index..." rather than "git status"
20820         * build-aux/git-version-gen: Use git update-index --refresh, not
20821         "git status".  With some versions of git, "git status" would fail
20822         to update the index and result in an unwarranted "-dirty" suffix.
20823
20824 2010-04-11  Jim Meyering  <meyering@redhat.com>
20825
20826         openat: correct formatting (no semantic change)
20827         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
20828         Suggested by Bruno Haible.
20829
20830 2010-04-11  Bruno Haible  <bruno@clisp.org>
20831
20832         Stricter declaration checking in testdirs.
20833         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20834         If for_tests is true, augment AM_CPPFLAGS to define
20835         GNULIB_STRICT_CHECKING.
20836         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
20837         GNULIB_STRICT_CHECKING is defined, verify that the function is
20838         declared.
20839
20840 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
20841             Bruno Haible  <bruno@clisp.org>
20842
20843         libunistring: Improve configure output.
20844         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
20845         Don't say "consider installing GNU libunistring" when checking again
20846         with libiconv.
20847
20848 2010-04-11  Bruno Haible  <bruno@clisp.org>
20849
20850         libunistring: Correct value of $LTLIBUNISTRING.
20851         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
20852         correct the value of $LTLIBUNISTRING.
20853
20854 2010-04-11  Bruno Haible  <bruno@clisp.org>
20855
20856         havelib: Add static libraries to LIBS in the right order.
20857         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
20858         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
20859
20860 2010-04-11  Bruno Haible  <bruno@clisp.org>
20861
20862         libunistring: Detect libunistring also when it depends on libiconv.
20863         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
20864         the second AC_LIB_HAVE_LINKFLAGS invocation.
20865
20866 2010-04-11  James Youngman  <jay@gnu.org>
20867
20868         close-stream: declare local scalars to be "const"
20869         * lib/close-stream.c (close_stream): Make boolean variables const
20870         to document the fact that we set but do not change them.
20871
20872 2010-04-11  Bruno Haible  <bruno@clisp.org>
20873
20874         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
20875
20876 2010-04-11  Jim Meyering  <meyering@redhat.com>
20877
20878         maint.mk: don't include dist-check.mk
20879         * top/maint.mk: Remove bogus include directive.
20880
20881         maint.mk: improve empty-line-at-EOF check
20882         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
20883         solution, rather than tail+Perl-based one.  The latter would read
20884         a few kilobytes from the end of each file, and did not handle empty
20885         files properly.
20886
20887         maint.mk: print the elapsed time for each syntax-check rule
20888         * top/maint.mk (sc_m_rules_): Save start time in a file.
20889         (sc_z_rules_): New rules: remove temp file and print elapsed time.
20890         (local-check): Interpose the .z rules
20891
20892 2010-04-11  Jim Meyering  <meyering@redhat.com>
20893
20894         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
20895         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
20896         empty file with one that ends in an empty line.
20897
20898 2010-04-10  Bruno Haible  <bruno@clisp.org>
20899
20900         mkdir: Make it work on mingw64.
20901         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
20902         * lib/mkdir.c: Update comment.
20903         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
20904
20905 2010-04-10  Bruno Haible  <bruno@clisp.org>
20906
20907         Don't override improved macro from newer autoconf.
20908         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
20909         autoconf >= 2.62.
20910         Reported by Joel E. Denny <jdenny@clemson.edu>.
20911
20912 2010-04-10  Jim Meyering  <meyering@redhat.com>
20913
20914         maint.mk: new syntax-check rule: prohibit empty lines at end of file
20915         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
20916
20917         maint.mk: correct a diagnostic
20918         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
20919         in diagnostic; now use $prohibit.
20920
20921 2010-04-10  Bruno Haible  <address@hidden>
20922
20923         fchownat: Fix a C++ test error on Solaris 8.
20924         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
20925         the function does not exist.
20926
20927 2010-04-10  Bruno Haible  <bruno@clisp.org>
20928
20929         vasnprintf: Add more tests.
20930         * tests/test-vasnprintf-posix.c: Include <errno.h>.
20931         (test_function): Test converting an invalid wide string.
20932
20933         vasnprintf: Correct handling of unconvertible wide string arguments.
20934         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
20935         VASNPRINTF.
20936         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
20937         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
20938         smaller than the expected maximum need for the directive. Set errno to
20939         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
20940         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
20941         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
20942         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
20943         * modules/vasnprintf (Files): Add m4/printf.m4.
20944         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20945
20946 2010-04-10  Bruno Haible  <bruno@clisp.org>
20947
20948         vasnprintf: Fix crash in %ls directive.
20949         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
20950         string is passed as argument to %ls, with no precision and no width.
20951         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20952
20953 2010-04-10  Bruno Haible  <bruno@clisp.org>
20954
20955         vasnprintf: Fix multiple test failures on mingw.
20956         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
20957         _snprintf, or snwprintf, not _snwprintf.
20958
20959 2010-04-10  Bruno Haible  <bruno@clisp.org>
20960
20961         write: Fix a C++ test error on mingw.
20962         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
20963
20964 2010-04-10  Bruno Haible  <bruno@clisp.org>
20965
20966         vasnprintf test: Reduce code duplication.
20967         * tests/test-vasnprintf.c (test_function): New function, extracted from
20968         test_vasnprintf.
20969         (test_vasnprintf, test_asnprintf): Invoke it.
20970
20971 2010-04-10  Bruno Haible  <bruno@clisp.org>
20972
20973         strnlen: Fix warning in C++ mode on MacOS X.
20974         * lib/string.in.h (strnlen): Use the modern idiom.
20975         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
20976         defining strnlen as a macro already in <config.h>.
20977         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20978         REPLACE_STRNLEN.
20979         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
20980         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20981
20982 2010-04-08  James Youngman  <jay@gnu.org>
20983
20984         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
20985         the example.
20986
20987 2010-04-09  Jim Meyering  <meyering@redhat.com>
20988
20989         maint.mk: print better diagnostic when there is no $(_hv_file)
20990         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
20991         announce that when $(_hv_file) (aka help-version) does not exist.
20992
20993         init.sh: run tr in the "C" locale to avoid multibyte interpretation
20994         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
20995         not try to interpret its random input bytes.  Jarno Rajahalme reported
20996         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
20997         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
20998         (mktempd_): Likewise, just in case.
20999
21000         ftruncate: add two years to projected module removal date: 2012
21001         * m4/ftruncate.m4: Adjust comments.
21002
21003         ftruncate: mark module as obsolete; even MinGW provides it, now
21004         * modules/ftruncate (Status): Obsolete.
21005         (Notice): Say that.
21006         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
21007         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
21008
21009 2010-04-08  Bruno Haible  <bruno@clisp.org>
21010
21011         Fix side effects from tests-related modules.
21012         * modules/dprintf-posix (Comment): New section.
21013         * modules/fprintf-posix (Comment): Likewise.
21014         * modules/obstack-printf-posix (Comment): Likewise.
21015         * modules/printf-posix (Comment): Likewise.
21016         * modules/snprintf-posix (Comment): Likewise.
21017         * modules/sprintf-posix (Comment): Likewise.
21018         * modules/vasnprintf-posix (Comment): Likewise.
21019         * modules/vasprintf-posix (Comment): Likewise.
21020         * modules/vdprintf-posix (Comment): Likewise.
21021         * modules/vfprintf-posix (Comment): Likewise.
21022         * modules/vprintf-posix (Comment): Likewise.
21023         * modules/vsnprintf-posix (Comment): Likewise.
21024         * modules/vsprintf-posix (Comment): Likewise.
21025         * modules/xprintf-posix (Comment): Likewise.
21026         * modules/xvasprintf-posix (Comment): Likewise.
21027         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
21028         * modules/floorf-tests (Depends-on): Likewise.
21029         * modules/round-tests (Depends-on): Likewise.
21030         * modules/roundf-tests (Depends-on): Likewise.
21031         * modules/trunc-tests (Depends-on): Likewise.
21032         * modules/truncf-tests (Depends-on): Likewise.
21033         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
21034         'fprintf-posix' module is not present.
21035         * tests/test-floorf2.c (check): Likewise.
21036         * tests/test-trunc2.c (check): Likewise.
21037         * tests/test-truncf2.c (check): Likewise.
21038         * tests/test-round2.c (equal): Likewise.
21039         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
21040
21041 2010-04-07  Karl Berry  <karl@gnu.org>
21042
21043         * config/srclist.txt,
21044         * config/srclistvars.sh,
21045         * config/srclist-update: doc fixes.
21046
21047 2010-04-07  Jim Meyering  <meyering@redhat.com>
21048
21049         maint.mk: add a PATH crosschecking syntax-check rule
21050         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
21051         Useful if you use a test like the one in help-version (coreutils,
21052         diffutils, grep, gzip) that ensures $(VERSION) matches what is
21053         printed by prog --version.
21054
21055 2010-04-06  Bruno Haible  <bruno@clisp.org>
21056
21057         Fix link error on mingw.
21058         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
21059         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
21060
21061 2010-04-06  Bruno Haible  <bruno@clisp.org>
21062
21063         Assume rmdir exists.
21064         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
21065
21066 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
21067
21068         doc: update users.txt
21069         * users.txt: Add gcal.
21070
21071 2010-04-06  Jim Meyering  <meyering@redhat.com>
21072
21073         init.sh: simply unset TMPDIR rather than risking env -i
21074         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
21075         although it probably works fine on all Unix-based systems, some
21076         systems (Cygwin?) cannot tolerate a totally cleared environment.
21077         Suggestion from Eric Blake.
21078
21079 2010-04-06  Jim Meyering  <meyering@redhat.com>
21080
21081         init.sh: portability fix: use env's POSIX-specified -i option not -u
21082         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
21083         than unportable env -u.  Solaris 5.11's env lacks support for -u.
21084
21085 2010-04-05  Bruno Haible  <bruno@clisp.org>
21086
21087         btowc: Work around Cygwin 1.7.2 bug.
21088         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
21089         does not map NUL to 0.
21090         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
21091
21092 2010-04-05  Bruno Haible  <bruno@clisp.org>
21093
21094         Make the multithread modules work on Cygwin 1.7.2.
21095         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
21096         imported symbols can be declared weak, so that it returns "no" on
21097         Cygwin 1.7.2.
21098
21099 2010-04-05  Bruno Haible  <bruno@clisp.org>
21100
21101         Use the module 'strncat'.
21102         * modules/unistr/u8-strncat (Depends-on): Add strncat.
21103
21104         Tests for module 'strncat'.
21105         * modules/strncat-tests: New file.
21106         * tests/test-strncat.c: New file.
21107
21108         New module 'strncat'.
21109         * lib/string.in.h (strncat): New declaration.
21110         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
21111         * m4/strncat.m4: New file, based on m4/memchr.m4.
21112         * modules/strncat: New file.
21113         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
21114         is declared.
21115         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
21116         REPLACE_STRNCAT.
21117         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
21118         REPLACE_STRNCAT.
21119         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
21120         module.
21121         * tests/test-string-c++.cc: Check signature of strncat.
21122
21123 2010-04-05  Jim Meyering  <meyering@redhat.com>
21124
21125         xstrtoumax-tests: convert to use init.sh
21126         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
21127         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
21128         Use Exit, not exit.
21129         Remove uses of $EXEEXT and "./" to run a program in the current dir.
21130
21131         xstrtoimax-tests: convert to use init.sh
21132         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
21133         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
21134         Use Exit, not exit.
21135         Remove uses of $EXEEXT and "./" to run a program in the current dir.
21136
21137 2010-04-05  Bruno Haible  <bruno@clisp.org>
21138
21139         sys_socket: Avoid #define replacements in C++ mode.
21140         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
21141         warning to the function if possible, rather than #defining the symbol
21142         to a dysfunctional alias.
21143
21144 2010-04-05  Bruno Haible  <bruno@clisp.org>
21145
21146         fseeko: Fix C++ test error on mingw.
21147         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
21148         gl_FUNC_FSEEKO.
21149         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
21150         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
21151         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
21152         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
21153
21154 2010-04-05  Bruno Haible  <bruno@clisp.org>
21155
21156         duplocale: Improve test output.
21157         * tests/test-duplocale.c (main): Print reason for skipped test.
21158
21159 2010-04-05  Bruno Haible  <bruno@clisp.org>
21160
21161         Assume rmdir exists.
21162         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
21163         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
21164
21165 2010-04-05  Bruno Haible  <bruno@clisp.org>
21166
21167         Fix link error on Solaris 8 with cc.
21168         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
21169
21170 2010-04-05  Bruno Haible  <bruno@clisp.org>
21171
21172         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
21173         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
21174
21175 2010-04-05  Bruno Haible  <bruno@clisp.org>
21176
21177         vasprintf: Update documentation.
21178         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
21179
21180 2010-04-05  Bruno Haible  <bruno@clisp.org>
21181
21182         ptsname: Improve test.
21183         * tests/test-ptsname.c (main): Also try the various master names of BSD
21184         systems.
21185
21186 2010-04-05  Bruno Haible  <bruno@clisp.org>
21187
21188         memchr: Avoid a possible C++ test error.
21189         * lib/string.in.h (memchr): Provide declaration if function is missing.
21190         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
21191         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
21192         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
21193         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
21194
21195 2010-04-05  Bruno Haible  <bruno@clisp.org>
21196
21197         strtok_r: Improve idiom.
21198         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
21199         AC_LIBOBJ is used.
21200
21201 2010-04-05  Bruno Haible  <bruno@clisp.org>
21202
21203         strdup: Improve idiom.
21204         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
21205         AC_LIBOBJ is used.
21206         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
21207         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
21208         when AC_LIBOBJ is used.
21209
21210 2010-04-05  Bruno Haible  <bruno@clisp.org>
21211
21212         mbsinit, mbrtowc, wcrtomb: Improve idioms.
21213         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
21214         don't set REPLACE_MBSINIT to 1.
21215         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
21216         don't set REPLACE_MBRTOWC to 1.
21217         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
21218         exist, don't set REPLACE_MBSRTOWCS to 1.
21219         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
21220         exist, don't set REPLACE_MBSNRTOWCS to 1.
21221         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
21222         don't set REPLACE_WCRTOMB to 1.
21223         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
21224         exist, don't set REPLACE_WCSRTOMBS to 1.
21225         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
21226         exist, don't set REPLACE_WCSNRTOMBS to 1.
21227
21228 2010-04-05  Bruno Haible  <bruno@clisp.org>
21229
21230         ldexpl: Improve idiom.
21231         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
21232         make sure to set HAVE_DECL_LDEXPL to 0.
21233
21234 2010-04-05  Jim Meyering  <meyering@redhat.com>
21235
21236         xstrtol-tests: convert to use init.sh
21237         * modules/xstrtol-tests (Files): Add tests/init.sh.
21238         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
21239         Use Exit, not exit.
21240         Remove uses of $EXEEXT and "./" to run a program in the current dir.
21241
21242         atexit-tests: convert to use init.sh
21243         * modules/atexit-tests (Files): Add tests/init.sh.
21244         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
21245         Use Exit, not exit.
21246         Remove uses of $EXEEXT and "./" to run a program in the current dir.
21247
21248         init.sh: fix typo
21249         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
21250
21251         init.sh: make it easier for a test script to write to the tty, ...
21252         when using automake's parallel-tests mode.
21253         * tests/init.sh (stderr_fileno_): Define overridable variable.
21254         (warn_): New function, to use it.
21255         (fail_, skip_, framework_failure_): Use warn_.
21256
21257 2010-04-04  Bruno Haible  <bruno@clisp.org>
21258
21259         btowc: Avoid warning.
21260         * lib/btowc.c: Include <stdlib.h>.
21261         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
21262
21263 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
21264             Bruno Haible  <bruno@clisp.org>
21265
21266         wchar: Port to NetBSD 1.5.
21267         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
21268         * lib/wctype.in.h (WEOF): Likewise.
21269
21270 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
21271             Bruno Haible  <bruno@clisp.org>
21272
21273         Port extended stdio to NetBSD 1.5.
21274         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
21275         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
21276         older.
21277
21278 2010-04-04  Bruno Haible  <bruno@clisp.org>
21279
21280         string: Remove unused substitution.
21281         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
21282         HAVE_DECL_STRERROR.
21283         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
21284
21285 2010-04-04  Bruno Haible  <bruno@clisp.org>
21286
21287         strtod: Avoid a possible C++ test error.
21288         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
21289         set REPLACE_STRTOD.
21290
21291 2010-04-04  Bruno Haible  <bruno@clisp.org>
21292
21293         strerror: Update documentation.
21294         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
21295
21296 2010-04-04  Bruno Haible  <bruno@clisp.org>
21297
21298         stdio: Fix some C++ test errors on Solaris 8 with GCC.
21299         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
21300         _GL_CXXALIAS_SYS_CAST.
21301
21302 2010-04-04  Bruno Haible  <bruno@clisp.org>
21303
21304         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
21305         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
21306         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
21307         REPLACE_FREXPL to 1.
21308         * doc/posix-functions/frexpl.texi: Update documentation.
21309
21310 2010-04-04  Bruno Haible  <bruno@clisp.org>
21311
21312         math: Fix some C++ test errors on Solaris 8 and Cygwin.
21313         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
21314
21315 2010-04-04  Bruno Haible  <bruno@clisp.org>
21316
21317         Implement nanosleep for native Windows.
21318         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
21319
21320 2010-04-04  Bruno Haible  <bruno@clisp.org>
21321
21322         math: Fix some C++ test errors on Solaris 8.
21323         * lib/math.in.h (truncf, trunc): Use simpler idiom.
21324
21325 2010-04-04  Bruno Haible  <bruno@clisp.org>
21326
21327         math: Fix some C++ test errors on Cygwin.
21328         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
21329         truncl): Provide declaration if the system does not have it.
21330         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
21331         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
21332         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
21333         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
21334         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
21335         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
21336         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
21337         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
21338         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
21339         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
21340         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
21341         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
21342         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
21343         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
21344         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
21345         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
21346         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
21347         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
21348         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
21349         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
21350         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
21351         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
21352
21353 2010-04-04  Bruno Haible  <bruno@clisp.org>
21354
21355         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
21356         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
21357         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
21358         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
21359         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
21360         * m4/isinf.m4 (gl_ISINF): Likewise.
21361         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
21362
21363 2010-04-04  Bruno Haible  <bruno@clisp.org>
21364
21365         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
21366         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
21367
21368 2010-04-04  Bruno Haible  <bruno@clisp.org>
21369
21370         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
21371         * modules/tmpfile (configure.ac): Update.
21372
21373         tmpfile: Fix C++ test error on mingw.
21374         * lib/stdio.in.h (tmpfile): New declaration.
21375         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
21376         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
21377         * modules/tmpfile (Depends-on): Add stdio.
21378         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
21379         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
21380         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
21381         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
21382         REPLACE_TMPFILE.
21383         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
21384
21385 2010-04-04  Bruno Haible  <bruno@clisp.org>
21386
21387         ioctl: Fix C++ test error on mingw.
21388         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
21389         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
21390         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
21391
21392 2010-04-03  Bruno Haible  <bruno@clisp.org>
21393
21394         wcwidth: Fix C++ test error on mingw.
21395         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
21396         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
21397         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
21398
21399 2010-04-03  Bruno Haible  <bruno@clisp.org>
21400
21401         nanosleep: Fix C++ test error on mingw.
21402         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
21403         * lib/time.in.h (nanosleep): Use modern idiom.
21404         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
21405         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
21406         REPLACE_NANOSLEEP to 1.
21407         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
21408         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
21409
21410 2010-04-03  Bruno Haible  <bruno@clisp.org>
21411
21412         strptime: Fix C++ test error on mingw.
21413         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
21414         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
21415         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
21416         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
21417         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
21418         not REPLACE_STRPTIME.
21419         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
21420         REPLACE_STRPTIME.
21421
21422 2010-04-03  Bruno Haible  <bruno@clisp.org>
21423
21424         timegm: Fix C++ test error on mingw.
21425         * lib/time.in.h (timegm): Use modern idiom.
21426         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
21427         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
21428         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
21429         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
21430
21431 2010-04-03  Bruno Haible  <bruno@clisp.org>
21432
21433         timegm: Assume declaration if function exists.
21434         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
21435         if it exists. Don't clobber ac_cv_func_timegm.
21436
21437 2010-04-03  Bruno Haible  <bruno@clisp.org>
21438
21439         time_r: Fix C++ test error on mingw.
21440         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
21441         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
21442         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
21443         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
21444         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
21445
21446 2010-04-03  Bruno Haible  <bruno@clisp.org>
21447
21448         time_r: Minor updates.
21449         * modules/time_r (Description): Mention the provided functions.
21450         * lib/time_r.c: Don't include <string.h>.
21451         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
21452         * doc/posix-functions/localtime_r.texi: Likewise.
21453
21454 2010-04-03  Bruno Haible  <bruno@clisp.org>
21455
21456         time: Fix regression introduced on 2010-03-08.
21457         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
21458         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
21459
21460 2010-04-03  Jim Meyering  <meyering@redhat.com>
21461
21462         maint.mk: don't silently disable project-specific syntax-check rules
21463         * top/maint.mk (_prohibit_regexp): Define, to help people realize
21464         that they need to convert their project-specific syntax-check rules
21465         to use the new _sc_search_regexp.
21466
21467 2010-04-03  Bruno Haible  <bruno@clisp.org>
21468
21469         fchdir: Fix regression introduced on 2010-03-08.
21470         * lib/unistd.in.h (fchdir): Fix declaration.
21471         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
21472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
21473         REPLACE_FCHDIR.
21474         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
21475         REPLACE_FCHDIR.
21476
21477 2010-04-03  Bruno Haible  <bruno@clisp.org>
21478
21479         getpagesize: Fix C++ test error on mingw.
21480         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
21481         system does not declare the function.
21482         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
21483         declared.
21484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21485         HAVE_DECL_GETPAGESIZE.
21486         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
21487
21488 2010-04-03  Bruno Haible  <bruno@clisp.org>
21489
21490         stdio: Make C++ tests work on mingw.
21491         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
21492         does not declare the function.
21493
21494 2010-04-03  Bruno Haible  <bruno@clisp.org>
21495
21496         ftello: Fix C++ test error on mingw.
21497         * lib/stdio.in.h (ftello): Use modern idiom.
21498         * lib/ftello.c (ftello): Renamed from rpl_ftello.
21499         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
21500         is missing and that it needs to be replaced.
21501         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
21502         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
21503         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
21504
21505 2010-04-03  Bruno Haible  <bruno@clisp.org>
21506
21507         fseeko: Fix C++ test error on mingw.
21508         * lib/stdio.in.h (fseeko): Use modern idiom.
21509         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
21510         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
21511         is missing and that it needs to be replaced.
21512         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
21513         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
21514         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
21515
21516 2010-04-03  Bruno Haible  <bruno@clisp.org>
21517
21518         mkstemp: Fix C++ test error on mingw.
21519         * lib/stdlib.in.h (mkstemp): Use modern idiom.
21520         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
21521         function is missing and that it needs to be replaced.
21522         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
21523         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
21524
21525 2010-04-03  Bruno Haible  <bruno@clisp.org>
21526
21527         stpncpy: Fix C++ test error on mingw.
21528         * lib/string.in.h (stpncpy): Use modern idiom.
21529         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
21530         function is missing and that it needs to be replaced.
21531         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
21532         REPLACE_STPNCPY.
21533         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
21534
21535 2010-04-03  Bruno Haible  <bruno@clisp.org>
21536
21537         sys_stat: Fix C++ test error on mingw.
21538         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
21539         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
21540
21541 2010-04-03  Bruno Haible  <bruno@clisp.org>
21542
21543         pty: Update doc.
21544         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
21545
21546 2010-04-03  Bruno Haible  <bruno@clisp.org>
21547
21548         unistd: Fix C++ test error on mingw.
21549         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
21550
21551 2010-04-03  Bruno Haible  <bruno@clisp.org>
21552
21553         Update doc regarding mingw.
21554         * doc/glibc-functions/openpty.texi: Update regarding mingw.
21555         * doc/glibc-functions/login_tty.texi: Likewise.
21556         * doc/glibc-functions/forkpty.texi: Likewise.
21557
21558 2010-04-03  Bruno Haible  <bruno@clisp.org>
21559
21560         stdlib: Avoid compilation failure of c-strtold on mingw.
21561         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
21562
21563 2010-04-03  Bruno Haible  <bruno@clisp.org>
21564
21565         locale: Make C++ tests work on Cygwin and mingw.
21566         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
21567         cannot provide the function.
21568         Reported by Simon Josefsson.
21569
21570 2010-04-03  Bruno Haible  <bruno@clisp.org>
21571
21572         localename: Port to MacOS X 10.6.
21573         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
21574         memory layout of the locales in MacOS X 10.6 as well.
21575         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
21576
21577 2010-04-02  Bruno Haible  <bruno@clisp.org>
21578
21579         gnulib-tool: Ensure that long-running tests are executed last.
21580         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
21581         running tests after the one for the other tests.
21582
21583 2010-04-02  Bruno Haible  <bruno@clisp.org>
21584
21585         gnulib-tool: Ensure the tests in the main directory are executed first.
21586         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
21587         start with the current directory.
21588
21589 2010-04-02  Bruno Haible  <bruno@clisp.org>
21590
21591         Tests for module 'havelib', moved here from GNU gettext.
21592         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
21593         modifications.
21594         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
21595         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
21596         with modifications.
21597         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
21598         modifications.
21599         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
21600         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
21601         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
21602         with modifications.
21603         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
21604         with modifications.
21605         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
21606         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
21607         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
21608         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
21609         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
21610         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
21611         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
21612         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
21613         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
21614         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
21615         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
21616         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
21617         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
21618         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
21619         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
21620         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
21621         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
21622         with modifications.
21623         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
21624         with modifications.
21625         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
21626         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
21627         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
21628         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
21629         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
21630         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
21631         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
21632         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
21633         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
21634         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
21635         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
21636         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
21637         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
21638         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
21639         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
21640         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
21641         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
21642         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
21643         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
21644         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
21645         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
21646         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
21647         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
21648         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
21649         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
21650         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
21651         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
21652         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
21653         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
21654         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
21655         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
21656         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
21657         * tests/havelib/rpathx/rpathx.c: New file, from
21658         gettext/autoconf-lib-link.
21659         * tests/havelib/rpathx/Makefile.am: New file, from
21660         gettext/autoconf-lib-link.
21661         * tests/havelib/rpathx/configure.ac: New file, from
21662         gettext/autoconf-lib-link with modifications.
21663         * tests/havelib/rpathy/rpathy.c: New file, from
21664         gettext/autoconf-lib-link.
21665         * tests/havelib/rpathy/Makefile.am: New file, from
21666         gettext/autoconf-lib-link.
21667         * tests/havelib/rpathy/configure.ac: New file, from
21668         gettext/autoconf-lib-link with modifications.
21669         * tests/havelib/rpathz/rpathz.c: New file, from
21670         gettext/autoconf-lib-link.
21671         * tests/havelib/rpathz/Makefile.am: New file, from
21672         gettext/autoconf-lib-link.
21673         * tests/havelib/rpathz/configure.ac: New file, from
21674         gettext/autoconf-lib-link with modifications.
21675         * tests/havelib/rpathlx/usex.c: New file, from
21676         gettext/autoconf-lib-link.
21677         * tests/havelib/rpathlx/Makefile.am: New file, from
21678         gettext/autoconf-lib-link.
21679         * tests/havelib/rpathlx/configure.ac: New file, from
21680         gettext/autoconf-lib-link with modifications.
21681         * tests/havelib/rpathly/usey.c: New file, from
21682         gettext/autoconf-lib-link.
21683         * tests/havelib/rpathly/Makefile.am: New file, from
21684         gettext/autoconf-lib-link.
21685         * tests/havelib/rpathly/configure.ac: New file, from
21686         gettext/autoconf-lib-link with modifications.
21687         * tests/havelib/rpathlz/usez.c: New file, from
21688         gettext/autoconf-lib-link.
21689         * tests/havelib/rpathlz/Makefile.am: New file, from
21690         gettext/autoconf-lib-link.
21691         * tests/havelib/rpathlz/configure.ac: New file, from
21692         gettext/autoconf-lib-link with modifications.
21693         * tests/havelib/rpathlyx/usey.c: New file, from
21694         gettext/autoconf-lib-link.
21695         * tests/havelib/rpathlyx/Makefile.am: New file, from
21696         gettext/autoconf-lib-link.
21697         * tests/havelib/rpathlyx/configure.ac: New file, from
21698         gettext/autoconf-lib-link with modifications.
21699         * tests/havelib/rpathlzyx/usez.c: New file, from
21700         gettext/autoconf-lib-link.
21701         * tests/havelib/rpathlzyx/Makefile.am: New file, from
21702         gettext/autoconf-lib-link.
21703         * tests/havelib/rpathlzyx/configure.ac: New file, from
21704         gettext/autoconf-lib-link with modifications.
21705         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
21706         with modifications.
21707
21708 2010-04-02  Bruno Haible  <bruno@clisp.org>
21709
21710         gnulib-tool: Create distributed built sources also for the tests.
21711         * gnulib-tool (func_create_testdir): Also generate distributed built
21712         sources in the tests directory.
21713
21714 2010-04-02  Bruno Haible  <bruno@clisp.org>
21715
21716         gnulib-tool: Obey user's environment variables.
21717         * gnulib-tool (func_create_testdir): When creating built sources,
21718         respect the environment variables for autoconf, automake, etc. given by
21719         the user.
21720
21721 2010-04-02  Bruno Haible  <bruno@clisp.org>
21722
21723         gnulib-tool: Provide the value of --m4-base to modules.
21724         * gnulib-tool (func_import, func_create_testdir): Emit a definition
21725         of gl_m4_base.
21726
21727 2010-04-02  Eric Blake  <eblake@redhat.com>
21728
21729         maint.mk: fix some fallout
21730         * NEWS: Document the incompatible change, and its effect on cfg.mk.
21731         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
21732
21733 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
21734
21735         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
21736         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
21737         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
21738         (sc_cast_of_x_alloc_return_value): Likewise.
21739         (sc_cast_of_alloca_return_value): Likewise.
21740         (sc_space_tab): Likewise.
21741         (sc_prohibit_atoi_atof): Likewise.
21742         (sc_prohibit_magic_number_exit): Likewise.
21743         (sc_error_exit_success): Likewise.
21744         (sc_file_system): Likewise.
21745         (sc_prohibit_have_config_h): Likewise.
21746         (sc_require_config_h): Likewise.
21747         (sc_prohibit_HAVE_MBRTOWC): Likewise.
21748         (sc_obsolete_symbols): Likewise.
21749         (sc_changelog): Likewise.
21750         (sc_program_name): Likewise.
21751         (sc_the_the): Likewise.
21752         (sc_trailing_blank): Likewise.
21753         (sc_two_space_separator_in_usage): Likewise.
21754         (sc_useless_cpp_parens): Likewise.
21755         (sc_GPL_version): Likewise.
21756         (sc_GFDL_version): Likewise.
21757         (sc_texinfo_acronym): Likewise.
21758         (sc_prohibit_cvs_keyword): Likewise.
21759         (sc_prohibit_stat_st_blocks): Likewise.
21760         (sc_prohibit_S_IS_definition): Likewise.
21761         (sc_redundant_const): Likewise.
21762         (sc_makefile_TAB_only_indentation): Likewise.
21763         (sc_m4_quote_check): Likewise.
21764         (sc_makefile_path_separator_check): Likewise.
21765         (sc_copyright_check): Likewise.
21766         (sc_Wundef_boolean): Likewise.
21767         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
21768
21769         maint.mk: match 0 or more whitespace-before-function-call '('
21770         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
21771         that have zero or two-and-more spaces between the function name
21772         and the open parenthesis.
21773         (sc_error_message_warn_fatal): Likewise.
21774         (sc_error_message_uppercase): Likewise.
21775         (sc_error_message_period): Likewise.
21776
21777 2010-03-31  Eric Blake  <eblake@redhat.com>
21778
21779         maint.mk: check for [ as well as test
21780         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
21781         Based on a libvirt report by Matthias Bolte.
21782
21783         gnumakefile: don't squelch _version output
21784         * top/GNUmakefile (_version): Create one-shot dependency rather
21785         than using $(shell) when version must be regenerated.
21786         (_autoreconf): Run verbosely, by default.
21787
21788         sys_time: avoid compiler warnings
21789         * lib/sys_time.in.h (includes): Ensure gcc pragma is
21790         unconditional, fixing regression from 2010-03-29.
21791         Reported by Simon Josefsson.
21792
21793 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
21794
21795         maint.mk: s/_header_without_use/_sc_header_without_use/
21796         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
21797         (sc_prohibit_assert_without_use): Use the new name.
21798         (sc_prohibit_close_stream_without_use): Likewise.
21799         (sc_prohibit_getopt_without_use): Likewise.
21800         (sc_prohibit_quotearg_without_use): Likewise.
21801         (sc_prohibit_quote_without_use): Likewise.
21802         (sc_prohibit_long_options_without_use): Likewise.
21803         (sc_prohibit_inttostr_without_use): Likewise.
21804         (sc_prohibit_ignore_value_without_use): Likewise.
21805         (sc_prohibit_error_without_use): Likewise.
21806         (sc_prohibit_xalloc_without_use): Likewise.
21807         (sc_prohibit_hash_without_use): Likewise.
21808         (sc_prohibit_hash_pjw_without_use): Likewise.
21809         (sc_prohibit_safe_read_without_use): Likewise.
21810         (sc_prohibit_argmatch_without_use): Likewise.
21811         (sc_prohibit_canonicalize_without_use): Likewise.
21812         (sc_prohibit_root_dev_ino_without_use): Likewise.
21813         (sc_prohibit_openat_without_use): Likewise.
21814         (sc_prohibit_c_ctype_without_use): Likewise.
21815         (sc_prohibit_signal_without_use): Likewise.
21816         (sc_prohibit_intprops_without_use): Likewise.
21817
21818 2010-03-30  Eric Blake  <eblake@redhat.com>
21819
21820         maint: improve module indicators
21821         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
21822         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
21823         columns, and avoid extra macro expansion.
21824
21825         fdopendir: work around FreeBSD bug
21826         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
21827         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
21828         * modules/dirent (Makefile.am): Substitute it.
21829         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
21830         declaration.
21831         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
21832         fix.
21833         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21834
21835 2010-03-29  Bruno Haible  <bruno@clisp.org>
21836
21837         Emit #pragma system_header after the inclusion guard, not before.
21838         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
21839         guard that spans the entire file, not before. This enables an
21840         optimization in GCC's preprocessor.
21841         * lib/ctype.in.h: Likewise.
21842         * lib/dirent.in.h: Likewise.
21843         * lib/errno.in.h: Likewise.
21844         * lib/float.in.h: Likewise.
21845         * lib/getopt.in.h: Likewise.
21846         * lib/iconv.in.h: Likewise.
21847         * lib/langinfo.in.h: Likewise.
21848         * lib/locale.in.h: Likewise.
21849         * lib/math.in.h: Likewise.
21850         * lib/netdb.in.h: Likewise.
21851         * lib/netinet_in.in.h: Likewise.
21852         * lib/pty.in.h: Likewise.
21853         * lib/sched.in.h: Likewise.
21854         * lib/se-selinux.in.h: Likewise.
21855         * lib/search.in.h: Likewise.
21856         * lib/spawn.in.h: Likewise.
21857         * lib/stdarg.in.h: Likewise.
21858         * lib/stdint.in.h: Likewise.
21859         * lib/string.in.h: Likewise.
21860         * lib/strings.in.h: Likewise.
21861         * lib/sys_file.in.h: Likewise.
21862         * lib/sys_ioctl.in.h: Likewise.
21863         * lib/sys_time.in.h: Likewise.
21864         * lib/sys_times.in.h: Likewise.
21865         * lib/sys_utsname.in.h: Likewise.
21866         * lib/sys_wait.in.h: Likewise.
21867         * lib/sysexits.in.h: Likewise.
21868         * lib/wctype.in.h: Likewise.
21869
21870 2010-03-28  James Youngman  <jay@gnu.org>
21871
21872         save-cwd: don't leak a file descriptor when the caller execs.
21873         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
21874         saved file descriptor.
21875         * modules/save-cwd (Depends-on): Depend on cloexec.
21876
21877 2010-03-29  Bruno Haible  <bruno@clisp.org>
21878
21879         Remove vestiges of fts-lgpl module.
21880         * lib/fts_.h: Assume GNULIB_FTS is 1.
21881         * lib/fts.c: Likewise.
21882         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
21883
21884 2010-03-28  Bruno Haible  <bruno@clisp.org>
21885
21886         Fix definition of tests witness macro.
21887         * gnulib-tool (func_import): Fix definition of witness macro.
21888
21889 2010-03-28  Bruno Haible  <bruno@clisp.org>
21890
21891         Fix ioctl's protoype on glibc systems.
21892         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
21893         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
21894         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
21895         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
21896         signature. If not, arrange to replace the ioctl function.
21897         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
21898         REPLACE_IOCTL.
21899         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
21900         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
21901         Reported by Ludovic Courtès <ludo@gnu.org>.
21902
21903 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
21904
21905         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
21906         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
21907         made it so grep -r --include=GLOB* ... did not work.
21908
21909 2010-03-26  Jim Meyering  <meyering@redhat.com>
21910             Eric Blake  <eblake@redhat.com>
21911
21912         maint.mk: prohibit use of test's -o and -a operators
21913         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
21914
21915 2010-03-28  Bruno Haible  <bruno@clisp.org>
21916
21917         Remove unused GNULIB_XYZ macro definitions.
21918         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
21919         invocation.
21920
21921 2010-03-28  Bruno Haible  <bruno@clisp.org>
21922
21923         Mark privileged tests modules.
21924         * modules/idpriv-drop-tests (Status): New section.
21925         * modules/idpriv-droptemp-tests (Status): New section.
21926
21927 2010-03-28  Bruno Haible  <bruno@clisp.org>
21928
21929         Split C++ tests into separate tests modules.
21930         * modules/dirent-c++-tests: New file, extracted from
21931         modules/dirent-tests.
21932         * modules/dirent-tests: Depend on it.
21933         * modules/fcntl-h-c++-tests: New file, extracted from
21934         modules/fcntl-h-tests.
21935         * modules/fcntl-h-tests: Depend on it.
21936         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
21937         * modules/glob-tests: Depend on it.
21938         * modules/iconv-h-c++-tests: New file, extracted from
21939         modules/iconv-h-tests.
21940         * modules/iconv-h-tests: Depend on it.
21941         * modules/langinfo-c++-tests: New file, extracted from
21942         modules/langinfo-tests.
21943         * modules/langinfo-tests: Depend on it.
21944         * modules/locale-c++-tests: New file, extracted from
21945         modules/locale-tests.
21946         * modules/locale-tests: Depend on it.
21947         * modules/math-c++-tests: New file, extracted from modules/math-tests.
21948         * modules/math-tests: Depend on it.
21949         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
21950         * modules/pty-tests: Depend on it.
21951         * modules/search-c++-tests: New file, extracted from
21952         modules/search-tests.
21953         * modules/search-tests: Depend on it.
21954         * modules/signal-c++-tests: New file, extracted from
21955         modules/signal-tests.
21956         * modules/signal-tests: Depend on it.
21957         * modules/spawn-c++-tests: New file, extracted from
21958         modules/spawn-tests.
21959         * modules/spawn-tests: Depend on it.
21960         * modules/stdio-c++-tests: New file, extracted from
21961         modules/stdio-tests.
21962         * modules/stdio-tests: Depend on it.
21963         * modules/stdlib-c++-tests: New file, extracted from
21964         modules/stdlib-tests.
21965         * modules/stdlib-tests: Depend on it.
21966         * modules/string-c++-tests: New file, extracted from
21967         modules/string-tests.
21968         * modules/string-tests: Depend on it.
21969         * modules/sys_ioctl-c++-tests: New file, extracted from
21970         modules/sys_ioctl-tests.
21971         * modules/sys_ioctl-tests: Depend on it.
21972         * modules/sys_select-c++-tests: New file, extracted from
21973         modules/sys_select-tests.
21974         * modules/sys_select-tests: Depend on it.
21975         * modules/sys_socket-c++-tests: New file, extracted from
21976         modules/sys_socket-tests.
21977         * modules/sys_socket-tests: Depend on it.
21978         * modules/sys_stat-c++-tests: New file, extracted from
21979         modules/sys_stat-tests.
21980         * modules/sys_stat-tests: Depend on it.
21981         * modules/sys_time-c++-tests: New file, extracted from
21982         modules/sys_time-tests.
21983         * modules/sys_time-tests: Depend on it.
21984         * modules/time-c++-tests: New file, extracted from modules/time-tests.
21985         * modules/time-tests: Depend on it.
21986         * modules/unistd-c++-tests: New file, extracted from
21987         modules/unistd-tests.
21988         * modules/unistd-tests: Depend on it.
21989         * modules/wchar-c++-tests: New file, extracted from
21990         modules/wchar-tests.
21991         * modules/wchar-tests: Depend on it.
21992         * modules/wctype-c++-tests: New file, extracted from
21993         modules/wctype-tests.
21994         * modules/wctype-tests: Depend on it.
21995         Reported by Simon Josefsson.
21996
21997 2010-03-28  Bruno Haible  <bruno@clisp.org>
21998
21999         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
22000         * gnulib-tool (func_exists_module): New function, extracted from
22001         func_verify_module.
22002         (func_verify_module): Use it.
22003         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
22004         'foo' only if 'foo' exists.
22005         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
22006         module.
22007
22008 2010-03-28  Bruno Haible  <bruno@clisp.org>
22009
22010         gnulib-tool: Add support for special categories of tests.
22011         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
22012         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
22013         (func_usage): Document them.
22014         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
22015         inc_unportable_tests, inc_all_tests): New variables.
22016         (func_acceptable): Consider these variables.
22017         (func_modules_transitive_closure): Make it work when the 'Status' field
22018         consists of multiple words.
22019         (func_import): Store and restore the values of inc_cxx_tests,
22020         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
22021         inc_all_tests in gnulib-comp.m4.
22022         (func_create_testdir): Set inc_all_tests to true.
22023         * doc/gnulib.texi (Extra tests modules): New section.
22024         Suggested by Jim Meyering.
22025
22026 2010-03-28  Bruno Haible  <bruno@clisp.org>
22027
22028         ansi-c++-opt: Allow turning off the C++ build by default.
22029         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
22030         gl_CXX_CHOICE_DEFAULT_NO is defined.
22031         Requested by Eric Blake.
22032
22033 2010-03-28  Bruno Haible  <bruno@clisp.org>
22034
22035         unistd: Avoid #define replacements in C++ mode.
22036         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
22037         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
22038         setsockopt, shutdown, select): In C++, attach a warning to the function
22039         if possible, rather than #defining the symbol to a dysfunctional alias.
22040         Reported by John W. Eaton <jwe@gnu.org>.
22041
22042 2010-03-28  Bruno Haible  <bruno@clisp.org>
22043
22044         Fix link errors on mingw.
22045         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
22046         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
22047         $(LIBSOCKET).
22048         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
22049         $(LIBSOCKET).
22050
22051 2010-03-28  Bruno Haible  <bruno@clisp.org>
22052             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22053
22054         lib-ignore: Determine different options for different compilers.
22055         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
22056         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
22057         Add comments.
22058         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
22059         * NEWS: Mention the change.
22060
22061 2010-03-27  Bruno Haible  <bruno@clisp.org>
22062
22063         Remove unused GNULIB_XYZ macro definitions.
22064         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
22065         * modules/fseek (configure.ac): Likewise.
22066         * modules/ioctl (configure.ac): Likewise.
22067         * modules/open (configure.ac): Likewise.
22068         * modules/stdlib-safer (configure.ac): Likewise.
22069
22070 2010-03-27  Bruno Haible  <bruno@clisp.org>
22071
22072         Add a remark about certain modules.
22073         * modules/malloc (Comment): New section.
22074         * modules/realloc (Comment): Likewise.
22075         * modules/sigpipe (Comment): Likewise.
22076
22077 2010-03-27  Bruno Haible  <bruno@clisp.org>
22078
22079         Resolve conflict between the two kinds of module indicators.
22080         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
22081         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
22082         * modules/canonicalize (configure.ac): Invoke
22083         gl_MODULE_INDICATOR_FOR_TESTS.
22084         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
22085         GNULIB_XYZ.
22086         * tests/test-dirent-c++.cc: Likewise.
22087         * tests/test-dirent-safer.c: Likewise.
22088         * tests/test-dup2.c: Likewise.
22089         * tests/test-fchdir.c: Likewise.
22090         * tests/test-fcntl-h-c++.cc: Likewise.
22091         * tests/test-getopt.c: Likewise.
22092         * tests/test-getopt.h: Likewise.
22093         * tests/test-langinfo-c++.cc: Likewise.
22094         * tests/test-locale-c++.cc: Likewise.
22095         * tests/test-math-c++.cc: Likewise.
22096         * tests/test-pty-c++.cc: Likewise.
22097         * tests/test-search-c++.cc: Likewise.
22098         * tests/test-signal-c++.cc: Likewise.
22099         * tests/test-spawn-c++.cc: Likewise.
22100         * tests/test-stdio-c++.cc: Likewise.
22101         * tests/test-stdlib-c++.cc: Likewise.
22102         * tests/test-string-c++.cc: Likewise.
22103         * tests/test-sys_ioctl-c++.cc: Likewise.
22104         * tests/test-sys_select-c++.cc: Likewise.
22105         * tests/test-sys_socket-c++.cc: Likewise.
22106         * tests/test-sys_stat-c++.cc: Likewise.
22107         * tests/test-sys_time-c++.cc: Likewise.
22108         * tests/test-time-c++.cc: Likewise.
22109         * tests/test-unistd-c++.cc: Likewise.
22110         * tests/test-wchar-c++.cc: Likewise.
22111         * tests/uninorm/test-u8-nfc.c: Likewise.
22112         * tests/uninorm/test-u8-nfd.c: Likewise.
22113         * tests/uninorm/test-u8-nfkc.c: Likewise.
22114         * tests/uninorm/test-u8-nfkd.c: Likewise.
22115         * tests/uninorm/test-u16-nfc.c: Likewise.
22116         * tests/uninorm/test-u16-nfd.c: Likewise.
22117         * tests/uninorm/test-u16-nfkc.c: Likewise.
22118         * tests/uninorm/test-u16-nfkd.c: Likewise.
22119         * tests/uninorm/test-u32-nfc.c: Likewise.
22120         * tests/uninorm/test-u32-nfc-big.c: Likewise.
22121         * tests/uninorm/test-u32-nfd.c: Likewise.
22122         * tests/uninorm/test-u32-nfd-big.c: Likewise.
22123         * tests/uninorm/test-u32-nfkc.c: Likewise.
22124         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
22125         * tests/uninorm/test-u32-nfkd.c: Likewise.
22126         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
22127         * tests/uninorm/test-u32-normalize-big.c: Likewise.
22128
22129 2010-03-27  Bruno Haible  <bruno@clisp.org>
22130
22131         Distinguish two kinds of module indicators.
22132         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
22133         gl_MODULE_INDICATOR.
22134         (gl_MODULE_INDICATOR): New macro.
22135         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
22136         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
22137         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
22138         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
22139         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
22140         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
22141         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
22142         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
22143         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
22144         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
22145         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
22146         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
22147         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
22148         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
22149         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
22150         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
22151         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
22152         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
22153         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
22154         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
22155         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
22156         * modules/cloexec (configure.ac): Likewise.
22157         * modules/getopt-gnu (configure.ac): Likewise.
22158         * modules/uninorm/u8-normalize (configure.ac): Likewise.
22159         * modules/uninorm/u16-normalize (configure.ac): Likewise.
22160         * modules/uninorm/u32-normalize (configure.ac): Likewise.
22161         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
22162
22163 2010-03-27  Bruno Haible  <bruno@clisp.org>
22164
22165         New module description field 'Comment'.
22166         * gnulib-tool: New option --extract-comment.
22167         (func_usage): Document it.
22168         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
22169         (func_get_comment): New function.
22170         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
22171
22172 2010-03-27  Bruno Haible  <bruno@clisp.org>
22173
22174         Addendum to 2010-02-07 commit.
22175         * gnulib-tool (func_usage): Document --extract-applicability option.
22176
22177 2010-03-27  Bruno Haible  <bruno@clisp.org>
22178
22179         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
22180         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
22181         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
22182         rather than link errors.
22183
22184 2010-03-27  Bruno Haible  <bruno@clisp.org>
22185
22186         Avoid side effects from tests-related modules on the compilation of lib.
22187         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
22188         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
22189         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
22190         parameter. Emit into AM_CPPFLAGS a definition of the designated C
22191         macro.
22192         (func_import): Define a witness macro. Assign it a value that depends
22193         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
22194         tests-related modules.
22195         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
22196         Reported by Jim Meyering.
22197
22198 2010-03-27  Bruno Haible  <bruno@clisp.org>
22199
22200         Factorize common .m4 code.
22201         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
22202         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
22203         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
22204         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
22205         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
22206         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
22207         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
22208         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
22209         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
22210         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
22211         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
22212         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
22213         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
22214         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
22215         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
22216         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
22217         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
22218         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
22219         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
22220         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
22221         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
22222         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
22223         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
22224         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
22225         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
22226         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
22227         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
22228         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
22229         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
22230         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
22231         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
22232         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
22233
22234 2010-03-27  Bruno Haible  <bruno@clisp.org>
22235
22236         Fix a compilation error on Cygwin with g++ >= 4.3.
22237         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
22238         if it is undefined or if we alias it to chmod.
22239         (lstat): Don't warn about the use of this function if it is undefined
22240         or if we alias it to stat.
22241         Reported by Simon Josefsson.
22242
22243 2010-03-27  Bruno Haible  <bruno@clisp.org>
22244
22245         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
22246         * modules/getlogin (configure.ac): Update.
22247
22248         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
22249         * modules/getlogin_r (configure.ac): Update.
22250
22251         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
22252         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
22253         * modules/inet_ntop (configure.ac): Update.
22254
22255         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
22256         * modules/inet_pton (configure.ac): Update.
22257
22258         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
22259         * modules/mbslen (configure.ac): Update.
22260
22261         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
22262         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
22263         * modules/forkpty (configure.ac): Update.
22264         * modules/openpty (configure.ac): Update.
22265
22266 2010-03-26  Simon Josefsson  <simon@josefsson.org>
22267
22268         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
22269         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
22270
22271 2010-03-25  Eric Blake  <eblake@redhat.com>
22272
22273         maint: use pragma consistently across replacement headers
22274         * lib/ctype.in.h (system_header): Hoist for consistent placement.
22275         * lib/dirent.in.h (system_header): Likewise.
22276         * lib/errno.in.h (system_header): Likewise.
22277         * lib/float.in.h (system_header): Likewise.
22278         * lib/getopt.in.h (system_header): Likewise.
22279         * lib/iconv.in.h (system_header): Likewise.
22280         * lib/inttypes.in.h (system_header): Likewise.
22281         * lib/langinfo.in.h (system_header): Likewise.
22282         * lib/locale.in.h (system_header): Likewise.
22283         * lib/math.in.h (system_header): Likewise.
22284         * lib/netdb.in.h (system_header): Likewise.
22285         * lib/netinet_in.in.h (system_header): Likewise.
22286         * lib/pty.in.h (system_header): Likewise.
22287         * lib/sched.in.h (system_header): Likewise.
22288         * lib/se-selinux.in.h (system_header): Likewise.
22289         * lib/search.in.h (system_header): Likewise.
22290         * lib/spawn.in.h (system_header): Likewise.
22291         * lib/stdarg.in.h (system_header): Likewise.
22292         * lib/stdint.in.h (system_header): Likewise.
22293         * lib/string.in.h (system_header): Likewise.
22294         * lib/strings.in.h (system_header): Likewise.
22295         * lib/sys_file.in.h (system_header): Likewise.
22296         * lib/sys_ioctl.in.h (system_header): Likewise.
22297         * lib/sys_socket.in.h (system_header): Likewise.
22298         * lib/sys_times.in.h (system_header): Likewise.
22299         * lib/sys_utsname.in.h (system_header): Likewise.
22300         * lib/sys_wait.in.h (system_header): Likewise.
22301         * lib/sysexits.in.h (system_header): Likewise.
22302         * lib/unistd.in.h (system_header): Likewise.
22303         * lib/wctype.in.h (system_header): Likewise.
22304
22305         arpa/inet: fix mingw compilation warning
22306         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
22307         Reported by Matthew Bolte.
22308
22309 2010-03-25  Bruno Haible  <bruno@clisp.org>
22310
22311         Avoid collision between gnulib wrapper and libintl wrapper.
22312         * lib/printf.c (printf): Don't define if a printf wrapper is already
22313         defined in intl/printf.c.
22314         Reported by Michel Boaventura <michel@michelboaventura.com>.
22315
22316 2010-03-25  Bruno Haible  <bruno@clisp.org>
22317
22318         Use ANSI C.
22319         * lib/readutmp.h (getutent): Provide ANSI C prototype.
22320
22321 2010-03-25  Bruno Haible  <bruno@clisp.org>
22322
22323         Minor formatting changes.
22324         * lib/acosl.c: Insert space before function argument list.
22325         * lib/argz.c: Likewise.
22326         * lib/asinl.c: Likewise.
22327         * lib/expl.c: Likewise.
22328         * lib/gen-uni-tables.c: Likewise.
22329         * lib/gettext.h: Likewise.
22330         * lib/glthread/lock.h: Likewise.
22331         * lib/tanl.c: Likewise.
22332         * lib/uniname/uniname.c: Likewise.
22333         * tests/test-idpriv-drop.c: Likewise.
22334         * tests/test-idpriv-droptemp.c: Likewise.
22335         * tests/test-lock.c: Likewise.
22336         * tests/test-tls.c: Likewise.
22337         * lib/argp-help.c: Insert space before function-like macro argument
22338         list.
22339         * lib/memcmp.c: Likewise.
22340         * tests/test-base64.c: Likewise.
22341         * lib/localename.c: Insert space before sizeof's argument list.
22342         * lib/safe-alloc.h: Likewise.
22343         * lib/file-set.h: Insert space before macro argument list.
22344         * tests/test-argp.c: Likewise.
22345         * lib/argp-namefrob.h: Insert space before function parameter list.
22346         * lib/getaddrinfo.c: Likewise.
22347         * lib/netdb.in.h: Likewise.
22348         * lib/parse-duration.h: Likewise.
22349         * lib/parse-duration.c: Likewise.
22350         * lib/poll.c: Likewise.
22351         * lib/select.c: Likewise.
22352         * lib/trim.h: Likewise.
22353         * tests/test-usleep.c: Likewise.
22354         * lib/ldexpl.c: Insert space before function parameter list and before
22355         function argument list.
22356         * lib/logl.c: Likewise.
22357         * lib/sqrtl.c: Likewise.
22358         * lib/trim.c: Likewise.
22359         * lib/cosl.c: Use GNU style indentation. Insert space before function
22360         argument list.
22361         * lib/sinl.c: Likewise.
22362         * lib/tsearch.c: Insert space after 'for'.
22363         Reported by Jim Meyering.
22364
22365 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
22366
22367         * maint.mk (sc_Wundef_boolean): Check for the presence of the
22368         config header before grepping, as it's not present before
22369         autoreconf/configure are run.  Reported by Simon Josefsson.
22370
22371 2010-03-23  Bruno Haible  <bruno@clisp.org>
22372
22373         pt_chown: Make it work with automake < 1.11.
22374         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
22375         Reported by Simon Josefsson.
22376
22377 2010-03-23  Bruno Haible  <bruno@clisp.org>
22378
22379         pt_chown: Don't depend on GPLed modules.
22380         * lib/pt_chown.c: Don't include idpriv.h.
22381         (main): Don't drop privileges.
22382         * modules/pt_chown (Depends-on): Remove idpriv-drop.
22383         Reported by Simon Josefsson.
22384
22385 2010-03-24  Simon Josefsson  <simon@josefsson.org>
22386
22387         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
22388         suggestions from karl@freefriends.org (Karl Berry).
22389
22390 2010-03-22  Eric Blake  <eblake@redhat.com>
22391
22392         gethostname: further tweaks
22393         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
22394         are overriding gethostname.
22395         Suggested by Bruno Haible.
22396
22397 2010-03-21  Bruno Haible  <bruno@clisp.org>
22398
22399         Fix comments.
22400         * lib/forkpty.c (rpl_forkpty): Fix comment.
22401         * lib/openpty.c (rpl_openpty): Likewise.
22402         Reported by Eric Blake.
22403
22404 2010-03-22  Eric Blake  <eblake@redhat.com>
22405
22406         gethostname: fix build on mingw
22407         * lib/unistd.in.h (includes): Work around fact that mingw
22408         <winsock2.h> re-includes <unistd.h>, by avoiding any
22409         redeclarations if we are being included by <winsock2.h>.
22410         Reported by Matthias Bolte.
22411
22412 2010-03-21  Bruno Haible  <bruno@clisp.org>
22413
22414         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
22415         * lib/forkpty.c (forkpty): New replacement function, from glibc with
22416         modifications.
22417         * lib/pty.in.h (forkpty): Update declaration. Add comments.
22418         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
22419         provide the replacement.
22420         * modules/forkpty (Depends-on): Add openpty, login_tty.
22421         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
22422         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
22423         * doc/glibc-functions/forkpty.texi: More supported platforms.
22424         * config/srclist.txt: Add forkpty.c (commented).
22425
22426 2010-03-21  Bruno Haible  <bruno@clisp.org>
22427
22428         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
22429         (Makefile.am): Verify that PTY_LIB is defined.
22430
22431         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
22432
22433 2010-03-21  Bruno Haible  <bruno@clisp.org>
22434
22435         Tests for module 'login_tty'.
22436         * modules/login_tty-tests: New file.
22437         * tests/test-login_tty.c: New file.
22438
22439         New module 'login_tty'.
22440         * lib/login_tty.c: New file.
22441         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
22442         * modules/login_tty: New file.
22443         * doc/glibc-functions/login_tty.texi: Mention the new module.
22444
22445 2010-03-21  Bruno Haible  <bruno@clisp.org>
22446
22447         login_tty: Documentation.
22448         * doc/glibc-functions/login_tty.texi: New file.
22449         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
22450
22451 2010-03-21  Bruno Haible  <bruno@clisp.org>
22452
22453         pty: Consistent macro naming.
22454         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
22455         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
22456         * modules/pty (configure.ac): Update.
22457
22458 2010-03-21  Bruno Haible  <bruno@clisp.org>
22459
22460         Tests for openpty: Make stricter.
22461         * tests/test-openpty.c (main): Add test of canonical processing and
22462         erase.
22463         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
22464
22465         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
22466         * lib/openpty.c (openpty): New replacement function.
22467         * lib/pty.in.h: Include <termios.h>.
22468         (openpty): Update declaration. Add comments.
22469         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
22470         is not declared, arrange to provide the replacement. Check for _getpty
22471         and posix_openpt.
22472         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
22473         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
22474         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
22475         * modules/pty-tests (test_pty_c___LDADD): New variable.
22476         * doc/glibc-functions/openpty.texi: More supported platforms.
22477
22478 2010-03-21  Bruno Haible  <bruno@clisp.org>
22479
22480         setenv: Tweaks.
22481         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
22482         the test program.
22483         * doc/posix-functions/setenv.texi: Update platforms list.
22484
22485 2010-03-21  Bruno Haible  <bruno@clisp.org>
22486
22487         New module 'unlockpt'.
22488         * lib/unlockpt.c: New file, from glibc with modifications.
22489         * m4/unlockpt.m4: New file.
22490         * modules/unlockpt: New file.
22491         * lib/stdlib.in.h (unlockpt): New declaration.
22492         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
22493         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
22494         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
22495         HAVE_UNLOCKPT.
22496         * doc/posix-functions/unlockpt.texi: Mention the new module.
22497         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
22498         * config/srclist.txt: Add unlockpt.c (commented).
22499
22500 2010-03-21  Jim Meyering  <meyering@redhat.com>
22501
22502         maint.mk: prohibit inclusion of "intprops.h" without use
22503         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
22504
22505 2010-03-21  Bruno Haible  <bruno@clisp.org>
22506
22507         New module 'grantpt'.
22508         * lib/grantpt.c: New file, from glibc with modifications.
22509         * m4/grantpt.m4: New file.
22510         * modules/grantpt: New file.
22511         * lib/stdlib.in.h (grantpt): New declaration.
22512         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
22513         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
22514         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
22515         HAVE_GRANTPT.
22516         * doc/posix-functions/grantpt.texi: Mention the new module.
22517         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
22518         * config/srclist.txt: Add grantpt.c (commented).
22519
22520 2010-03-21  Bruno Haible  <bruno@clisp.org>
22521
22522         New module 'pt_chown'.
22523         * lib/pt_chown.c: New file, from glibc with modifications.
22524         * lib/pty-private.h: New file, from glibc with modifications.
22525         * modules/pt_chown: New file.
22526         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
22527
22528 2010-03-21  Bruno Haible  <bruno@clisp.org>
22529
22530         Tests for module 'ptsname'.
22531         * modules/ptsname-tests: New file.
22532         * tests/test-ptsname.c: New file.
22533
22534         New module 'ptsname'.
22535         * lib/ptsname.c: New file, from glibc with modifications.
22536         * m4/ptsname.m4: New file.
22537         * modules/ptsname: New file.
22538         * lib/stdlib.in.h (ptsname): New declaration.
22539         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
22540         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
22541         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
22542         HAVE_PTSNAME.
22543         * doc/posix-functions/ptsname.texi: Mention the new module.
22544         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
22545         * config/srclist.txt: Add ptsname.c (commented).
22546
22547 2010-03-21  Bruno Haible  <bruno@clisp.org>
22548
22549         Tests for module 'ttyname_r'.
22550         * modules/ttyname_r-tests: New file.
22551         * tests/test-ttyname_r.c: New file.
22552
22553         New module 'ttyname_r'.
22554         * lib/ttyname_r.c: New file.
22555         * m4/ttyname_r.m4: New file.
22556         * modules/ttyname_r: New file.
22557         * lib/unistd.in.h (ttyname_r): New declaration.
22558         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
22559         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
22560         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
22561         HAVE_TTYNAME_R.
22562         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
22563         * doc/posix-functions/ttyname_r.texi: Mention the new module.
22564
22565 2010-03-20  Bruno Haible  <bruno@clisp.org>
22566
22567         signal: Undefine macro definitions in C++ mode.
22568         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
22569         sigfillset): Undefine macro definitions from the system header in C++
22570         mode.
22571         Reported by John W. Eaton <jwe@gnu.org>.
22572
22573 2010-03-20  Bruno Haible  <bruno@clisp.org>
22574
22575         Ensure no #include statements inside extern "C" { ... }.
22576         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
22577         contain #include statements.
22578         * lib/time.in.h: Likewise.
22579
22580 2010-03-20  Bruno Haible  <bruno@clisp.org>
22581
22582         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
22583         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
22584         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
22585         Reported by John W. Eaton <jwe@gnu.org>.
22586
22587 2010-03-20  Bruno Haible  <bruno@clisp.org>
22588
22589         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
22590         Reported by Jim Meyering.
22591
22592 2010-03-20  Bruno Haible  <bruno@clisp.org>
22593
22594         pipe: Set errno upon failure.
22595         * lib/pipe.h: Specify that when -1 is returned, errno is set.
22596         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
22597         errno value in error message.
22598
22599 2010-03-20  Bruno Haible  <bruno@clisp.org>
22600             Jim Meyering  <meyering@redhat.com>
22601
22602         lchown: Avoid "unused variable" warning.
22603         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
22604
22605 2010-03-20  Bruno Haible  <bruno@clisp.org>
22606
22607         Work around unlink() bug on MacOS X 10.5.6.
22608         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
22609         attempting to unlink a parent directory.
22610         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
22611         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
22612         activate for the replacement function.
22613         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
22614
22615 2010-03-20  Bruno Haible  <bruno@clisp.org>
22616
22617         Fix link errors on Solaris 8.
22618         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
22619         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
22620
22621 2010-03-19  Jim Meyering  <meyering@redhat.com>
22622
22623         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
22624         The _LIBC implementation of build_range_exp correctly honors the
22625         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
22626         However, the non-_LIBC implementation would ignore that syntax-bit
22627         flag and return REG_ERANGE unconditionally.
22628         This change makes it honor that flag.
22629         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
22630         Make two pointer parameters "const".
22631         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
22632         (parse_bracket_exp): Update caller.
22633
22634         regex.m4: correct the reversed range endpoint ([b-a]) test
22635         * m4/regex.m4: When requiring that [b-a] evoke failure,
22636         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
22637         test pass once again for x86-based systems.
22638
22639 2010-03-19  Bruno Haible  <bruno@clisp.org>
22640
22641         scandir: Fix link error on Solaris 8.
22642         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
22643         macros.
22644
22645 2010-03-19  Bruno Haible  <bruno@clisp.org>
22646
22647         getusershell: Fix documentation.
22648         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
22649         module.
22650         * doc/glibc-functions/setusershell.texi: Likewise.
22651
22652         getusershell: Provide declaration, missing on Solaris 9.
22653         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
22654         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
22655         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
22656         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
22657         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22658         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
22659         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
22660         HAVE_GETUSERSHELL.
22661         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
22662
22663 2010-03-19  Bruno Haible  <bruno@clisp.org>
22664
22665         wctype: Provide iswblank function.
22666         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
22667         exists and is fine.
22668         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
22669         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
22670         * tests/test-wctype.c (main): Re-enable the iswblank tests.
22671         * doc/posix-functions/iswblank.texi: Update.
22672
22673 2010-03-19  Bruno Haible  <bruno@clisp.org>
22674
22675         Tests of module 'pty' in C++ mode.
22676         * modules/pty-tests: New file.
22677         * tests/test-pty-c++.cc: New file.
22678         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
22679
22680 2010-03-19  Eric Blake  <eblake@redhat.com>
22681
22682         logb: fix documentation
22683         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
22684         1.5 declaration bug.
22685
22686         forkpty, openpty: prefer glibc's const-safe prototype
22687         * lib/forkpty.c (rpl_forkpty): New file.
22688         * lib/openpty.c (rpl_openpty): Likewise.
22689         * modules/forkpty (Files): Distribute it.
22690         * modules/openpty (Files): Likewise.
22691         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
22692         check...
22693         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
22694         replacement for for non-const BSD signature.
22695         * modules/pty (Makefile.am): Substitute witnesses.
22696         * lib/pty.in.h (forkpty, openpty): Declare replacements.
22697         * tests/test-forkpty.c: Update signature check.
22698         * tests/test-openpty.c: Likewise.
22699         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
22700         * doc/glibc-functions/openpty.texi (openpty): Likewise.
22701
22702         forkpty, openpty: split functions into new modules
22703         * modules/pty (Makefile.am): Substitute new witnesses.
22704         (Libraries): Move library detection...
22705         * modules/forkpty: ...into new module.
22706         * modules/openpty: Another new module.
22707         * modules/pty-tests: Rename and split...
22708         * modules/forkpty-tests: ...to this...
22709         * modules/openpty-tests: ...and this.
22710         * tests/test-pty.c: Rename and split...
22711         * tests/test-forkpty.c: ...to this...
22712         * tests/test-openpty.c: ...and this.
22713         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
22714         (gl_PTY): Split library searching...
22715         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
22716         (gl_FORKPTY, gl_OPENPTY): New macros.
22717         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
22718         * NEWS: Mention the split.
22719         * MODULES.html.sh (Misc): Document the modules.
22720         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
22721         * doc/glibc-functions/openpty.texi (openpty): Likewise.
22722
22723         pty: improve replacement header
22724         * lib/pty.in.h: New file.
22725         * modules/pty (Files): Ship it.
22726         (Makefile.am): Always build replacement.
22727         * m4/pty.m4: Rename...
22728         * m4/pty_h.m4: ...to this.
22729         (gl_PTY): Modernize setting of witness macros; update check of
22730         forkpty to take proper advantage of cache.
22731         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
22732
22733         getopt: avoid compiler warning
22734         * lib/getopt.c (attribute_hidden): Remove unused macro.
22735
22736 2010-03-18  Bruno Haible  <bruno@clisp.org>
22737
22738         Fix link errors on Solaris 8.
22739         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
22740         * modules/search-tests (test_search_c___LDADD): Likewise.
22741         * modules/signal-tests (test_signal_c___LDADD): Likewise.
22742         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
22743         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
22744         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
22745         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
22746         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
22747         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
22748
22749 2010-03-18  Bruno Haible  <bruno@clisp.org>
22750
22751         Fix bug introduced on 2010-03-14.
22752         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
22753         (gl_SPAWN_H): Require it.
22754         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
22755         Reported by Simon Josefsson.
22756
22757 2010-03-18  Bruno Haible  <bruno@clisp.org>
22758
22759         Fix typo introduced on 2009-12-31.
22760         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
22761         posix_spawn_file_actions_adddup2.
22762
22763 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
22764         and Eric Blake  <eblake@redhat.com>
22765
22766         test-vc-list-files-git: make more robust
22767         * tests/test-vc-list-files-git.sh: Unset problematic environment
22768         variables.  Chain commands together.
22769
22770 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
22771
22772         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
22773         `AC_CHECK_DECL' invocation.
22774
22775 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
22776
22777         * lib/inttostr.c (inttostr): Make sure the invocation of verify
22778         appears before executable statements. Suggested by Petr Sumbera
22779         <Petr.Sumbera@Sun.COM>.
22780
22781 2010-03-14  Bruno Haible  <bruno@clisp.org>
22782
22783         * tests/test-flock.c (test_exclusive): Comment out a test that causes
22784         portability problems. Instead use a simpler test.
22785         (main): Check that invalid arguments are rejected only on Linux.
22786
22787 2010-03-14  Bruno Haible  <bruno@clisp.org>
22788
22789         Fix bug introduced on 2009-12-31.
22790         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
22791         gl_PREREQ_SYS_H_WINSOCK2 always.
22792         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
22793         SYS_SOCKET_H variable.
22794         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
22795         Update comments.
22796         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
22797         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
22798         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22799         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22800         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
22801
22802 2010-03-14  Bruno Haible  <bruno@clisp.org>
22803
22804         Fix values returned by sinl, cosl.
22805         * lib/trigl.h: Add specification comments.
22806         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
22807         that combines the values from the precomputed table with the values of
22808         the Chebyshev polynomials.
22809
22810 2010-03-14  Bruno Haible  <bruno@clisp.org>
22811
22812         Fix compilation error when modules 'posix_spawn[p]' are not used.
22813         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
22814         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
22815
22816 2010-03-14  Bruno Haible  <bruno@clisp.org>
22817
22818         Fix compilation error on mingw when module 'time_r' is not used.
22819         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
22820         is 1.
22821         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
22822         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
22823         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
22824         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
22825
22826 2010-03-14  Bruno Haible  <bruno@clisp.org>
22827
22828         Fix compilation error with Sun C.
22829         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
22830         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
22831         instead of GCC specific ULONG_LONG_MAX.
22832         * lib/xstrtoll.c: Likewise.
22833         * lib/xstrtoull.c: Likewise.
22834
22835 2010-03-13  Bruno Haible  <bruno@clisp.org>
22836
22837         Allow the user to disable C++ code and tests.
22838         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
22839         (gl_PROG_ANSI_CXX): Require it.
22840
22841 2010-03-13  Bruno Haible  <bruno@clisp.org>
22842
22843         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
22844         cases.
22845
22846 2010-03-13  Bruno Haible  <bruno@clisp.org>
22847
22848         Test that gnulib does not break the standard C++ headers.
22849         * tests/test-locale-c++2.cc: New file.
22850         * modules/locale-tests (Files): Add it.
22851         (Makefile.am): Compile it for test-locale-c++.
22852         * tests/test-math-c++2.cc: New file.
22853         * modules/math-tests (Files): Add it.
22854         (Makefile.am): Compile it for test-math-c++.
22855         * tests/test-signal-c++2.cc: New file.
22856         * modules/signal-tests (Files): Add it.
22857         (Makefile.am): Compile it for test-signal-c++.
22858         * tests/test-stdio-c++2.cc: New file.
22859         * modules/stdio-tests (Files): Add it.
22860         (Makefile.am): Compile it for test-stdio-c++.
22861         * tests/test-stdlib-c++2.cc: New file.
22862         * modules/stdlib-tests (Files): Add it.
22863         (Makefile.am): Compile it for test-stdlib-c++.
22864         * tests/test-string-c++2.cc: New file.
22865         * modules/string-tests (Files): Add it.
22866         (Makefile.am): Compile it for test-string-c++.
22867         * tests/test-time-c++2.cc: New file.
22868         * modules/time-tests (Files): Add it.
22869         (Makefile.am): Compile it for test-time-c++.
22870         Reported by John W. Eaton <jwe@gnu.org>.
22871
22872 2010-03-13  Bruno Haible  <bruno@clisp.org>
22873
22874         * gnulib-tool (func_usage): Clarify which options are available for
22875         --create-testdir and --create-megatestdir.
22876
22877 2010-03-13  Bruno Haible  <bruno@clisp.org>
22878
22879         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
22880         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
22881         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
22882         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22883         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
22884         when appropriate.
22885         Reported by Jim Meyering.
22886
22887 2010-03-12  Simon Josefsson  <simon@josefsson.org>
22888
22889         * gnulib-tool (func_import): Explain origin of code.
22890
22891 2010-03-12  Bruno Haible  <bruno@clisp.org>
22892
22893         Fix problem with automake's definition of CXXLINK.
22894         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
22895         Reported by Simon Josefsson and Ludovic Courtès.
22896
22897 2010-03-12  Bruno Haible  <bruno@clisp.org>
22898
22899         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
22900         stable releases.
22901
22902 2010-03-11  Bruno Haible  <bruno@clisp.org>
22903
22904         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
22905         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
22906         whether the system provides one variant or multiple variants of the
22907         function.
22908         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
22909         C++ compilers.
22910         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
22911         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
22912         Reported by Jim Meyering.
22913
22914 2010-03-09  Simon Josefsson  <simon@josefsson.org>
22915
22916         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
22917
22918 2010-03-08  Bruno Haible  <bruno@clisp.org>
22919
22920         gnulib-tool: Add support for --libtool in --create-testdir.
22921         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
22922         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
22923
22924 2010-03-08  Eric Blake  <eblake@redhat.com>
22925
22926         gnulib-tool.texi: mention possibility of git submodule
22927         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
22928         submodules.
22929         * doc/.gitignore: Ignore another generated file.
22930
22931 2010-03-08  Karl Berry  <karl@gnu.org>
22932
22933         * doc/gnulib-tool.texi (VCS Issues): Mention third option
22934         of committing gnulib files while skipping others.
22935
22936 2010-03-07  Bruno Haible  <bruno@clisp.org>
22937
22938         Tests of module 'wctype' in C++ mode.
22939         * tests/test-wctype-c++.cc: New file.
22940         * modules/wctype-tests (Files): Add it and tests/signature.h.
22941         (Depends-on): Add ansi-c++-opt.
22942         (Makefile.am): Arrange to compile and run test-wctype-c++.
22943
22944         Tests of module 'wchar' in C++ mode.
22945         * tests/test-wchar-c++.cc: New file.
22946         * modules/wchar-tests (Files): Add it and tests/signature.h.
22947         (Depends-on): Add ansi-c++-opt.
22948         (Makefile.am): Arrange to compile and run test-wchar-c++.
22949         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
22950         gl_MODULE_INDICATOR.
22951
22952         Tests of module 'unistd' in C++ mode.
22953         * tests/test-unistd-c++.cc: New file.
22954         * modules/unistd-tests (Files): Add it and tests/signature.h.
22955         (Depends-on): Add ansi-c++-opt.
22956         (Makefile.am): Arrange to compile and run test-unistd-c++.
22957         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
22958         gl_MODULE_INDICATOR.
22959
22960         Tests of module 'time' in C++ mode.
22961         * tests/test-time-c++.cc: New file.
22962         * modules/time-tests (Files): Add it and tests/signature.h.
22963         (Depends-on): Add ansi-c++-opt.
22964         (Makefile.am): Arrange to compile and run test-time-c++.
22965         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
22966
22967         Tests of module 'sys_time' in C++ mode.
22968         * tests/test-sys_time-c++.cc: New file.
22969         * modules/sys_time-tests (Files): Add it and tests/signature.h.
22970         (Depends-on): Add ansi-c++-opt.
22971         (Makefile.am): Arrange to compile and run test-sys_time-c++.
22972         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
22973         gl_MODULE_INDICATOR.
22974
22975         Tests of module 'sys_stat' in C++ mode.
22976         * tests/test-sys_stat-c++.cc: New file.
22977         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
22978         (Depends-on): Add ansi-c++-opt.
22979         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
22980         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
22981         gl_MODULE_INDICATOR.
22982
22983         Tests of module 'sys_socket' in C++ mode.
22984         * tests/test-sys_socket-c++.cc: New file.
22985         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
22986         (Depends-on): Add ansi-c++-opt.
22987         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
22988         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
22989         gl_MODULE_INDICATOR.
22990
22991         Tests of module 'sys_select' in C++ mode.
22992         * tests/test-sys_select-c++.cc: New file.
22993         * modules/sys_select-tests (Files): Add it and tests/signature.h.
22994         (Depends-on): Add ansi-c++-opt.
22995         (Makefile.am): Arrange to compile and run test-sys_select-c++.
22996         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
22997         gl_MODULE_INDICATOR.
22998
22999         Tests of module 'sys_ioctl' in C++ mode.
23000         * tests/test-sys_ioctl-c++.cc: New file.
23001         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
23002         (Depends-on): Add ansi-c++-opt.
23003         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
23004         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
23005         gl_MODULE_INDICATOR.
23006
23007         Tests of module 'string' in C++ mode.
23008         * tests/test-string-c++.cc: New file.
23009         * modules/string-tests (Files): Add it and tests/signature.h.
23010         (Depends-on): Add ansi-c++-opt.
23011         (Makefile.am): Arrange to compile and run test-string-c++.
23012         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
23013         gl_MODULE_INDICATOR.
23014
23015         Tests of module 'stdlib' in C++ mode.
23016         * tests/test-stdlib-c++.cc: New file.
23017         * modules/stdlib-tests (Files): Add it and tests/signature.h.
23018         (Depends-on): Add ansi-c++-opt.
23019         (Makefile.am): Arrange to compile and run test-stdlib-c++.
23020         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
23021         gl_MODULE_INDICATOR.
23022
23023         Tests of module 'stdio' in C++ mode.
23024         * tests/test-stdio-c++.cc: New file.
23025         * modules/stdio-tests (Files): Add it and tests/signature.h.
23026         (Depends-on): Add ansi-c++-opt.
23027         (Makefile.am): Arrange to compile and run test-stdio-c++.
23028         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
23029         gl_MODULE_INDICATOR.
23030
23031         Tests of module 'spawn' in C++ mode.
23032         * tests/test-spawn-c++.cc: New file.
23033         * modules/spawn-tests (Files): Add it and tests/signature.h.
23034         (Depends-on): Add ansi-c++-opt.
23035         (Makefile.am): Arrange to compile and run test-spawn-c++.
23036         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
23037         gl_MODULE_INDICATOR.
23038
23039         Tests of module 'signal' in C++ mode.
23040         * tests/test-signal-c++.cc: New file.
23041         * modules/signal-tests (Files): Add it and tests/signature.h.
23042         (Depends-on): Add ansi-c++-opt.
23043         (Makefile.am): Arrange to compile and run test-signal-c++.
23044         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
23045         gl_MODULE_INDICATOR.
23046
23047         Tests of module 'search' in C++ mode.
23048         * tests/test-search-c++.cc: New file.
23049         * modules/search-tests (Files): Add it and tests/signature.h.
23050         (Depends-on): Add ansi-c++-opt.
23051         (Makefile.am): Arrange to compile and run test-search-c++.
23052         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
23053         gl_MODULE_INDICATOR.
23054
23055         Tests of module 'math' in C++ mode.
23056         * tests/test-math-c++.cc: New file.
23057         * modules/math-tests (Files): Add it and tests/signature.h.
23058         (Depends-on): Add ansi-c++-opt.
23059         (Makefile.am): Arrange to compile and run test-math-c++.
23060         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
23061
23062         Tests of module 'locale' in C++ mode.
23063         * tests/test-locale-c++.cc: New file.
23064         * modules/locale-tests (Files): Add it and tests/signature.h.
23065         (Depends-on): Add ansi-c++-opt.
23066         (Makefile.am): Arrange to compile and run test-locale-c++.
23067         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
23068         gl_MODULE_INDICATOR.
23069
23070         Tests of module 'langinfo' in C++ mode.
23071         * tests/test-langinfo-c++.cc: New file.
23072         * modules/langinfo-tests (Files): Add it and tests/signature.h.
23073         (Depends-on): Add ansi-c++-opt.
23074         (Makefile.am): Arrange to compile and run test-langinfo-c++.
23075         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
23076         gl_MODULE_INDICATOR.
23077
23078         Tests of module 'iconv-h' in C++ mode.
23079         * tests/test-iconv-h-c++.cc: New file.
23080         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
23081         (Depends-on): Add ansi-c++-opt.
23082         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
23083
23084         Tests of module 'glob' in C++ mode.
23085         * tests/test-glob-c++.cc: New file.
23086         * modules/glob-tests (Files): Add it.
23087         (Depends-on): Add ansi-c++-opt.
23088         (Makefile.am): Arrange to compile and run test-glob-c++.
23089
23090         Tests of module 'fcntl-h' in C++ mode.
23091         * tests/test-fcntl-h-c++.cc: New file.
23092         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
23093         (Depends-on): Add ansi-c++-opt.
23094         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
23095         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
23096         gl_MODULE_INDICATOR.
23097
23098         Tests of module 'dirent' in C++ mode.
23099         * tests/test-dirent-c++.cc: New file.
23100         * modules/dirent-tests (Files): Add it and tests/signature.h.
23101         (Depends-on): Add ansi-c++-opt.
23102         (Makefile.am): Arrange to compile and run test-dirent-c++.
23103         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
23104         gl_MODULE_INDICATOR.
23105
23106         New module 'ansi-c++-opt'.
23107         * modules/ansi-c++-opt: New file.
23108         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
23109
23110         Document C++ namespace mode.
23111         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
23112
23113         wctype: Avoid #define replacements in C++ mode.
23114         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
23115         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
23116         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
23117         In C++, define a namespaced alias symbol.
23118         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
23119         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
23120         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
23121         rule.
23122
23123         wchar: Avoid #define replacements in C++ mode.
23124         * lib/wchar.in.h: Include c++defs.h.
23125         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
23126         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
23127         symbol.
23128         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
23129         * modules/wchar (Depends-on): Add c++defs.
23130         (Makefile.am): Update wchar.h rule.
23131
23132         unistd: Avoid #define replacements in C++ mode.
23133         * lib/unistd.in.h: Include c++defs.h.
23134         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
23135         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
23136         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
23137         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
23138         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
23139         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
23140         symbol.
23141         (environ): Update.
23142         * modules/unistd (Depends-on): Add c++defs.
23143         (Makefile.am): Update unistd.h rule.
23144
23145         time: Avoid #define replacements in C++ mode.
23146         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
23147         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
23148         define a namespaced alias symbol.
23149         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
23150         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
23151         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
23152         * modules/time (Depends-on): Add c++defs, warn-on-use.
23153         (Makefile.am): Update time.h rule.
23154         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
23155         * modules/nanosleep (configure.ac): Likewise.
23156         * modules/strptime (configure.ac): Likewise.
23157         * modules/timegm (configure.ac): Likewise.
23158
23159         sys_time: Avoid #define replacements in C++ mode.
23160         * lib/sys_time.in.h: Include c++defs.h.
23161         (gettimeofday): In C++, define a namespaced alias symbol.
23162         * modules/sys_time (Depends-on): Add c++defs.
23163         (Makefile.am): Update sys/time.h rule.
23164
23165         sys_stat: Avoid #define replacements in C++ mode.
23166         * lib/sys_stat.in.h: Include c++defs.h.
23167         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
23168         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
23169         namespaced alias symbol.
23170         In C++, define a namespaced alias symbol.
23171         * modules/sys_stat (Depends-on): Add c++defs.
23172         (Makefile.am): Update sys/stat.h rule.
23173
23174         sys_socket: Avoid #define replacements in C++ mode.
23175         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
23176         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
23177         definitions also when the system has a <sys/socket.h>.
23178         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
23179         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
23180         In C++, define a namespaced alias symbol.
23181         * modules/sys_socket (Depends-on): Add c++defs.
23182         (Makefile.am): Update sys/socket.h rule.
23183
23184         sys_select: Avoid #define replacements in C++ mode.
23185         * lib/sys_select.in.h: Include c++defs.h. Enable the function
23186         definitions also when the system has a <sys/select.h>.
23187         (select): In C++, define a namespaced alias symbol.
23188         * modules/sys_select (Depends-on): Add c++defs.
23189         (Makefile.am): Update sys/select.h rule.
23190
23191         sys_ioctl: Avoid #define replacements in C++ mode.
23192         * lib/sys_ioctl.in.h: Include c++defs.h.
23193         (ioctl): In C++, define a namespaced alias symbol.
23194         * modules/sys_ioctl (Depends-on): Add c++defs.
23195         (Makefile.am): Update sys/ioctl.h rule.
23196
23197         string: Avoid #define replacements in C++ mode.
23198         * lib/string.in.h: Include c++defs.h.
23199         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
23200         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
23201         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
23202         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
23203         strsignal, strverscmp): In C++, define a namespaced alias symbol.
23204         * modules/string (Depends-on): Add c++defs.
23205         (Makefile.am): Update string.h rule.
23206
23207         stdlib: Avoid #define replacements in C++ mode.
23208         * lib/stdlib.in.h: Include c++defs.h.
23209         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
23210         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
23211         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
23212         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
23213         symbol.
23214         * modules/stdlib (Depends-on): Add c++defs.
23215         (Makefile.am): Update stdlib.h rule.
23216
23217         stdio: Avoid #define replacements in C++ mode.
23218         * lib/stdio.in.h: Include c++defs.h.
23219         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
23220         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
23221         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
23222         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
23223         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
23224         namespaced alias symbol.
23225         * modules/stdio (Depends-on): Add c++defs.
23226         (Makefile.am): Update stdio.h rule.
23227
23228         spawn: Avoid #define replacements in C++ mode.
23229         * lib/spawn.in.h: Include c++defs.h.
23230         (posix_spawn, posix_spawnp, posix_spawnattr_init,
23231         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
23232         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
23233         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
23234         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
23235         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
23236         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
23237         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
23238         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
23239         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
23240         In C++, define a namespaced alias symbol.
23241         * modules/spawn (Depends-on): Add c++defs.
23242         (Makefile.am): Update spawn.h rule.
23243
23244         signal: Avoid #define replacements in C++ mode.
23245         * lib/signal.in.h: Include c++defs.h.
23246         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
23247         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
23248         namespaced alias symbol.
23249         * modules/signal (Depends-on): Add c++defs.
23250         (Makefile.am): Update signal.h rule.
23251
23252         search: Avoid #define replacements in C++ mode.
23253         * lib/search.in.h: Include c++defs.h.
23254         (_gl_search_compar_fn, _gl_search_action_fn): New types.
23255         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
23256         symbol.
23257         * modules/search (Depends-on): Add c++defs.
23258         (Makefile.am): Update search.h rule.
23259
23260         math: Avoid #define replacements in C++ mode.
23261         * lib/math.in.h: Include c++defs.h.
23262         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
23263         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
23264         trunc, truncl): In C++, define a namespaced alias symbol.
23265         * modules/math (Depends-on): Add c++defs.
23266         (Makefile.am): Update math.h rule.
23267
23268         locale: Avoid #define replacements in C++ mode.
23269         * lib/locale.in.h: Include c++defs.h.
23270         (duplocale): In C++, define a namespaced alias symbol.
23271         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
23272         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
23273         * modules/locale (Depends-on): Add c++defs.
23274         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
23275
23276         langinfo: Avoid #define replacements in C++ mode.
23277         * lib/langinfo.in.h: Include c++defs.h.
23278         (nl_langinfo): In C++, define a namespaced alias symbol.
23279         * modules/langinfo (Depends-on): Add c++defs.
23280         (Makefile.am): Update langinfo.h rule.
23281
23282         iconv-h: Avoid #define replacements in C++ mode.
23283         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
23284         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
23285         symbol.
23286         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
23287         whenever iconv is present.
23288         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
23289         (Makefile.am): Update iconv.h rule.
23290
23291         glob: Avoid #define replacements in C++ mode.
23292         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
23293         (_gl_glob_errfunc_fn): New type.
23294         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
23295         symbol.
23296         * modules/glob (Depends-on): Add c++defs, warn-on-use.
23297         (Makefile.am): Update glob.h rule.
23298
23299         fcntl-h: Avoid #define replacements in C++ mode.
23300         * lib/fcntl.in.h: Include c++defs.h.
23301         (fcntl, open, openat): In C++, define a namespaced alias symbol.
23302         * modules/fcntl-h (Depends-on): Add c++defs.
23303         (Makefile.am): Update fcntl.h rule.
23304
23305         dirent: Avoid #define replacements in C++ mode.
23306         * lib/dirent.in.h: Include c++defs.h.
23307         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
23308         namespaced alias symbol.
23309         (dirfd): Update declaration.
23310         * modules/dirent (Depends-on): Add c++defs.
23311         (Makefile.am): Update dirent.h rule.
23312
23313         ctype: Make it usable in C++ code.
23314         * lib/ctype.in.h: Include c++defs.h.
23315         (isblank): Declare as extern "C".
23316         * modules/ctype (Depends-on): Add c++defs.
23317         (Makefile.am): Update ctype.h rule.
23318
23319         New module 'c++defs'.
23320         * modules/c++defs: New file.
23321         * build-aux/c++defs.h: New file.
23322         Reported by John W. Eaton <jwe@gnu.org>.
23323
23324 2010-03-07  Bruno Haible  <bruno@clisp.org>
23325
23326         logb: Provide missing declaration for Cygwin.
23327         * lib/math.in.h (logb): New declaration.
23328         * m4/logb.m4: New file.
23329         * modules/logb (Files): Add m4/logb.m4.
23330         (Depends-on): Add math.
23331         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
23332         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
23333         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
23334         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
23335         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
23336
23337 2010-03-07  Bruno Haible  <bruno@clisp.org>
23338
23339         Fix test-cond link error.
23340         * tests/test-cond.c: Include <stdio.h>.
23341
23342 2010-03-07  Bruno Haible  <bruno@clisp.org>
23343
23344         Fix test-dirent-safer link error.
23345         * modules/dirent-safer-tests (Makefile.am): Define
23346         test_dirent_safer_LDADD.
23347
23348 2010-03-07  Bruno Haible  <bruno@clisp.org>
23349
23350         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
23351         among default module list.
23352
23353 2010-03-07  Bruno Haible  <bruno@clisp.org>
23354
23355         Fix link error on platforms with GNU libiconv.
23356         * modules/unistr/u8-strcoll-tests (Makefile): Define
23357         test_u8_strcoll_LDADD.
23358         * modules/unistr/u16-strcoll-tests (Makefile): Define
23359         test_u16_strcoll_LDADD.
23360         * modules/unistr/u32-strcoll-tests (Makefile): Define
23361         test_u32_strcoll_LDADD.
23362
23363 2010-03-07  Bruno Haible  <bruno@clisp.org>
23364
23365         Use POSIX declarations for socket functions.
23366         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
23367         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
23368         rpl_sendto): Change declaration to match POSIX.
23369         * lib/connect.c (rpl_connect): Likewise.
23370         * lib/accept.c (rpl_accept): Likewise.
23371         * lib/bind.c (rpl_bind): Likewise.
23372         * lib/getpeername.c (rpl_getpeername): Likewise.
23373         * lib/getsockname.c (rpl_getsockname): Likewise.
23374         * lib/recv.c (rpl_recv): Likewise.
23375         * lib/send.c (rpl_send): Likewise.
23376         * lib/recvfrom.c (rpl_recvfrom): Likewise.
23377         * lib/sendto.c (rpl_sendto): Likewise.
23378
23379 2010-03-06  Bruno Haible  <bruno@clisp.org>
23380
23381         Clarify access, euidaccess, faccessat.
23382         * doc/posix-functions/faccessat.texi: Mention security problem under
23383         "Other problems", not "Portability problems".
23384         * doc/posix-functions/access.texi: Likewise. Mention a related security
23385         problem.
23386         * doc/glibc-functions/euidaccess.texi: Mention security problems.
23387         * lib/euidaccess.c: Add comments about platforms.
23388         * lib/unistd.in.h (access, euidaccess): Add warnings.
23389
23390 2010-03-07  Bruno Haible  <bruno@clisp.org>
23391
23392         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
23393         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
23394         (POSIX_SPAWN_SETSCHEDULER): Likewise.
23395         (POSIX_SPAWN_USEVFORK): Define in a way that works when
23396         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
23397         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
23398         declare when POSIX_SPAWN_SETSCHEDULER is zero.
23399         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
23400         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
23401         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
23402         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
23403         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
23404         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
23405         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
23406         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
23407         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
23408         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
23409         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
23410         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
23411         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
23412         Likewise.
23413         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
23414         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
23415         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
23416         Likewise.
23417         * tests/test-spawn.c (main): Make it work when
23418         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
23419
23420 2010-03-07  Bruno Haible  <bruno@clisp.org>
23421
23422         Fix incorrect Makefile.am generation in German locale.
23423         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23424         Execute sed command with character range in C locale.
23425
23426 2010-03-06  Bruno Haible  <bruno@clisp.org>
23427
23428         Tests for module 'iconv-h'.
23429         * modules/iconv-h-tests: New file.
23430         * tests/test-iconv-h.c: New file.
23431
23432         New module 'iconv-h'.
23433         * modules/iconv-h: New file.
23434         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
23435         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
23436         (configure.ac): Remove gl_ICONV_H.
23437         (Makefile.am): Remove rule for iconv.h.
23438
23439 2010-03-06  Bruno Haible  <bruno@clisp.org>
23440
23441         More consistent naming of *.m4 files.
23442         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
23443         * modules/wctype (Files): Update.
23444
23445         More consistent naming of *.m4 files.
23446         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
23447         * modules/wchar (Files): Update.
23448
23449 2010-03-06  Jim Meyering  <meyering@redhat.com>
23450
23451         euidaccess: relax license to LGPLv2+
23452         * modules/euidaccess (License): Relax to LGPLv2+.
23453
23454 2010-03-06  Bruno Haible  <bruno@clisp.org>
23455
23456         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
23457         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
23458         (Makefile.am): Augment lib_SOURCES instead.
23459
23460 2010-03-04  Jim Meyering  <meyering@redhat.com>
23461
23462         utime: remove obsolete module
23463         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
23464         unnecessary for years, and has been marked as obsolete for 10 months.
23465         * modules/utime: Remove file.
23466         * lib/utime.c: Remove file.
23467         * m4/utime.m4: Remove file.
23468         * m4/utimes-null.m4: Remove file.
23469         * doc/posix-functions/utime.texi (utime): Remove reference to
23470         the module.  Move the sole "fixed by gnulib" item into the
23471         "problems not fixed by Gnulib" list.
23472         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
23473
23474 2010-03-05  Simon Josefsson  <simon@josefsson.org>
23475
23476         * modules/exit (License): Relax license to LGPLv2+.
23477         (Status): Mark as obsolete.
23478         * NEWS: Mention deprecated 'exit' module.
23479         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
23480         of now obsolete 'exit'.
23481
23482 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23483
23484         fts-lgpl: remove unused module
23485         * modules/fts-lgpl: Remove.
23486         * MODULES.html.sh (func_all_modules): Adjust.
23487         * check-module (find_included_lib_files): Adjust.
23488         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
23489
23490 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
23491
23492         copy-acl: enhance Solaris ACL error handling
23493         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
23494         * lib/set-mode-acl.c (qset_acl): Likewise.
23495
23496 2010-03-02  Bruno Haible  <bruno@clisp.org>
23497
23498         spawn: Don't override the system defined values on FreeBSD 8.
23499         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
23500         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
23501         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
23502         if HAVE_POSIX_SPAWN is 1.
23503         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
23504
23505 2010-03-01  Bruno Haible  <bruno@clisp.org>
23506
23507         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
23508         regarding Automake.
23509
23510 2010-02-25  Bruno Haible  <bruno@clisp.org>
23511
23512         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
23513         * gnulib-tool: Define 'echo' as a function only before the ksh alias
23514         setting, not afterwards.
23515         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
23516
23517 2010-02-24  Eric Blake  <eblake@redhat.com>
23518
23519         bootstrap, git-version-gen: use timestamp
23520         * build-aux/git-version-gen (scriptversion): Force UTC.
23521         * build-aux/bootstrap (scriptversion): New variable.
23522
23523         bootstrap: allow older git
23524         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
23525         older than 1.6.4.  Requested by the libvirt project.
23526
23527 2010-02-23  Eric Blake  <eblake@redhat.com>
23528
23529         warn-on-use: work with old autoconf
23530         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
23531         AS_VAR semantics of autoconf 2.60.
23532         Reported by Bruno Haible.
23533
23534         bootstrap: improve some comments
23535         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
23536         clarification comments.
23537
23538         gettimeofday: provide correct function
23539         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
23540         when replacement is declared, otherwise provide gettimeofday.
23541         Reported by Michael Goffioul.
23542
23543 2010-02-23  Jim Meyering  <meyering@redhat.com>
23544
23545         lib-ignore: relax license to "unlimited", not LGPLv2+
23546         * modules/lib-ignore (License): Relax to "unlimited".
23547
23548 2010-02-23  Jim Meyering  <meyering@redhat.com>
23549
23550         lib-ignore: relax license to LGPLv2+
23551         * modules/lib-ignore (License): Relax to LGPLv2+.
23552
23553 2010-02-22  Eric Blake  <eblake@redhat.com>
23554
23555         lseek: avoid bash 3.2 broken pipe bug
23556         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
23557         warning from bash 3.2.
23558         Reported by Ben Pfaff, with analysis from Bruno Haible.
23559
23560         bootstrap: support non-FSF copyright holder
23561         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
23562         bootstrap.conf override of COPYRIGHT_HOLDER.
23563         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
23564
23565         bootstrap: interoperate with gettext 0.14.1
23566         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
23567
23568         bootstrap: allow for alternate submodule location
23569         * build-aux/bootstrap (gnulib_path): New variable; use instead of
23570         hardcoding submodule location.
23571         (gnulib_mk): Allow direct use of Makefile.am.
23572
23573         bootstrap: use GNULIB_SRCDIR to reduce disk usage
23574         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
23575         rather than reconfiguring where the submodule points.
23576
23577         gettimeofday: restore support for platforms that lack function
23578         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
23579         replacement if function is missing.
23580         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
23581         * modules/sys_time (Makefile.am): Substitute it.
23582         * lib/sys_time.in.h (gettimeofday): Check it.
23583         Reported by Michael Goffioul.
23584
23585 2010-02-21  Bruno Haible  <bruno@clisp.org>
23586
23587         * lib/stdio.in.h (obstack_printf): Fix typo.
23588
23589 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
23590
23591         vc-list-files: use bzr ls's -R option
23592         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
23593         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
23594
23595 2010-02-21  Jim Meyering  <meyering@redhat.com>
23596
23597         init.sh: fix EXEEXT shims to work also for names like test-prog
23598         * tests/init.sh: Re-exec a better shell, when needed.
23599         If the current shell lacks support for posix $(...), an init.sh-using
23600         test will now try to find a shell that supports that.  If EXEEXT is
23601         nonempty, we also require support for hyphen-in-alias-name and shell
23602         substitutions like ${var#glob}.  Failure to find such a shell results
23603         in a skipped test.
23604
23605 2010-02-21  Bruno Haible  <bruno@clisp.org>
23606
23607         Really work around around "broken pipe" error message from bash 3.2.
23608         * gnulib-tool (func_reset_sigpipe): Remove function.
23609         (echo): In bash 3.2, define to a function that uses printf.
23610         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
23611
23612 2010-02-20  Bruno Haible  <bruno@clisp.org>
23613
23614         Restore support for automake 1.9.6 with autoconf 2.61.
23615         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
23616         Reported by James Youngman <jay@gnu.org>.
23617
23618 2010-02-20  Bruno Haible  <bruno@clisp.org>
23619
23620         Improve *printf warning condition.
23621         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
23622         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
23623         and the function is overridden due to SIGPIPE emulation.
23624
23625 2010-02-20  Bruno Haible  <bruno@clisp.org>
23626
23627         * lib/stdio.in.h: Tweak comments.
23628
23629 2010-02-19  Bruno Haible  <bruno@clisp.org>
23630
23631         Make it easier to find modules. New gnulib-tool option '--find'.
23632         * gnulib-tool: New option --find.
23633         (func_usage): Document it.
23634         (func_sanitize_modulelist): New function, extracted from
23635         func_all_modules.
23636         (func_all_modules): Invoke it.
23637         * doc/gnulib-tool.texi (Which modules?): New node.
23638
23639 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
23640
23641         * lib/sys_select.in.h: Provide select replacement even if
23642         sys/select.h exists on a system, for Interix.
23643
23644 2010-02-18  Jim Meyering  <meyering@redhat.com>
23645
23646         init.sh: don't use $(...) just yet
23647         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
23648         to accommodate e.g., Solaris' /bin/sh.
23649
23650 2010-02-17  Bruno Haible  <bruno@clisp.org>
23651
23652         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
23653         Reported by Ludovic Courtès <ludo@gnu.org>.
23654
23655 2010-02-16  Simon Josefsson  <simon@josefsson.org>
23656
23657         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
23658         linking with -lintl.
23659
23660 2010-02-17  Simon Josefsson  <simon@josefsson.org>
23661
23662         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
23663         if not provided by the system's netdb.h.  Reported by
23664         ludo@gnu.org (Ludovic Courtès).
23665
23666 2010-02-15  Jim Meyering  <meyering@redhat.com>
23667
23668         init.sh: improve portability and efficiency
23669         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
23670         "dummy" in a for loop.
23671         Use '!', not '^' to select the complement of a character set used
23672         in a "case" statement.
23673         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
23674         Suggestions from Eric Blake.
23675
23676         init.sh: automatically accommodate programs with the .exe suffix
23677         Automatically arrange for an invocation of "prog" to execute the
23678         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
23679         may use the simpler "prog", yet still work when built on a system
23680         that requires specifying the added suffix.
23681         Do this by constructing a function named "prog" that invokes
23682         "prog.exe" for each .exe file in selected directories.
23683         * tests/init.sh (find_exe_basenames_): New function.
23684         (create_exe_shim_functions_): New function.
23685         (path_prepend_): Use it.
23686
23687         maint.mk: mark syntax-check sc_*.m rules as .PHONY
23688         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
23689         "make -t syntax-check" doesn't create a ton of sc_*.m files.
23690
23691 2010-02-14  Jim Meyering  <meyering@redhat.com>
23692
23693         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
23694         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
23695         (sc_prohibit_hash_pjw_without_use): New rule.
23696
23697         maint.mk: allow the default upload destination dir to be overridden
23698         * top/maint.mk (upload_dest_dir_): Define with a default that
23699         preserves the status quo.
23700         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
23701         Reported by Peter Simons.
23702
23703         maint.mk: prohibit inclusion of "hash.h" without_use
23704         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
23705
23706 2010-02-10  Jim Meyering  <meyering@redhat.com>
23707
23708         maint.mk: prohibit inclusion of "ignore-value.h" without_use
23709         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
23710
23711 2010-02-09  Eric Blake  <ebb9@byu.net>
23712         and Bruno Haible  <bruno@clisp.org>
23713
23714         obstack-printf-posix: ensure declaration
23715         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
23716         extracted from gl_FUNC_OBSTACK_PRINTF.
23717         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
23718         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
23719         Likewise.
23720         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
23721         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
23722         0.
23723
23724 2010-02-08  Bruno Haible  <bruno@clisp.org>
23725
23726         gnulib-tool: Fix typo in 2010-02-07 commit.
23727         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
23728         Reported by Eric Blake.
23729
23730 2010-02-07  Bruno Haible  <bruno@clisp.org>
23731
23732         gnulib-tool: Fix up caching patches.
23733         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
23734         option --no-cache. Use associative arrays when supported by the shell.
23735         (sed_comments): New variable.
23736         (modcache): Renamed from do_cache.
23737         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
23738         abbreviate unnecessarily.
23739         (have_associative): New variable.
23740         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
23741         way also for ksh and zsh.
23742         (func_init_sed_convert_to_cache_statements): New function, extracted
23743         from func_cache_lookup_module. Add support for associative arrays.
23744         Don't set the c_MODULE_cached variable here. Ignore all lines before
23745         the first field header. Remove only the final newline, not all trailing
23746         newlines. Support empty fields correctly. Limit the use of 'eval' to
23747         assignments.
23748         (func_get_description, func_get_status, func_get_notice,
23749         func_get_applicability, func_get_filelist, func_get_dependencies,
23750         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
23751         func_get_automake_snippet, func_get_include_directive,
23752         func_get_link_directive, func_get_license, func_get_maintainer):
23753         Update documentation. List the unoptimized code first. Add support for
23754         associative arrays. Limit the use of 'eval' to assignments.
23755         (func_get_applicability): Undo stylistic pessimisations.
23756         (func_get_automake_snippet, func_get_include_directive): Reduce code
23757         duplication.
23758         (func_modules_transitive_closure, func_modules_add_dummy,
23759         func_modules_notice, func_modules_to_filelist, func_add_file,
23760         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
23761         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
23762         func_create_testdir, func_create_megatestdir): Update documentation.
23763
23764 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23765
23766         * gnulib-tool (func_cache_lookup_module): Store the module name
23767         belonging to the cache variable; error out if two different
23768         module names map to the same cache variable name.
23769
23770 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23771
23772         gnulib-tool: Make caching optional.
23773         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
23774         Update matching short versions of --no-changelog.
23775         (func_usage): Update.
23776         (sed_extract_cache_prog): Renamed from ...
23777         (sed_extract_prog): ... this; revert to old extraction script.
23778         (func_get_description, func_get_status)
23779         (func_get_notice, func_get_applicability, func_get_filelist)
23780         (func_get_dependencies, func_get_autoconf_early_snippet)
23781         (func_get_autoconf_snippet, func_get_automake_snippet)
23782         (func_get_include_directive, func_get_link_directive)
23783         (func_get_license, func_get_maintainer): If $do_cache is false,
23784         use old, non-caching extraction scripts.
23785         Suggestion by Bruno Haible.
23786
23787 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23788
23789         gnulib-tool: cache module metainformation.
23790         * gnulib-tool (sed_extract_prog): Match newline before each
23791         header, and rewrite header to a shell variable suffix.
23792         (func_cache_var, func_cache_lookup_module): New functions,
23793         to turn a module name into a cache variable prefix, and to
23794         look up and cache module metainformation.
23795         (func_get_description, func_get_status)
23796         (func_get_notice, func_get_applicability, func_get_filelist)
23797         (func_get_dependencies, func_get_autoconf_early_snippet)
23798         (func_get_autoconf_snippet, func_get_automake_snippet)
23799         (func_get_include_directive, func_get_link_directive)
23800         (func_get_license, func_get_maintainer): Use
23801         func_cache_lookup_module.
23802
23803 2010-02-07  Bruno Haible  <bruno@clisp.org>
23804
23805         fnctl: Fix missing dependency.
23806         * modules/fcntl (Depends-on): Add getdtablesize.
23807         Reported by John W. Eaton <jwe@gnu.org>.
23808
23809 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
23810
23811         Argp: fix recognition of short alias options.
23812
23813         * lib/argp-parse.c (convert_options): Fix improper use of
23814         `|' between character values.
23815         * tests/test-argp.c (group1_option): New alias option
23816         --read (-r).
23817         (group1_parser): Special handling for 'r'.
23818         (test15): New test case.
23819         (test_fun): Add test15.
23820         * tests/test-argp-2.sh: Update expected --help and --usage
23821         outputs.
23822
23823 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
23824
23825         * tests/test-argp.c: Fix indentation.
23826
23827 2010-02-04  Eric Blake  <ebb9@byu.net>
23828
23829         gettimeofday: expose type of second argument
23830         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
23831         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
23832         * tests/test-gettimeofday.c: Use it to silence warning.
23833         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
23834         the issue.
23835
23836 2010-02-03  Jim Meyering  <meyering@redhat.com>
23837
23838         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
23839         * lib/regcomp.c (TYPE_SIGNED): Define.
23840         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
23841
23842         regcomp.c: avoid a new -Wshadow warning
23843         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
23844
23845 2010-02-01  Jim Meyering  <meyering@redhat.com>
23846
23847         removing useless parentheses in cpp #define directives
23848         For motivation, see commit c0221df4, "define STREQ(a,b)
23849         consistently, removing useless parentheses"
23850         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
23851         * lib/mountlist.c (MNT_IGNORE): Likewise.
23852         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
23853
23854 2010-02-01  Eric Blake  <ebb9@byu.net>
23855
23856         sys_time: use link-warning
23857         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
23858         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
23859         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
23860         * modules/sys_time (Depends-on): Add warn-on-use.
23861         (Makefile.am): Always build replacement.
23862         (configure.ac): Update substitutions.
23863         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
23864         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
23865         bother with SYS_TIME_H.
23866         * modules/gettimeofday (configure.ac): Declare indicator.
23867         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
23868         in use.
23869
23870         closein-tests: silence compiler warning
23871         * tests/test-closein.c (main): Ignore fread result.
23872         * modules/closein-tests (Depends-on): Add ignore-value.
23873
23874         tests: silence warning about system return
23875         * tests/test-areadlink-with-size.c (main): Ignore system result.
23876         * tests/test-areadlink.c (main): Likewise.
23877         * tests/test-areadlinkat-with-size.c (main): Likewise.
23878         * tests/test-areadlinkat.c (main): Likewise.
23879         * tests/test-canonicalize-lgpl.c (main): Likewise.
23880         * tests/test-canonicalize.c (main): Likewise.
23881         * tests/test-chown.c (main): Likewise.
23882         * tests/test-fchownat.c (main): Likewise.
23883         * tests/test-fdutimensat.c (main): Likewise.
23884         * tests/test-fstatat.c (main): Likewise.
23885         * tests/test-futimens.c (main): Likewise.
23886         * tests/test-lchown.c (main): Likewise.
23887         * tests/test-link.c (main): Likewise.
23888         * tests/test-linkat.c (main): Likewise.
23889         * tests/test-lstat.c (main): Likewise.
23890         * tests/test-mkdir.c (main): Likewise.
23891         * tests/test-mkdirat.c (main): Likewise.
23892         * tests/test-mkfifo.c (main): Likewise.
23893         * tests/test-mkfifoat.c (main): Likewise.
23894         * tests/test-mknod.c (main): Likewise.
23895         * tests/test-readlink.c (main): Likewise.
23896         * tests/test-remove.c (main): Likewise.
23897         * tests/test-rename.c (main): Likewise.
23898         * tests/test-renameat.c (main): Likewise.
23899         * tests/test-rmdir.c (main): Likewise.
23900         * tests/test-symlink.c (main): Likewise.
23901         * tests/test-symlinkat.c (main): Likewise.
23902         * tests/test-unlink.c (main): Likewise.
23903         * tests/test-unlinkat.c (main): Likewise.
23904         * tests/test-utimens.c (main): Likewise.
23905         * tests/test-utimensat.c (main): Likewise.
23906         * modules/areadlink-tests (Depends-on): Add ignore-value.
23907         * modules/areadlink-with-size-tests (Depends-on): Likewise.
23908         * modules/areadlinkat-tests (Depends-on): Likewise.
23909         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
23910         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23911         * modules/canonicalize-tests (Depends-on): Likewise.
23912         * modules/chown-tests (Depends-on): Likewise.
23913         * modules/fdutimensat-tests (Depends-on): Likewise.
23914         * modules/futimens-tests (Depends-on): Likewise.
23915         * modules/lchown-tests (Depends-on): Likewise.
23916         * modules/link-tests (Depends-on): Likewise.
23917         * modules/linkat-tests (Depends-on): Likewise.
23918         * modules/lstat-tests (Depends-on): Likewise.
23919         * modules/mkdir-tests (Depends-on): Likewise.
23920         * modules/mkfifo-tests (Depends-on): Likewise.
23921         * modules/mkfifoat-tests (Depends-on): Likewise.
23922         * modules/mknod-tests (Depends-on): Likewise.
23923         * modules/openat-tests (Depends-on): Likewise.
23924         * modules/readlink-tests (Depends-on): Likewise.
23925         * modules/remove-tests (Depends-on): Likewise.
23926         * modules/rename-tests (Depends-on): Likewise.
23927         * modules/renameat-tests (Depends-on): Likewise.
23928         * modules/rmdir-tests (Depends-on): Likewise.
23929         * modules/symlink-tests (Depends-on): Likewise.
23930         * modules/symlinkat-tests (Depends-on): Likewise.
23931         * modules/unlink-tests (Depends-on): Likewise.
23932         * modules/utimens-tests (Depends-on): Likewise.
23933         * modules/utimensat-tests (Depends-on): Likewise.
23934
23935 2010-01-31  Bruno Haible  <bruno@clisp.org>
23936
23937         Perform the same test for many <math.h> functions.
23938         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
23939         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
23940         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
23941         of gl_MATHFUNC.
23942         * modules/acos (configure.ac): Likewise.
23943         * modules/asin (configure.ac): Likewise.
23944         * modules/atan (configure.ac): Likewise.
23945         * modules/atan2 (configure.ac): Likewise.
23946         * modules/cbrt (configure.ac): Likewise.
23947         * modules/copysign (configure.ac): Likewise.
23948         * modules/cos (configure.ac): Likewise.
23949         * modules/cosh (configure.ac): Likewise.
23950         * modules/erf (configure.ac): Likewise.
23951         * modules/erfc (configure.ac): Likewise.
23952         * modules/exp (configure.ac): Likewise.
23953         * modules/fmod (configure.ac): Likewise.
23954         * modules/hypot (configure.ac): Likewise.
23955         * modules/j0 (configure.ac): Likewise.
23956         * modules/j1 (configure.ac): Likewise.
23957         * modules/jn (configure.ac): Likewise.
23958         * modules/lgamma (configure.ac): Likewise.
23959         * modules/log (configure.ac): Likewise.
23960         * modules/log10 (configure.ac): Likewise.
23961         * modules/log1p (configure.ac): Likewise.
23962         * modules/pow (configure.ac): Likewise.
23963         * modules/remainder (configure.ac): Likewise.
23964         * modules/sin (configure.ac): Likewise.
23965         * modules/sinh (configure.ac): Likewise.
23966         * modules/tan (configure.ac): Likewise.
23967         * modules/tanh (configure.ac): Likewise.
23968         * modules/y0 (configure.ac): Likewise.
23969         * modules/y1 (configure.ac): Likewise.
23970         * modules/yn (configure.ac): Likewise.
23971         Suggested by Paolo Bonzini.
23972
23973 2010-01-31  Bruno Haible  <bruno@clisp.org>
23974
23975         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
23976
23977 2010-01-31  Bruno Haible  <bruno@clisp.org>
23978
23979         Work around getdelim() bug on FreeBSD 8.0.
23980         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
23981         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
23982         not work.
23983         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
23984         is 1.
23985         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
23986         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
23987         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
23988         a non-zero size.
23989         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
23990
23991 2010-01-31  Bruno Haible  <bruno@clisp.org>
23992
23993         Work around getline() bug on FreeBSD 8.0.
23994         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
23995         and a non-zero size.
23996         * tests/test-getline.c (main): Likewise.
23997         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
23998         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
23999
24000 2010-01-28  Eric Blake  <ebb9@byu.net>
24001
24002         regex: fix build failure
24003         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
24004         platforms.
24005
24006 2010-01-28  Jim Meyering  <meyering@redhat.com>
24007
24008         regex: do not ignore memory allocation failure
24009         * lib/regex_internal.c (create_cd_newstate): Detect
24010         re_node_set_init_copy failure.   Extracted from glibc commit
24011         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
24012
24013         regex: sync more white-space changes from libc
24014         * lib/regex_internal.c: White-space only changes.
24015         * lib/regexec.c: Likewise.
24016
24017         regex: add many uses of __attribute_warn_unused_result__
24018         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
24019         * lib/regexec.c: Likewise.
24020         Extracted from a messy glibc commit.
24021
24022         regcomp.c: spelling and merge-artifact from glibc
24023         * lib/regcomp.c: Merge remainder of glibc's
24024         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
24025
24026         regcomp.c: sync white-space changes from glibc
24027         * lib/regcomp.c: Merge to accommodate white space
24028         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
24029
24030         regcomp.c: do not ignore internal return values
24031         * lib/regcomp.c: Do not ignore internal return values.
24032         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
24033         but without its white-space changes and spelling fixes.
24034
24035         regex_internal.h: define __attribute_warn_unused_result__
24036         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
24037
24038         maint: add a syntax-check rule to check for vulnerable Makefile.in
24039         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
24040
24041 2010-01-27  Jim Meyering  <meyering@redhat.com>
24042
24043         ncftpput-ftp: clean up spaces
24044         * build-aux/ncftpput-ftp: Make Copyright line consistent.
24045         Remove trailing blanks.
24046
24047 2010-01-27  Simon Josefsson  <simon@josefsson.org>
24048
24049         * build-aux/git-version-gen: Fix copyright statement.
24050         * build-aux/gnupload: Likewise.
24051         * tests/test-arcfour.c: Likewise.
24052         * tests/test-arctwo.c: Likewise.
24053         * tests/test-count-one-bits.c: Likewise.
24054         * tests/test-crc.c: Likewise.
24055         * tests/test-des.c: Likewise.
24056         * tests/test-gc-arcfour.c: Likewise.
24057         * tests/test-gc-arctwo.c: Likewise.
24058         * tests/test-gc-des.c: Likewise.
24059         * tests/test-gc-hmac-md5.c: Likewise.
24060         * tests/test-gc-hmac-sha1.c: Likewise.
24061         * tests/test-gc-md2.c: Likewise.
24062         * tests/test-gc-md4.c: Likewise.
24063         * tests/test-gc-md5.c: Likewise.
24064         * tests/test-gc-pbkdf2-sha1.c: Likewise.
24065         * tests/test-gc-rijndael.c: Likewise.
24066         * tests/test-gc-sha1.c: Likewise.
24067         * tests/test-gc.c: Likewise.
24068         * tests/test-gethostname.c: Likewise.
24069         * tests/test-gettimeofday.c: Likewise.
24070         * tests/test-hash.c: Likewise.
24071         * tests/test-hmac-md5.c: Likewise.
24072         * tests/test-hmac-sha1.c: Likewise.
24073         * tests/test-md2.c: Likewise.
24074         * tests/test-md4.c: Likewise.
24075         * tests/test-md5.c: Likewise.
24076         * tests/test-memchr.c: Likewise.
24077         * tests/test-memchr2.c: Likewise.
24078         * tests/test-memcmp.c: Likewise.
24079         * tests/test-memmem.c: Likewise.
24080         * tests/test-memrchr.c: Likewise.
24081         * tests/test-rawmemchr.c: Likewise.
24082         * tests/test-read-file.c: Likewise.
24083         * tests/test-rijndael.c: Likewise.
24084         * tests/test-sockets.c: Likewise.
24085         * tests/test-strchrnul.c: Likewise.
24086         * tests/test-strstr.c: Likewise.
24087         * tests/test-strtod.c: Likewise.
24088         * build-aux/ncftpput-ftp: Likewise.
24089
24090 2010-01-26  Eric Blake  <ebb9@byu.net>
24091
24092         ignore-value: update recommended header name
24093         * modules/ignore-value (Include): Only use <> for headers that
24094         exist in glibc.
24095
24096 2010-01-26  Jim Meyering  <meyering@redhat.com>
24097
24098         test-userspec.c: avoid compiler warnings
24099         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
24100         and "initialization discards qualifiers..." warnings.
24101         Put the first "uid" in its own scope, and make char* members "const".
24102
24103 2010-01-25  Bruno Haible  <bruno@clisp.org>
24104
24105         gnulib-tool: Make warning diagnostics consistent.
24106         * gnulib-tool (func_warning): New function.
24107         Use it everywhere where gnulib-tool produces output to stderr and it is
24108         not a fatal error.
24109
24110 2010-01-25  Bruno Haible  <bruno@clisp.org>
24111
24112         Fix test dependencies.
24113         * modules/xstrtol-tests (Depends-on): Add inttypes.
24114         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
24115
24116 2010-01-25 Pádraig Brady <P@draigBrady.com>
24117
24118         syntax-check: detect incorrect boolean macro values in config.h
24119         * modules/maintainer-makefile (configure.ac): Parameterize the location
24120         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
24121         The logic is from Eric Blake and the location indicated by Jim Meyering.
24122         Note the more natural CONFIG_HEADER name is prohibited by automake
24123         for backwards compatibility reasons.
24124         * top/maint.mk (sc_Wundef_boolean): New rule.
24125
24126 2010-01-25  Jim Meyering  <meyering@redhat.com>
24127
24128         bootstrap: detect MacOS 10.6's shasum, too
24129         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
24130         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
24131
24132 2010-01-23  Jim Meyering  <meyering@redhat.com>
24133
24134         xstrtoll: new module
24135         * modules/xstrtoll: New file.
24136         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
24137         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
24138         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
24139         ./configure fails if you use this module and lack "long long".
24140         * modules/xstrtoll-tests: New module.
24141         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
24142         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
24143         new init.sh-based test framework.
24144
24145 2010-01-24  Bruno Haible  <bruno@clisp.org>
24146
24147         Tests for module 'yn'.
24148         * modules/yn-tests: New file.
24149         * tests/test-yn.c: New file.
24150
24151         Tests for module 'y1'.
24152         * modules/y1-tests: New file.
24153         * tests/test-y1.c: New file.
24154
24155         Tests for module 'y0'.
24156         * modules/y0-tests: New file.
24157         * tests/test-y0.c: New file.
24158
24159         Tests for module 'tanh'.
24160         * modules/tanh-tests: New file.
24161         * tests/test-tanh.c: New file.
24162
24163         Tests for module 'tan'.
24164         * modules/tan-tests: New file.
24165         * tests/test-tan.c: New file.
24166
24167         Tests for module 'sqrt'.
24168         * modules/sqrt-tests: New file.
24169         * tests/test-sqrt.c: New file.
24170
24171         Tests for module 'sinh'.
24172         * modules/sinh-tests: New file.
24173         * tests/test-sinh.c: New file.
24174
24175         Tests for module 'sin'.
24176         * modules/sin-tests: New file.
24177         * tests/test-sin.c: New file.
24178
24179         Tests for module 'rint'.
24180         * modules/rint-tests: New file.
24181         * tests/test-rint.c: New file.
24182
24183         Tests for module 'remainder'.
24184         * modules/remainder-tests: New file.
24185         * tests/test-remainder.c: New file.
24186
24187         Tests for module 'pow'.
24188         * modules/pow-tests: New file.
24189         * tests/test-pow.c: New file.
24190
24191         Tests for module 'nextafter'.
24192         * modules/nextafter-tests: New file.
24193         * tests/test-nextafter.c: New file.
24194
24195         Tests for module 'modf'.
24196         * modules/modf-tests: New file.
24197         * tests/test-modf.c: New file.
24198
24199         Tests for module 'logb'.
24200         * modules/logb-tests: New file.
24201         * tests/test-logb.c: New file.
24202
24203         Tests for module 'log1p'.
24204         * modules/log1p-tests: New file.
24205         * tests/test-log1p.c: New file.
24206
24207         Tests for module 'log10'.
24208         * modules/log10-tests: New file.
24209         * tests/test-log10.c: New file.
24210
24211         Tests for module 'log'.
24212         * modules/log-tests: New file.
24213         * tests/test-log.c: New file.
24214
24215         Tests for module 'lgamma'.
24216         * modules/lgamma-tests: New file.
24217         * tests/test-lgamma.c: New file.
24218
24219         Tests for module 'ldexp'.
24220         * modules/ldexp-tests: New file.
24221         * tests/test-ldexp.c: New file.
24222
24223         Tests for module 'jn'.
24224         * modules/jn-tests: New file.
24225         * tests/test-jn.c: New file.
24226
24227         Tests for module 'j1'.
24228         * modules/j1-tests: New file.
24229         * tests/test-j1.c: New file.
24230
24231         Tests for module 'j0'.
24232         * modules/j0-tests: New file.
24233         * tests/test-j0.c: New file.
24234
24235         Tests for module 'hypot'.
24236         * modules/hypot-tests: New file.
24237         * tests/test-hypot.c: New file.
24238
24239         Tests for module 'fmod'.
24240         * modules/fmod-tests: New file.
24241         * tests/test-fmod.c: New file.
24242
24243         Tests for module 'fabs'.
24244         * modules/fabs-tests: New file.
24245         * tests/test-fabs.c: New file.
24246
24247         Tests for module 'exp'.
24248         * modules/exp-tests: New file.
24249         * tests/test-exp.c: New file.
24250
24251         Tests for module 'erfc'.
24252         * modules/erfc-tests: New file.
24253         * tests/test-erfc.c: New file.
24254
24255         Tests for module 'erf'.
24256         * modules/erf-tests: New file.
24257         * tests/test-erf.c: New file.
24258
24259         Tests for module 'cosh'.
24260         * modules/cosh-tests: New file.
24261         * tests/test-cosh.c: New file.
24262
24263         Tests for module 'cos'.
24264         * modules/cos-tests: New file.
24265         * tests/test-cos.c: New file.
24266
24267         Tests for module 'copysign'.
24268         * modules/copysign-tests: New file.
24269         * tests/test-copysign.c: New file.
24270
24271         Tests for module 'cbrt'.
24272         * modules/cbrt-tests: New file.
24273         * tests/test-cbrt.c: New file.
24274
24275         Tests for module 'atan2'.
24276         * modules/atan2-tests: New file.
24277         * tests/test-atan2.c: New file.
24278
24279         Tests for module 'atan'.
24280         * modules/atan-tests: New file.
24281         * tests/test-atan.c: New file.
24282
24283         Tests for module 'asin'.
24284         * modules/asin-tests: New file.
24285         * tests/test-asin.c: New file.
24286
24287         Tests for module 'acos'.
24288         * modules/acos-tests: New file.
24289         * tests/test-acos.c: New file.
24290
24291 2010-01-24  Bruno Haible  <bruno@clisp.org>
24292
24293         Fix tests for common <math.h> functions.
24294         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
24295         code snippet that references the function pointer, rather than merely
24296         calling the function. Substitute the FUNC_LIBM variable.
24297         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
24298         * modules/acos (configure.ac): Likewise.
24299         * modules/asin (configure.ac): Likewise.
24300         * modules/atan (configure.ac): Likewise.
24301         * modules/atan2 (configure.ac): Likewise.
24302         * modules/cbrt (configure.ac): Likewise.
24303         * modules/copysign (configure.ac): Likewise.
24304         * modules/cos (configure.ac): Likewise.
24305         * modules/cosh (configure.ac): Likewise.
24306         * modules/erf (configure.ac): Likewise.
24307         * modules/erfc (configure.ac): Likewise.
24308         * modules/exp (configure.ac): Likewise.
24309         * modules/fabs (configure.ac): Likewise.
24310         * modules/fmod (configure.ac): Likewise.
24311         * modules/hypot (configure.ac): Likewise.
24312         * modules/j0 (configure.ac): Likewise.
24313         * modules/j1 (configure.ac): Likewise.
24314         * modules/jn (configure.ac): Likewise.
24315         * modules/ldexp (configure.ac): Likewise.
24316         * modules/lgamma (configure.ac): Likewise.
24317         * modules/log (configure.ac): Likewise.
24318         * modules/log10 (configure.ac): Likewise.
24319         * modules/log1p (configure.ac): Likewise.
24320         * modules/logb (configure.ac): Likewise.
24321         * modules/modf (configure.ac): Likewise.
24322         * modules/nextafter (configure.ac): Likewise.
24323         * modules/pow (configure.ac): Likewise.
24324         * modules/remainder (configure.ac): Likewise.
24325         * modules/rint (configure.ac): Likewise.
24326         * modules/sin (configure.ac): Likewise.
24327         * modules/sinh (configure.ac): Likewise.
24328         * modules/tan (configure.ac): Likewise.
24329         * modules/tanh (configure.ac): Likewise.
24330         * modules/y0 (configure.ac): Likewise.
24331         * modules/y1 (configure.ac): Likewise.
24332         * modules/yn (configure.ac): Likewise.
24333
24334 2010-01-24  Bruno Haible  <bruno@clisp.org>
24335
24336         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
24337         * tests/test-acosl.c (x): New variable.
24338         (main): Store argument in x and fetch it from x.
24339         * tests/test-asinl.c (x): New variable.
24340         (main): Store argument in x and fetch it from x.
24341         * tests/test-atanl.c (x): New variable.
24342         (main): Store argument in x and fetch it from x.
24343         * tests/test-cosl.c (x): New variable.
24344         (main): Store argument in x and fetch it from x.
24345         * tests/test-expl.c (x): New variable.
24346         (main): Store argument in x and fetch it from x.
24347         * tests/test-logl.c (x): New variable.
24348         (main): Store argument in x and fetch it from x.
24349         * tests/test-sinl.c (x): New variable.
24350         (main): Store argument in x and fetch it from x.
24351         * tests/test-sqrtl.c (x): New variable.
24352         (main): Store argument in x and fetch it from x.
24353         * tests/test-tanl.c (x): New variable.
24354         (main): Store argument in x and fetch it from x.
24355
24356 2010-01-24  Bruno Haible  <bruno@clisp.org>
24357
24358         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
24359         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
24360         assignments to the initial TESTS_ENVIRONMENT.
24361         * doc/gnulib.texi (Unit test modules): Document it.
24362         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
24363         TESTS_ENVIRONMENT.
24364         * modules/btowc-tests (Makefile.am): Likewise.
24365         * modules/c-stack-tests (Makefile.am): Likewise.
24366         * modules/c-strcase-tests (Makefile.am): Likewise.
24367         * modules/copy-file-tests (Makefile.am): Likewise.
24368         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
24369         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
24370         * modules/mbrtowc-tests (Makefile.am): Likewise.
24371         * modules/mbscasecmp-tests (Makefile.am): Likewise.
24372         * modules/mbscasestr-tests (Makefile.am): Likewise.
24373         * modules/mbschr-tests (Makefile.am): Likewise.
24374         * modules/mbscspn-tests (Makefile.am): Likewise.
24375         * modules/mbsinit-tests (Makefile.am): Likewise.
24376         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
24377         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
24378         * modules/mbspbrk-tests (Makefile.am): Likewise.
24379         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
24380         * modules/mbsrchr-tests (Makefile.am): Likewise.
24381         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
24382         * modules/mbsspn-tests (Makefile.am): Likewise.
24383         * modules/mbsstr-tests (Makefile.am): Likewise.
24384         * modules/nl_langinfo-tests (Makefile.am): Likewise.
24385         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
24386         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
24387         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
24388         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
24389         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
24390         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
24391         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
24392         * modules/wcrtomb-tests (Makefile.am): Likewise.
24393         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
24394         * modules/wcsrtombs-tests (Makefile.am): Likewise.
24395         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
24396         assignments from TESTS_ENVIRONMENT.
24397         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
24398         augmentation.
24399         * modules/argp-version-etc-tests (Makefile.am): Likewise.
24400         * modules/atexit-tests (Makefile.am): Likewise.
24401         * modules/binary-io-tests (Makefile.am): Likewise.
24402         * modules/closein-tests (Makefile.am): Likewise.
24403         * modules/dprintf-posix-tests (Makefile.am): Likewise.
24404         * modules/exclude-tests (Makefile.am): Likewise.
24405         * modules/fflush-tests (Makefile.am): Likewise.
24406         * modules/fpending-tests (Makefile.am): Likewise.
24407         * modules/fprintf-posix-tests (Makefile.am): Likewise.
24408         * modules/freadahead-tests (Makefile.am): Likewise.
24409         * modules/freadptr-tests (Makefile.am): Likewise.
24410         * modules/freadseek-tests (Makefile.am): Likewise.
24411         * modules/fseek-tests (Makefile.am): Likewise.
24412         * modules/fseeko-tests (Makefile.am): Likewise.
24413         * modules/ftell-tests (Makefile.am): Likewise.
24414         * modules/ftello-tests (Makefile.am): Likewise.
24415         * modules/idpriv-drop-tests (Makefile.am): Likewise.
24416         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
24417         * modules/lseek-tests (Makefile.am): Likewise.
24418         * modules/parse-duration-tests (Makefile.am): Likewise.
24419         * modules/perror-tests (Makefile.am): Likewise.
24420         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
24421         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
24422         * modules/pipe-tests (Makefile.am): Likewise.
24423         * modules/pread-tests (Makefile.am): Likewise.
24424         * modules/printf-posix-tests (Makefile.am): Likewise.
24425         * modules/select-tests (Makefile.am): Likewise.
24426         * modules/sigpipe-tests (Makefile.am): Likewise.
24427         * modules/tsearch-tests (Makefile.am): Likewise.
24428         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
24429         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
24430         * modules/uniname/uniname-tests (Makefile.am): Likewise.
24431         * modules/uniwidth/width-tests (Makefile.am): Likewise.
24432         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
24433         * modules/version-etc-tests (Makefile.am): Likewise.
24434         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
24435         * modules/vprintf-posix-tests (Makefile.am): Likewise.
24436         * modules/xalloc-die-tests (Makefile.am): Likewise.
24437         * modules/xprintf-posix-tests (Makefile.am): Likewise.
24438         * modules/xstrtoimax-tests (Makefile.am): Likewise.
24439         * modules/xstrtol-tests (Makefile.am): Likewise.
24440         * modules/xstrtoumax-tests (Makefile.am): Likewise.
24441         * modules/yesno-tests (Makefile.am): Likewise.
24442         Suggested by Jim Meyering.
24443
24444 2010-01-24  Bruno Haible  <bruno@clisp.org>
24445
24446         More documentation.
24447         * doc/gnulib.texi (Writing modules): New chapter.
24448         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
24449         the new chapter.
24450
24451 2010-01-24  Jim Meyering  <meyering@redhat.com>
24452
24453         maint.mk: do not prepend "./" after filtering
24454         * top/maint.mk (_prepend_srcdir_prefix): New variable
24455         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
24456         "./" when $(srcdir) is ".".
24457
24458         define STREQ(a,b) consistently, removing useless parentheses
24459         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
24460         since the only risk is that "a" or "b" contains an unparenthesized
24461         comma, but if either did that, STREQ would have 3 or more arguments.
24462         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
24463         * lib/fts.c (STREQ): Remove unnecessary parentheses.
24464         * lib/hash-triple.c (STREQ): Likewise.
24465         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
24466         * lib/getugroups.c (STREQ): Likewise.
24467
24468 2010-01-23  Jim Meyering  <meyering@redhat.com>
24469
24470         maint.mk: fix syntax-check in a non-srcdir build directory
24471         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
24472         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
24473
24474 2010-01-22  Jim Meyering  <meyering@redhat.com>
24475
24476         userspec: add unit tests
24477         * tests/test-userspec.c: New file.
24478         * modules/userspec-tests: Likewise.
24479
24480 2010-01-21  Jim Meyering  <meyering@redhat.com>
24481
24482         maint.mk: handle source file names containing "." robustly
24483         * top/maint.mk (_dot_escaped_srcdir): Define.
24484         (VC_LIST): Use it in LHS of sed substitution.
24485
24486 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
24487
24488         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
24489         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
24490         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
24491         from a non-srcdir build.
24492
24493 2010-01-20  Eric Blake  <ebb9@byu.net>
24494
24495         warn-on-use: use instead of link-warning
24496         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
24497         * modules/unistd (Depends-on, Makefile.am): Likewise.
24498         * modules/arpa_inet (Depends-on): Replace link-warning with
24499         warn-on-use.
24500         (Makefile.am): Update rules accordingly.
24501         * modules/ctype (Depends-on, Makefile.am): Likewise.
24502         * modules/dirent (Depends-on, Makefile.am): Likewise.
24503         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
24504         * modules/inttypes (Depends-on, Makefile.am): Likewise.
24505         * modules/langinfo (Depends-on, Makefile.am): Likewise.
24506         * modules/locale (Depends-on, Makefile.am): Likewise.
24507         * modules/math (Depends-on, Makefile.am): Likewise.
24508         * modules/search (Depends-on, Makefile.am): Likewise.
24509         * modules/signal (Depends-on, Makefile.am): Likewise.
24510         * modules/spawn (Depends-on, Makefile.am): Likewise.
24511         * modules/stdlib (Depends-on, Makefile.am): Likewise.
24512         * modules/string (Depends-on, Makefile.am): Likewise.
24513         * modules/strings (Depends-on, Makefile.am): Likewise.
24514         * modules/sys_file (Depends-on, Makefile.am): Likewise.
24515         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
24516         * modules/sys_select (Depends-on, Makefile.am): Likewise.
24517         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
24518         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
24519         * modules/sys_times (Depends-on, Makefile.am): Likewise.
24520         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
24521         * modules/wchar (Depends-on, Makefile.am): Likewise.
24522         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
24523         should be poisoned.
24524         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
24525         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
24526         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
24527         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
24528         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
24529         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24530         * m4/math_h.m4 (gl_MATH_H): Likewise.
24531         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24532         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
24533         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24534         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
24535         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
24536         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
24537         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
24538         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
24539         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24540         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24541         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24542         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
24543         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24544         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
24545         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24546         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24547         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
24548         GL_LINK_WARNING.
24549         * lib/ctype.in.h: Likewise.
24550         * lib/dirent.in.h: Likewise.
24551         * lib/fcntl.in.h: Likewise.
24552         * lib/inttypes.in.h: Likewise.
24553         * lib/langinfo.in.h: Likewise.
24554         * lib/locale.in.h: Likewise.
24555         * lib/math.in.h: Likewise.
24556         * lib/search.in.h: Likewise.
24557         * lib/signal.in.h: Likewise.
24558         * lib/spawn.in.h: Likewise.
24559         * lib/stdio.in.h: Likewise.
24560         * lib/stdlib.in.h: Likewise.
24561         * lib/string.in.h: Likewise.
24562         * lib/strings.in.h: Likewise.
24563         * lib/sys_file.in.h: Likewise.
24564         * lib/sys_ioctl.in.h: Likewise.
24565         * lib/sys_select.in.h: Likewise.
24566         * lib/sys_socket.in.h: Likewise.
24567         * lib/sys_stat.in.h: Likewise.
24568         * lib/sys_times.in.h: Likewise.
24569         * lib/sys_utsname.in.h: Likewise.
24570         * lib/unistd.in.h: Likewise.
24571         * lib/wchar.in.h: Likewise.
24572
24573 2010-01-20  Bruno Haible  <bruno@clisp.org>
24574
24575         Avoid duplicate -lm.
24576         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
24577         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
24578         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
24579         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
24580         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
24581         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
24582         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
24583         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
24584         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
24585         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
24586         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
24587         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24588         Reported by Paolo Bonzini.
24589
24590 2010-01-19  Bruno Haible  <bruno@clisp.org>
24591
24592         langinfo, nl_langinfo: Relicense under LGPLv2+.
24593         * modules/langinfo (License): Change to LGPLv2+.
24594         * modules/nl_langinfo (License): Likewise.
24595         Patch by David Lutterkort <lutter@redhat.com>.
24596
24597 2010-01-19  Bruno Haible  <bruno@clisp.org>
24598
24599         Avoid compilation error with cc on OSF/1 5.1.
24600         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
24601         statement, not before.
24602         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24603
24604 2010-01-18  Bruno Haible  <bruno@clisp.org>
24605
24606         Avoid a link error due to the __printf__ symbol.
24607         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
24608         and 2.6.x.
24609         (__format__, __printf__): Remove definitions.
24610         * lib/argp-fmtstream.h: Likewise.
24611         * lib/argp.h: Likewise.
24612         * lib/error.h: Likewise.
24613         * lib/vasnprintf.h: Likewise.
24614         * lib/xprintf.h: Likewise.
24615         * lib/xvasprintf.h: Likewise.
24616         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24617
24618 2010-01-18  Bruno Haible  <bruno@clisp.org>
24619
24620         Tests for module 'tanl'.
24621         * modules/tanl-tests: New file.
24622         * tests/test-tanl.c: New file.
24623
24624         Tests for module 'sqrtl'.
24625         * modules/sqrtl-tests: New file.
24626         * tests/test-sqrtl.c: New file.
24627
24628         Tests for module 'sinl'.
24629         * modules/sinl-tests: New file.
24630         * tests/test-sinl.c: New file.
24631
24632         Tests for module 'logl'.
24633         * modules/logl-tests: New file.
24634         * tests/test-logl.c: New file.
24635
24636         Tests for module 'expl'.
24637         * modules/expl-tests: New file.
24638         * tests/test-expl.c: New file.
24639
24640         Tests for module 'cosl'.
24641         * modules/cosl-tests: New file.
24642         * tests/test-cosl.c: New file.
24643
24644         Tests for module 'atanl'.
24645         * modules/atanl-tests: New file.
24646         * tests/test-atanl.c: New file.
24647
24648         Tests for module 'asinl'.
24649         * modules/asinl-tests: New file.
24650         * tests/test-asinl.c: New file.
24651
24652         Tests for module 'acosl'.
24653         * modules/acosl-tests: New file.
24654         * tests/test-acosl.c: New file.
24655
24656         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
24657         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
24658         tanl): Use the standard gnulib idiom.
24659         * lib/cosl.c: Don't include trigl.c and sincosl.c.
24660         * lib/sinl.c: Likewise.
24661         * lib/tanl.c: Don't include trigl.c.
24662         (kernel_tanl): Make static.
24663         * lib/sincosl.c: Include trigl.h first.
24664         * lib/trigl.c: Likewise.
24665         * m4/acosl.m4: New file.
24666         * m4/asinl.m4: New file.
24667         * m4/atanl.m4: New file.
24668         * m4/cosl.m4: New file.
24669         * m4/expl.m4: New file.
24670         * m4/logl.m4: New file.
24671         * m4/sinl.m4: New file.
24672         * m4/sqrtl.m4: New file.
24673         * m4/tanl.m4: New file.
24674         * m4/mathl.m4: Remove file.
24675         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
24676         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
24677         Don't initialize GNULIB_MATHL.
24678         * modules/acosl: New file.
24679         * modules/asinl: New file.
24680         * modules/atanl: New file.
24681         * modules/cosl: New file.
24682         * modules/expl: New file.
24683         * modules/logl: New file.
24684         * modules/sinl: New file.
24685         * modules/sqrtl: New file.
24686         * modules/tanl: New file.
24687         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
24688         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
24689         substitute GNULIB_MATHL.
24690         * modules/mathl: Rewritten.
24691         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
24692         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
24693         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
24694         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
24695         * doc/posix-functions/expl.texi: Mention the 'expl' module.
24696         * doc/posix-functions/logl.texi: Mention the 'logl' module.
24697         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
24698         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
24699         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
24700
24701 2010-01-18  Bruno Haible  <bruno@clisp.org>
24702
24703         sqrt: Make gl_FUNC_SQRT requirable.
24704         * m4/sqrt.m4: New file.
24705         * modules/sqrt (Files): Add it.
24706         (configure.ac): Invoke gl_FUNC_SQRT.
24707
24708 2010-01-18  Bruno Haible  <bruno@clisp.org>
24709
24710         New modules for common <math.h> functions.
24711         * m4/mathfunc.m4: New file.
24712         * modules/acos: New file.
24713         * modules/asin: New file.
24714         * modules/atan: New file.
24715         * modules/atan2: New file.
24716         * modules/cbrt: New file.
24717         * modules/copysign: New file.
24718         * modules/cos: New file.
24719         * modules/cosh: New file.
24720         * modules/erf: New file.
24721         * modules/erfc: New file.
24722         * modules/exp: New file.
24723         * modules/fabs: New file.
24724         * modules/fmod: New file.
24725         * modules/hypot: New file.
24726         * modules/j0: New file.
24727         * modules/j1: New file.
24728         * modules/jn: New file.
24729         * modules/ldexp: New file.
24730         * modules/lgamma: New file.
24731         * modules/log: New file.
24732         * modules/log10: New file.
24733         * modules/log1p: New file.
24734         * modules/logb: New file.
24735         * modules/modf: New file.
24736         * modules/nextafter: New file.
24737         * modules/pow: New file.
24738         * modules/remainder: New file.
24739         * modules/rint: New file.
24740         * modules/sin: New file.
24741         * modules/sinh: New file.
24742         * modules/sqrt: New file.
24743         * modules/tan: New file.
24744         * modules/tanh: New file.
24745         * modules/y0: New file.
24746         * modules/y1: New file.
24747         * modules/yn: New file.
24748         * doc/posix-functions/acos.texi: Mention the 'acos' module.
24749         * doc/posix-functions/asin.texi: Mention the 'asin' module.
24750         * doc/posix-functions/atan.texi: Mention the 'atan' module.
24751         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
24752         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
24753         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
24754         * doc/posix-functions/cos.texi: Mention the 'cos' module.
24755         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
24756         * doc/posix-functions/erf.texi: Mention the 'erf' module.
24757         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
24758         * doc/posix-functions/exp.texi: Mention the 'exp' module.
24759         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
24760         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
24761         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
24762         * doc/posix-functions/j0.texi: Mention the 'j0' module.
24763         * doc/posix-functions/j1.texi: Mention the 'j1' module.
24764         * doc/posix-functions/jn.texi: Mention the 'jn' module.
24765         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
24766         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
24767         * doc/posix-functions/log.texi: Mention the 'log' module.
24768         * doc/posix-functions/log10.texi: Mention the 'log10' module.
24769         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
24770         * doc/posix-functions/logb.texi: Mention the 'logb' module.
24771         * doc/posix-functions/modf.texi: Mention the 'modf' module.
24772         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
24773         * doc/posix-functions/pow.texi: Mention the 'pow' module.
24774         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
24775         * doc/posix-functions/rint.texi: Mention the 'rint' module.
24776         * doc/posix-functions/sin.texi: Mention the 'sin' module.
24777         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
24778         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
24779         * doc/posix-functions/tan.texi: Mention the 'tan' module.
24780         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
24781         * doc/posix-functions/y0.texi: Mention the 'y0' module.
24782         * doc/posix-functions/y1.texi: Mention the 'y1' module.
24783         * doc/posix-functions/yn.texi: Mention the 'yn' module.
24784
24785 2010-01-18  Jim Meyering  <meyering@redhat.com>
24786
24787         ignore-value: relax license to LGPLv2+
24788         * modules/ignore-value (License): Relax to LGPLv2+.
24789
24790         getdate: don't leak when TZ contains two or more '"'s
24791         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
24792         double quote in TZ after the first one.
24793
24794         readtokens: do not leak internal token_lengths buffer
24795         * lib/readtokens.c (readtokens): Free the local, lengths,
24796         when the supplied "token_lengths" parameter is NULL.
24797
24798 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24799
24800         Fix a couple of missing LIBTHREAD link failures on AIX.
24801         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
24802         $(LIBTHREAD).
24803         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
24804
24805         Link test-poll against INET_PTON_LIB.
24806         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
24807         for inet_pton on Solaris 10.
24808
24809 2010-01-17  Bruno Haible  <bruno@clisp.org>
24810
24811         unistdio/*-sprintf: Fix typo in module description.
24812         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
24813         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
24814         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
24815         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
24816         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
24817         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
24818         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
24819         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24820
24821 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24822
24823         gnulib-tool: fix filelist for AIX, HP-UX ksh.
24824         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
24825         variables in shell case patterns, for AIX and HP-UX ksh.
24826
24827         Split large sed scripts, for HP-UX sed.
24828         * modules/stdio: Split sed scripts around 50 sed commands,
24829         to avoid HP-UX limit of 99 commands, in the near future.
24830         * modules/string: Likewise.
24831         * modules/unistd: Likewise.
24832
24833         gnulib-tool: avoid writing in the current directory.
24834         * gnulib-tool (func_emit_lib_Makefile_am)
24835         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
24836         not in the current directory, so concurrent gnulib-tool
24837         instances do not interfere.
24838
24839 2010-01-16  Jim Meyering  <meyering@redhat.com>
24840
24841         doc: update users.txt
24842         * users.txt: Add grep.
24843         (diffutils, gzip): Update URLs.
24844
24845 2010-01-12  Bruno Haible  <bruno@clisp.org>
24846
24847         posix_spawn: Avoid test failure on Cygwin.
24848         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
24849         characters.
24850         Reported by Simon Josefsson.
24851
24852 2010-01-12  Bruno Haible  <bruno@clisp.org>
24853
24854         * tests/test-cond.c (main): When skipping the test, show the reason.
24855
24856 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24857
24858         * lib/striconv.c (str_cd_iconv): Avoid if before free.
24859
24860 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24861
24862         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
24863         VC_LIST_ALWAYS_EXCLUDE_REGEX.
24864
24865 2010-01-12  Eric Blake  <ebb9@byu.net>
24866
24867         build: guarantee AS_VAR_IF
24868         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
24869         (gl_AS_VAR_IF): Move...
24870         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
24871         Reported by Simon Josefsson.
24872
24873 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24874
24875         * lib/stdio.in.h: Fix typo.
24876
24877 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24878
24879         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
24880         libgpg-error.
24881
24882 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24883
24884         * tests/test-xalloc-die.sh: Use $EXEEXT.
24885
24886 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24887             Bruno Haible  <bruno@clisp.org>
24888
24889         getlogin, getlogin_r: Avoid test failure.
24890         * tests/test-getlogin.c: Include <stdio.h>.
24891         (main): Skip the test when the function fails because stdin is not a
24892         tty.
24893         * tests/test-getlogin_r.c: Include <stdio.h>.
24894         (main): Skip the test when the function fails because stdin is not a
24895         tty.
24896
24897 2010-01-11  Eric Blake  <ebb9@byu.net>
24898
24899         tests: avoid more large file warnings
24900         * tests/test-fflush.c: Avoid warning about ftell use.
24901         * tests/test-fseek.c: Avoid warning about fseek use.
24902
24903 2010-01-10  Bruno Haible  <bruno@clisp.org>
24904
24905         nproc: Work better on Linux when /proc and /sys are not mounted.
24906         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
24907         as lower bound when, on glibc/Linux systems,
24908         sysconf (_SC_NPROCESSORS_CONF) returns 1.
24909         Suggested by Pádraig Brady <P@draigbrady.com>.
24910         Reported by Dmitry V. Levin <ldv@altlinux.org>.
24911
24912         nproc: Refactor.
24913         * lib/nproc.c (num_processors_via_affinity_mask): New function,
24914         extracted from num_processors.
24915         (num_processors): Call it.
24916
24917 2010-01-11  Jim Meyering  <meyering@redhat.com>
24918
24919         utimecmp: avoid new warning from upcoming gcc-4.5.0
24920         * lib/utimecmp.c (BILLION): Define using #define rather than an
24921         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
24922
24923 2010-01-11  Eric Blake  <ebb9@byu.net>
24924
24925         math: add portability warnings for classification macros
24926         * modules/math (Depends-on): Add warn-on-use.
24927         (Makefile.am): Provide new substitutions.
24928         * m4/math_h.m4 (gl_MATH_H): Require inline.
24929         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
24930         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
24931         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
24932         implement warnings.
24933
24934         unistd: warn on use of environ without module
24935         * modules/unistd (Depends-on): Add warn-on-use.
24936         (Makefile.am): Provide new substitutions.
24937         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
24938         * lib/unistd.in.h (environ): Wrap with a warning helper function.
24939
24940         stdio: warn on suspicious uses
24941         * modules/stdio (Depends-on): Add warn-on-use.
24942         (Makefile.am): Provide new substitutions.
24943         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
24944         fseeko.
24945         * lib/stdio.in.h (gets): Always warn on use.
24946         (fseek, ftell): Adjust when warnings are issued, and honor
24947         _GL_NO_LARGE_FILES as a way to silence the warning.
24948         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
24949         any warning about large file offsets.
24950         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
24951         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
24952         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
24953         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
24954         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
24955         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
24956         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
24957         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
24958
24959         warn-on-use: new module
24960         * modules/warn-on-use: New file.
24961         * build-aux/warn-on-use.h: Likewise.
24962         * m4/warn-on-use.m4: Likewise.
24963         * MODULES.html.sh (Support for building): Mention it.
24964
24965 2010-01-10  Bruno Haible  <bruno@clisp.org>
24966
24967         Tests for module 'unistr/u32-strdup'.
24968         * modules/unistr/u32-strdup-tests: New file.
24969         * tests/unistr/test-u32-strdup.c: New file.
24970
24971         Tests for module 'unistr/u16-strdup'.
24972         * modules/unistr/u16-strdup-tests: New file.
24973         * tests/unistr/test-u16-strdup.c: New file.
24974
24975         Tests for module 'unistr/u8-strdup'.
24976         * modules/unistr/u8-strdup-tests: New file.
24977         * tests/unistr/test-u8-strdup.c: New file.
24978         * tests/unistr/test-strdup.h: New file.
24979
24980         Tests for module 'unistr/u32-strncmp'.
24981         * modules/unistr/u32-strncmp-tests: New file.
24982         * tests/unistr/test-u32-strncmp.c: New file.
24983
24984         Tests for module 'unistr/u16-strncmp'.
24985         * modules/unistr/u16-strncmp-tests: New file.
24986         * tests/unistr/test-u16-strncmp.c: New file.
24987
24988         Tests for module 'unistr/u8-strncmp'.
24989         * modules/unistr/u8-strncmp-tests: New file.
24990         * tests/unistr/test-u8-strncmp.c: New file.
24991         * tests/unistr/test-strncmp.h: New file.
24992
24993         Tests for module 'unistr/u32-strcoll'.
24994         * modules/unistr/u32-strcoll-tests: New file.
24995         * tests/unistr/test-u32-strcoll.c: New file.
24996
24997         Tests for module 'unistr/u16-strcoll'.
24998         * modules/unistr/u16-strcoll-tests: New file.
24999         * tests/unistr/test-u16-strcoll.c: New file.
25000
25001         Tests for module 'unistr/u8-strcoll'.
25002         * modules/unistr/u8-strcoll-tests: New file.
25003         * tests/unistr/test-u8-strcoll.c: New file.
25004
25005         Tests for module 'unistr/u32-strcmp'.
25006         * modules/unistr/u32-strcmp-tests: New file.
25007         * tests/unistr/test-u32-strcmp.c: New file.
25008         * tests/unistr/test-u32-strcmp.h: New file.
25009
25010         Tests for module 'unistr/u16-strcmp'.
25011         * modules/unistr/u16-strcmp-tests: New file.
25012         * tests/unistr/test-u16-strcmp.c: New file.
25013         * tests/unistr/test-u16-strcmp.h: New file.
25014
25015         Tests for module 'unistr/u8-strcmp'.
25016         * modules/unistr/u8-strcmp-tests: New file.
25017         * tests/unistr/test-u8-strcmp.c: New file.
25018         * tests/unistr/test-u8-strcmp.h: New file.
25019         * tests/unistr/test-strcmp.h: New file.
25020
25021         Tests for module 'unistr/u32-strncat'.
25022         * modules/unistr/u32-strncat-tests: New file.
25023         * tests/unistr/test-u32-strncat.c: New file.
25024
25025         Tests for module 'unistr/u16-strncat'.
25026         * modules/unistr/u16-strncat-tests: New file.
25027         * tests/unistr/test-u16-strncat.c: New file.
25028
25029         Tests for module 'unistr/u8-strncat'.
25030         * modules/unistr/u8-strncat-tests: New file.
25031         * tests/unistr/test-u8-strncat.c: New file.
25032         * tests/unistr/test-strncat.h: New file.
25033
25034         Tests for module 'unistr/u32-strcat'.
25035         * modules/unistr/u32-strcat-tests: New file.
25036         * tests/unistr/test-u32-strcat.c: New file.
25037
25038         Tests for module 'unistr/u16-strcat'.
25039         * modules/unistr/u16-strcat-tests: New file.
25040         * tests/unistr/test-u16-strcat.c: New file.
25041
25042         Tests for module 'unistr/u8-strcat'.
25043         * modules/unistr/u8-strcat-tests: New file.
25044         * tests/unistr/test-u8-strcat.c: New file.
25045         * tests/unistr/test-strcat.h: New file.
25046
25047         Tests for module 'unistr/u32-stpncpy'.
25048         * modules/unistr/u32-stpncpy-tests: New file.
25049         * tests/unistr/test-u32-stpncpy.c: New file.
25050
25051         Tests for module 'unistr/u16-stpncpy'.
25052         * modules/unistr/u16-stpncpy-tests: New file.
25053         * tests/unistr/test-u16-stpncpy.c: New file.
25054
25055         Tests for module 'unistr/u8-stpncpy'.
25056         * modules/unistr/u8-stpncpy-tests: New file.
25057         * tests/unistr/test-u8-stpncpy.c: New file.
25058         * tests/unistr/test-stpncpy.h: New file.
25059
25060         Tests for module 'unistr/u32-strncpy'.
25061         * modules/unistr/u32-strncpy-tests: New file.
25062         * tests/unistr/test-u32-strncpy.c: New file.
25063
25064         Tests for module 'unistr/u16-strncpy'.
25065         * modules/unistr/u16-strncpy-tests: New file.
25066         * tests/unistr/test-u16-strncpy.c: New file.
25067
25068         Tests for module 'unistr/u8-strncpy'.
25069         * modules/unistr/u8-strncpy-tests: New file.
25070         * tests/unistr/test-u8-strncpy.c: New file.
25071         * tests/unistr/test-strncpy.h: New file.
25072
25073         Tests for module 'unistr/u32-stpcpy'.
25074         * modules/unistr/u32-stpcpy-tests: New file.
25075         * tests/unistr/test-u32-stpcpy.c: New file.
25076
25077         Tests for module 'unistr/u16-stpcpy'.
25078         * modules/unistr/u16-stpcpy-tests: New file.
25079         * tests/unistr/test-u16-stpcpy.c: New file.
25080
25081         Tests for module 'unistr/u8-stpcpy'.
25082         * modules/unistr/u8-stpcpy-tests: New file.
25083         * tests/unistr/test-u8-stpcpy.c: New file.
25084         * tests/unistr/test-stpcpy.h: New file.
25085
25086         Tests for module 'unistr/u32-strcpy'.
25087         * modules/unistr/u32-strcpy-tests: New file.
25088         * tests/unistr/test-u32-strcpy.c: New file.
25089
25090         Tests for module 'unistr/u16-strcpy'.
25091         * modules/unistr/u16-strcpy-tests: New file.
25092         * tests/unistr/test-u16-strcpy.c: New file.
25093
25094         Tests for module 'unistr/u8-strcpy'.
25095         * modules/unistr/u8-strcpy-tests: New file.
25096         * tests/unistr/test-u8-strcpy.c: New file.
25097         * tests/unistr/test-strcpy.h: New file.
25098
25099         Tests for module 'unistr/u32-strnlen'.
25100         * modules/unistr/u32-strnlen-tests: New file.
25101         * tests/unistr/test-u32-strnlen.c: New file.
25102
25103         Tests for module 'unistr/u16-strnlen'.
25104         * modules/unistr/u16-strnlen-tests: New file.
25105         * tests/unistr/test-u16-strnlen.c: New file.
25106
25107         Tests for module 'unistr/u8-strnlen'.
25108         * modules/unistr/u8-strnlen-tests: New file.
25109         * tests/unistr/test-u8-strnlen.c: New file.
25110         * tests/unistr/test-strnlen.h: New file.
25111
25112         Tests for module 'unistr/u32-strlen'.
25113         * modules/unistr/u32-strlen-tests: New file.
25114         * tests/unistr/test-u32-strlen.c: New file.
25115
25116         Tests for module 'unistr/u16-strlen'.
25117         * modules/unistr/u16-strlen-tests: New file.
25118         * tests/unistr/test-u16-strlen.c: New file.
25119
25120         Tests for module 'unistr/u8-strlen'.
25121         * modules/unistr/u8-strlen-tests: New file.
25122         * tests/unistr/test-u8-strlen.c: New file.
25123
25124         Tests for module 'unistr/u32-prev'.
25125         * modules/unistr/u32-prev-tests: New file.
25126         * tests/unistr/test-u32-prev.c: New file.
25127
25128         Tests for module 'unistr/u16-prev'.
25129         * modules/unistr/u16-prev-tests: New file.
25130         * tests/unistr/test-u16-prev.c: New file.
25131
25132         Tests for module 'unistr/u8-prev'.
25133         * modules/unistr/u8-prev-tests: New file.
25134         * tests/unistr/test-u8-prev.c: New file.
25135
25136         Tests for module 'unistr/u32-next'.
25137         * modules/unistr/u32-next-tests: New file.
25138         * tests/unistr/test-u32-next.c: New file.
25139
25140         Tests for module 'unistr/u16-next'.
25141         * modules/unistr/u16-next-tests: New file.
25142         * tests/unistr/test-u16-next.c: New file.
25143
25144         Tests for module 'unistr/u8-next'.
25145         * modules/unistr/u8-next-tests: New file.
25146         * tests/unistr/test-u8-next.c: New file.
25147
25148         Tests for module 'unistr/u32-strmbtouc'.
25149         * modules/unistr/u32-strmbtouc-tests: New file.
25150         * tests/unistr/test-u32-strmbtouc.c: New file.
25151
25152         Tests for module 'unistr/u16-strmbtouc'.
25153         * modules/unistr/u16-strmbtouc-tests: New file.
25154         * tests/unistr/test-u16-strmbtouc.c: New file.
25155
25156         Tests for module 'unistr/u8-strmbtouc'.
25157         * modules/unistr/u8-strmbtouc-tests: New file.
25158         * tests/unistr/test-u8-strmbtouc.c: New file.
25159
25160         Tests for module 'unistr/u32-strmblen'.
25161         * modules/unistr/u32-strmblen-tests: New file.
25162         * tests/unistr/test-u32-strmblen.c: New file.
25163
25164         Tests for module 'unistr/u16-strmblen'.
25165         * modules/unistr/u16-strmblen-tests: New file.
25166         * tests/unistr/test-u16-strmblen.c: New file.
25167
25168         Tests for module 'unistr/u8-strmblen'.
25169         * modules/unistr/u8-strmblen-tests: New file.
25170         * tests/unistr/test-u8-strmblen.c: New file.
25171
25172         Tests for module 'unistr/u32-cpy-alloc'.
25173         * modules/unistr/u32-cpy-alloc-tests: New file.
25174         * tests/unistr/test-u32-cpy-alloc.c: New file.
25175
25176         Tests for module 'unistr/u16-cpy-alloc'.
25177         * modules/unistr/u16-cpy-alloc-tests: New file.
25178         * tests/unistr/test-u16-cpy-alloc.c: New file.
25179
25180         Tests for module 'unistr/u8-cpy-alloc'.
25181         * modules/unistr/u8-cpy-alloc-tests: New file.
25182         * tests/unistr/test-u8-cpy-alloc.c: New file.
25183         * tests/unistr/test-cpy-alloc.h: New file.
25184
25185         Tests for module 'unistr/u32-mbsnlen'.
25186         * modules/unistr/u32-mbsnlen-tests: New file.
25187         * tests/unistr/test-u32-mbsnlen.c: New file.
25188
25189         Tests for module 'unistr/u16-mbsnlen'.
25190         * modules/unistr/u16-mbsnlen-tests: New file.
25191         * tests/unistr/test-u16-mbsnlen.c: New file.
25192
25193         Tests for module 'unistr/u8-mbsnlen'.
25194         * modules/unistr/u8-mbsnlen-tests: New file.
25195         * tests/unistr/test-u8-mbsnlen.c: New file.
25196
25197         Tests for module 'unistr/u32-chr'.
25198         * modules/unistr/u32-chr-tests: New file.
25199         * tests/unistr/test-u32-chr.c: New file.
25200
25201         Tests for module 'unistr/u16-chr'.
25202         * modules/unistr/u16-chr-tests: New file.
25203         * tests/unistr/test-u16-chr.c: New file.
25204
25205         Tests for module 'unistr/u8-chr'.
25206         * modules/unistr/u8-chr-tests: New file.
25207         * tests/unistr/test-u8-chr.c: New file.
25208         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
25209
25210         Tests for module 'unistr/u32-cmp2'.
25211         * modules/unistr/u32-cmp2-tests: New file.
25212         * tests/unistr/test-u32-cmp2.c: New file.
25213
25214         Tests for module 'unistr/u16-cmp2'.
25215         * modules/unistr/u16-cmp2-tests: New file.
25216         * tests/unistr/test-u16-cmp2.c: New file.
25217
25218         Tests for module 'unistr/u8-cmp2'.
25219         * modules/unistr/u8-cmp2-tests: New file.
25220         * tests/unistr/test-u8-cmp2.c: New file.
25221         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
25222
25223         Tests for module 'unistr/u32-cmp'.
25224         * modules/unistr/u32-cmp-tests: New file.
25225         * tests/unistr/test-u32-cmp.c: New file.
25226
25227         Tests for module 'unistr/u16-cmp'.
25228         * modules/unistr/u16-cmp-tests: New file.
25229         * tests/unistr/test-u16-cmp.c: New file.
25230
25231         Tests for module 'unistr/u8-cmp'.
25232         * modules/unistr/u8-cmp-tests: New file.
25233         * tests/unistr/test-u8-cmp.c: New file.
25234         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
25235
25236         Tests for module 'unistr/u32-set'.
25237         * modules/unistr/u32-set-tests: New file.
25238         * tests/unistr/test-u32-set.c: New file.
25239
25240         Tests for module 'unistr/u16-set'.
25241         * modules/unistr/u16-set-tests: New file.
25242         * tests/unistr/test-u16-set.c: New file.
25243
25244         Tests for module 'unistr/u8-set'.
25245         * modules/unistr/u8-set-tests: New file.
25246         * tests/unistr/test-u8-set.c: New file.
25247         * tests/unistr/test-set.h: New file.
25248
25249         Tests for module 'unistr/u32-move'.
25250         * modules/unistr/u32-move-tests: New file.
25251         * tests/unistr/test-u32-move.c: New file.
25252
25253         Tests for module 'unistr/u16-move'.
25254         * modules/unistr/u16-move-tests: New file.
25255         * tests/unistr/test-u16-move.c: New file.
25256
25257         Tests for module 'unistr/u8-move'.
25258         * modules/unistr/u8-move-tests: New file.
25259         * tests/unistr/test-u8-move.c: New file.
25260         * tests/unistr/test-move.h: New file.
25261
25262         Tests for module 'unistr/u32-cpy'.
25263         * modules/unistr/u32-cpy-tests: New file.
25264         * tests/unistr/test-u32-cpy.c: New file.
25265
25266         Tests for module 'unistr/u16-cpy'.
25267         * modules/unistr/u16-cpy-tests: New file.
25268         * tests/unistr/test-u16-cpy.c: New file.
25269
25270         Tests for module 'unistr/u8-cpy'.
25271         * modules/unistr/u8-cpy-tests: New file.
25272         * tests/unistr/test-u8-cpy.c: New file.
25273         * tests/unistr/test-cpy.h: New file.
25274
25275 2010-01-09  Bruno Haible  <bruno@clisp.org>
25276
25277         Tests for module 'unistr/u32-uctomb'.
25278         * modules/unistr/u32-uctomb-tests: New file.
25279         * tests/unistr/test-u32-uctomb.c: New file.
25280
25281         Tests for module 'unistr/u16-uctomb'.
25282         * modules/unistr/u16-uctomb-tests: New file.
25283         * tests/unistr/test-u16-uctomb.c: New file.
25284
25285         Tests for module 'unistr/u8-uctomb'.
25286         * modules/unistr/u8-uctomb-tests: New file.
25287         * tests/unistr/test-u8-uctomb.c: New file.
25288
25289         Tests for module 'unistr/u32-mbtoucr'.
25290         * modules/unistr/u32-mbtoucr-tests: New file.
25291         * tests/unistr/test-u32-mbtoucr.c: New file.
25292
25293         Tests for module 'unistr/u16-mbtoucr'.
25294         * modules/unistr/u16-mbtoucr-tests: New file.
25295         * tests/unistr/test-u16-mbtoucr.c: New file.
25296
25297         Tests for module 'unistr/u8-mbtoucr'.
25298         * modules/unistr/u8-mbtoucr-tests: New file.
25299         * tests/unistr/test-u8-mbtoucr.c: New file.
25300
25301         Tests for module 'unistr/u32-mbtouc'.
25302         * modules/unistr/u32-mbtouc-tests: New file.
25303         * tests/unistr/test-u32-mbtouc.c: New file.
25304
25305         Tests for module 'unistr/u16-mbtouc'.
25306         * modules/unistr/u16-mbtouc-tests: New file.
25307         * tests/unistr/test-u16-mbtouc.c: New file.
25308
25309         Tests for module 'unistr/u8-mbtouc'.
25310         * modules/unistr/u8-mbtouc-tests: New file.
25311         * tests/unistr/test-u8-mbtouc.c: New file.
25312
25313         Tests for module 'unistr/u32-mbtouc-unsafe'.
25314         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
25315         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
25316         * tests/unistr/test-u32-mbtouc.h: New file.
25317
25318         Tests for module 'unistr/u16-mbtouc-unsafe'.
25319         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
25320         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
25321         * tests/unistr/test-u16-mbtouc.h: New file.
25322
25323         Tests for module 'unistr/u8-mbtouc-unsafe'.
25324         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
25325         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
25326         * tests/unistr/test-u8-mbtouc.h: New file.
25327
25328         Tests for module 'unistr/u32-mblen'.
25329         * modules/unistr/u32-mblen-tests: New file.
25330         * tests/unistr/test-u32-mblen.c: New file.
25331
25332         Tests for module 'unistr/u16-mblen'.
25333         * modules/unistr/u16-mblen-tests: New file.
25334         * tests/unistr/test-u16-mblen.c: New file.
25335
25336         Tests for module 'unistr/u8-mblen'.
25337         * modules/unistr/u8-mblen-tests: New file.
25338         * tests/unistr/test-u8-mblen.c: New file.
25339
25340         Tests for module 'unistr/u32-to-u16'.
25341         * modules/unistr/u32-to-u16-tests: New file.
25342         * tests/unistr/test-u32-to-u16.c: New file.
25343
25344         Tests for module 'unistr/u32-to-u8'.
25345         * modules/unistr/u32-to-u8-tests: New file.
25346         * tests/unistr/test-u32-to-u8.c: New file.
25347
25348         Tests for module 'unistr/u16-to-u32'.
25349         * modules/unistr/u16-to-u32-tests: New file.
25350         * tests/unistr/test-u16-to-u32.c: New file.
25351
25352         Tests for module 'unistr/u16-to-u8'.
25353         * modules/unistr/u16-to-u8-tests: New file.
25354         * tests/unistr/test-u16-to-u8.c: New file.
25355
25356         Tests for module 'unistr/u8-to-u32'.
25357         * modules/unistr/u8-to-u32-tests: New file.
25358         * tests/unistr/test-u8-to-u32.c: New file.
25359
25360         Tests for module 'unistr/u8-to-u16'.
25361         * modules/unistr/u8-to-u16-tests: New file.
25362         * tests/unistr/test-u8-to-u16.c: New file.
25363
25364         Tests for module 'unistr/u32-check'.
25365         * modules/unistr/u32-check-tests: New file.
25366         * tests/unistr/test-u32-check.c: New file.
25367
25368         Tests for module 'unistr/u16-check'.
25369         * modules/unistr/u16-check-tests: New file.
25370         * tests/unistr/test-u16-check.c: New file.
25371
25372         Tests for module 'unistr/u8-check'.
25373         * modules/unistr/u8-check-tests: New file.
25374         * tests/unistr/test-u8-check.c: New file.
25375
25376         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
25377         (category_equals): New function.
25378         (main): Add more tests.
25379         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
25380
25381         * tests/unictype/test-bidi_byname.c (main): Add more tests.
25382
25383 2010-01-10  Bruno Haible  <bruno@clisp.org>
25384
25385         unistr/u*-strcoll: Try harder to distinguish different strings.
25386         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
25387         compare s1 and s2 to see if they are different.
25388
25389 2010-01-10  Bruno Haible  <bruno@clisp.org>
25390
25391         unistr/u*-stpncpy: Fix the return value.
25392         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
25393         description of the return value consistent with stpncpy in glibc.
25394         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
25395         written non-NUL unit.
25396
25397 2010-01-10  Bruno Haible  <bruno@clisp.org>
25398
25399         unistr/u*-next: Add missing dependencies.
25400         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
25401         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
25402         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
25403
25404 2010-01-10  Bruno Haible  <bruno@clisp.org>
25405
25406         unistr/u8-mbsnlen: Fix return value for incomplete character.
25407         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
25408         u8_mblen.
25409         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
25410         Remove unistr/u8-mblen.
25411         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
25412         u16_mblen.
25413         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
25414         Remove unistr/u16-mblen.
25415
25416 2010-01-10  Bruno Haible  <bruno@clisp.org>
25417
25418         wchar: Fix compilation error when <wchar.h> is used from coreutils.
25419         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
25420         Reported by Brian Gough <bjg@gnu.org> and
25421         Chris Clayton <chris2553@googlemail.com> via
25422         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
25423
25424 2010-01-09  Bruno Haible  <bruno@clisp.org>
25425
25426         unistr/u16-to-u32: Reject invalid input.
25427         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
25428         u16_mbtouc.
25429         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
25430         Remove unistr/u16-mbtouc.
25431
25432         unistr/u16-to-u8: Reject invalid input.
25433         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
25434         u16_mbtouc.
25435         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
25436         Remove unistr/u16-mbtouc.
25437
25438         unistr/u8-to-u32: Reject invalid input.
25439         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
25440         u8_mbtouc.
25441         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
25442         Remove unistr/u8-mbtouc.
25443
25444         unistr/u8-to-u16: Reject invalid input.
25445         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
25446         u8_mbtouc.
25447         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
25448         Remove unistr/u8-mbtouc.
25449
25450 2010-01-09  Bruno Haible  <bruno@clisp.org>
25451
25452         Tests for module 'getlogin'.
25453         * modules/getlogin-tests: New file.
25454         * tests/test-getlogin.c: New file.
25455
25456         New module 'getlogin'.
25457         * lib/unistd.in.h (getlogin): New declaration.
25458         * lib/getlogin.c: New file.
25459         * m4/getlogin.m4: New file.
25460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
25461         HAVE_GETLOGIN.
25462         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
25463         HAVE_GETLOGIN.
25464         * modules/getlogin: New file.
25465         * doc/posix-functions/getlogin.texi: Mention the new module.
25466         Reported by John W. Eaton <jwe@gnu.org>.
25467
25468 2010-01-09  Bruno Haible  <bruno@clisp.org>
25469
25470         getlogin_r: Support for native Windows.
25471         * lib/getlogin_r.c: Include <windows.h>
25472         (getlogin_r): Implement for native Windows.
25473         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
25474         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
25475         via John W. Eaton <jwe@gnu.org>.
25476
25477 2010-01-09  Bruno Haible  <bruno@clisp.org>
25478
25479         getlogin_r: Small fixes.
25480         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
25481         succeeds.
25482         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
25483         before testing whether getlogin_r is declared. No need to set
25484         HAVE_DECL_GETLOGIN_R to 1.
25485         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
25486
25487 2010-01-09  Bruno Haible  <bruno@clisp.org>
25488
25489         * lib/unistd.in.h (getlogin_r): Add comment.
25490
25491 2010-01-09  Bruno Haible  <bruno@clisp.org>
25492
25493         Tests for module 'getlogin_r'.
25494         * modules/getlogin_r-tests: New file.
25495         * tests/test-getlogin_r.c: New file.
25496
25497 2010-01-09  Jim Meyering  <meyering@redhat.com>
25498
25499         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
25500         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
25501         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
25502
25503 2010-01-08  Simon Josefsson  <simon@josefsson.org>
25504
25505         * lib/dup2.c (rpl_dup2): Improve comment.
25506
25507 2010-01-08  Eric Blake  <ebb9@byu.net>
25508
25509         maint.mk: allow packages to add makefile @@ exceptions
25510         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
25511         (sc_makefile_check): Rename...
25512         (sc_makefile_at_at_check): ...to this, and use hook.
25513
25514         dup2: work around mingw bug
25515         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
25516         Reported by Simon Josefsson.
25517
25518 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
25519
25520         glob: Fix C++ compilation.
25521         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
25522         C++.
25523
25524 2010-01-07  Bruno Haible  <bruno@clisp.org>
25525
25526         Fix indentation of wctype.in.h, broken since 2007-01-06.
25527         * lib/wctype.in.h: Fix indentation of preprocessor directives.
25528
25529 2010-01-07  Bruno Haible  <bruno@clisp.org>
25530
25531         mbslen: Avoid collision with system function.
25532         * lib/string.in.h [MirBSD]: Include <wchar.h>.
25533         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
25534         * m4/mbslen.m4: New file.
25535         * modules/mbslen (Files): Add it.
25536         (configure.ac): Invoke gl_MBSLEN.
25537         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
25538         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
25539         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
25540         via Ian Beckwith <ianb@erislabs.net>.
25541
25542 2010-01-07  Bruno Haible  <bruno@clisp.org>
25543
25544         dirent: Document the last fix.
25545         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
25546
25547 2010-01-07  Bruno Haible  <bruno@clisp.org>
25548
25549         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
25550         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
25551         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
25552         va_list are defined.
25553         * doc/posix-headers/stdio.texi: Document the bug of missing types.
25554         Reported by Eric Blake.
25555
25556 2010-01-07  Bruno Haible  <bruno@clisp.org>
25557
25558         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
25559         * modules/xlist (Depends-on): Add 'list',
25560         * modules/xoset (Depends-on): Add 'oset'.
25561         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25562
25563 2010-01-07  Bruno Haible  <bruno@clisp.org>
25564
25565         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
25566         * doc/posix-functions/strncasecmp.texi: Likewise.
25567
25568 2010-01-07  Bruno Haible  <bruno@clisp.org>
25569
25570         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
25571
25572 2010-01-07  John W. Eaton  <jwe@octave.org>
25573
25574         wctype: allow C++ use
25575         * lib/wctype.in.h: Add extern "C" block for C++.
25576
25577 2010-01-06  Eric Blake  <ebb9@byu.net>
25578
25579         maint.mk: detect incorrect GFDL usage
25580         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
25581
25582 2010-01-06  Jim Meyering  <meyering@redhat.com>
25583         and Eric Blake  <ebb9@byu.net>
25584
25585         maint.mk: ignore multi-line copyright in NEWS
25586         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
25587
25588 2010-01-06  Eric Blake  <ebb9@byu.net>
25589
25590         select: add missing dependency
25591         * modules/select-tests (Depends-on): Move sockets dependency...
25592         * modules/select (Depends-on): ...here.
25593         Reported by Ian Beckwith.
25594
25595         doc: regenerate INSTALL
25596         * doc/INSTALL: Reflect recent autoconf update.
25597         * doc/INSTALL.ISO: Likewise.
25598         * doc/INSTALL.UTF-8: Likewise.
25599
25600         pread: fix compilation on glibc
25601         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
25602         Reported by Ralf Wildenhues.
25603
25604         dirent: fix test failure
25605         * lib/dirent.in.h (includes): Guarantee ino_t.
25606         Reported by Ralf Wildenhues.
25607
25608 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
25609
25610         linkat, renameat: avoid bad free
25611         * lib/at-func2.c (at_func2): Fix typo.
25612         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
25613
25614 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25615
25616         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
25617         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
25618         to avoid failure of symlink test later.
25619
25620 2010-01-06  Eric Blake  <ebb9@byu.net>
25621
25622         stdio, unistd: guarantee ssize_t
25623         * lib/unistd.in.h (includes): Ensure that types required by POSIX
25624         2008 are exposed when needed.
25625         * lib/stdio.in.h (includes): Likewise.
25626         Reported by Ralf Wildenhues.
25627
25628 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
25629
25630         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
25631         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
25632         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
25633
25634 2010-01-06  Jim Meyering  <meyering@redhat.com>
25635
25636         readtokens: this module *does* require xalloc.h
25637         It uses only functions that were omitted by the old syntax-check rule.
25638         * lib/readtokens.c: Include "xalloc.h" once again.
25639         * modules/readtokens (Depends-on): Add xalloc.
25640         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
25641
25642 2010-01-05  Eric Blake  <ebb9@byu.net>
25643
25644         maint: support 'make announcement' from a VPATH build
25645         * top/maint.mk (announcement): Look for correct NEWS file.
25646
25647 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
25648
25649         utimens (fdutimens): ignore a negative FD, per contract
25650         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
25651         when we have a valid file descriptor.  Otherwise, using a brand
25652         new glibc (with just-patched futimens that now fails with EBADF)
25653         would cause this function to fail with ENOSYS.
25654         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
25655         See also http://bugzilla.redhat.com/552320.
25656
25657 2010-01-05  Eric Blake  <ebb9@byu.net>
25658
25659         strcase: document what it provides
25660         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
25661         gnulib module.
25662         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
25663         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
25664
25665 2010-01-05  Jim Meyering  <meyering@redhat.com>
25666
25667         maint: remove useless inclusions of "xalloc.h"
25668         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
25669         * lib/readtokens.c: Likewise.
25670         * lib/same.c: Likewise.
25671         * modules/getloadavg (Depends-on): Remove xalloc.
25672         * modules/readtokens: Likewise.
25673         * modules/same: Likewise.
25674
25675         maint.mk: include 4 more function names in alloca.h-checking regexp
25676         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
25677         regexp.  Before, we would give a false-positive (saying alloca.h
25678         is included unnecessarily) when the only uses involved omitted symbols.
25679
25680         xalloc.h: use consistent formatting
25681         * lib/xalloc.h: Move declarations to start in the first column.
25682
25683 2010-01-05  Eric Blake  <ebb9@byu.net>
25684
25685         mkdir: avoid xalloc
25686         * lib/mkdir.c (includes): Drop unused header.
25687         Reported by John W. Eaton.
25688
25689 2010-01-04  Jim Meyering  <meyering@redhat.com>
25690
25691         nl_langinfo: avoid configure-time syntax error
25692         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
25693         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
25694         the empty string.  Don't let that provoke a shell syntax error.
25695
25696         regcomp, regexec, fnmatch: avoid array bounds read error
25697         * lib/regcomp.c (build_equiv_class): From glibc:
25698         Use only the low 24 bits of a findidx return value as an index
25699         into the weights array.  Patch by Ulrich Drepper:
25700         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
25701         * lib/regexec.c (check_node_accept_bytes): Likewise.
25702         * lib/fnmatch_loop.c (FCT): Likewise.
25703
25704         regcomp: skip collseq lookup when there are no rules
25705         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
25706         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
25707
25708         regcomp: recognize ill-formed { } expressions
25709         * lib/regcomp.c (parse_dup_op): From glibc:
25710         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
25711
25712         regcomp: fix typo in comment
25713         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
25714         s/satisfy/satisfies/.
25715
25716         regcomp: sync from glibc: remove dead store
25717         * lib/regcomp.c (duplicate_node_closure): Remove useless
25718         search_duplicated_node call and dead store.
25719
25720         regcomp: sync from glibc; always use nl_langinfo
25721         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
25722         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
25723         * modules/regex (Depends-on): Add nl_langinfo.
25724
25725 2010-01-04  Eric Blake  <ebb9@byu.net>
25726
25727         fdopendir: fix configure test
25728         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
25729
25730 2010-01-01  Bruno Haible  <bruno@clisp.org>
25731
25732         wchar: Remove unused configure check.
25733         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
25734
25735 2010-01-01  Eric Blake  <ebb9@byu.net>
25736
25737         headers: make check of system header explicit
25738         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
25739         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
25740         ourselves.
25741         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25742         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25743         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
25744         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
25745         internals.
25746         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
25747         missing.
25748         Suggested by Bruno Haible.
25749
25750 2010-01-01  Jim Meyering  <meyering@redhat.com>
25751
25752         ChangeLog: tweak to eliminate unnecessary copyright line
25753         * ChangeLog: Remove a copyright line that was mistakenly updated
25754         by today's update-copyright run.  Reported by Eric Blake.
25755
25756         test-update-copyright: don't let envvar setting cause test failure
25757         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
25758
25759 2010-01-01  Bruno Haible  <bruno@clisp.org>
25760
25761         localename: Avoid gcc warning.
25762         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
25763         function if it is not used.
25764
25765 2010-01-01  Jim Meyering  <meyering@redhat.com>
25766
25767         update nearly all FSF copyright year lists to include 2010
25768         Use the same procedure as for 2009, outlined in
25769         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
25770
25771         version-etc: set COPYRIGHT_YEAR to 2010
25772         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
25773
25774 2009-12-31  Eric Blake  <ebb9@byu.net>
25775
25776         doc: correct availability of cygwin 1.5.x getopt
25777         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
25778         variables.
25779         * doc/posix-functions/opterr.texi (opterr): Likewise.
25780         * doc/posix-functions/optind.texi (optind): Likewise.
25781         * doc/posix-functions/optopt.texi (optopt): Likewise.
25782         * doc/posix-functions/tzname.texi (tzname): Likewise.
25783
25784         openat: update maintainer
25785         * modules/openat (Maintainer): Add myself.
25786
25787         utimens: avoid shadowing warning
25788         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
25789         buffers into one, to avoid shadowing, as well as avoiding a
25790         redundant stat.
25791         Reported by Jim Meyering.
25792
25793         test-dup2: avoid compiler warning
25794         * tests/test-dup2.c (is_inheritable): Only define if used.
25795
25796 2010-01-01  Bruno Haible  <bruno@clisp.org>
25797
25798         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
25799         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
25800         defined, use wctomb instead of wcrtomb.
25801
25802 2010-01-01  Bruno Haible  <bruno@clisp.org>
25803
25804         iconv: Reject native Solaris iconv.
25805         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
25806         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
25807
25808 2009-12-31  Bruno Haible  <bruno@clisp.org>
25809
25810         * tests/test-signal.c (main): Remove test of 'SIG'.
25811
25812 2009-12-31  Bruno Haible  <bruno@clisp.org>
25813
25814         spawn: Fix incomplete fix.
25815         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
25816         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
25817         warnings for GNULIB_POSIXCHECK again.
25818         Reported by Eric Blake.
25819
25820 2009-12-31  Bruno Haible  <bruno@clisp.org>
25821
25822         Avoid namespace pollution on glibc systems.
25823         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
25824         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
25825         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
25826         glibc systems.
25827
25828 2009-12-31  Bruno Haible  <bruno@clisp.org>
25829
25830         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
25831         (gl_REPLACE_WCHAR_H): Turn into a no-op.
25832         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
25833         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
25834         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
25835         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
25836         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
25837
25838 2009-12-31  Bruno Haible  <bruno@clisp.org>
25839
25840         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25841         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
25842         afterwards.
25843
25844 2009-12-31  Bruno Haible  <bruno@clisp.org>
25845
25846         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
25847         SYS_UTSNAME_H.
25848
25849 2009-12-31  Bruno Haible  <bruno@clisp.org>
25850
25851         spawn: Fix misapplied patch.
25852         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
25853         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
25854         warnings for GNULIB_POSIXCHECK.
25855
25856 2009-12-31  Bruno Haible  <bruno@clisp.org>
25857
25858         times: Update after sys_times changed.
25859         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
25860         * modules/times (Files): Add it.
25861         (configure.ac): Invoke gl_FUNC_TIMES.
25862
25863 2009-12-31  Bruno Haible  <bruno@clisp.org>
25864
25865         Use AC_C_INLINE where necessary.
25866         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
25867         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
25868         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
25869         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
25870         * m4/mbfile.m4 (gl_MBFILE): Likewise.
25871         * m4/mbiter.m4 (gl_MBITER): Likewise.
25872         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
25873         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25874         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
25875         * modules/u64 (configure.ac): Likewise.
25876
25877 2009-12-31  Bruno Haible  <bruno@clisp.org>
25878
25879         Use AC_C_INLINE instead of module 'inline' where possible.
25880         * modules/inline (Description): Clarify purpose.
25881         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
25882         * modules/count-one-bits (Depends-on): Remove inline.
25883         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
25884         * modules/openat (Depends-on): Remove inline.
25885         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
25886         instead of depending on module 'inline'.
25887         * modules/filevercmp (Depends-on, configure.ac): Likewise.
25888         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
25889         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
25890         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
25891         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
25892         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
25893         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
25894         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
25895         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
25896         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
25897         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
25898         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
25899         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
25900         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
25901         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
25902         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
25903         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
25904         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
25905         Likewise.
25906         * modules/unictype/property-ascii-hex-digit (Depends-on,
25907         configure.ac): Likewise.
25908         * modules/unictype/property-bidi-arabic-digit (Depends-on,
25909         configure.ac): Likewise.
25910         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
25911         configure.ac): Likewise.
25912         * modules/unictype/property-bidi-block-separator (Depends-on,
25913         configure.ac): Likewise.
25914         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
25915         configure.ac): Likewise.
25916         * modules/unictype/property-bidi-common-separator (Depends-on,
25917         configure.ac): Likewise.
25918         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
25919         Likewise.
25920         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
25921         configure.ac): Likewise.
25922         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
25923         configure.ac): Likewise.
25924         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
25925         configure.ac): Likewise.
25926         * modules/unictype/property-bidi-european-digit (Depends-on,
25927         configure.ac): Likewise.
25928         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
25929         configure.ac): Likewise.
25930         * modules/unictype/property-bidi-left-to-right (Depends-on,
25931         configure.ac): Likewise.
25932         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
25933         configure.ac): Likewise.
25934         * modules/unictype/property-bidi-other-neutral (Depends-on,
25935         configure.ac): Likewise.
25936         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
25937         Likewise.
25938         * modules/unictype/property-bidi-segment-separator (Depends-on,
25939         configure.ac): Likewise.
25940         * modules/unictype/property-bidi-whitespace (Depends-on,
25941         configure.ac): Likewise.
25942         * modules/unictype/property-combining (Depends-on, configure.ac):
25943         Likewise.
25944         * modules/unictype/property-composite (Depends-on, configure.ac):
25945         Likewise.
25946         * modules/unictype/property-currency-symbol (Depends-on,
25947         configure.ac): Likewise.
25948         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
25949         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
25950         Likewise.
25951         * modules/unictype/property-default-ignorable-code-point (Depends-on,
25952         configure.ac): Likewise.
25953         * modules/unictype/property-deprecated (Depends-on, configure.ac):
25954         Likewise.
25955         * modules/unictype/property-diacritic (Depends-on, configure.ac):
25956         Likewise.
25957         * modules/unictype/property-extender (Depends-on, configure.ac):
25958         Likewise.
25959         * modules/unictype/property-format-control (Depends-on, configure.ac):
25960         Likewise.
25961         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
25962         Likewise.
25963         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
25964         Likewise.
25965         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
25966         Likewise.
25967         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
25968         Likewise.
25969         * modules/unictype/property-hyphen (Depends-on, configure.ac):
25970         Likewise.
25971         * modules/unictype/property-id-continue (Depends-on, configure.ac):
25972         Likewise.
25973         * modules/unictype/property-id-start (Depends-on, configure.ac):
25974         Likewise.
25975         * modules/unictype/property-ideographic (Depends-on, configure.ac):
25976         Likewise.
25977         * modules/unictype/property-ids-binary-operator (Depends-on,
25978         configure.ac): Likewise.
25979         * modules/unictype/property-ids-trinary-operator (Depends-on,
25980         configure.ac): Likewise.
25981         * modules/unictype/property-ignorable-control (Depends-on,
25982         configure.ac): Likewise.
25983         * modules/unictype/property-iso-control (Depends-on, configure.ac):
25984         Likewise.
25985         * modules/unictype/property-join-control (Depends-on, configure.ac):
25986         Likewise.
25987         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
25988         Likewise.
25989         * modules/unictype/property-line-separator (Depends-on, configure.ac):
25990         Likewise.
25991         * modules/unictype/property-logical-order-exception (Depends-on,
25992         configure.ac): Likewise.
25993         * modules/unictype/property-lowercase (Depends-on, configure.ac):
25994         Likewise.
25995         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
25996         * modules/unictype/property-non-break (Depends-on, configure.ac):
25997         Likewise.
25998         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
25999         Likewise.
26000         * modules/unictype/property-numeric (Depends-on, configure.ac):
26001         Likewise.
26002         * modules/unictype/property-other-alphabetic (Depends-on,
26003         configure.ac): Likewise.
26004         * modules/unictype/property-other-default-ignorable-code-point
26005         (Depends-on, configure.ac): Likewise.
26006         * modules/unictype/property-other-grapheme-extend (Depends-on,
26007         configure.ac): Likewise.
26008         * modules/unictype/property-other-id-continue (Depends-on,
26009         configure.ac): Likewise.
26010         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
26011         Likewise.
26012         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
26013         Likewise.
26014         * modules/unictype/property-other-math (Depends-on, configure.ac):
26015         Likewise.
26016         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
26017         Likewise.
26018         * modules/unictype/property-paired-punctuation (Depends-on,
26019         configure.ac): Likewise.
26020         * modules/unictype/property-paragraph-separator (Depends-on,
26021         configure.ac): Likewise.
26022         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
26023         Likewise.
26024         * modules/unictype/property-pattern-white-space (Depends-on,
26025         configure.ac): Likewise.
26026         * modules/unictype/property-private-use (Depends-on, configure.ac):
26027         Likewise.
26028         * modules/unictype/property-punctuation (Depends-on, configure.ac):
26029         Likewise.
26030         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
26031         Likewise.
26032         * modules/unictype/property-radical (Depends-on, configure.ac):
26033         Likewise.
26034         * modules/unictype/property-sentence-terminal (Depends-on,
26035         configure.ac): Likewise.
26036         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
26037         Likewise.
26038         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
26039         * modules/unictype/property-terminal-punctuation (Depends-on,
26040         configure.ac): Likewise.
26041         * modules/unictype/property-titlecase (Depends-on, configure.ac):
26042         Likewise.
26043         * modules/unictype/property-unassigned-code-value (Depends-on,
26044         configure.ac): Likewise.
26045         * modules/unictype/property-unified-ideograph (Depends-on,
26046         configure.ac): Likewise.
26047         * modules/unictype/property-uppercase (Depends-on, configure.ac):
26048         Likewise.
26049         * modules/unictype/property-variation-selector (Depends-on,
26050         configure.ac): Likewise.
26051         * modules/unictype/property-white-space (Depends-on, configure.ac):
26052         Likewise.
26053         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
26054         Likewise.
26055         * modules/unictype/property-xid-start (Depends-on, configure.ac):
26056         Likewise.
26057         * modules/unictype/property-zero-width (Depends-on, configure.ac):
26058         Likewise.
26059         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
26060         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
26061         Likewise.
26062
26063 2009-12-31  Bruno Haible  <bruno@clisp.org>
26064
26065         Remove unnecessary AC_C_INLINE invocation.
26066         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
26067         since 2009-08-21.
26068
26069 2009-12-31  Jim Meyering  <meyering@redhat.com>
26070
26071         maint.mk: don't require explicit gpg_key_ID in cfg.mk
26072         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
26073         With this change, we can all remove the gpg_key_ID = ... definition
26074         from our respective cfg.mk files.
26075
26076         maint.mk: create announcement template in ~/, not in /tmp
26077         * top/maint.mk (emit_upload_commands): Adjust.
26078         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
26079         Remove temporary file, .ci-msg.
26080
26081 2009-12-31  Eric Blake  <ebb9@byu.net>
26082
26083         link-warning: always build headers with link warnings
26084         * modules/arpa_inet (Makefile.am): Always build replacement
26085         header.
26086         * modules/ctype (Makefile.am): Likewise.
26087         * modules/dirent (Makefile.am): Likewise.
26088         * modules/inttypes (Makefile.am): Likewise.
26089         * modules/langinfo (Makefile.am): Likewise.
26090         * modules/locale (Makefile.am): Likewise.
26091         * modules/spawn (Makefile.am): Likewise.
26092         * modules/sys_file (Makefile.am): Likewise.
26093         * modules/sys_ioctl (Makefile.am): Likewise.
26094         * modules/sys_select (Makefile.am): Likewise.
26095         * modules/sys_socket (Makefile.am): Likewise.
26096         * modules/sys_times (Makefile.am): Likewise.
26097         * modules/sys_utsname (Makefile.am): Likewise.
26098         * modules/sys_wait (Makefile.am): Likewise.
26099         * modules/wchar (Makefile.am): Likewise.
26100         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
26101         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
26102         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
26103         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
26104         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
26105         Likewise.
26106         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26107         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
26108         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
26109         Likewise.
26110         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
26111         Likewise.
26112         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
26113         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
26114         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
26115         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26116         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26117         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
26118         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
26119         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
26120         (gl_WCHAR_H_DEFAULTS): Likewise.
26121
26122 2009-12-31  Eric Blake  <ebb9@byu.net>
26123
26124         signal, spawn: use link warnings
26125         * lib/signal.in.h (sigset_t): Make unconditional.
26126         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
26127         (sigpending, sigprocmask, sigaction): Add link warnings.
26128         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
26129         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
26130         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
26131         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
26132         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
26133         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
26134         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
26135         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
26136         (posix_spawn_file_actions_destroy)
26137         (posix_spawn_file_actions_addopen)
26138         (posix_spawn_file_actions_addclose)
26139         (posix_spawn_file_actions_adddup2): Likewise.
26140         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
26141         * tests/test-signal.c (main): Enhance test.
26142
26143         spawn: improve wrapper support
26144         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
26145         (gl_SPAWN_H_DEFAULTS): New defaults.
26146         * modules/spawn (Makefile.am): Substitute them.
26147         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
26148         Only declare if missing or broken.
26149
26150         sys_times, sys_utsname: use include_next
26151         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
26152         header.
26153         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
26154         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
26155         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
26156         * modules/sys_times (Depends-on): Add include_next.
26157         (Makefile.am): Substitute additional values.
26158         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
26159         * lib/sys_times.in.h (includes): Include native header, if
26160         available.
26161         * lib/sys_utsname.in.h (includes): Likewise.
26162         * tests/test-sys_times.c (main): Enhance test.
26163
26164         fdutimensat: revert prior patch
26165         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
26166         utimens.h.
26167         Reported by Bruno Haible.
26168
26169 2009-12-30  Eric Blake  <ebb9@byu.net>
26170
26171         sys_wait: drop link-warning dependency
26172         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
26173         link-warning efforts.
26174         * lib/sys_wait.in.h: Likewise.
26175
26176         fdutimensat: remove bogus dependency
26177         * modules/fdutimensat (Depends-on): Drop inline.
26178
26179         unistd: fix typo
26180         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
26181
26182 2009-12-30  Bruno Haible  <bruno@clisp.org>
26183
26184         Fix compilation error with Solaris cc.
26185         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
26186         * lib/unicase/u16-is-invariant.c: Likewise.
26187         * lib/unicase/u32-is-invariant.c: Likewise.
26188         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
26189
26190 2009-12-30  Bruno Haible  <bruno@clisp.org>
26191
26192         Fix test crash.
26193         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
26194         locales.
26195         Reported by Simon Josefsson <simon@josefsson.org>.
26196
26197 2009-12-30  Bruno Haible  <bruno@clisp.org>
26198
26199         Fix compilation error on most platforms.
26200         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
26201         Reported by Simon Josefsson <simon@josefsson.org>
26202         and Nelson H. F. Beebe <beebe@math.utah.edu>.
26203
26204 2009-12-30  Eric Blake  <ebb9@byu.net>
26205
26206         futimens, utimensat: work around ntfs-3g bug
26207         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
26208         a ctime bug is present, and expand workaround to cover ntfs-3g.
26209         * lib/utimens.c (fdutimens, lutimens): Likewise.
26210         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
26211         (validate_timespec): Adjust return value.
26212         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
26213         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26214         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
26215
26216 2009-12-29  Eric Blake  <ebb9@byu.net>
26217
26218         link-warning: make usage consistent
26219         * modules/ctype (Depends-on): Add link-warning.
26220         (Makefile.am): Update rules accordingly.
26221         * modules/langinfo (Depends-on, Makefile.am): Likewise.
26222         * modules/locale (Depends-on, Makefile.am): Likewise.
26223         * modules/sys_file (Makefile.am): Likewise.
26224         * modules/getopt-posix (Makefile.am): Delete unused link warning
26225         efforts.
26226         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
26227         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
26228         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
26229         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
26230
26231         stdio: remove unused variables
26232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
26233         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
26234         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26235
26236         tests: test more substitute headers
26237         * modules/ctype-tests: New file.
26238         * modules/dirent-tests: Likewise.
26239         * modules/spawn-tests: Likewise.
26240         * modules/sys_file-tests: Likewise.
26241         * modules/sys_ioctl-tests: Likewise.
26242         * modules/sys_wait-tests: Likewise.
26243         * tests/test-ctype.c: Likewise.
26244         * tests/test-dirent.c: Likewise.
26245         * tests/test-spawn.c: Likewise.
26246         * tests/test-sys_file.c: Likewise.
26247         * tests/test-sys_ioctl.c: Likewise.
26248         * tests/test-sys_wait.c: Likewise.
26249         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
26250         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
26251         whether or not flock is in use.
26252
26253         tests: remove License section from module
26254         * modules/arpa_inet-tests: Remove unneeded section.
26255         * modules/byteswap-tests: Likewise.
26256         * modules/ceilf-tests: Likewise.
26257         * modules/ceill-tests: Likewise.
26258         * modules/crypto/des-tests: Likewise.
26259         * modules/crypto/gc-arcfour-tests: Likewise.
26260         * modules/crypto/gc-arctwo-tests: Likewise.
26261         * modules/crypto/gc-des-tests: Likewise.
26262         * modules/crypto/gc-hmac-md5-tests: Likewise.
26263         * modules/crypto/gc-hmac-sha1-tests: Likewise.
26264         * modules/crypto/gc-md2-tests: Likewise.
26265         * modules/crypto/gc-md4-tests: Likewise.
26266         * modules/crypto/gc-md5-tests: Likewise.
26267         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
26268         * modules/crypto/gc-rijndael-tests: Likewise.
26269         * modules/crypto/gc-sha1-tests: Likewise.
26270         * modules/crypto/gc-tests: Likewise.
26271         * modules/crypto/md2-tests: Likewise.
26272         * modules/crypto/md4-tests: Likewise.
26273         * modules/fcntl-h-tests: Likewise.
26274         * modules/floorf-tests: Likewise.
26275         * modules/floorl-tests: Likewise.
26276         * modules/frexp-nolibm-tests: Likewise.
26277         * modules/frexp-tests: Likewise.
26278         * modules/frexpl-nolibm-tests: Likewise.
26279         * modules/frexpl-tests: Likewise.
26280         * modules/getaddrinfo-tests: Likewise.
26281         * modules/inttypes-tests: Likewise.
26282         * modules/isfinite-tests: Likewise.
26283         * modules/isinf-tests: Likewise.
26284         * modules/ldexpl-tests: Likewise.
26285         * modules/locale-tests: Likewise.
26286         * modules/math-tests: Likewise.
26287         * modules/netdb-tests: Likewise.
26288         * modules/netinet_in-tests: Likewise.
26289         * modules/printf-frexp-tests: Likewise.
26290         * modules/printf-frexpl-tests: Likewise.
26291         * modules/priv-set-tests: Likewise.
26292         * modules/random_r-tests: Likewise.
26293         * modules/round-tests: Likewise.
26294         * modules/roundf-tests: Likewise.
26295         * modules/roundl-tests: Likewise.
26296         * modules/search-tests: Likewise.
26297         * modules/select-tests: Likewise.
26298         * modules/signal-tests: Likewise.
26299         * modules/stdbool-tests: Likewise.
26300         * modules/stddef-tests: Likewise.
26301         * modules/stdint-tests: Likewise.
26302         * modules/stdio-tests: Likewise.
26303         * modules/stdlib-tests: Likewise.
26304         * modules/string-tests: Likewise.
26305         * modules/strings-tests: Likewise.
26306         * modules/sys_select-tests: Likewise.
26307         * modules/sys_socket-tests: Likewise.
26308         * modules/sys_stat-tests: Likewise.
26309         * modules/sys_time-tests: Likewise.
26310         * modules/sys_utsname-tests: Likewise.
26311         * modules/sysexits-tests: Likewise.
26312         * modules/time-tests: Likewise.
26313         * modules/trunc-tests: Likewise.
26314         * modules/truncf-tests: Likewise.
26315         * modules/truncl-tests: Likewise.
26316         * modules/tsearch-tests: Likewise.
26317         * modules/unistd-tests: Likewise.
26318         * modules/wchar-tests: Likewise.
26319         * modules/wctype-tests: Likewise.
26320
26321         tests: fix license on several tests
26322         * tests/test-des.c: Update to GPLv3+.
26323         * tests/test-flock.c: Likewise.
26324         * tests/test-fsync.c: Likewise.
26325         * tests/test-futimens.h: Likewise.
26326         * tests/test-gc-arcfour.c: Likewise.
26327         * tests/test-gc-arctwo.c: Likewise.
26328         * tests/test-gc-des.c: Likewise.
26329         * tests/test-gc-hmac-md5.c: Likewise.
26330         * tests/test-gc-hmac-sha1.c: Likewise.
26331         * tests/test-gc-md2.c: Likewise.
26332         * tests/test-gc-md4.c: Likewise.
26333         * tests/test-gc-md5.c: Likewise.
26334         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26335         * tests/test-gc-rijndael.c: Likewise.
26336         * tests/test-gc-sha1.c: Likewise.
26337         * tests/test-gc.c: Likewise.
26338         * tests/test-getcwd.c: Likewise.
26339         * tests/test-link.c: Likewise.
26340         * tests/test-link.h: Likewise.
26341         * tests/test-lutimens.h: Likewise.
26342         * tests/test-md2.c: Likewise.
26343         * tests/test-md4.c: Likewise.
26344         * tests/test-mkdir.h: Likewise.
26345         * tests/test-rename.c: Likewise.
26346         * tests/test-rename.h: Likewise.
26347         * tests/test-safe-alloc.c: Likewise.
26348         * tests/test-utimens-common.h: Likewise.
26349         * tests/test-utimens.h: Likewise.
26350
26351         maint: sync license texts
26352         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
26353         * doc/gpl-3.0.texi: Revert copyright year update.
26354         * doc/lgpl-3.0.texi: Likewise.
26355
26356 2009-12-29  Jim Meyering  <meyering@redhat.com>
26357
26358         update nearly all FSF copyright year lists to include 2009
26359         The files named by the following are exempted:
26360             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
26361               test -f "$dst" && { echo "$dst"; continue; }
26362               test -d "$dst" || continue
26363               echo "$dst"/$(basename "$src")
26364             done > exempt
26365             git ls-files tests/unictype >> exempt
26366         In the remaining files, convert to all-interval notation if
26367         - there is already at least one year interval like 2000-2003
26368         - the file is maintained by me
26369         - the file is in lib/uni*/, where that style already prevails
26370         Otherwise, use update-copyright's default.
26371
26372 2009-12-29  Simon Josefsson  <simon@josefsson.org>
26373         and Eric Blake  <ebb9@byu.net>
26374
26375         tests: don't require debug system() to pass
26376         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
26377         * tests/test-rmdir.h (test_rmdir_func): Likewise.
26378         * tests/test-unlink.h (test_unlink_func): Likewise.
26379         * tests/test-fstatat.c (main): ...into callers.
26380         * tests/test-lstat.c (main): Likewise.
26381         * tests/test-rmdir.c (main): Likewise.
26382         * tests/test-unlink.c (main): Likewise.
26383         * tests/test-unlinkat.c (main): Likewise.
26384         * tests/test-areadlink-with-size.c (main): Don't require a
26385         debug-only system call to pass, aiding cross-testing to mingw.
26386         * tests/test-areadlink.c (main): Likewise.
26387         * tests/test-areadlinkat-with-size.c (main): Likewise.
26388         * tests/test-areadlinkat.c (main): Likewise.
26389         * tests/test-canonicalize-lgpl.c (main): Likewise.
26390         * tests/test-canonicalize.c (main): Likewise.
26391         * tests/test-chown.c (main): Likewise.
26392         * tests/test-fchownat.c (main): Likewise.
26393         * tests/test-lchown.c (main): Likewise.
26394         * tests/test-fdutimensat.c (main): Likewise.
26395         * tests/test-futimens.c (main): Likewise.
26396         * tests/test-link.c (main): Likewise.
26397         * tests/test-linkat.c (main): Likewise.
26398         * tests/test-mkdir.c (main): Likewise.
26399         * tests/test-mkdirat.c (main): Likewise.
26400         * tests/test-mkfifo.c (main): Likewise.
26401         * tests/test-mkfifoat.c (main): Likewise.
26402         * tests/test-mknod.c (main): Likewise.
26403         * tests/test-readlink.c (main): Likewise.
26404         * tests/test-remove.c (main): Likewise.
26405         * tests/test-rename.c (main): Likewise.
26406         * tests/test-renameat.c (main): Likewise.
26407         * tests/test-symlink.c (main): Likewise.
26408         * tests/test-symlinkat.c (main): Likewise.
26409         * tests/test-utimens.c (main): Likewise.
26410         * tests/test-utimensat.c (main): Likewise.
26411
26412 2009-12-29  Simon Josefsson  <simon@josefsson.org>
26413
26414         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
26415         on $(UNUSED_PARAMETER_H) to avoid build failure.
26416
26417 2009-12-28  Jim Meyering  <meyering@redhat.com>
26418
26419         update-copyright: you may specify a max. line length other than 72
26420         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
26421
26422         maint: use consistent FSF copyright line syntax
26423         * lib/posixtm.c: Add missing comma in FSF copyright line.
26424         * lib/posixtm.h: Likewise.
26425         * lib/getugroups.c: Add missing ", Inc.".
26426
26427         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
26428         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
26429         FSF copyright line.  Remove trailing blanks.
26430
26431 2009-12-28  Eric Blake  <ebb9@byu.net>
26432
26433         test-dup2: reduce dependencies
26434         * modules/cloexec (Configure.ac): Set witness.
26435         * modules/dup2-tests (Depends-on): Drop cloexec.
26436         * tests/test-dup2.c (main): Skip portion of test if cloexec module
26437         not present.
26438         Suggested by Bruno Haible.
26439
26440 2009-12-26  Bruno Haible  <bruno@clisp.org>
26441
26442         Remove an unneeded dependency.
26443         * modules/fseterr (Depends-on): Remove dup2.
26444
26445 2009-12-26  Eric Blake  <ebb9@byu.net>
26446
26447         tests: use macros.h in more places
26448         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
26449         (ASSERT_STREAM): Provide default of stderr.
26450         * tests/test-dirent-safer.c: Include macros.h, using alternate
26451         stream for assertions.
26452         * tests/test-dup-safer.c: Likewise.
26453         * tests/test-freopen-safer.c: Likewise.
26454         * tests/test-getopt.c: Likewise.
26455         * tests/test-openat-safer.c: Likewise.
26456         * tests/test-pipe.c: Likewise.
26457         * tests/test-popen-safer.c: Likewise.
26458         * modules/dirent-safer-tests (Files): Include macros.h.
26459         * modules/unistd-safer-tests (Files): Likewise.
26460         * modules/freopen-safer-tests (Files): Likewise.
26461         * modules/getopt-posix-tests (Files): Likewise.
26462         * modules/openat-safer-tests (Files): Likewise.
26463         * modules/pipe-tests (Files): Likewise.
26464
26465 2009-12-26  Bruno Haible  <bruno@clisp.org>
26466
26467         javacomp: Portability fix.
26468         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
26469         that it also works on Solaris.
26470
26471 2009-12-26  Bruno Haible  <bruno@clisp.org>
26472
26473         localename: Fix storage allocation of gl_locale_name_thread's result.
26474         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
26475         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
26476         all platforms that have 'uselocale'.
26477         (gl_locale_name_thread_unsafe): New function, extracted from
26478         gl_locale_name_thread.
26479         (gl_locale_name_thread): Call struniq on all platforms that have
26480         'uselocale'.
26481         * tests/test-localename.c (test_locale_name_thread): Check that the
26482         resulting strings are permanently allocated.
26483         * modules/localename-tests (Depends-on): Add strdup.
26484
26485 2009-12-26  Bruno Haible  <bruno@clisp.org>
26486
26487         * tests/test-localename.c (categories): Fill in the strings.
26488
26489 2009-12-26  Jim Meyering  <meyering@redhat.com>
26490
26491         isdir: complete the removal of m4/isdir.m4
26492         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
26493
26494         isdir: clean up, since at least grep still uses it
26495         * lib/isdir.c: Include "isdir.h".
26496         (S_ISDIR): Remove now-unneeded definition.
26497         * modules/isdir (Files): Add lib/isdir.h.
26498         * lib/isdir.h: New file, with declaration.
26499         * m4/isdir.m4: Remove file -- unneeded.
26500
26501 2009-12-25  Bruno Haible  <bruno@clisp.org>
26502
26503         selinux-h: Make generated .h files standalone.
26504         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
26505         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
26506         * lib/se-selinux.in.h: Likewise.
26507         * modules/selinux-h (Depends-on): Add unused-parameter.
26508         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
26509         selinux/selinux.h and selinux/context.h.
26510         Suggested by Eric Blake.
26511
26512 2009-12-25  Bruno Haible  <bruno@clisp.org>
26513
26514         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
26515         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
26516         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
26517         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
26518         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
26519
26520 2009-12-24  Bruno Haible  <bruno@clisp.org>
26521
26522         openat: Fix warning.
26523         * lib/openat-proc.c: Include <unistd.h>.
26524
26525 2009-12-24  Bruno Haible  <bruno@clisp.org>
26526
26527         New module 'unused-parameter'.
26528         * build-aux/unused-parameter.h: New file, extracted from earlier
26529         gnulib-common.m4.
26530         * modules/unused-parameter: New file.
26531         * lib/unistr.h: Include unused-parameter.h.
26532         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
26533         _GL_UNUSED.
26534         * modules/unistr/base (Depends-on): Add unused-parameter.
26535
26536 2009-12-24  Bruno Haible  <bruno@clisp.org>
26537
26538         Add missing dependencies to 'extensions' module.
26539         * m4/extensions.m4: Add comment.
26540         * modules/accept4 (Depends-on): Add extensions.
26541         * modules/dup3 (Depends-on): Likewise.
26542         * modules/fcntl (Depends-on): Likewise.
26543         * modules/futimens (Depends-on): Likewise.
26544         * modules/mknod (Depends-on): Likewise.
26545         * modules/pipe2 (Depends-on): Likewise.
26546         * modules/stat-time (Depends-on): Likewise.
26547         * modules/strcasestr-simple (Depends-on): Likewise.
26548         * modules/strsignal (Depends-on): Likewise.
26549         * modules/utimensat (Depends-on): Likewise.
26550         * modules/localcharset (Depends-on): Likewise. Needed because of
26551         gl_FCNTL_O_FLAGS.
26552         * modules/wcrtomb (Depends-on): Likewise. Needed because of
26553         AC_TYPE_MBSTATE_T.
26554         * modules/wcsnrtombs (Depends-on): Likewise.
26555         * modules/wcsrtombs (Depends-on): Likewise.
26556
26557 2009-12-24  Bruno Haible  <bruno@clisp.org>
26558
26559         binary-io: Avoid gcc warning due to SET_BINARY.
26560         * lib/binary-io.h (SET_BINARY): Cast the result to void.
26561         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
26562
26563 2009-12-24  Bruno Haible  <bruno@clisp.org>
26564
26565         Avoid future namespace pollution on glibc systems.
26566         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
26567         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
26568         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
26569         glibc systems.
26570
26571 2009-12-24  Bruno Haible  <bruno@clisp.org>
26572
26573         Refactor common macros used in tests.
26574         * tests/macros.h: New file.
26575         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
26576         and/or <stdlib.h>, if appropriate.
26577         (ASSERT, SIZEOF): Remove macros.
26578         * tests/test-areadlink-with-size.c: Likewise.
26579         * tests/test-areadlinkat.c: Likewise.
26580         * tests/test-areadlinkat-with-size.c: Likewise.
26581         * tests/test-argmatch.c: Likewise.
26582         * tests/test-argv-iter.c: Likewise.
26583         * tests/test-array-mergesort.c: Likewise.
26584         * tests/test-array_list.c: Likewise.
26585         * tests/test-array_oset.c: Likewise.
26586         * tests/test-avltree_list.c: Likewise.
26587         * tests/test-avltree_oset.c: Likewise.
26588         * tests/test-avltreehash_list.c: Likewise.
26589         * tests/test-base64.c: Likewise.
26590         * tests/test-binary-io.c: Likewise.
26591         * tests/test-bitrotate.c: Likewise.
26592         * tests/test-btowc.c: Likewise.
26593         * tests/test-byteswap.c: Likewise.
26594         * tests/test-c-ctype.c: Likewise.
26595         * tests/test-c-stack.c: Likewise.
26596         * tests/test-c-strcasecmp.c: Likewise.
26597         * tests/test-c-strcasestr.c: Likewise.
26598         * tests/test-c-strncasecmp.c: Likewise.
26599         * tests/test-c-strstr.c: Likewise.
26600         * tests/test-canonicalize-lgpl.c: Likewise.
26601         * tests/test-canonicalize.c: Likewise.
26602         * tests/test-carray_list.c: Likewise.
26603         * tests/test-ceilf1.c: Likewise.
26604         * tests/test-ceilf2.c: Likewise.
26605         * tests/test-ceill.c: Likewise.
26606         * tests/test-chown.c: Likewise.
26607         * tests/test-cloexec.c: Likewise.
26608         * tests/test-copy-acl.c: Likewise.
26609         * tests/test-copy-file.c: Likewise.
26610         * tests/test-count-one-bits.c: Likewise.
26611         * tests/test-dprintf-posix.c: Likewise.
26612         * tests/test-dup2.c: Likewise.
26613         * tests/test-dup3.c: Likewise.
26614         * tests/test-duplocale.c: Likewise.
26615         * tests/test-fbufmode.c: Likewise.
26616         * tests/test-fchdir.c: Likewise.
26617         * tests/test-fchownat.c: Likewise.
26618         * tests/test-fcntl-safer.c: Likewise.
26619         * tests/test-fcntl.c: Likewise.
26620         * tests/test-fdopendir.c: Likewise.
26621         * tests/test-fdutimensat.c: Likewise.
26622         * tests/test-fflush2.c: Likewise.
26623         * tests/test-file-has-acl.c: Likewise.
26624         * tests/test-filevercmp.c: Likewise.
26625         * tests/test-flock.c: Likewise.
26626         * tests/test-floorf1.c: Likewise.
26627         * tests/test-floorf2.c: Likewise.
26628         * tests/test-floorl.c: Likewise.
26629         * tests/test-fnmatch.c: Likewise.
26630         * tests/test-fopen.h: Likewise.
26631         * tests/test-fpending.c: Likewise.
26632         * tests/test-fprintf-posix.c: Likewise.
26633         * tests/test-fpurge.c: Likewise.
26634         * tests/test-freadable.c: Likewise.
26635         * tests/test-freadahead.c: Likewise.
26636         * tests/test-freading.c: Likewise.
26637         * tests/test-freadptr.c: Likewise.
26638         * tests/test-freadptr2.c: Likewise.
26639         * tests/test-freadseek.c: Likewise.
26640         * tests/test-freopen.c: Likewise.
26641         * tests/test-frexp.c: Likewise.
26642         * tests/test-frexpl.c: Likewise.
26643         * tests/test-fseek.c: Likewise.
26644         * tests/test-fseeko.c: Likewise.
26645         * tests/test-fstatat.c: Likewise.
26646         * tests/test-fstrcmp.c: Likewise.
26647         * tests/test-fsync.c: Likewise.
26648         * tests/test-ftell.c: Likewise.
26649         * tests/test-ftello.c: Likewise.
26650         * tests/test-func.c: Likewise.
26651         * tests/test-futimens.c: Likewise.
26652         * tests/test-fwritable.c: Likewise.
26653         * tests/test-fwriting.c: Likewise.
26654         * tests/test-getcwd.c: Likewise.
26655         * tests/test-getdate.c: Likewise.
26656         * tests/test-getdelim.c: Likewise.
26657         * tests/test-getdtablesize.c: Likewise.
26658         * tests/test-getgroups.c: Likewise.
26659         * tests/test-getline.c: Likewise.
26660         * tests/test-getndelim2.c: Likewise.
26661         * tests/test-glob.c: Likewise.
26662         * tests/test-hash.c: Likewise.
26663         * tests/test-i-ring.c: Likewise.
26664         * tests/test-iconv-utf.c: Likewise.
26665         * tests/test-iconv.c: Likewise.
26666         * tests/test-idpriv-drop.c: Likewise.
26667         * tests/test-idpriv-droptemp.c: Likewise.
26668         * tests/test-inet_ntop.c: Likewise.
26669         * tests/test-inet_pton.c: Likewise.
26670         * tests/test-isblank.c: Likewise.
26671         * tests/test-isfinite.c: Likewise.
26672         * tests/test-isinf.c: Likewise.
26673         * tests/test-isnan.c: Likewise.
26674         * tests/test-isnand.h: Likewise.
26675         * tests/test-isnanf.h: Likewise.
26676         * tests/test-isnanl.h: Likewise.
26677         * tests/test-lchown.c: Likewise.
26678         * tests/test-ldexpl.c: Likewise.
26679         * tests/test-link.c: Likewise.
26680         * tests/test-linkat.c: Likewise.
26681         * tests/test-linked_list.c: Likewise.
26682         * tests/test-linkedhash_list.c: Likewise.
26683         * tests/test-localename.c: Likewise.
26684         * tests/test-lseek.c: Likewise.
26685         * tests/test-lstat.c: Likewise.
26686         * tests/test-mbmemcasecmp.c: Likewise.
26687         * tests/test-mbmemcasecoll.c: Likewise.
26688         * tests/test-mbrtowc.c: Likewise.
26689         * tests/test-mbscasecmp.c: Likewise.
26690         * tests/test-mbscasestr1.c: Likewise.
26691         * tests/test-mbscasestr2.c: Likewise.
26692         * tests/test-mbscasestr3.c: Likewise.
26693         * tests/test-mbscasestr4.c: Likewise.
26694         * tests/test-mbschr.c: Likewise.
26695         * tests/test-mbscspn.c: Likewise.
26696         * tests/test-mbsinit.c: Likewise.
26697         * tests/test-mbsncasecmp.c: Likewise.
26698         * tests/test-mbsnrtowcs.c: Likewise.
26699         * tests/test-mbspbrk.c: Likewise.
26700         * tests/test-mbspcasecmp.c: Likewise.
26701         * tests/test-mbsrchr.c: Likewise.
26702         * tests/test-mbsrtowcs.c: Likewise.
26703         * tests/test-mbsspn.c: Likewise.
26704         * tests/test-mbsstr1.c: Likewise.
26705         * tests/test-mbsstr2.c: Likewise.
26706         * tests/test-mbsstr3.c: Likewise.
26707         * tests/test-memchr.c: Likewise.
26708         * tests/test-memchr2.c: Likewise.
26709         * tests/test-memcmp.c: Likewise.
26710         * tests/test-memmem.c: Likewise.
26711         * tests/test-memrchr.c: Likewise.
26712         * tests/test-mkdir.c: Likewise.
26713         * tests/test-mkdirat.c: Likewise.
26714         * tests/test-mkfifo.c: Likewise.
26715         * tests/test-mkfifoat.c: Likewise.
26716         * tests/test-mknod.c: Likewise.
26717         * tests/test-nanosleep.c: Likewise.
26718         * tests/test-nl_langinfo.c: Likewise.
26719         * tests/test-obstack-printf.c: Likewise.
26720         * tests/test-open.c: Likewise.
26721         * tests/test-openat.c: Likewise.
26722         * tests/test-pipe-filter-gi1.c: Likewise.
26723         * tests/test-pipe-filter-gi2-main.c: Likewise.
26724         * tests/test-pipe-filter-ii1.c: Likewise.
26725         * tests/test-pipe-filter-ii2-main.c: Likewise.
26726         * tests/test-pipe2.c: Likewise.
26727         * tests/test-popen.h: Likewise.
26728         * tests/test-posixtm.c: Likewise.
26729         * tests/test-pread.c: Likewise.
26730         * tests/test-printf-frexp.c: Likewise.
26731         * tests/test-printf-frexpl.c: Likewise.
26732         * tests/test-printf-posix.c: Likewise.
26733         * tests/test-priv-set.c: Likewise.
26734         * tests/test-quotearg.c: Likewise.
26735         * tests/test-random_r.c: Likewise.
26736         * tests/test-rawmemchr.c: Likewise.
26737         * tests/test-rbtree_list.c: Likewise.
26738         * tests/test-rbtree_oset.c: Likewise.
26739         * tests/test-rbtreehash_list.c: Likewise.
26740         * tests/test-readlink.c: Likewise.
26741         * tests/test-remove.c: Likewise.
26742         * tests/test-rename.c: Likewise.
26743         * tests/test-renameat.c: Likewise.
26744         * tests/test-rmdir.c: Likewise.
26745         * tests/test-round1.c: Likewise.
26746         * tests/test-roundf1.c: Likewise.
26747         * tests/test-roundl.c: Likewise.
26748         * tests/test-safe-alloc.c: Likewise.
26749         * tests/test-sameacls.c: Likewise.
26750         * tests/test-set-mode-acl.c: Likewise.
26751         * tests/test-setenv.c: Likewise.
26752         * tests/test-sigaction.c: Likewise.
26753         * tests/test-signbit.c: Likewise.
26754         * tests/test-sleep.c: Likewise.
26755         * tests/test-snprintf-posix.c: Likewise.
26756         * tests/test-snprintf.c: Likewise.
26757         * tests/test-sprintf-posix.c: Likewise.
26758         * tests/test-stat-time.c: Likewise.
26759         * tests/test-stat.c: Likewise.
26760         * tests/test-strcasestr.c: Likewise.
26761         * tests/test-strchrnul.c: Likewise.
26762         * tests/test-strerror.c: Likewise.
26763         * tests/test-striconv.c: Likewise.
26764         * tests/test-striconveh.c: Likewise.
26765         * tests/test-striconveha.c: Likewise.
26766         * tests/test-strsignal.c: Likewise.
26767         * tests/test-strstr.c: Likewise.
26768         * tests/test-strtod.c: Likewise.
26769         * tests/test-strverscmp.c: Likewise.
26770         * tests/test-symlink.c: Likewise.
26771         * tests/test-symlinkat.c: Likewise.
26772         * tests/test-trunc1.c: Likewise.
26773         * tests/test-trunc2.c: Likewise.
26774         * tests/test-truncf1.c: Likewise.
26775         * tests/test-truncf2.c: Likewise.
26776         * tests/test-truncl.c: Likewise.
26777         * tests/test-uname.c: Likewise.
26778         * tests/test-unlink.c: Likewise.
26779         * tests/test-unlinkat.c: Likewise.
26780         * tests/test-unsetenv.c: Likewise.
26781         * tests/test-usleep.c: Likewise.
26782         * tests/test-utimens.c: Likewise.
26783         * tests/test-utimensat.c: Likewise.
26784         * tests/test-vasnprintf-posix.c: Likewise.
26785         * tests/test-vasnprintf-posix2.c: Likewise.
26786         * tests/test-vasnprintf.c: Likewise.
26787         * tests/test-vasprintf-posix.c: Likewise.
26788         * tests/test-vasprintf.c: Likewise.
26789         * tests/test-vdprintf-posix.c: Likewise.
26790         * tests/test-vfprintf-posix.c: Likewise.
26791         * tests/test-vprintf-posix.c: Likewise.
26792         * tests/test-vsnprintf-posix.c: Likewise.
26793         * tests/test-vsnprintf.c: Likewise.
26794         * tests/test-vsprintf-posix.c: Likewise.
26795         * tests/test-wcrtomb.c: Likewise.
26796         * tests/test-wcsnrtombs.c: Likewise.
26797         * tests/test-wcsrtombs.c: Likewise.
26798         * tests/test-wctype.c: Likewise.
26799         * tests/test-wcwidth.c: Likewise.
26800         * tests/test-xfprintf-posix.c: Likewise.
26801         * tests/test-xmemdup0.c: Likewise.
26802         * tests/test-xprintf-posix.c: Likewise.
26803         * tests/test-xvasprintf.c: Likewise.
26804         * tests/unicase/test-locale-language.c: Likewise.
26805         * tests/unicase/test-mapping-part1.h: Likewise.
26806         * tests/unicase/test-predicate-part1.h: Likewise.
26807         * tests/unicase/test-u8-casecmp.c: Likewise.
26808         * tests/unicase/test-u8-casecoll.c: Likewise.
26809         * tests/unicase/test-u8-casefold.c: Likewise.
26810         * tests/unicase/test-u8-is-cased.c: Likewise.
26811         * tests/unicase/test-u8-is-casefolded.c: Likewise.
26812         * tests/unicase/test-u8-is-lowercase.c: Likewise.
26813         * tests/unicase/test-u8-is-titlecase.c: Likewise.
26814         * tests/unicase/test-u8-is-uppercase.c: Likewise.
26815         * tests/unicase/test-u8-tolower.c: Likewise.
26816         * tests/unicase/test-u8-totitle.c: Likewise.
26817         * tests/unicase/test-u8-toupper.c: Likewise.
26818         * tests/unicase/test-u16-casecmp.c: Likewise.
26819         * tests/unicase/test-u16-casecoll.c: Likewise.
26820         * tests/unicase/test-u16-casefold.c: Likewise.
26821         * tests/unicase/test-u16-is-cased.c: Likewise.
26822         * tests/unicase/test-u16-is-casefolded.c: Likewise.
26823         * tests/unicase/test-u16-is-lowercase.c: Likewise.
26824         * tests/unicase/test-u16-is-titlecase.c: Likewise.
26825         * tests/unicase/test-u16-is-uppercase.c: Likewise.
26826         * tests/unicase/test-u16-tolower.c: Likewise.
26827         * tests/unicase/test-u16-totitle.c: Likewise.
26828         * tests/unicase/test-u16-toupper.c: Likewise.
26829         * tests/unicase/test-u32-casecmp.c: Likewise.
26830         * tests/unicase/test-u32-casecoll.c: Likewise.
26831         * tests/unicase/test-u32-casefold.c: Likewise.
26832         * tests/unicase/test-u32-is-cased.c: Likewise.
26833         * tests/unicase/test-u32-is-casefolded.c: Likewise.
26834         * tests/unicase/test-u32-is-lowercase.c: Likewise.
26835         * tests/unicase/test-u32-is-titlecase.c: Likewise.
26836         * tests/unicase/test-u32-is-uppercase.c: Likewise.
26837         * tests/unicase/test-u32-tolower.c: Likewise.
26838         * tests/unicase/test-u32-totitle.c: Likewise.
26839         * tests/unicase/test-u32-toupper.c: Likewise.
26840         * tests/unicase/test-ulc-casecmp.c: Likewise.
26841         * tests/unicase/test-ulc-casecoll.c: Likewise.
26842         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
26843         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
26844         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
26845         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
26846         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
26847         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
26848         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
26849         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
26850         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
26851         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
26852         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
26853         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
26854         * tests/unictype/test-bidi_byname.c: Likewise.
26855         * tests/unictype/test-bidi_name.c: Likewise.
26856         * tests/unictype/test-bidi_of.c: Likewise.
26857         * tests/unictype/test-bidi_test.c: Likewise.
26858         * tests/unictype/test-block_list.c: Likewise.
26859         * tests/unictype/test-block_of.c: Likewise.
26860         * tests/unictype/test-block_test.c: Likewise.
26861         * tests/unictype/test-categ_and.c: Likewise.
26862         * tests/unictype/test-categ_and_not.c: Likewise.
26863         * tests/unictype/test-categ_byname.c: Likewise.
26864         * tests/unictype/test-categ_name.c: Likewise.
26865         * tests/unictype/test-categ_none.c: Likewise.
26866         * tests/unictype/test-categ_of.c: Likewise.
26867         * tests/unictype/test-categ_or.c: Likewise.
26868         * tests/unictype/test-categ_test_withtable.c: Likewise.
26869         * tests/unictype/test-combining.c: Likewise.
26870         * tests/unictype/test-decdigit.c: Likewise.
26871         * tests/unictype/test-digit.c: Likewise.
26872         * tests/unictype/test-mirror.c: Likewise.
26873         * tests/unictype/test-numeric.c: Likewise.
26874         * tests/unictype/test-pr_byname.c: Likewise.
26875         * tests/unictype/test-pr_test.c: Likewise.
26876         * tests/unictype/test-predicate-part1.h: Likewise.
26877         * tests/unictype/test-scripts.c: Likewise.
26878         * tests/unictype/test-sy_c_ident.c: Likewise.
26879         * tests/unictype/test-sy_java_ident.c: Likewise.
26880         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
26881         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
26882         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
26883         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
26884         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
26885         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
26886         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
26887         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
26888         * tests/uninorm/test-canonical-decomposition.c: Likewise.
26889         * tests/uninorm/test-compat-decomposition.c: Likewise.
26890         * tests/uninorm/test-composition.c: Likewise.
26891         * tests/uninorm/test-decomposing-form.c: Likewise.
26892         * tests/uninorm/test-decomposition.c: Likewise.
26893         * tests/uninorm/test-u8-nfc.c: Likewise.
26894         * tests/uninorm/test-u8-nfd.c: Likewise.
26895         * tests/uninorm/test-u8-nfkc.c: Likewise.
26896         * tests/uninorm/test-u8-nfkd.c: Likewise.
26897         * tests/uninorm/test-u8-normcmp.c: Likewise.
26898         * tests/uninorm/test-u8-normcoll.c: Likewise.
26899         * tests/uninorm/test-u16-nfc.c: Likewise.
26900         * tests/uninorm/test-u16-nfd.c: Likewise.
26901         * tests/uninorm/test-u16-nfkc.c: Likewise.
26902         * tests/uninorm/test-u16-nfkd.c: Likewise.
26903         * tests/uninorm/test-u16-normcmp.c: Likewise.
26904         * tests/uninorm/test-u16-normcoll.c: Likewise.
26905         * tests/uninorm/test-u32-nfc.c: Likewise.
26906         * tests/uninorm/test-u32-nfd.c: Likewise.
26907         * tests/uninorm/test-u32-nfkc.c: Likewise.
26908         * tests/uninorm/test-u32-nfkd.c: Likewise.
26909         * tests/uninorm/test-u32-normalize-big.c: Likewise.
26910         * tests/uninorm/test-u32-normcmp.c: Likewise.
26911         * tests/uninorm/test-u32-normcoll.c: Likewise.
26912         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
26913         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
26914         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
26915         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
26916         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
26917         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
26918         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
26919         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
26920         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
26921         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
26922         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
26923         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
26924         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
26925         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
26926         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
26927         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
26928         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
26929         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
26930         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
26931         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
26932         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
26933         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
26934         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
26935         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
26936         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
26937         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
26938         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
26939         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
26940         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
26941         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
26942         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
26943         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
26944         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
26945         * tests/uniwidth/test-u8-strwidth.c: Likewise.
26946         * tests/uniwidth/test-u8-width.c: Likewise.
26947         * tests/uniwidth/test-u16-strwidth.c: Likewise.
26948         * tests/uniwidth/test-u16-width.c: Likewise.
26949         * tests/uniwidth/test-u32-strwidth.c: Likewise.
26950         * tests/uniwidth/test-u32-width.c: Likewise.
26951         * tests/uniwidth/test-uc_width.c: Likewise.
26952         * tests/uniwidth/test-uc_width2.c: Likewise.
26953         * modules/acl-tests (Files): Add tests/macros.h.
26954         * modules/areadlink-tests (Files): Likewise.
26955         * modules/areadlink-with-size-tests (Files): Likewise.
26956         * modules/areadlinkat-tests (Files): Likewise.
26957         * modules/areadlinkat-with-size-tests (Files): Likewise.
26958         * modules/argmatch-tests (Files): Likewise.
26959         * modules/argv-iter-tests (Files): Likewise.
26960         * modules/array-list-tests (Files): Likewise.
26961         * modules/array-mergesort-tests (Files): Likewise.
26962         * modules/array-oset-tests (Files): Likewise.
26963         * modules/avltree-list-tests (Files): Likewise.
26964         * modules/avltree-oset-tests (Files): Likewise.
26965         * modules/avltreehash-list-tests (Files): Likewise.
26966         * modules/base64-tests (Files): Likewise.
26967         * modules/binary-io-tests (Files): Likewise.
26968         * modules/bitrotate-tests (Files): Likewise.
26969         * modules/btowc-tests (Files): Likewise.
26970         * modules/byteswap-tests (Files): Likewise.
26971         * modules/c-ctype-tests (Files): Likewise.
26972         * modules/c-stack-tests (Files): Likewise.
26973         * modules/c-strcase-tests (Files): Likewise.
26974         * modules/c-strcasestr-tests (Files): Likewise.
26975         * modules/c-strstr-tests (Files): Likewise.
26976         * modules/canonicalize-lgpl-tests (Files): Likewise.
26977         * modules/canonicalize-tests (Files): Likewise.
26978         * modules/carray-list-tests (Files): Likewise.
26979         * modules/ceilf-tests (Files): Likewise.
26980         * modules/ceill-tests (Files): Likewise.
26981         * modules/chown-tests (Files): Likewise.
26982         * modules/cloexec-tests (Files): Likewise.
26983         * modules/copy-file-tests (Files): Likewise.
26984         * modules/count-one-bits-tests (Files): Likewise.
26985         * modules/dprintf-posix-tests (Files): Likewise.
26986         * modules/dup2-tests (Files): Likewise.
26987         * modules/dup3-tests (Files): Likewise.
26988         * modules/duplocale-tests (Files): Likewise.
26989         * modules/fbufmode-tests (Files): Likewise.
26990         * modules/fchdir-tests (Files): Likewise.
26991         * modules/fcntl-safer-tests (Files): Likewise.
26992         * modules/fcntl-tests (Files): Likewise.
26993         * modules/fdopendir-tests (Files): Likewise.
26994         * modules/fdutimensat-tests (Files): Likewise.
26995         * modules/fflush-tests (Files): Likewise.
26996         * modules/filevercmp-tests (Files): Likewise.
26997         * modules/flock-tests (Files): Likewise.
26998         * modules/floorf-tests (Files): Likewise.
26999         * modules/floorl-tests (Files): Likewise.
27000         * modules/fnmatch-tests (Files): Likewise.
27001         * modules/fopen-safer-tests (Files): Likewise.
27002         * modules/fopen-tests (Files): Likewise.
27003         * modules/fpending-tests (Files): Likewise.
27004         * modules/fprintf-posix-tests (Files): Likewise.
27005         * modules/fpurge-tests (Files): Likewise.
27006         * modules/freadable-tests (Files): Likewise.
27007         * modules/freadahead-tests (Files): Likewise.
27008         * modules/freading-tests (Files): Likewise.
27009         * modules/freadptr-tests (Files): Likewise.
27010         * modules/freadseek-tests (Files): Likewise.
27011         * modules/freopen-tests (Files): Likewise.
27012         * modules/frexp-nolibm-tests (Files): Likewise.
27013         * modules/frexp-tests (Files): Likewise.
27014         * modules/frexpl-nolibm-tests (Files): Likewise.
27015         * modules/frexpl-tests (Files): Likewise.
27016         * modules/fseek-tests (Files): Likewise.
27017         * modules/fseeko-tests (Files): Likewise.
27018         * modules/fstrcmp-tests (Files): Likewise.
27019         * modules/fsync-tests (Files): Likewise.
27020         * modules/ftell-tests (Files): Likewise.
27021         * modules/ftello-tests (Files): Likewise.
27022         * modules/func-tests (Files): Likewise.
27023         * modules/futimens-tests (Files): Likewise.
27024         * modules/fwritable-tests (Files): Likewise.
27025         * modules/fwriting-tests (Files): Likewise.
27026         * modules/getcwd-tests (Files): Likewise.
27027         * modules/getdate-tests (Files): Likewise.
27028         * modules/getdelim-tests (Files): Likewise.
27029         * modules/getdtablesize-tests (Files): Likewise.
27030         * modules/getgroups-tests (Files): Likewise.
27031         * modules/getline-tests (Files): Likewise.
27032         * modules/getndelim2-tests (Files): Likewise.
27033         * modules/glob-tests (Files): Likewise.
27034         * modules/hash-tests (Files): Likewise.
27035         * modules/i-ring-tests (Files): Likewise.
27036         * modules/iconv-tests (Files): Likewise.
27037         * modules/iconv_open-utf-tests (Files): Likewise.
27038         * modules/idpriv-drop-tests (Files): Likewise.
27039         * modules/idpriv-droptemp-tests (Files): Likewise.
27040         * modules/inet_ntop-tests (Files): Likewise.
27041         * modules/inet_pton-tests (Files): Likewise.
27042         * modules/isblank-tests (Files): Likewise.
27043         * modules/isfinite-tests (Files): Likewise.
27044         * modules/isinf-tests (Files): Likewise.
27045         * modules/isnan-tests (Files): Likewise.
27046         * modules/isnand-nolibm-tests (Files): Likewise.
27047         * modules/isnand-tests (Files): Likewise.
27048         * modules/isnanf-nolibm-tests (Files): Likewise.
27049         * modules/isnanf-tests (Files): Likewise.
27050         * modules/isnanl-nolibm-tests (Files): Likewise.
27051         * modules/isnanl-tests (Files): Likewise.
27052         * modules/lchown-tests (Files): Likewise.
27053         * modules/ldexpl-tests (Files): Likewise.
27054         * modules/link-tests (Files): Likewise.
27055         * modules/linkat-tests (Files): Likewise.
27056         * modules/linked-list-tests (Files): Likewise.
27057         * modules/linkedhash-list-tests (Files): Likewise.
27058         * modules/localename-tests (Files): Likewise.
27059         * modules/lseek-tests (Files): Likewise.
27060         * modules/lstat-tests (Files): Likewise.
27061         * modules/mbmemcasecmp-tests (Files): Likewise.
27062         * modules/mbmemcasecoll-tests (Files): Likewise.
27063         * modules/mbrtowc-tests (Files): Likewise.
27064         * modules/mbscasecmp-tests (Files): Likewise.
27065         * modules/mbscasestr-tests (Files): Likewise.
27066         * modules/mbschr-tests (Files): Likewise.
27067         * modules/mbscspn-tests (Files): Likewise.
27068         * modules/mbsinit-tests (Files): Likewise.
27069         * modules/mbsncasecmp-tests (Files): Likewise.
27070         * modules/mbsnrtowcs-tests (Files): Likewise.
27071         * modules/mbspbrk-tests (Files): Likewise.
27072         * modules/mbspcasecmp-tests (Files): Likewise.
27073         * modules/mbsrchr-tests (Files): Likewise.
27074         * modules/mbsrtowcs-tests (Files): Likewise.
27075         * modules/mbsspn-tests (Files): Likewise.
27076         * modules/mbsstr-tests (Files): Likewise.
27077         * modules/memchr-tests (Files): Likewise.
27078         * modules/memchr2-tests (Files): Likewise.
27079         * modules/memcmp-tests (Files): Likewise.
27080         * modules/memmem-tests (Files): Likewise.
27081         * modules/memrchr-tests (Files): Likewise.
27082         * modules/mkdir-tests (Files): Likewise.
27083         * modules/mkfifo-tests (Files): Likewise.
27084         * modules/mkfifoat-tests (Files): Likewise.
27085         * modules/mknod-tests (Files): Likewise.
27086         * modules/nanosleep-tests (Files): Likewise.
27087         * modules/nl_langinfo-tests (Files): Likewise.
27088         * modules/obstack-printf-tests (Files): Likewise.
27089         * modules/open-tests (Files): Likewise.
27090         * modules/openat-tests (Files): Likewise.
27091         * modules/pipe-filter-gi-tests (Files): Likewise.
27092         * modules/pipe-filter-ii-tests (Files): Likewise.
27093         * modules/pipe2-tests (Files): Likewise.
27094         * modules/popen-safer-tests (Files): Likewise.
27095         * modules/popen-tests (Files): Likewise.
27096         * modules/posixtm-tests (Files): Likewise.
27097         * modules/pread-tests (Files): Likewise.
27098         * modules/printf-frexp-tests (Files): Likewise.
27099         * modules/printf-frexpl-tests (Files): Likewise.
27100         * modules/printf-posix-tests (Files): Likewise.
27101         * modules/priv-set-tests (Files): Likewise.
27102         * modules/quotearg-tests (Files): Likewise.
27103         * modules/random_r-tests (Files): Likewise.
27104         * modules/rawmemchr-tests (Files): Likewise.
27105         * modules/rbtree-list-tests (Files): Likewise.
27106         * modules/rbtree-oset-tests (Files): Likewise.
27107         * modules/rbtreehash-list-tests (Files): Likewise.
27108         * modules/readlink-tests (Files): Likewise.
27109         * modules/remove-tests (Files): Likewise.
27110         * modules/rename-tests (Files): Likewise.
27111         * modules/renameat-tests (Files): Likewise.
27112         * modules/rmdir-tests (Files): Likewise.
27113         * modules/round-tests (Files): Likewise.
27114         * modules/roundf-tests (Files): Likewise.
27115         * modules/roundl-tests (Files): Likewise.
27116         * modules/safe-alloc-tests (Files): Likewise.
27117         * modules/setenv-tests (Files): Likewise.
27118         * modules/sigaction-tests (Files): Likewise.
27119         * modules/signbit-tests (Files): Likewise.
27120         * modules/sleep-tests (Files): Likewise.
27121         * modules/snprintf-posix-tests (Files): Likewise.
27122         * modules/snprintf-tests (Files): Likewise.
27123         * modules/sprintf-posix-tests (Files): Likewise.
27124         * modules/stat-tests (Files): Likewise.
27125         * modules/stat-time-tests (Files): Likewise.
27126         * modules/strcasestr-tests (Files): Likewise.
27127         * modules/strchrnul-tests (Files): Likewise.
27128         * modules/strerror-tests (Files): Likewise.
27129         * modules/striconv-tests (Files): Likewise.
27130         * modules/striconveh-tests (Files): Likewise.
27131         * modules/striconveha-tests (Files): Likewise.
27132         * modules/strsignal-tests (Files): Likewise.
27133         * modules/strstr-tests (Files): Likewise.
27134         * modules/strtod-tests (Files): Likewise.
27135         * modules/strverscmp-tests (Files): Likewise.
27136         * modules/symlink-tests (Files): Likewise.
27137         * modules/symlinkat-tests (Files): Likewise.
27138         * modules/trunc-tests (Files): Likewise.
27139         * modules/truncf-tests (Files): Likewise.
27140         * modules/truncl-tests (Files): Likewise.
27141         * modules/uname-tests (Files): Likewise.
27142         * modules/unicase/cased-tests (Files): Likewise.
27143         * modules/unicase/ignorable-tests (Files): Likewise.
27144         * modules/unicase/locale-language-tests (Files): Likewise.
27145         * modules/unicase/tolower-tests (Files): Likewise.
27146         * modules/unicase/totitle-tests (Files): Likewise.
27147         * modules/unicase/toupper-tests (Files): Likewise.
27148         * modules/unicase/u8-casecmp-tests (Files): Likewise.
27149         * modules/unicase/u8-casecoll-tests (Files): Likewise.
27150         * modules/unicase/u8-casefold-tests (Files): Likewise.
27151         * modules/unicase/u8-is-cased-tests (Files): Likewise.
27152         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
27153         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
27154         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
27155         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
27156         * modules/unicase/u8-tolower-tests (Files): Likewise.
27157         * modules/unicase/u8-totitle-tests (Files): Likewise.
27158         * modules/unicase/u8-toupper-tests (Files): Likewise.
27159         * modules/unicase/u16-casecmp-tests (Files): Likewise.
27160         * modules/unicase/u16-casecoll-tests (Files): Likewise.
27161         * modules/unicase/u16-casefold-tests (Files): Likewise.
27162         * modules/unicase/u16-is-cased-tests (Files): Likewise.
27163         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
27164         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
27165         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
27166         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
27167         * modules/unicase/u16-tolower-tests (Files): Likewise.
27168         * modules/unicase/u16-totitle-tests (Files): Likewise.
27169         * modules/unicase/u16-toupper-tests (Files): Likewise.
27170         * modules/unicase/u32-casecmp-tests (Files): Likewise.
27171         * modules/unicase/u32-casecoll-tests (Files): Likewise.
27172         * modules/unicase/u32-casefold-tests (Files): Likewise.
27173         * modules/unicase/u32-is-cased-tests (Files): Likewise.
27174         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
27175         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
27176         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
27177         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
27178         * modules/unicase/u32-tolower-tests (Files): Likewise.
27179         * modules/unicase/u32-totitle-tests (Files): Likewise.
27180         * modules/unicase/u32-toupper-tests (Files): Likewise.
27181         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
27182         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
27183         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
27184         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
27185         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
27186         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
27187         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
27188         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
27189         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
27190         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
27191         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
27192         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
27193         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
27194         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
27195         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
27196         * modules/unictype/bidicategory-name-tests (Files): Likewise.
27197         * modules/unictype/bidicategory-of-tests (Files): Likewise.
27198         * modules/unictype/bidicategory-test-tests (Files): Likewise.
27199         * modules/unictype/block-list-tests (Files): Likewise.
27200         * modules/unictype/block-of-tests (Files): Likewise.
27201         * modules/unictype/block-test-tests (Files): Likewise.
27202         * modules/unictype/category-C-tests (Files): Likewise.
27203         * modules/unictype/category-Cc-tests (Files): Likewise.
27204         * modules/unictype/category-Cf-tests (Files): Likewise.
27205         * modules/unictype/category-Cn-tests (Files): Likewise.
27206         * modules/unictype/category-Co-tests (Files): Likewise.
27207         * modules/unictype/category-Cs-tests (Files): Likewise.
27208         * modules/unictype/category-L-tests (Files): Likewise.
27209         * modules/unictype/category-Ll-tests (Files): Likewise.
27210         * modules/unictype/category-Lm-tests (Files): Likewise.
27211         * modules/unictype/category-Lo-tests (Files): Likewise.
27212         * modules/unictype/category-Lt-tests (Files): Likewise.
27213         * modules/unictype/category-Lu-tests (Files): Likewise.
27214         * modules/unictype/category-M-tests (Files): Likewise.
27215         * modules/unictype/category-Mc-tests (Files): Likewise.
27216         * modules/unictype/category-Me-tests (Files): Likewise.
27217         * modules/unictype/category-Mn-tests (Files): Likewise.
27218         * modules/unictype/category-N-tests (Files): Likewise.
27219         * modules/unictype/category-Nd-tests (Files): Likewise.
27220         * modules/unictype/category-Nl-tests (Files): Likewise.
27221         * modules/unictype/category-No-tests (Files): Likewise.
27222         * modules/unictype/category-P-tests (Files): Likewise.
27223         * modules/unictype/category-Pc-tests (Files): Likewise.
27224         * modules/unictype/category-Pd-tests (Files): Likewise.
27225         * modules/unictype/category-Pe-tests (Files): Likewise.
27226         * modules/unictype/category-Pf-tests (Files): Likewise.
27227         * modules/unictype/category-Pi-tests (Files): Likewise.
27228         * modules/unictype/category-Po-tests (Files): Likewise.
27229         * modules/unictype/category-Ps-tests (Files): Likewise.
27230         * modules/unictype/category-S-tests (Files): Likewise.
27231         * modules/unictype/category-Sc-tests (Files): Likewise.
27232         * modules/unictype/category-Sk-tests (Files): Likewise.
27233         * modules/unictype/category-Sm-tests (Files): Likewise.
27234         * modules/unictype/category-So-tests (Files): Likewise.
27235         * modules/unictype/category-Z-tests (Files): Likewise.
27236         * modules/unictype/category-Zl-tests (Files): Likewise.
27237         * modules/unictype/category-Zp-tests (Files): Likewise.
27238         * modules/unictype/category-Zs-tests (Files): Likewise.
27239         * modules/unictype/category-and-not-tests (Files): Likewise.
27240         * modules/unictype/category-and-tests (Files): Likewise.
27241         * modules/unictype/category-byname-tests (Files): Likewise.
27242         * modules/unictype/category-name-tests (Files): Likewise.
27243         * modules/unictype/category-none-tests (Files): Likewise.
27244         * modules/unictype/category-of-tests (Files): Likewise.
27245         * modules/unictype/category-or-tests (Files): Likewise.
27246         * modules/unictype/category-test-withtable-tests (Files): Likewise.
27247         * modules/unictype/combining-class-tests (Files): Likewise.
27248         * modules/unictype/ctype-alnum-tests (Files): Likewise.
27249         * modules/unictype/ctype-alpha-tests (Files): Likewise.
27250         * modules/unictype/ctype-blank-tests (Files): Likewise.
27251         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
27252         * modules/unictype/ctype-digit-tests (Files): Likewise.
27253         * modules/unictype/ctype-graph-tests (Files): Likewise.
27254         * modules/unictype/ctype-lower-tests (Files): Likewise.
27255         * modules/unictype/ctype-print-tests (Files): Likewise.
27256         * modules/unictype/ctype-punct-tests (Files): Likewise.
27257         * modules/unictype/ctype-space-tests (Files): Likewise.
27258         * modules/unictype/ctype-upper-tests (Files): Likewise.
27259         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
27260         * modules/unictype/decimal-digit-tests (Files): Likewise.
27261         * modules/unictype/digit-tests (Files): Likewise.
27262         * modules/unictype/mirror-tests (Files): Likewise.
27263         * modules/unictype/numeric-tests (Files): Likewise.
27264         * modules/unictype/property-alphabetic-tests (Files): Likewise.
27265         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
27266         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
27267         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
27268         Likewise.
27269         * modules/unictype/property-bidi-block-separator-tests (Files):
27270         Likewise.
27271         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
27272         Likewise.
27273         * modules/unictype/property-bidi-common-separator-tests (Files):
27274         Likewise.
27275         * modules/unictype/property-bidi-control-tests (Files): Likewise.
27276         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
27277         Likewise.
27278         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
27279         Likewise.
27280         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
27281         Likewise.
27282         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
27283         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
27284         Likewise.
27285         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
27286         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
27287         Likewise.
27288         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
27289         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
27290         * modules/unictype/property-bidi-segment-separator-tests (Files):
27291         Likewise.
27292         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
27293         * modules/unictype/property-byname-tests (Files): Likewise.
27294         * modules/unictype/property-combining-tests (Files): Likewise.
27295         * modules/unictype/property-composite-tests (Files): Likewise.
27296         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
27297         * modules/unictype/property-dash-tests (Files): Likewise.
27298         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
27299         * modules/unictype/property-default-ignorable-code-point-tests (Files):
27300         Likewise.
27301         * modules/unictype/property-deprecated-tests (Files): Likewise.
27302         * modules/unictype/property-diacritic-tests (Files): Likewise.
27303         * modules/unictype/property-extender-tests (Files): Likewise.
27304         * modules/unictype/property-format-control-tests (Files): Likewise.
27305         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
27306         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
27307         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
27308         * modules/unictype/property-hex-digit-tests (Files): Likewise.
27309         * modules/unictype/property-hyphen-tests (Files): Likewise.
27310         * modules/unictype/property-id-continue-tests (Files): Likewise.
27311         * modules/unictype/property-id-start-tests (Files): Likewise.
27312         * modules/unictype/property-ideographic-tests (Files): Likewise.
27313         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
27314         * modules/unictype/property-ids-trinary-operator-tests (Files):
27315         Likewise.
27316         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
27317         * modules/unictype/property-iso-control-tests (Files): Likewise.
27318         * modules/unictype/property-join-control-tests (Files): Likewise.
27319         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
27320         * modules/unictype/property-line-separator-tests (Files): Likewise.
27321         * modules/unictype/property-logical-order-exception-tests (Files):
27322         Likewise.
27323         * modules/unictype/property-lowercase-tests (Files): Likewise.
27324         * modules/unictype/property-math-tests (Files): Likewise.
27325         * modules/unictype/property-non-break-tests (Files): Likewise.
27326         * modules/unictype/property-not-a-character-tests (Files): Likewise.
27327         * modules/unictype/property-numeric-tests (Files): Likewise.
27328         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
27329         * modules/unictype/property-other-default-ignorable-code-point-tests
27330         (Files): Likewise.
27331         * modules/unictype/property-other-grapheme-extend-tests (Files):
27332         Likewise.
27333         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
27334         * modules/unictype/property-other-id-start-tests (Files): Likewise.
27335         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
27336         * modules/unictype/property-other-math-tests (Files): Likewise.
27337         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
27338         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
27339         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
27340         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
27341         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
27342         * modules/unictype/property-private-use-tests (Files): Likewise.
27343         * modules/unictype/property-punctuation-tests (Files): Likewise.
27344         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
27345         * modules/unictype/property-radical-tests (Files): Likewise.
27346         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
27347         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
27348         * modules/unictype/property-space-tests (Files): Likewise.
27349         * modules/unictype/property-terminal-punctuation-tests (Files):
27350         Likewise.
27351         * modules/unictype/property-test-tests (Files): Likewise.
27352         * modules/unictype/property-titlecase-tests (Files): Likewise.
27353         * modules/unictype/property-unassigned-code-value-tests (Files):
27354         Likewise.
27355         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
27356         * modules/unictype/property-uppercase-tests (Files): Likewise.
27357         * modules/unictype/property-variation-selector-tests (Files): Likewise.
27358         * modules/unictype/property-white-space-tests (Files): Likewise.
27359         * modules/unictype/property-xid-continue-tests (Files): Likewise.
27360         * modules/unictype/property-xid-start-tests (Files): Likewise.
27361         * modules/unictype/property-zero-width-tests (Files): Likewise.
27362         * modules/unictype/scripts-tests (Files): Likewise.
27363         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
27364         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
27365         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
27366         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
27367         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
27368         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
27369         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
27370         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
27371         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
27372         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
27373         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
27374         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
27375         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
27376         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
27377         * modules/uninorm/composition-tests (Files): Likewise.
27378         * modules/uninorm/decomposing-form-tests (Files): Likewise.
27379         * modules/uninorm/decomposition-tests (Files): Likewise.
27380         * modules/uninorm/filter-tests (Files): Likewise.
27381         * modules/uninorm/nfc-tests (Files): Likewise.
27382         * modules/uninorm/nfd-tests (Files): Likewise.
27383         * modules/uninorm/nfkc-tests (Files): Likewise.
27384         * modules/uninorm/nfkd-tests (Files): Likewise.
27385         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
27386         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
27387         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
27388         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
27389         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
27390         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
27391         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
27392         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
27393         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
27394         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
27395         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
27396         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
27397         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
27398         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
27399         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
27400         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
27401         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
27402         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
27403         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
27404         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
27405         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
27406         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
27407         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
27408         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
27409         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
27410         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
27411         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
27412         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
27413         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
27414         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
27415         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
27416         * modules/uniwidth/u8-width-tests (Files): Likewise.
27417         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
27418         * modules/uniwidth/u16-width-tests (Files): Likewise.
27419         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
27420         * modules/uniwidth/u32-width-tests (Files): Likewise.
27421         * modules/uniwidth/width-tests (Files): Likewise.
27422         * modules/unlink-tests (Files): Likewise.
27423         * modules/unsetenv-tests (Files): Likewise.
27424         * modules/usleep-tests (Files): Likewise.
27425         * modules/utimens-tests (Files): Likewise.
27426         * modules/utimensat-tests (Files): Likewise.
27427         * modules/vasnprintf-posix-tests (Files): Likewise.
27428         * modules/vasnprintf-tests (Files): Likewise.
27429         * modules/vasprintf-posix-tests (Files): Likewise.
27430         * modules/vasprintf-tests (Files): Likewise.
27431         * modules/vdprintf-posix-tests (Files): Likewise.
27432         * modules/vfprintf-posix-tests (Files): Likewise.
27433         * modules/vprintf-posix-tests (Files): Likewise.
27434         * modules/vsnprintf-posix-tests (Files): Likewise.
27435         * modules/vsnprintf-tests (Files): Likewise.
27436         * modules/vsprintf-posix-tests (Files): Likewise.
27437         * modules/wcrtomb-tests (Files): Likewise.
27438         * modules/wcsnrtombs-tests (Files): Likewise.
27439         * modules/wcsrtombs-tests (Files): Likewise.
27440         * modules/wctype-tests (Files): Likewise.
27441         * modules/wcwidth-tests (Files): Likewise.
27442         * modules/xmemdup0-tests (Files): Likewise.
27443         * modules/xprintf-posix-tests (Files): Likewise.
27444         * modules/xvasprintf-tests (Files): Likewise.
27445
27446 2009-12-24  Eric Blake  <ebb9@byu.net>
27447
27448         test-nanosleep: fix typo
27449         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
27450         patch.
27451         Reported by Bruno Haible.
27452
27453 2009-12-24  Bruno Haible  <bruno@clisp.org>
27454
27455         Reduce namespace pollution on glibc systems.
27456         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
27457         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
27458         systems.
27459         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
27460         <getopt.h> on glibc systems.
27461         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
27462         systems.
27463         * lib/fcntl.c: Include <unistd.h> here instead.
27464
27465 2009-12-24  Bruno Haible  <bruno@clisp.org>
27466
27467         * lib/stdlib.in.h (includes): Fix typo in today's commit.
27468
27469 2009-12-24  Eric Blake  <ebb9@byu.net>
27470
27471         tests: add signature checks
27472         * tests/signature.h (SIGNATURE_CHECK): New file.
27473         * modules/atexit-tests (Files): Use it.
27474         * modules/btowc-tests (Files): Likewise.
27475         * modules/canonicalize-lgpl-tests (Files): Likewise.
27476         * modules/ceilf-tests (Files): Likewise.
27477         * modules/ceill-tests (Files): Likewise.
27478         * modules/chown-tests (Files): Likewise.
27479         * modules/dprintf-posix-tests (Files): Likewise.
27480         * modules/dup2-tests (Files): Likewise.
27481         * modules/dup3-tests (Files): Likewise.
27482         * modules/duplocale-tests (Files): Likewise.
27483         * modules/fchdir-tests (Files): Likewise.
27484         * modules/fcntl-tests (Files): Likewise.
27485         * modules/fdopendir-tests (Files): Likewise.
27486         * modules/fflush-tests (Files): Likewise.
27487         * modules/flock-tests (Files): Likewise.
27488         * modules/floorf-tests (Files): Likewise.
27489         * modules/floorl-tests (Files): Likewise.
27490         * modules/fnmatch-tests (Files): Likewise.
27491         * modules/fopen-tests (Files): Likewise.
27492         * modules/fprintf-posix-tests (Files): Likewise.
27493         * modules/freopen-tests (Files): Likewise.
27494         * modules/frexp-nolibm-tests (Files): Likewise.
27495         * modules/frexp-tests (Files): Likewise.
27496         * modules/frexpl-nolibm-tests (Files): Likewise.
27497         * modules/frexpl-tests (Files): Likewise.
27498         * modules/fseek-tests (Files): Likewise.
27499         * modules/fseeko-tests (Files): Likewise.
27500         * modules/fsync-tests (Files): Likewise.
27501         * modules/ftell-tests (Files): Likewise.
27502         * modules/ftello-tests (Files): Likewise.
27503         * modules/futimens-tests (Files): Likewise.
27504         * modules/getaddrinfo-tests (Files): Likewise.
27505         * modules/getcwd-tests (Files): Likewise.
27506         * modules/getdelim-tests (Files): Likewise.
27507         * modules/getdtablesize-tests (Files): Likewise.
27508         * modules/getgroups-tests (Files): Likewise.
27509         * modules/gethostname-tests (Files): Likewise.
27510         * modules/getline-tests (Files): Likewise.
27511         * modules/getopt-posix-tests (Files): Likewise.
27512         * modules/gettimeofday-tests (Files): Likewise.
27513         * modules/glob-tests (Files): Likewise.
27514         * modules/iconv-tests (Files): Likewise.
27515         * modules/inet_ntop-tests (Files): Likewise.
27516         * modules/inet_pton-tests (Files): Likewise.
27517         * modules/isblank-tests (Files): Likewise.
27518         * modules/lchown-tests (Files): Likewise.
27519         * modules/ldexpl-tests (Files): Likewise.
27520         * modules/link-tests (Files): Likewise.
27521         * modules/linkat-tests (Files): Likewise.
27522         * modules/lseek-tests (Files): Likewise.
27523         * modules/lstat-tests (Files): Likewise.
27524         * modules/mbrtowc-tests (Files): Likewise.
27525         * modules/mbsinit-tests (Files): Likewise.
27526         * modules/mbsnrtowcs-tests (Files): Likewise.
27527         * modules/mbsrtowcs-tests (Files): Likewise.
27528         * modules/memchr-tests (Files): Likewise.
27529         * modules/memcmp-tests (Files): Likewise.
27530         * modules/memmem-tests (Files): Likewise.
27531         * modules/memrchr-tests (Files): Likewise.
27532         * modules/mkdir-tests (Files): Likewise.
27533         * modules/mkfifo-tests (Files): Likewise.
27534         * modules/mkfifoat-tests (Files): Likewise.
27535         * modules/mknod-tests (Files): Likewise.
27536         * modules/nanosleep-tests (Files): Likewise.
27537         * modules/nl_langinfo-tests (Files): Likewise.
27538         * modules/obstack-printf-tests (Files): Likewise.
27539         * modules/open-tests (Files): Likewise.
27540         * modules/openat-tests (Files): Likewise.
27541         * modules/perror-tests (Files): Likewise.
27542         * modules/pipe2-tests (Files): Likewise.
27543         * modules/poll-tests (Files): Likewise.
27544         * modules/popen-tests (Files): Likewise.
27545         * modules/posix_spawn-tests (Files): Likewise.
27546         * modules/posix_spawnp-tests (Files): Likewise.
27547         * modules/pread-tests (Files): Likewise.
27548         * modules/printf-posix-tests (Files): Likewise.
27549         * modules/pty-tests (Files): Likewise.
27550         * modules/random_r-tests (Files): Likewise.
27551         * modules/rawmemchr-tests (Files): Likewise.
27552         * modules/readlink-tests (Files): Likewise.
27553         * modules/remove-tests (Files): Likewise.
27554         * modules/rename-tests (Files): Likewise.
27555         * modules/renameat-tests (Files): Likewise.
27556         * modules/rmdir-tests (Files): Likewise.
27557         * modules/round-tests (Files): Likewise.
27558         * modules/roundf-tests (Files): Likewise.
27559         * modules/roundl-tests (Files): Likewise.
27560         * modules/select-tests (Files): Likewise.
27561         * modules/setenv-tests (Files): Likewise.
27562         * modules/sigaction-tests (Files): Likewise.
27563         * modules/sleep-tests (Files): Likewise.
27564         * modules/snprintf-posix-tests (Files): Likewise.
27565         * modules/snprintf-tests (Files): Likewise.
27566         * modules/sprintf-posix-tests (Files): Likewise.
27567         * modules/stat-tests (Files): Likewise.
27568         * modules/strcasestr-tests (Files): Likewise.
27569         * modules/strchrnul-tests (Files): Likewise.
27570         * modules/strerror-tests (Files): Likewise.
27571         * modules/strsignal-tests (Files): Likewise.
27572         * modules/strstr-tests (Files): Likewise.
27573         * modules/strtod-tests (Files): Likewise.
27574         * modules/strverscmp-tests (Files): Likewise.
27575         * modules/symlink-tests (Files): Likewise.
27576         * modules/symlinkat-tests (Files): Likewise.
27577         * modules/times-tests (Files): Likewise.
27578         * modules/trunc-tests (Files): Likewise.
27579         * modules/truncf-tests (Files): Likewise.
27580         * modules/truncl-tests (Files): Likewise.
27581         * modules/tsearch-tests (Files): Likewise.
27582         * modules/uname-tests (Files): Likewise.
27583         * modules/unlink-tests (Files): Likewise.
27584         * modules/unsetenv-tests (Files): Likewise.
27585         * modules/usleep-tests (Files): Likewise.
27586         * modules/utimensat-tests (Files): Likewise.
27587         * modules/vasprintf-tests (Files): Likewise.
27588         * modules/vdprintf-posix-tests (Files): Likewise.
27589         * modules/vfprintf-posix-tests (Files): Likewise.
27590         * modules/vprintf-posix-tests (Files): Likewise.
27591         * modules/vsnprintf-posix-tests (Files): Likewise.
27592         * modules/vsnprintf-tests (Files): Likewise.
27593         * modules/vsprintf-posix-tests (Files): Likewise.
27594         * modules/wcrtomb-tests (Files): Likewise.
27595         * modules/wcsnrtombs-tests (Files): Likewise.
27596         * modules/wcsrtombs-tests (Files): Likewise.
27597         * modules/wcwidth-tests (Files): Likewise.
27598         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
27599         * tests/test-isinf.c (isinf): Likewise.
27600         * tests/test-isnan.c (isnan): Likewise.
27601         * tests/test-signbit.c (signbit): Likewise.
27602         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
27603         declaration, either as macro or with correct signature.
27604         (select): Ensure function under test is declared with correct
27605         signature in correct header.
27606         * tests/test-atexit.c (atexit): Likewise.
27607         * tests/test-btowc.c (btowc): Likewise.
27608         * tests/test-canonicalize-lgpl.c (realpath)
27609         (canonicalize_file_name): Likewise.
27610         * tests/test-ceilf1.c (ceilf): Likewise.
27611         * tests/test-ceill.c (ceill): Likewise.
27612         * tests/test-chown.c (chown): Likewise.
27613         * tests/test-dprintf-posix.c (dprintf): Likewise.
27614         * tests/test-dup2.c (dup2): Likewise.
27615         * tests/test-dup3.c (dup3): Likewise.
27616         * tests/test-duplocale.c (duplocale): Likewise.
27617         * tests/test-fchdir.c (fchdir): Likewise.
27618         * tests/test-fchownat.c (fchownat): Likewise.
27619         * tests/test-fcntl.c (fcntl): Likewise.
27620         * tests/test-fdopendir.c (fdopendir): Likewise.
27621         * tests/test-fflush.c (fflush): Likewise.
27622         * tests/test-flock.c (flock): Likewise.
27623         * tests/test-floorf1.c (floorf): Likewise.
27624         * tests/test-floorl.c (floorl): Likewise.
27625         * tests/test-fnmatch.c (fnmatch): Likewise.
27626         * tests/test-fopen.c (fopen): Likewise.
27627         * tests/test-fprintf-posix.c (fprintf): Likewise.
27628         * tests/test-freopen.c (freopen): Likewise.
27629         * tests/test-frexp.c (frexp): Likewise.
27630         * tests/test-frexpl.c (frexpl): Likewise.
27631         * tests/test-fseek.c (fseek): Likewise.
27632         * tests/test-fseeko.c (fseeko): Likewise.
27633         * tests/test-fstatat.c (fstatat): Likewise.
27634         * tests/test-fsync.c (fsync): Likewise.
27635         * tests/test-ftell.c (ftell): Likewise.
27636         * tests/test-ftello.c (ftello): Likewise.
27637         * tests/test-futimens.c (futimens): Likewise.
27638         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
27639         (gai_strerror): Likewise.
27640         * tests/test-getcwd.c (getcwd): Likewise.
27641         * tests/test-getdelim.c (getdelim): Likewise.
27642         * tests/test-getdtablesize.c (getdtablesize): Likewise.
27643         * tests/test-getgroups.c (getgroups): Likewise.
27644         * tests/test-gethostname.c (gethostname): Likewise.
27645         * tests/test-getline.c (getline): Likewise.
27646         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
27647         Likewise.
27648         * tests/test-gettimeofday.c (gettimeofday): Likewise.
27649         * tests/test-glob.c (glob, globfree): Likewise.
27650         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
27651         * tests/test-inet_ntop.c (inet_ntop): Likewise.
27652         * tests/test-inet_pton.c (inet_pton): Likewise.
27653         * tests/test-isblank.c (isblank): Likewise.
27654         * tests/test-lchown.c (lchown): Likewise.
27655         * tests/test-ldexpl.c (ldexpl): Likewise.
27656         * tests/test-link.c (link): Likewise.
27657         * tests/test-linkat.c (linkat): Likewise.
27658         * tests/test-lseek.c (lseek): Likewise.
27659         * tests/test-lstat.c (lstat): Likewise.
27660         * tests/test-mbrtowc.c (mbrtowc): Likewise.
27661         * tests/test-mbsinit.c (mbsinit): Likewise.
27662         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
27663         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
27664         * tests/test-memchr.c (memchr): Likewise.
27665         * tests/test-memcmp.c (memcmp): Likewise.
27666         * tests/test-memmem.c (memmem): Likewise.
27667         * tests/test-memrchr.c (memrchr): Likewise.
27668         * tests/test-mkdir.c (mkdir): Likewise.
27669         * tests/test-mkdirat.c (mkdirat): Likewise.
27670         * tests/test-mkfifo.c (mkfifo): Likewise.
27671         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
27672         * tests/test-mknod.c (mknod): Likewise.
27673         * tests/test-nanosleep.c (nanosleep): Likewise.
27674         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
27675         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
27676         Likewise.
27677         * tests/test-open.c (open): Likewise.
27678         * tests/test-openat.c (openat): Likewise.
27679         * tests/test-perror.c (perror): Likewise.
27680         * tests/test-pipe2.c (pipe2): Likewise.
27681         * tests/test-poll.c (poll): Likewise.
27682         * tests/test-popen.c (popen, pclose): Likewise.
27683         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
27684         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
27685         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
27686         (posix_spawn_file_actions_destroy)
27687         (posix_spawn_file_actions_addclose)
27688         (posix_spawn_file_actions_addopen)
27689         (posix_spawn_file_actions_adddup2): Likewise.
27690         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
27691         * tests/test-pread.c (pread): Likewise.
27692         * tests/test-printf-posix.c (printf): Likewise.
27693         * tests/test-pty.c (openpty, forkpty): Likewise.
27694         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
27695         (random_r): Likewise.
27696         * tests/test-rawmemchr.c (rawmemchr): Likewise.
27697         * tests/test-readlink.c (readlink): Likewise.
27698         * tests/test-remove.c (remove): Likewise.
27699         * tests/test-rename.c (rename): Likewise.
27700         * tests/test-renameat.c (renameat): Likewise.
27701         * tests/test-rmdir.c (rmdir): Likewise.
27702         * tests/test-round1.c (round): Likewise.
27703         * tests/test-roundf1.c (roundf): Likewise.
27704         * tests/test-roundl.c (roundl): Likewise.
27705         * tests/test-setenv.c (setenv): Likewise.
27706         * tests/test-sigaction.c (sigaction): Likewise.
27707         * tests/test-sleep.c (sleep): Likewise.
27708         * tests/test-snprintf.c (snprintf): Likewise.
27709         * tests/test-sprintf-posix.c (sprintf): Likewise.
27710         * tests/test-stat.c (stat): Likewise.
27711         * tests/test-stpncpy.c (stpncpy): Likewise.
27712         * tests/test-strcasestr.c (strcasestr): Likewise.
27713         * tests/test-strchrnul.c (strchrnul): Likewise.
27714         * tests/test-strerror.c (strerror): Likewise.
27715         * tests/test-strsignal.c (strsignal): Likewise.
27716         * tests/test-strstr.c (strstr): Likewise.
27717         * tests/test-strtod.c (strtod): Likewise.
27718         * tests/test-strverscmp.c (strverscmp): Likewise.
27719         * tests/test-symlink.c (symlink): Likewise.
27720         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
27721         * tests/test-times.c (times): Likewise.
27722         * tests/test-trunc1.c (trunc): Likewise.
27723         * tests/test-truncf1.c (truncf): Likewise.
27724         * tests/test-truncl.c (truncl): Likewise.
27725         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
27726         Likewise.
27727         * tests/test-uname.c (uname): Likewise.
27728         * tests/test-unlink.c (unlink): Likewise.
27729         * tests/test-unlinkat.c (unlinkat): Likewise.
27730         * tests/test-unsetenv.c (unsetenv): Likewise.
27731         * tests/test-usleep.c (usleep): Likewise.
27732         * tests/test-utimensat.c (utimensat): Likewise.
27733         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
27734         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
27735         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
27736         * tests/test-vprintf-posix.c (vprintf): Likewise.
27737         * tests/test-vsnprintf.c (vsnprintf): Likewise.
27738         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
27739         * tests/test-wcrtomb.c (wcrtomb): Likewise.
27740         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
27741         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
27742         * tests/test-wcwidth.c (wcwidth): Likewise.
27743
27744         build: pull in conditional headers during GNULIB_POSIXCHECK
27745         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
27746         definitions from any conditionally-included headers.
27747         * lib/stdlib.in.h (includes): Likewise.
27748         * lib/unistd.in.h (includes): Likewise.
27749
27750 2009-12-24  Bruno Haible  <bruno@clisp.org>
27751
27752         * tests/test-argv-iter.c: Include header file being tested immediately
27753         after config.h.
27754         * tests/test-base64.c: Likewise.
27755         * tests/test-flock.c: Likewise.
27756         * tests/test-fsync.c: Likewise.
27757         * tests/test-getdate.c: Likewise.
27758         * tests/test-getndelim2.c: Likewise.
27759         * tests/test-isfinite.c: Likewise.
27760         * tests/test-isinf.c: Likewise.
27761         * tests/test-strerror.c: Likewise.
27762         * tests/test-strsignal.c: Likewise.
27763
27764 2009-12-23  Eric Blake  <ebb9@byu.net>
27765
27766         unistd: work around cygwin bug
27767         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
27768         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
27769         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
27770
27771 2009-12-23  Bruno Haible  <bruno@clisp.org>
27772
27773         localename: More tests.
27774         * tests/test-localename.c (SIZEOF): New macro.
27775         (categories): New variable.
27776         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
27777         test_locale_name_default): Add test w.r.t. thread locale.
27778         (test_locale_name_thread): New function.
27779         (main): Invoke it.
27780
27781         localename: Make aware of thread locale.
27782         * lib/localename.h (gl_locale_name_thread): New declaration.
27783         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
27784         behaviour with respect to thread locale.
27785         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
27786         <langinfo.h>, glthread/lock.h.
27787         (SIZE_BITS): New macro.
27788         (string_hash): New function.
27789         (struct hash_node): New type.
27790         (HASH_TABLE_SIZE): New macro.
27791         (struniq_hash_table, struniq_lock): New variables.
27792         (struniq): New function.
27793         (gl_locale_name_thread): New function.
27794         (gl_locale_name): Invoke it.
27795         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
27796         * modules/localename (Depends-on): Add lock.
27797         Reported by Mike Gran <spk121@yahoo.com>.
27798
27799 2009-12-23  Eric Blake  <ebb9@byu.net>
27800
27801         va-args: new module
27802         * modules/va-args: New file.
27803         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
27804         * MODULES.html.sh (Core language properties): Mention it.
27805
27806         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
27807         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
27808         named alias for __attribute__((__unused__)).
27809         * lib/chown.c: Update client.
27810         * lib/fchmodat.c: Likewise.
27811         * lib/fts.c: Likewise.
27812         * lib/getdate.y: Likewise.
27813         * lib/getgroups.c: Likewise.
27814         * lib/getopt.c: Likewise.
27815         * lib/getugroups.c: Likewise.
27816         * lib/mkdir.c: Likewise.
27817         * lib/mkfifo.c: Likewise.
27818         * lib/mkfifoat.c: Likewise.
27819         * lib/mknod.c: Likewise.
27820         * lib/mknodat.c: Likewise.
27821         * lib/readlink.c: Likewise.
27822         * lib/se-context.in.h: Likewise.
27823         * lib/se-selinux.in.h: Likewise.
27824         * lib/sockets.c: Likewise.
27825         * lib/symlink.c: Likewise.
27826         * lib/symlinkat.c: Likewise.
27827         * lib/unicodeio.c: Likewise.
27828         * lib/unistr.h: Likewise.
27829         * tests/test-areadlink.c: Likewise.
27830         * tests/test-areadlinkat.c: Likewise.
27831         * tests/test-filenamecat.c: Likewise.
27832         * tests/test-fseeko.c: Likewise.
27833         * tests/test-ftello.c: Likewise.
27834         * tests/test-getdate.c: Likewise.
27835         * tests/test-getgroups.c: Likewise.
27836         * tests/test-gethostname.c: Likewise.
27837         * tests/test-quotearg.c: Likewise.
27838         * tests/test-version-etc.c: Likewise.
27839         * tests/test-xalloc-die.c: Likewise.
27840         * tests/test-xfprintf-posix.c: Likewise.
27841         * tests/test-xprintf-posix.c: Likewise.
27842         * tests/test-xvasprintf.c: Likewise.
27843
27844         tests: avoid compiler warnings
27845         * tests/test-fcntl.c (main): Delete unused parameters.
27846         * tests/test-freopen-safer.c (main): Likewise.
27847         * tests/test-xalloc-die.c (main): Mark unused parameters.
27848         * tests/test-fseeko.c (main): Likewise.
27849         * tests/test-ftello.c (main): Likewise.
27850         * tests/test-nanosleep.c (main): Avoid declaration warning.
27851         * tests/test-sleep.c (main): Likewise.
27852         * tests/test-unsetenv.c (main): Silence warning about string
27853         literal.
27854         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27855
27856 2009-12-23  Bruno Haible  <bruno@clisp.org>
27857
27858         * tests/test-localename.c (test_locale_name): New function, extracted
27859         from main. Also test mixed situations.
27860         (test_locale_name_posix, test_locale_name_environ,
27861         test_locale_name_default): New functions.
27862         (main): Invoke them all.
27863         * modules/localename-tests (configure.ac): Test for newlocale.
27864
27865 2009-12-23  Bruno Haible  <bruno@clisp.org>
27866
27867         unistd: Ensure getcwd gets declared before being overridden.
27868         * lib/unistd.in.h: Conditionally include <io.h>.
27869
27870 2009-12-22  Bruno Haible  <bruno@clisp.org>
27871
27872         wchar: Diagnose broken combination of glibc and gcc versions and flags.
27873         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
27874         (gl_WCHAR_H): Invoke it.
27875         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
27876         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
27877         Reported by Karl Berry <karl@freefriends.org>.
27878
27879 2009-12-22  Eric Blake  <ebb9@byu.net>
27880
27881         math, unistd: avoid redundant includes
27882         * lib/math.in.h (isnan): No need to re-include <math.h>.
27883         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
27884
27885         getsubopt: work around cygwin bug
27886         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
27887         avoid conflicting with system getsubopt.
27888         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
27889         bug.
27890
27891         getopt: synchronize from glibc
27892         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
27893         parameter order.  Adjust all callers.
27894         (_getopt_internal_r, main): Adjust quoting in error messages.
27895         Drop considerations for outdated POSIX 1003.2 error message.
27896         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
27897         callers.
27898         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
27899
27900         test-getopt: test stderr behavior
27901         * modules/getopt-posix-tests (Depends-on): Add dup2.
27902         * tests/test-getopt.c (ASSERT): Avoid stderr.
27903         (main): Move stderr to a temporary file.
27904         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
27905         Instead, add parameter to inform caller if output occurred.
27906         (test_getopt): Adjust all existing tests to expect silence, and
27907         add new tests of leading ":".
27908         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
27909         glibc shortcomings with leading "-:" or "+:" in optstring.
27910         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27911         Likewise.
27912         * doc/posix-functions/getopt.texi (getopt): Likewise.
27913
27914         test-getopt: enhance test
27915         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
27916         supports optind=0.
27917         * tests/test-getopt.c (OPTIND_MIN): Move...
27918         * tests/test-getopt.h (OPTIND_MIN): ...here.
27919         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
27920         Require that optind=0 works, since modern BSD supports it in
27921         addition to optreset, and since coreutils expects it.
27922         (test_getopt_long_only): New test.
27923         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
27924         glibc shortcomings with 'W;', and enforcement of optind=0.
27925         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27926         Likewise.
27927
27928 2009-12-21  Bruno Haible  <bruno@clisp.org>
27929
27930         localename: Improvements for MacOS X and Cygwin.
27931         * lib/localename.h (gl_locale_name_environ): New declaration.
27932         * lib/localename.c (gl_locale_name_environ): New function, extracted from
27933         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
27934         (gl_locale_name_posix): Invoke it.
27935         (gl_locale_name_default): Add comments. Use Windows native API also on
27936         Cygwin.
27937
27938 2009-12-21  Bruno Haible  <bruno@clisp.org>
27939
27940         Update list of Win32 locale ids.
27941         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
27942         (LANG_SAMI): Renamed from LANG_SAAMI.
27943         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
27944         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
27945         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
27946         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
27947         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
27948         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
27949         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
27950         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
27951         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
27952         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
27953         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
27954         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
27955         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
27956         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
27957         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
27958         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
27959         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
27960         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
27961         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
27962         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
27963         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
27964         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
27965         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
27966         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
27967         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
27968         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
27969         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
27970         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
27971         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
27972         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
27973         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
27974         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
27975         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
27976         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
27977         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
27978         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
27979         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
27980         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
27981         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
27982         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
27983         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
27984         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
27985         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
27986         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
27987         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
27988         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
27989         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
27990         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
27991         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
27992         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
27993         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
27994         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
27995         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
27996         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
27997         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
27998         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
27999         Add more languages and countries for Sami, Sorbian. Add more countries
28000         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
28001         for Pashto. Change country for Syriac, Tswana.
28002
28003 2009-12-21  Eric Blake  <ebb9@byu.net>
28004
28005         test-utimens: avoid spurious failure
28006         * tests/test-chown.h (nap): Factor...
28007         * tests/nap.h: ...into new file.
28008         * tests/test-lchown.h (nap): Avoid duplication.
28009         * tests/test-utimens-common.h (nap): Use shared implementation,
28010         necessary on file systems with 1-second resolution.
28011         * modules/chown-tests (Files): Include new file.
28012         * modules/fdutimensat-tests (Files): Likewise.
28013         * modules/futimens-tests (Files): Likewise.
28014         * modules/lchown-tests (Files): Likewise.
28015         * modules/openat-tests (Files): Likewise.
28016         * modules/utimens-tests (Files): Likewise.
28017         * modules/utimensat-tests (Files): Likewise.
28018
28019 2009-12-19  Eric Blake  <ebb9@byu.net>
28020
28021         futimens, utimensat: work around Linux bug
28022         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
28023         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28024         * lib/utimensat.c (rpl_utimensat): Work around it.
28025         * lib/futimens.c (rpl_futimens): Adjust comment.
28026
28027         utimens: work around Linux ctime bug
28028         * lib/utimens.c (detect_ctime_bug): New helper function.
28029         (update_timespec): Differentiate between workaround needed for
28030         this bug vs. what is needed for systems that lack utimensat.
28031         (fdutimens, lutimens): Work around bug.
28032
28033         utimens: check for ctime update
28034         * tests/test-utimens-common.h (check_ctime): Define.
28035         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
28036         * tests/test-futimens.h (test_futimens): Likewise.
28037         * tests/test-lutimens.h (test_lutimens): Likewise.
28038         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28039         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
28040
28041 2009-12-19  Bruno Haible  <bruno@clisp.org>
28042
28043         dprintf-posix: Check against memory leak fixed on 2009-12-15.
28044         * tests/test-dprintf-posix2.sh: New file.
28045         * tests/test-dprintf-posix2.c: New file.
28046         * modules/dprintf-posix-tests (Files): Add them.
28047         (configure.ac): Check for getrlimit and setrlimit.
28048         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
28049
28050 2009-12-19  Bruno Haible  <bruno@clisp.org>
28051
28052         fprintf-posix: Check against memory leak fixed on 2009-12-15.
28053         * tests/test-fprintf-posix3.sh: New file.
28054         * tests/test-fprintf-posix3.c: New file.
28055         * modules/fprintf-posix-tests (Files): Add them.
28056         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
28057
28058 2009-12-19  Eric Blake  <ebb9@byu.net>
28059
28060         dirfd: fix prototype
28061         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
28062         * lib/dirfd.c (dirfd): Likewise.
28063
28064         canonicalize: reduce memory usage
28065         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
28066         allocation to size.
28067         Reported by Solar Designer <solar@openwall.com>.
28068
28069 2009-12-19  Bruno Haible  <bruno@clisp.org>
28070
28071         New module attribute 'Applicability'.
28072         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
28073         * gnulib-tool: New option --extract-applicability.
28074         (func_usage): Document it.
28075         (sed_extract_prog): Recognize it.
28076         (func_get_applicability): New function.
28077         (func_import): Generalize handling of 'link-warning' module.
28078         * modules/link-warning (Applicability): New section.
28079         * modules/arg-nonnull (Applicability): New section.
28080         Repoted by Simon Josefsson <simon@josefsson.org>.
28081
28082 2009-12-19  Bruno Haible  <bruno@clisp.org>
28083
28084         fflush: tweak
28085         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
28086         * lib/fseeko.c (rpl_fseeko): Likewise.
28087
28088 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
28089
28090         * lib/gl_list.h: Fix typo in comment.
28091
28092 2009-12-16  Eric Blake  <ebb9@byu.net>
28093
28094         fcntl: use to simplify other modules
28095         * modules/cloexec (Depends-on): Add fcntl.
28096         * modules/fchdir (Depends-on): Likewise.
28097         * modules/fd-safer-flag (Depends-on): Likewise.
28098         * modules/unistd-safer (Depends-on): Likewise.
28099         * modules/dup3 (configure.ac): Set module indicator.
28100         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
28101         missing.
28102         * lib/fchdir.c (_gl_register_dup): Fix comment.
28103         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
28104         * lib/dup-safer.c (dup_safer): Likewise.
28105         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
28106         * lib/dup3.c (dup3): Likewise.
28107         * tests/test-fchdir.c (main): Enhance test.
28108         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
28109
28110         fcntl: port portions of fcntl to mingw
28111         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
28112         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
28113         replacement for mingw.
28114         * modules/fcntl (Description): Update.
28115         (Depends-on): Add dup2.
28116         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
28117         * modules/fcntl-h (Makefile.am): Substitute it.
28118         * lib/fcntl.in.h (fcntl): Update declaration.
28119         (F_DUPFD, F_GETFD): New macros, when needed.
28120         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
28121         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
28122         * tests/test-fcntl.c (check_flags, main): Enhance test for items
28123         we now guarantee.
28124
28125         fcntl: work around cygwin bug in F_DUPFD
28126         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
28127         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
28128         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
28129         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
28130         * doc/posix-functions/fcntl.texi (fcntl): Document it.
28131
28132         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
28133         * modules/fcntl (Files): List new files.
28134         (configure.ac): Run a test.
28135         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
28136         * lib/fcntl.c (rpl_fcntl): Likewise.
28137         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
28138         (gl_FCNTL_H): Always replace fcntl.h.
28139         * modules/fcntl-h (Makefile.am): Substitute witnesses.
28140         * lib/fcntl.in.h (fcntl): Declare replacement.
28141         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
28142         needed, plus a witness.
28143         * doc/posix-functions/fcntl.texi (fcntl): Document this.
28144         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
28145         * tests/test-fcntl.c: New file.
28146         * modules/fcntl-tests: Likewise.
28147
28148         binary-io: avoid potential compilation warning
28149         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
28150         directives.
28151
28152         fflush: avoid compilation error on NetBSD
28153         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
28154         between off_t and fpos_t, since the latter is sometimes a struct.
28155         * lib/fseeko.c (rpl_fseeko): Likewise.
28156         Reported by Alexander Nasonov <alnsn@yandex.ru>.
28157
28158 2009-12-15  Eric Blake  <ebb9@byu.net>
28159
28160         fcntl-h, stdio, sys_ioctl: fix declarations
28161         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
28162         function must not take arguments.
28163         * lib/sys_ioctl.in.h (ioctl): Likewise.
28164         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
28165         (open): Add a link warning.
28166
28167 2009-12-15  Jim Meyering  <meyering@redhat.com>
28168
28169         areadlink, areadlink-with-size: relax license to LGPLv2+
28170         * modules/areadlink (License): Relax to LGPLv2+.
28171         * modules/areadlink-with-size (License): Likewise.
28172
28173 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
28174             Bruno Haible  <bruno@clisp.org>
28175
28176         *printf: Fix memory leak.
28177         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
28178         * lib/vfprintf.c (vfprintf): Likewise.
28179         * lib/dprintf.c (dprintf): Likewise.
28180         * lib/vdprintf.c (vdprintf): Likewise.
28181
28182 2009-12-14  Eric Blake  <ebb9@byu.net>
28183
28184         accept4: adjust module dependencies
28185         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
28186
28187         utimens: one more try at avoiding compiler warning
28188         * lib/utimens.c (lutimens): Lower scope of result.
28189
28190 2009-12-13  Bruno Haible  <bruno@clisp.org>
28191
28192         Move the malloc checking from module 'list' to new module 'xlist'.
28193         * modules/xlist: New file.
28194         * lib/gl_xlist.h: New file.
28195         * lib/gl_xlist.c: New file.
28196         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
28197         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
28198         gl_list_add_last, gl_list_add_before, gl_list_add_after,
28199         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
28200         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
28201         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
28202         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
28203         gl_sortedlist_nx_add): New declarations.
28204         (struct gl_list_implementation): Rename and change methods accordingly.
28205         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
28206         (gl_list_nx_create): Renamed from gl_list_create.
28207         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
28208         (gl_list_nx_set_at): Renamed from gl_list_set_at.
28209         (gl_list_nx_add_first): Renamed from gl_list_add_first.
28210         (gl_list_nx_add_last): Renamed from gl_list_add_last.
28211         (gl_list_nx_add_before): Renamed from gl_list_add_before.
28212         (gl_list_nx_add_after): Renamed from gl_list_add_after.
28213         (gl_list_nx_add_at): Renamed from gl_list_add_at.
28214         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
28215         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
28216         gl_list_create_empty.
28217         (gl_list_nx_create): Renamed from gl_list_create.
28218         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
28219         (gl_list_nx_set_at): Renamed from gl_list_set_at.
28220         (gl_list_nx_add_first): Renamed from gl_list_add_first.
28221         (gl_list_nx_add_last): Renamed from gl_list_add_last.
28222         (gl_list_nx_add_before): Renamed from gl_list_add_before.
28223         (gl_list_nx_add_after): Renamed from gl_list_add_after.
28224         (gl_list_nx_add_at): Renamed from gl_list_add_at.
28225         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
28226         * lib/gl_array_list.c: Don't include xalloc.h.
28227         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
28228         NULL upon out-of-memory.
28229         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
28230         out-of-memory.
28231         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
28232         Change return type to 'int'.
28233         (gl_array_nx_set_at): Renamed from gl_array_set_at.
28234         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
28235         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
28236         upon out-of-memory.
28237         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
28238         upon out-of-memory.
28239         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
28240         upon out-of-memory.
28241         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
28242         upon out-of-memory.
28243         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
28244         out-of-memory.
28245         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
28246         Update.
28247         (gl_array_list_implementation): Update.
28248         * lib/gl_carray_list.c: Don't include xalloc.h.
28249         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
28250         Return NULL upon out-of-memory.
28251         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
28252         out-of-memory.
28253         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
28254         Change return type to 'int'.
28255         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
28256         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
28257         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
28258         upon out-of-memory.
28259         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
28260         upon out-of-memory.
28261         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
28262         out-of-memory.
28263         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
28264         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
28265         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
28266         Update.
28267         (gl_carray_list_implementation): Update.
28268         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
28269         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
28270         gl_linked_create_empty. Return NULL upon out-of-memory.
28271         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
28272         out-of-memory.
28273         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
28274         Change return type to 'int'. Return -1 upon out-of-memory.
28275         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
28276         out-of-memory.
28277         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
28278         upon out-of-memory.
28279         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
28280         upon out-of-memory.
28281         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
28282         NULL upon out-of-memory.
28283         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
28284         upon out-of-memory.
28285         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
28286         out-of-memory.
28287         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
28288         Update.
28289         * lib/gl_linked_list.c: Don't include xalloc.h.
28290         (gl_linked_list_implementation): Update.
28291         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
28292         (add_to_bucket): Change return type to 'int'.
28293         (gl_linkedhash_list_implementation): Update.
28294         * lib/gl_anytree_list1.h (free_subtree): New function.
28295         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
28296         gl_tree_create_empty. Return NULL upon out-of-memory.
28297         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
28298         Change return type to 'int'. Return -1 upon out-of-memory.
28299         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
28300         out-of-memory.
28301         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
28302         (gl_tree_remove_node): New function, moved here from
28303         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
28304         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
28305         Update.
28306         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
28307         malloc, not xmalloc. Return NULL upon out-of-memory.
28308         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
28309         out-of-memory.
28310         (gl_tree_remove_node_from_tree): New function, extracted from
28311         gl_tree_remove_node.
28312         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
28313         upon out-of-memory.
28314         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
28315         out-of-memory.
28316         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
28317         upon out-of-memory.
28318         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
28319         upon out-of-memory.
28320         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
28321         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
28322         not xmalloc. Return NULL upon out-of-memory.
28323         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
28324         out-of-memory.
28325         (gl_tree_remove_node_from_tree): New function, extracted from
28326         gl_tree_remove_node.
28327         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
28328         upon out-of-memory.
28329         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
28330         out-of-memory.
28331         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
28332         upon out-of-memory.
28333         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
28334         upon out-of-memory.
28335         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
28336         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
28337         gl_anytree_list1.h before gl_anyavltree_list2.h.
28338         (gl_avltree_list_implementation): Update.
28339         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
28340         gl_anytree_list1.h before gl_anyavltree_list2.h.
28341         (gl_rbtree_list_implementation): Update.
28342         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
28343         Change return type to 'int'. Return -1 upon out-of-memory. Use
28344         __builtin_expect.
28345         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
28346         (gl_avltreehash_list_implementation): Update.
28347         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
28348         (gl_rbtreehash_list_implementation): Update.
28349         * modules/array-list (Depends-on): Remove xalloc.
28350         * modules/carray-list (Depends-on): Likewise.
28351         * modules/linked-list (Depends-on): Likewise.
28352         * modules/linkedhash-list (Depends-on): Likewise.
28353         * modules/avltree-list (Depends-on): Likewise.
28354         * modules/rbtree-list (Depends-on): Likewise.
28355         * modules/avltreehash-list (Depends-on): Likewise.
28356         * modules/rbtreehash-list (Depends-on): Likewise.
28357
28358         * modules/xsublist: New file.
28359         * lib/gl_xsublist.h: New file.
28360         * lib/gl_xsublist.c: New file.
28361         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
28362         (gl_sublist_nx_create): New declaration.
28363         * lib/gl_sublist.c: Don't include xalloc.h.
28364         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
28365         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
28366         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
28367         Change return type to 'int'. Return -1 upon out-of-memory.
28368         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
28369         upon out-of-memory.
28370         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
28371         NULL upon out-of-memory.
28372         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
28373         upon out-of-memory.
28374         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
28375         NULL upon out-of-memory.
28376         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
28377         NULL upon out-of-memory.
28378         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
28379         upon out-of-memory.
28380         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
28381         (gl_sublist_list_implementation): Update.
28382         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
28383         upon out-of-memory.
28384         * modules/sublist (Depends-on): Remove xalloc.
28385
28386         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
28387         * tests/test-carray_list.c: Likewise.
28388         * tests/test-linked_list.c: Likewise.
28389         * tests/test-linkedhash_list.c: Likewise.
28390         * tests/test-avltree_list.c: Likewise.
28391         * tests/test-rbtree_list.c: Likewise.
28392         * tests/test-avltreehash_list.c: Likewise.
28393         * tests/test-rbtreehash_list.c: Likewise.
28394         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
28395         * modules/carray-list-tests (Makefile.am): Likewise.
28396         * modules/linked-list-tests (Makefile.am): Likewise.
28397         * modules/linkedhash-list-tests (Makefile.am): Likewise.
28398         * modules/avltree-list-tests (Makefile.am): Likewise.
28399         * modules/rbtree-list-tests (Makefile.am): Likewise.
28400         * modules/avltreehash-list-tests (Makefile.am): Likewise.
28401         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
28402
28403         * NEWS: Mention the changes.
28404
28405         * lib/clean-temp.c: Include gl_xlist.h.
28406         * modules/clean-temp (Depends-on): Add xlist.
28407
28408         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
28409         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
28410
28411         * tests/test-array_oset.c: Include gl_xlist.h.
28412         * modules/array-oset-tests (Depends-on): Add xlist.
28413
28414         Reported by José E. Marchesi <jemarch@gnu.org>.
28415
28416 2009-12-13  Bruno Haible  <bruno@clisp.org>
28417
28418         Move the malloc checking from module 'oset' to new module 'xoset'.
28419         * modules/xoset: New file.
28420         * lib/gl_xoset.h: New file.
28421         * lib/gl_xoset.c: New file.
28422         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
28423         declarations.
28424         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
28425         (struct gl_oset_implementation): Rename and change methods accordingly.
28426         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
28427         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
28428         'int'. Mark as __warn_unused_result__.
28429         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
28430         gl_oset_create_empty.
28431         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
28432         'int'.
28433         * lib/gl_array_oset.c: Don't include xalloc.h.
28434         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
28435         malloc, not xmalloc.
28436         (grow): Change return type to 'int'. Don't call xalloc_die.
28437         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
28438         to 'int'.
28439         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
28440         'int'.
28441         (gl_array_oset_implementation): Update.
28442         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
28443         gl_tree_create_empty.
28444         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
28445         'int'.
28446         * lib/gl_avltree_oset.c: Don't include xalloc.h.
28447         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
28448         xmalloc.
28449         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
28450         not xmalloc.
28451         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
28452         xmalloc.
28453         (gl_avltree_oset_implementation): Update.
28454         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
28455         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
28456         xmalloc.
28457         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
28458         not xmalloc.
28459         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
28460         xmalloc.
28461         (gl_rbtree_oset_implementation): Update.
28462         * modules/array-oset (Depends-on): Remove xalloc.
28463         * modules/avltree-oset (Depends-on): Likewise.
28464         * modules/rbtree-oset (Depends-on): Likewise.
28465         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
28466         * tests/test-avltree_oset.c: Likewise.
28467         * tests/test-rbtree_oset.c: Likewise.
28468         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
28469         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
28470         * modules/rbtree-oset-tests (Makefile.am): Likewise.
28471         * NEWS: Mention the change.
28472
28473 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
28474
28475         maint.mk: allow a project to override release-prep commands
28476         * top/maint.mk (alpha, beta, stable): Move release-preparatory
28477         commands into a new rule.
28478         (release-prep): New rule.
28479         (release-prep-hook): New overridable variable.
28480
28481 2009-12-13  Bruno Haible  <bruno@clisp.org>
28482
28483         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
28484
28485 2009-12-13  Jim Meyering  <meyering@redhat.com>
28486
28487         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
28488         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
28489
28490 2009-12-12  Bruno Haible  <bruno@clisp.org>
28491
28492         duplocale: Tweak.
28493         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
28494
28495 2009-12-12  Karl Berry  <karl@gnu.org>
28496
28497         * config/srclist.txt (strtoll.c): tab changes, no more sync.
28498
28499 2009-12-12  Bruno Haible  <bruno@clisp.org>
28500
28501         * m4/po.m4: Undo incorrect untabification.
28502
28503 2009-12-12  Bruno Haible  <bruno@clisp.org>
28504
28505         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
28506         * modules/c-strtod (Depends-on): Add locale.
28507         * modules/c-strtold (Depends-on): Likewise.
28508
28509 2009-12-12  Bruno Haible  <bruno@clisp.org>
28510
28511         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
28512
28513 2009-12-11  Eric Blake  <ebb9@byu.net>
28514
28515         setenv: relax requirement in light of POSIX ruling
28516         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
28517         not NULL.
28518         * tests/test-setenv.c (main): Relax test.
28519         * tests/test-unsetenv.c (main): Likewise.
28520         * doc/posix-functions/setenv.texi (setenv): Document this.
28521         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
28522
28523 2009-12-11  Bruno Haible  <bruno@clisp.org>
28524
28525         New module 'fd-safer-flag'.
28526         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
28527         * lib/dup-safer.c (dup_safer_flag): Remove function.
28528         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
28529         * lib/fd-safer.c (fd_safer_flag): Remove function.
28530         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
28531         * modules/cloexec (configure.ac): Drop indicator macro.
28532         * modules/fd-safer-flag: New file.
28533         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
28534         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
28535         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
28536
28537 2009-12-11  Bruno Haible  <bruno@clisp.org>
28538
28539         Tests for module 'nl_langinfo'.
28540         * modules/nl_langinfo-tests: New file.
28541         * tests/test-nl_langinfo.sh: New file.
28542         * tests/test-nl_langinfo.c: New file.
28543
28544         New module 'nl_langinfo'.
28545         * lib/nl_langinfo.c: New file.
28546         * m4/nl_langinfo.m4: New file.
28547         * modules/nl_langinfo: New file.
28548         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
28549
28550 2009-12-11  Bruno Haible  <bruno@clisp.org>
28551
28552         Tests for module 'langinfo'.
28553         * modules/langinfo-tests: New file.
28554         * tests/test-langinfo.c: New file.
28555
28556         New module 'langinfo'.
28557         * lib/langinfo.in.h: New file.
28558         * m4/langinfo_h.m4: New file.
28559         * modules/langinfo: New file.
28560         * doc/posix-headers/langinfo.texi: Mention the new module.
28561
28562 2009-12-11  Bruno Haible  <bruno@clisp.org>
28563
28564         * lib/config.charset: Untabify.
28565
28566 2009-12-11  Bruno Haible  <bruno@clisp.org>
28567
28568         * modules/unistd-safer (configure.ac): Drop indicator macro.
28569
28570 2009-12-11  Bruno Haible  <bruno@clisp.org>
28571
28572         Move pipe2-safer code to its own file.
28573         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
28574         * lib/pipe-safer.c (pipe2_safer): Remove function.
28575         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
28576         (Makefile.am): Add it to lib_SOURCES.
28577
28578 2009-12-10  Bruno Haible  <bruno@clisp.org>
28579
28580         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
28581
28582 2009-12-10  Bruno Haible  <bruno@clisp.org>
28583
28584         Declare which arguments expect non-NULL values, for GCC and clang.
28585         * build-aux/arg-nonnull.h: New file.
28586         * modules/arg-nonnull: New file.
28587         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
28588         (inet_ntop, inet_pton): Use it.
28589         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
28590         (closedir, dirfd, opendir, scandir, alphasort): Use it.
28591         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
28592         (open, openat): Use it.
28593         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
28594         (fnmatch): Use it.
28595         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
28596         (getopt, getopt_long, getopt_long_only): Use it.
28597         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
28598         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
28599         Use it.
28600         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
28601         (iconv_open): Use it.
28602         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
28603         (strtoimax, strtoumax): Use it.
28604         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
28605         (duplocale): Use it.
28606         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
28607         (frexp, frexpl): Use it.
28608         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
28609         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
28610         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
28611         (tsearch, tfind, tdelete, twalk): Use it.
28612         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
28613         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
28614         sigpending): Use it.
28615         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
28616         (posix_spawn, posix_spawnp, posix_spawnattr_init,
28617         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
28618         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
28619         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
28620         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
28621         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
28622         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
28623         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
28624         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
28625         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
28626         Use it.
28627         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
28628         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
28629         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
28630         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
28631         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
28632         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
28633         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
28634         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
28635         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
28636         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
28637         strtoull, unsetenv): Use it.
28638         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
28639         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
28640         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
28641         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
28642         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
28643         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
28644         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
28645         (strcasecmp, strncasecmp): Use it.
28646         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
28647         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
28648         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
28649         rpl_setsockopt): Use it.
28650         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
28651         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
28652         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
28653         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
28654         (gettimeofday): Use it.
28655         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
28656         (times): Use it.
28657         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
28658         (uname): Use it.
28659         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
28660         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
28661         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
28662         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
28663         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
28664         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
28665         unlinkat, write): Use it.
28666         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
28667         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
28668         * lib/argv-iter.h: Include arg-nonnull.h.
28669         (_ATTRIBUTE_NONNULL_): Remove macro.
28670         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
28671         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
28672         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
28673         optimization.
28674         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
28675         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
28676         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
28677         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
28678         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
28679         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
28680         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
28681         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
28682         * modules/arpa_inet (Depends-on): Add arg-nonnull.
28683         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
28684         * modules/dirent (Depends-on): Add arg-nonnull.
28685         (Makefile.am): Insert arg-nonnull.h into dirent.h.
28686         * modules/fcntl-h (Depends-on): Add arg-nonnull.
28687         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
28688         * modules/fnmatch (Depends-on): Add arg-nonnull.
28689         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
28690         * modules/getopt-posix (Depends-on): Add arg-nonnull.
28691         (Makefile.am): Insert arg-nonnull.h into getopt.h.
28692         * modules/glob (Depends-on): Add arg-nonnull.
28693         (Makefile.am): Insert arg-nonnull.h into glob.h.
28694         * modules/iconv_open (Depends-on): Add arg-nonnull.
28695         (Makefile.am): Insert arg-nonnull.h into iconv.h.
28696         * modules/inttypes (Depends-on): Add arg-nonnull.
28697         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
28698         * modules/locale (Depends-on): Add arg-nonnull.
28699         (Makefile.am): Insert arg-nonnull.h into locale.h.
28700         * modules/math (Depends-on): Add arg-nonnull.
28701         (Makefile.am): Insert arg-nonnull.h into math.h.
28702         * modules/netdb (Depends-on): Add arg-nonnull.
28703         (Makefile.am): Insert arg-nonnull.h into netdb.h.
28704         * modules/search (Depends-on): Add arg-nonnull.
28705         (Makefile.am): Insert arg-nonnull.h into search.h.
28706         * modules/signal (Depends-on): Add arg-nonnull.
28707         (Makefile.am): Insert arg-nonnull.h into signal.h.
28708         * modules/spawn (Depends-on): Add arg-nonnull.
28709         (Makefile.am): Insert arg-nonnull.h into spawn.h.
28710         * modules/stdio (Depends-on): Add arg-nonnull.
28711         (Makefile.am): Insert arg-nonnull.h into stdio.h.
28712         * modules/stdlib (Depends-on): Add arg-nonnull.
28713         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
28714         * modules/string (Depends-on): Add arg-nonnull.
28715         (Makefile.am): Insert arg-nonnull.h into string.h.
28716         * modules/strings (Depends-on): Add arg-nonnull.
28717         (Makefile.am): Insert arg-nonnull.h into strings.h.
28718         * modules/sys_socket (Depends-on): Add arg-nonnull.
28719         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
28720         * modules/sys_stat (Depends-on): Add arg-nonnull.
28721         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
28722         * modules/sys_time (Depends-on): Add arg-nonnull.
28723         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
28724         * modules/sys_times (Depends-on): Add arg-nonnull.
28725         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
28726         * modules/sys_utsname (Depends-on): Add arg-nonnull.
28727         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
28728         * modules/time (Depends-on): Add arg-nonnull.
28729         (Makefile.am): Insert arg-nonnull.h into time.h.
28730         * modules/unistd (Depends-on): Add arg-nonnull.
28731         (Makefile.am): Insert arg-nonnull.h into unistd.h.
28732         * modules/wchar (Depends-on): Add arg-nonnull.
28733         (Makefile.am): Insert arg-nonnull.h into wchar.h.
28734         * modules/argv-iter (Depends-on): Add arg-nonnull.
28735         * tests/test-canonicalize.c (null_ptr): New function.
28736         (main): Use it.
28737         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
28738         (main): Use it.
28739         * tests/test-memmem.c (null_ptr): New function.
28740         (main): Use it.
28741         Reported by Jim Meyering.
28742
28743 2009-12-10  Bruno Haible  <bruno@clisp.org>
28744
28745         Use spaces for indentation, not tabs.
28746         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28747         * m4/*.m4: Untabify.
28748         * build-aux/*.h: Untabify.
28749         * tests/**/*.[hc]: Untabify.
28750         * README: New section "Indent with spaces, not TABs", based on
28751         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
28752         * NEWS: Mention the change.
28753
28754 2009-12-10  Bruno Haible  <bruno@clisp.org>
28755
28756         pty test: Fix link error.
28757         * modules/pty-tests (Makefile.am): Add the default LDADD value to
28758         test_pty_LDADD.
28759
28760 2009-12-07  Simon Josefsson  <simon@josefsson.org>
28761
28762         * modules/pty: New file.
28763         * modules/pty-tests: New file.
28764         * m4/pty.m4: New file.
28765         * tests/test-pty.c: New file.
28766         * doc/glibc-headers/pty.texi: Modified.
28767         * doc/glibc-functions/forkpty.texi: Modified.
28768         * doc/glibc-functions/openpty.texi: Modified.
28769
28770 2009-12-10  Bruno Haible  <bruno@clisp.org>
28771
28772         Avoid syntax error in C++ mode.
28773         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
28774
28775 2009-12-10  Bruno Haible  <bruno@clisp.org>
28776
28777         Use sed with option -e.
28778         * gnulib-tool (func_version, func_emit_copyright_notice,
28779         func_emit_initmacro_end, func_import, func_create_testdir): Pass
28780         option -e to sed.
28781         * modules/link-warning (Makefile.am): Likewise.
28782
28783 2009-12-10  Jim Meyering  <meyering@redhat.com>
28784
28785         mgetgroups: do not write bytes beyond end of malloc'd buffer
28786         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
28787         username, we call getgroups with a one-element-shorter buffer,
28788         but still told it the length was original, max_n_groups.
28789
28790 2009-12-09  Eric Blake  <ebb9@byu.net>
28791
28792         cloexec: relax license
28793         * modules/cloexec (Maintainer): Add myself.
28794         (License): Use LGPL, not GPL.
28795
28796         link-warning: optimize generation
28797         * modules/link-warning (Makefile.am): Reduce process usage.
28798
28799 2009-12-09  Bruno Haible  <bruno@clisp.org>
28800
28801         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
28802         workaround was added on 2009-11-17.
28803
28804 2009-12-09  Jim Meyering  <meyering@redhat.com>
28805             Bruno Haible  <bruno@clisp.org>
28806
28807         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
28808         * modules/link-warning (Makefile.am): Make the comment-removing sed
28809         command more robust in the face of bootstrap-prepended comment lines.
28810
28811 2009-12-09  Bruno Haible  <bruno@clisp.org>
28812
28813         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
28814         most one group.
28815
28816 2009-12-09  Simon Josefsson <simon@josefsson.org>
28817             Bruno Haible  <bruno@clisp.org>
28818
28819         * build-aux/link-warning.h: Add copyright notice.
28820         * modules/link-warning (Makefile.am): Generate link-warning.h from
28821         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
28822         * NEWS: Mention change in link-warning module.
28823         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
28824         * modules/dirent (Makefile.am): Add dependency to dirent.h.
28825         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
28826         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
28827         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
28828         * modules/math (Makefile.am): Add dependency to math.h.
28829         * modules/search (Makefile.am): Add dependency to search.h.
28830         * modules/signal (Makefile.am): Add dependency to signal.h.
28831         * modules/spawn (Makefile.am): Add dependency to spawn.h.
28832         * modules/stdio (Makefile.am): Add dependency to stdio.h.
28833         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
28834         * modules/string (Makefile.am): Add dependency to string.h.
28835         * modules/strings (Makefile.am): Add dependency to strings.h.
28836         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
28837         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
28838         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
28839         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
28840         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
28841         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
28842         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
28843         * modules/unistd (Makefile.am): Add dependency to unistd.h.
28844         * modules/wchar (Makefile.am): Add dependency to wchar.h.
28845
28846 2009-12-09  Bruno Haible  <bruno@clisp.org>
28847
28848         fchdir: Optimize away rpl_fstat when possible.
28849         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
28850         REPLACE_OPEN_DIRECTORY.
28851         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
28852
28853 2009-12-09  Bruno Haible  <bruno@clisp.org>
28854
28855         * lib/fchdir.c: Update comment.
28856
28857 2009-12-09  Bruno Haible  <bruno@clisp.org>
28858
28859         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
28860
28861 2009-12-08  Eric Blake  <ebb9@byu.net>
28862
28863         fchdir: avoid memory leak on re-registration.
28864         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
28865
28866 2009-12-08  Jim Meyering  <meyering@redhat.com>
28867
28868         init.sh: avoid Solaris 10 /bin/sh portability problem
28869         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
28870         sourced script:
28871           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
28872           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
28873           bar
28874         tests/init.sh relied on that, accepting a --set-path=DIR argument,
28875         and two tests used that idiom.
28876         * tests/init.sh: Update suggested usage comments.
28877         (path_prepend_): New function, to be used in place
28878         of the --src-path=DIR option.
28879         (setup_): Move PATH-prepending code into path_prepend_.
28880         * tests/test-pread.sh: Adapt to new usage.
28881         * tests/test-xalloc-die.sh: Likewise.
28882
28883 2009-12-08  Simon Josefsson  <simon@josefsson.org>
28884
28885         * doc/gnulib.texi (Glibc pty.h): Add.
28886         * doc/glibc-functions/forkpty.texi: Add.
28887         * doc/glibc-functions/openpty.texi: Add.
28888         Suggested by Bruno Haible.
28889
28890 2009-12-08  Eric Blake  <ebb9@byu.net>
28891
28892         fchdir: fix logic bugs
28893         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
28894         * tests/test-fchdir.c (main): Enhance test.
28895         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
28896         is in use.
28897
28898         dup2: fix logic bugs
28899         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
28900         REPLACE_DUP2 to decide when rpl_dup2 is needed.
28901         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
28902         exists.
28903         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
28904
28905 2009-12-07  Eric Blake  <ebb9@byu.net>
28906
28907         unlink: fix m4 detection
28908         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
28909
28910         unistd-safer: add unit test
28911         * modules/unistd-safer-tests: New file.
28912         * tests/test-dup-safer.c: Likewise.
28913         * tests/test-cloexec.c (setmode): Avoid compiler warning.
28914         * tests/test-dup2.c (setmode): Likewise.
28915         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
28916
28917         cloexec: preserve text vs. binary across dup_cloexec
28918         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
28919         mode.
28920         * modules/dup2-tests (Depends-on): Add binary-io.
28921         * modules/cloexec-tests (Depends-on): Likewise.
28922         * tests/test-dup2.c (setmode, is_mode): New helpers.
28923         (main): Add tests that translation mode is preserved.
28924         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
28925         Reported by Bruno Haible.
28926
28927         mgetgroups: reduce duplicate listings
28928         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
28929         resulting array.
28930         * tests/test-chown.h (test_chown): Simplify client.
28931         * tests/test-lchown.h (test_lchown): Likewise.
28932
28933 2009-12-06  Bruno Haible  <bruno@clisp.org>
28934
28935         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
28936         value.
28937
28938 2009-12-06  Bruno Haible  <bruno@clisp.org>
28939
28940         * lib/progname.c: Include stdio.h, stdlib.h.
28941         (set_program_name): Reject a NULL argument.
28942
28943 2009-12-05  Eric Blake  <ebb9@byu.net>
28944
28945         pipe2-safer: new module
28946         * modules/pipe2-safer: New file.
28947         * lib/unistd-safer.h (pipe2_safer): New prototype.
28948         * lib/unistd--.h (pipe2): New wrapper.
28949         * lib/pipe-safer.c (pipe2_safer): New function.
28950         * modules/pipe (Depends-on): Add pipe2-safer.
28951         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
28952
28953         stdlib-safer: preserve cloexec flag for mkostemp[s]
28954         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
28955         fd_safer_flag.
28956
28957         unistd-safer: allow preservation of cloexec status via flag
28958         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
28959         prototypes.
28960         * lib/dup-safer.c (dup_safer_flag): New function.
28961         * lib/fd-safer.c (fd_safer_flag): Likewise.
28962         * modules/cloexec (configure.ac): Set witness.
28963
28964         test-dup2: enhance test
28965         * modules/dup2-tests (Depends-on): Add cloexec.
28966         * tests/test-dup2.c (main): Enhance test.
28967
28968         cloexec: add dup_cloexec
28969         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
28970         header and comments.
28971         * lib/cloexec.c (set_cloexec_flag): Add comments.
28972         (dup_cloexec): New function, with mingw implementation borrowed
28973         from...
28974         * lib/w32spawn.h (dup_noinherit): ...here.
28975         * modules/execute (Depends-on): Add cloexec.
28976         * modules/pipe (Depends-on): Likewise.
28977         * modules/cloexec (Depends-on): Add dup2.
28978         * modules/cloexec-tests (Files): New file.
28979         * tests/test-cloexec.c: Likewise.
28980
28981         test-xalloc-die: fix test for mingw
28982         * modules/xalloc-die-tests (Files): Add tests/init.sh.
28983         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
28984         directory and .exe suffix off argv[0] output.
28985
28986         test-fseeko: fix test for mingw
28987         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
28988         than undefining fseek, so test will pass on mingw.
28989
28990 2009-12-05  Bruno Haible  <bruno@clisp.org>
28991
28992         * lib/progname.h (set_program_name): Clarify specification.
28993         * lib/progname.c (set_program_name): Likewise.
28994         Reported by Jim Meyering.
28995
28996 2009-12-05  Jim Meyering  <meyering@redhat.com>
28997
28998         maint.mk: backslash-escape parens in default regexp
28999         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
29000         backslash-escape the literal parentheses.
29001
29002         maint.mk: news-date-check: use grep -E
29003         * top/maint.mk (today): Define a Make variable, not a...
29004         (news-date-check): ...shell variable.
29005         (news-date-regexp): Use the Make variable.
29006         Use grep's -E option.  Change the failing diagnostic to mention
29007         the variable, $(news-date-regexp).
29008
29009 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
29010
29011         maintainer-makefile: allow customization of NEWS entry format
29012         * top/maint.mk (news-date-regexp): New overridable variable.
29013         (news-date-check): Use it.
29014
29015 2009-12-04  Eric Blake  <ebb9@byu.net>
29016
29017         mgetgroups: add xgetgroups, and avoid ENOSYS failures
29018         * lib/mgetgroups.h (xgetgroups): New prototype.
29019         * lib/mgetgroups.c (xgetgroups): New wrapper.
29020         (mgetgroups): Handle ENOSYS.
29021         * modules/mgetgroups (Depends-on): Add realloc.
29022         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
29023
29024         mgetgroups: avoid argument promotion issues with -1
29025         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
29026         for invalid gid_t.
29027         * tests/test-chown.h (getegid, test_chown): Likewise.
29028         * tests/test-lchown.h (getegid, test_lchown): Likewise.
29029
29030 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
29031
29032         exclude: Fix header file problems.
29033         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
29034
29035 2009-12-01  Jim Meyering  <meyering@redhat.com>
29036
29037         fts: fts_open: do not let an empty string cause immediate failure
29038         This is required in support of GNU rm, for which the command
29039         "rm A '' B" must process and remove both A and B, in spite of
29040         the empty string argument.
29041         * lib/fts.c (fts_open): Do not let the presence of an empty string
29042         cause fts_open to fail immediately.  Most fts-using tools must be
29043         able to process all arguments, in order, and can be expected to
29044         diagnose such arguments themselves.
29045
29046 2009-11-30  Eric Blake  <ebb9@byu.net>
29047
29048         utimens: fix compilation error
29049         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
29050         Declare variable at right scope.
29051
29052 2009-11-29  Jim Meyering  <meyering@redhat.com>
29053
29054         bootstrap: handle perl-5.11's changed --version output
29055         * build-aux/bootstrap (get_version): Handle perl separately,
29056         since perl-5.11's --version output is different.
29057
29058 2009-11-28  Jim Meyering  <meyering@redhat.com>
29059
29060         userspec: depend on the inttostr module, too
29061         * modules/userspec (Depends-on): Add inttostr.
29062
29063         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
29064         * lib/userspec.c (parse_with_separator): Do not accept a user ID
29065         number of MAXUID when it evaluates to (uid_t) -1.
29066         Likewise for group ID.  Reported by Matt McCutchen in
29067         <http://savannah.gnu.org/bugs/?28113>
29068
29069         userspec: reformat to use spaces, not TABs
29070         * lib/userspec.c: Expand TABs to spaces.
29071         Add Emacs' "indent-tabs-mode: nil" hint.
29072
29073 2009-11-27  Eric Blake  <ebb9@byu.net>
29074
29075         getopt-gnu: flush out another BSD bug
29076         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
29077         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
29078         flush out BSD bug.
29079         * tests/test-getopt.h (test_getopt): End lists with NULL.
29080         * tests/test-getopt_long.h (test_getopt_long): Likewise.
29081         (test_getopt_long_posix): Enhance test.
29082         * modules/getopt-posix-tests (Depends-on): Add stdbool.
29083         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
29084         getopt-gnu.
29085         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29086         Likewise.
29087
29088 2009-11-27  Simon Josefsson  <simon@josefsson.org>
29089
29090         * modules/idpriv-droptemp-tests (Notice): Fix text.
29091
29092 2009-11-27  Jim Meyering  <meyering@redhat.com>
29093
29094         test-xalloc-die: avoid spurious failure due to libtool argv difference
29095         In a libtool-enabled project, this test would fail due to a difference
29096         in the emitted program name, e.g.,
29097         -test-xalloc-die: memory exhausted
29098         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
29099         Use program to avoid that.
29100         * modules/xalloc-die-tests (Depends-on): Add progname.
29101         * tests/test-xalloc-die.c: Include progname.h".
29102         (program_name): Remove decl.
29103         (main): Call set_program_name.
29104         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
29105
29106 2009-11-26  Richard Jones  <rjones@redhat.com>
29107
29108         w32sock: leave win32 error in place.
29109         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
29110
29111 2009-11-26  Eric Blake  <ebb9@byu.net>
29112
29113         init.sh: suggest to use skip_ and fail_ functions in comments
29114         * tests/init.sh: Add a sentence.
29115
29116 2009-11-25  Bruno Haible  <bruno@clisp.org>
29117
29118         init.sh: add documentation in comments
29119         * tests/init.sh: Add some developer and user documentation.
29120
29121 2009-11-26  Jim Meyering  <meyering@redhat.com>
29122
29123         init.sh: accommodate even those who specify bogus srcdir manually
29124         * tests/init.sh: Normally, srcdir is guaranteed by automake and
29125         configure-time tests to be sanitized, so that there is no need to
29126         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
29127         (with no double quotes) suffices.  However, since tests may be
29128         invoked manually, and since you may explicitly set srcdir to the
29129         name of a directory containing spaces, do quote its uses here.
29130         * tests/test-pread.sh: Likewise.
29131         Suggested by Bruno Haible.
29132
29133         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
29134         * tests/test-pread.sh: Write no data into the pipe, because
29135         test-pread actually reads none.  This avoids a diagnostic,
29136         "bash: echo: write error: Broken pipe", that arises in the unusual
29137         event something is ignoring SIGPIPE, and might be interpreted
29138         as some sort of failure.  Reported by Bruno Haible.
29139
29140 2009-11-25  Jim Meyering  <meyering@redhat.com>
29141
29142         test-pread: cover failure with ESPIPE and EINVAL
29143         * tests/test-pread.c (main): Test for failure, too.
29144         * tests/test-pread.sh: Invoke with stdin on a pipe.
29145         Suggested by Eric Blake.
29146
29147         pread: improvement and fix
29148         * modules/pread (Depends-on): Depend on lseek, for portability to
29149         e.g., mingw.  Suggested by Eric Blake.
29150         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
29151
29152         unistd.in.h: correct declaration of pread
29153         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
29154         Reported by Richard W.M. Jones.
29155
29156         test-pread.sh: distribute the test script
29157         * modules/pread-tests (Files): Include test-pread.sh.
29158
29159         test-pread.sh: clean up
29160         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
29161         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
29162         That is unnecessary, since it's always ".".
29163         Suggestion from Eric Blake.
29164
29165         test-pread.sh: make executable
29166         * tests/test-pread.sh: Set executable bit.
29167         Reported by Eric Blake.
29168
29169         correct typo in test-pread.sh
29170         * tests/test-pread.sh: Add #! line.
29171
29172         test pread
29173         * tests/test-pread.c: New file.
29174         * tests/test-pread.sh: Likewise.
29175         * modules/pread-tests: Likewise.
29176
29177         pread: new module
29178         * modules/pread: New file.
29179         * lib/unistd.in.h (pread): Define/declare.
29180         * lib/pread.c (pread): New file.
29181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
29182         * modules/unistd (Makefile.am): Substitute witnesses.
29183         * doc/posix-functions/pread.texi (pread): Update.
29184         * MODULES.html.sh: Add pread.
29185
29186 2009-11-25  Jim Meyering  <meyering@redhat.com>
29187
29188         tests/init.sh: new file to be used via most *.sh tests
29189         * tests/init.sh: New file.
29190
29191 2009-11-25  Eric Blake  <ebb9@byu.net>
29192
29193         utimens: work around older Linux failure with symlinks
29194         * lib/utimens.c (lutimensat_works_really): New variable.
29195         (fdutimens, lutimens): Use it to manage kernels that support
29196         nanosecond times on files, but not on symlinks.
29197         Reported by OndÅ™ej Vašík.
29198
29199         utimes: fix configure grammar
29200         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
29201
29202 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
29203
29204         regex: Fix fastmap for multibyte character ranges.
29205         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
29206         characters when a multibyte character range is included.
29207
29208 2009-11-22  Andy Wingo  <wingo@pobox.com>
29209
29210         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
29211         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
29212
29213 2009-11-24  Bruno Haible  <bruno@clisp.org>
29214
29215         doc: Most *_l functions exist in MacOS X 10.5.
29216         * doc/posix-functions/duplocale.texi: Update platforms list.
29217         * doc/posix-functions/freelocale.texi: Likewise.
29218         * doc/posix-functions/newlocale.texi: Likewise.
29219         * doc/posix-functions/uselocale.texi: Likewise.
29220         * doc/posix-functions/isalnum_l.texi: Likewise.
29221         * doc/posix-functions/isalpha_l.texi: Likewise.
29222         * doc/posix-functions/isblank_l.texi: Likewise.
29223         * doc/posix-functions/iscntrl_l.texi: Likewise.
29224         * doc/posix-functions/isdigit_l.texi: Likewise.
29225         * doc/posix-functions/isgraph_l.texi: Likewise.
29226         * doc/posix-functions/islower_l.texi: Likewise.
29227         * doc/posix-functions/isprint_l.texi: Likewise.
29228         * doc/posix-functions/ispunct_l.texi: Likewise.
29229         * doc/posix-functions/isspace_l.texi: Likewise.
29230         * doc/posix-functions/isupper_l.texi: Likewise.
29231         * doc/posix-functions/iswalnum_l.texi: Likewise.
29232         * doc/posix-functions/iswalpha_l.texi: Likewise.
29233         * doc/posix-functions/iswblank_l.texi: Likewise.
29234         * doc/posix-functions/iswcntrl_l.texi: Likewise.
29235         * doc/posix-functions/iswctype_l.texi: Likewise.
29236         * doc/posix-functions/iswdigit_l.texi: Likewise.
29237         * doc/posix-functions/iswgraph_l.texi: Likewise.
29238         * doc/posix-functions/iswlower_l.texi: Likewise.
29239         * doc/posix-functions/iswprint_l.texi: Likewise.
29240         * doc/posix-functions/iswpunct_l.texi: Likewise.
29241         * doc/posix-functions/iswspace_l.texi: Likewise.
29242         * doc/posix-functions/iswupper_l.texi: Likewise.
29243         * doc/posix-functions/iswxdigit_l.texi: Likewise.
29244         * doc/posix-functions/isxdigit_l.texi: Likewise.
29245         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
29246         * doc/posix-functions/strcasecmp_l.texi: Likewise.
29247         * doc/posix-functions/strcoll_l.texi: Likewise.
29248         * doc/posix-functions/strfmon_l.texi: Likewise.
29249         * doc/posix-functions/strftime_l.texi: Likewise.
29250         * doc/posix-functions/strncasecmp_l.texi: Likewise.
29251         * doc/posix-functions/strxfrm_l.texi: Likewise.
29252         * doc/posix-functions/tolower_l.texi: Likewise.
29253         * doc/posix-functions/toupper_l.texi: Likewise.
29254         * doc/posix-functions/towctrans_l.texi: Likewise.
29255         * doc/posix-functions/towlower_l.texi: Likewise.
29256         * doc/posix-functions/towupper_l.texi: Likewise.
29257         * doc/posix-functions/wcscoll_l.texi: Likewise.
29258         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
29259         * doc/posix-functions/wctrans_l.texi: Likewise.
29260         * doc/posix-functions/wctype_l.texi: Likewise.
29261         * doc/glibc-functions/strptime_l.texi: Likewise.
29262         * doc/glibc-functions/strtod_l.texi: Likewise.
29263         * doc/glibc-functions/strtof_l.texi: Likewise.
29264         * doc/glibc-functions/strtol_l.texi: Likewise.
29265         * doc/glibc-functions/strtold_l.texi: Likewise.
29266         * doc/glibc-functions/strtoll_l.texi: Likewise.
29267         * doc/glibc-functions/strtoul_l.texi: Likewise.
29268         * doc/glibc-functions/strtoull_l.texi: Likewise.
29269         * doc/glibc-functions/wcsftime_l.texi: Likewise.
29270         * doc/glibc-functions/wcstod_l.texi: Likewise.
29271         * doc/glibc-functions/wcstof_l.texi: Likewise.
29272         * doc/glibc-functions/wcstol_l.texi: Likewise.
29273         * doc/glibc-functions/wcstold_l.texi: Likewise.
29274         * doc/glibc-functions/wcstoll_l.texi: Likewise.
29275         * doc/glibc-functions/wcstoul_l.texi: Likewise.
29276         * doc/glibc-functions/wcstoull_l.texi: Likewise.
29277
29278 2009-11-24  Bruno Haible  <bruno@clisp.org>
29279
29280         duplocale: Fix logic bug.
29281         * lib/duplocale.c: Don't include <langinfo.h>.
29282         (_NL_LOCALE_NAME): Remove macro.
29283         (rpl_duplocale): Use setlocale instead of nl_langinfo.
29284         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
29285
29286 2009-11-23  Jim Meyering  <meyering@redhat.com>
29287
29288         test-update-copyright: don't hard-code /usr/bin/perl
29289         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
29290         perl to print the current year.  Gilles Espinasse reported that
29291         the replaced use of perl was hard-coded as /usr/bin/perl.
29292
29293 2009-11-23  Bruno Haible  <bruno@clisp.org>
29294
29295         duplocale: Add support for glibc 2.3.x.
29296         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
29297
29298 2009-11-22  Bruno Haible  <bruno@clisp.org>
29299
29300         vasnprintf: Tiny optimization.
29301         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
29302         MacOS X.
29303
29304 2009-11-22  Bruno Haible  <bruno@clisp.org>
29305
29306         Tests for module 'duplocale'.
29307         * modules/duplocale-tests: New file.
29308         * tests/test-duplocale.c: New file.
29309
29310         New module 'duplocale'.
29311         * m4/duplocale.m4: New file.
29312         * lib/locale.in.h (duplocale): New declaration.
29313         * lib/duplocale.c: New file.
29314         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
29315         gl_LOCALE_H_DEFAULTS): New macros.
29316         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
29317         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
29318         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
29319         REPLACE_DUPLOCALE.
29320         * modules/duplocale: New file.
29321         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
29322
29323 2009-11-22  Bruno Haible  <bruno@clisp.org>
29324
29325         * modules/locale-tests (configure.ac): Test for newlocale function.
29326         * tests/test-locale.c: When the system has extended locale functions,
29327         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
29328
29329         locale: Make locale_t available when possible.
29330         * lib/locale.in.h: Include <xlocale.h> when it exists.
29331         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
29332         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
29333         * modules/locale (Depends-on): Add extensions.
29334         (Makefile.am): Also substitute HAVE_XLOCALE_H.
29335         * doc/posix-headers/locale.texi: Document the problem with locale_t.
29336
29337 2009-11-22  Bruno Haible  <bruno@clisp.org>
29338
29339         Add comments.
29340         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
29341         invocation.
29342         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
29343         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
29344         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
29345
29346 2009-11-22  Bruno Haible  <bruno@clisp.org>
29347
29348         error: account for the possibility of freopen (stdout).
29349         * lib/error.c: Include <unistd.h>.
29350         (flush_stdout): New function, extracted from error and error_at_line.
29351         Determine stdout's fd dynamically.
29352         (error, error_at_line): Invoke flush_stdout.
29353         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
29354         * modules/error (Depends-on): Add unistd.
29355
29356 2009-11-22  Bruno Haible  <bruno@clisp.org>
29357
29358         diffseq: Add comment.
29359         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
29360
29361 2009-11-22  Jim Meyering  <meyering@redhat.com>
29362
29363         c-stack: avoid defining an unused static function
29364         * lib/c-stack.c (find_stack_direction): Do not define this function
29365         when it will not be used.
29366
29367         diffseq: avoid spurious gcc warnings
29368         * lib/diffseq.h (IF_LINT2): Define.
29369         (compareseq): Use it to initialize two members of "part".
29370         This avoids two used-uninitialized warnings.
29371
29372 2009-11-21  Jim Meyering  <meyering@redhat.com>
29373
29374         c-stack: avoid "ignoring return value of `write'" warning
29375         * lib/c-stack.c: Include "ignore-value.h".
29376         (die): Explicitly ignore each write return value.
29377         * modules/c-stack (Depends-on): Add ignore-value.
29378
29379 2009-11-21  Bruno Haible  <bruno@clisp.org>
29380
29381         diffseq: reduce scope of variable 'best'.
29382         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
29383         variable, earlier used for two different purposes.
29384
29385 2009-11-21  Jim Meyering  <meyering@redhat.com>
29386
29387         diffseq: remove useless assignment to "best"
29388         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
29389         assignment.  At that point "best" is already guaranteed to be zero.
29390
29391 2009-11-20  Eric Blake  <ebb9@byu.net>
29392
29393         build: mention ftp redirector in release announcements
29394         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
29395         values that used to come from cfg.mk; mention FTP redirect URL.
29396         * build-aux/announce-gen: Mention the mirror list.
29397         Suggested by Karl Berry.
29398
29399         nanosleep: improve port to mingw
29400         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
29401         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
29402         LIB_NANOSLEEP, but only when needed.
29403         * modules/select (Link): Document LIBSOCKET.
29404         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
29405         enough.
29406
29407         nanosleep: work around cygwin bug
29408         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
29409         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
29410         bug.
29411         (getnow): Delete, not needed.
29412         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
29413         LIB_CLOCK_GETTIME.
29414         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
29415         clock-time, gettime.
29416         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
29417         bug.
29418         * modules/nanosleep-tests: New test.
29419         * tests/test-nanosleep.c: New file.
29420
29421         sleep: work around cygwin bug
29422         * lib/sleep.c (rpl_sleep): Work around the bug.
29423         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
29424         (gl_PREREQ_SLEEP): Delete unused macro.
29425         * modules/sleep (Depends-on): Add verify.
29426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
29427         * modules/unistd (Makefile.am): Substitute witness.
29428         * lib/unistd.in.h (sleep): Update prototype.
29429         * doc/posix-functions/sleep.texi (sleep): Document the bug.
29430         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
29431         * modules/sleep-tests (Depends-on): Check for alarm.
29432
29433 2009-11-20  Jim Meyering  <meyering@redhat.com>
29434
29435         maint.mk: improve sc_prohibit_magic_number_exit
29436         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
29437         so it does not match uses like System.exit(1).
29438         Add comments showing how to correct all offenders.
29439
29440 2009-11-19  Eric Blake  <ebb9@byu.net>
29441
29442         xalloc-die-tests: add missing library
29443         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
29444
29445         test-xvasprintf: silence compiler warnings
29446         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
29447         empty string from gcc.
29448
29449 2009-11-19  Jim Meyering  <meyering@redhat.com>
29450
29451         xfreopen: new module, from coreutils
29452         * modules/xfreopen: New module.
29453         * lib/xfreopen.c: New file.
29454         * lib/xfreopen.h: New file.
29455         * MODULES.html.sh (File stream based Input/Output"): Add it.
29456
29457 2009-11-19  Eric Blake  <ebb9@byu.net>
29458
29459         manywarnings: depend on warnings
29460         * modules/manywarnings (Depends-on): Add warnings.
29461
29462         build: avoid compiler warnings
29463         * lib/select.c (rpl_select): Delete unused variable.
29464         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
29465
29466 2009-11-18  Eric Blake  <ebb9@byu.net>
29467
29468         tests: avoid false negative with --with-packager
29469         * tests/test-version-etc.sh: Discard packager information.
29470         * tests/test-argp-version-etc-1.sh: Likewise.
29471         Reported by Mike Frysinger.
29472
29473         utimens: fix regression on Solaris
29474         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
29475         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
29476         can only change fd timestamps via futimesat.  Instead, use an
29477         additional witness macro to avoid BSD bug.
29478         Reported by Jim Meyering.
29479
29480 2009-11-17  Eric Blake  <ebb9@byu.net>
29481
29482         usleep: use it to simplify tests
29483         * modules/stat-time-tests (Depends-on): Add usleep.
29484         (configure.ac): Drop usleep check.
29485         * modules/chown-tests (Depends-on, configure.ac): Likewise.
29486         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
29487         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
29488         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
29489         * modules/openat-tests (Depends-on, configure.ac): Likewise.
29490         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
29491         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
29492         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
29493         Likewise.
29494         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
29495         * tests/test-lchown.h (nap): Likewise.
29496         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
29497         * tests/test-stat-time.c (nap): Likewise.
29498         * tests/test-utimens-common.h (nap): Update comments.
29499
29500         usleep: new module
29501         * modules/usleep: New file.
29502         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
29503         * lib/usleep.c (usleep): Likewise.
29504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
29505         * modules/unistd (Makefile.am): Substitute witnesses.
29506         * lib/unistd.in.h (usleep): Add declaration.
29507         * doc/pastposix-functions/usleep.texi (usleep): Document this.
29508         * MODULES.html.sh (Date and time): Likewise.
29509         * modules/usleep-tests (Depends-on): New test.
29510         * tests/test-usleep.c: New file.
29511
29512         chown: work around OpenBSD bug
29513         * lib/chown.c (rpl_chown): Work around the bug.
29514         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
29515         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
29516         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
29517         * modules/chown (Depends-on): Add stdbool.
29518         * modules/lchown (Depends-on): Likewise.
29519         * doc/posix-functions/chown.texi (chown): Document the bug.
29520         * doc/posix-functions/lchown.texi (lchown): Likewise.
29521         * tests/test-lchown.h (test_chown): Relax test.
29522
29523         mkstemp: avoid conflict with C++ keyword template
29524         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
29525         * lib/mkostemp.c (mkostemp): Likewise.
29526         * lib/mkostemps.c (mkostemps): Likewise.
29527         * lib/mkstemp.c (mkstemp): Likewise.
29528         * lib/mkstemps.c (mkstemps): Likewise.
29529
29530         xalloc-die-tests: optimize
29531         * tests/test-xalloc-die.sh: Reduce number of processes.
29532
29533 2009-11-17  Simon Josefsson  <simon@josefsson.org>
29534
29535         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
29536         patch from ludo@gnu.org (Ludovic Courtès).
29537
29538 2009-11-17  Jim Meyering  <meyering@redhat.com>
29539
29540         version-etc: use proper license string
29541         * modules/version-etc (License): Use LGPL, not LGPLv3+.
29542         * modules/version-etc-fsf: Likewise.
29543
29544 2009-11-17  Simon Josefsson  <simon@josefsson.org>
29545
29546         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
29547         printed to stdout.  Deal with EOL differences.
29548
29549 2009-11-17  Eric Blake  <ebb9@byu.net>
29550
29551         unsetenv: work around Solaris bug
29552         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
29553         * lib/unsetenv.c (rpl_unsetenv): Work around it.
29554         Reported by Jim Meyering.
29555
29556         vasnprintf: avoid compiler warnings
29557         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
29558         variables.
29559         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
29560
29561 2009-11-17  Simon Josefsson  <simon@josefsson.org>
29562
29563         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
29564         settings since xalloc-die is no longer the self test,
29565         xalloc-die.sh is.
29566
29567 2009-11-17  Jim Meyering  <meyering@redhat.com>
29568
29569         test-xalloc-die.sh: make the code agree with the commit log
29570         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
29571         at the end, just in case you happen to have a test-xalloc-die
29572         program in some other PATH directory.
29573
29574         test-xalloc-die.sh: fix a portability bug
29575         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
29576         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
29577         Otherwise, argv[0] (as often seen in diagnostics) would be too
29578         system-dependent, sometimes with, and sometimes without the leading "./".
29579
29580         version-etc-fsf: relax license to LGPLv3+
29581         * modules/version-etc-fsf (License): Relax license.
29582
29583 2009-11-16  Eric Blake  <ebb9@byu.net>
29584
29585         xalloc-die-tests: avoid printing null pointer
29586         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
29587         shell script.
29588         * tests/test-xalloc-die.c (program_name): Declare.
29589         * tests/test-xalloc-die.sh (tmpfiles): New file.
29590
29591         setenv, unsetenv: work around various bugs
29592         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
29593         (setenv) [HAVE_SETENV]: Work around bugs.
29594         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
29595         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
29596         for bugs.
29597         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
29598         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
29599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
29600         * modules/stdlib (Makefile.am): Update substitutions.
29601         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
29602         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
29603         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
29604         * modules/setenv-tests: New test.
29605         * modules/unsetenv-tests: Likewise.
29606         * tests/test-setenv.c: New file.
29607         * tests/test-unsetenv.c: Likewise.
29608
29609 2009-11-16  Jim Meyering  <meyering@redhat.com>
29610
29611         version-etc: relax license to LGPLv3+
29612         * modules/version-etc (License): Relax license.
29613
29614         better AC_REQUIRE expanded-before-required-warning avoidance
29615         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
29616         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
29617         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
29618         which is no longer needed.
29619
29620 2009-11-16  Eric Blake  <ebb9@byu.net>
29621
29622         test-freading: clean up temporary file
29623         * tests/test-freading.c (main): Remove file on success, and use
29624         ASSERT more liberally.
29625         Reported by Jim Meyering.
29626
29627 2009-11-16  Jim Meyering  <meyering@redhat.com>
29628
29629         avoid new AC_REQUIRE expanded-before-required warnings
29630         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
29631         merely using it.
29632         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
29633         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
29634
29635 2009-11-15  Simon Josefsson  <simon@josefsson.org>
29636
29637         * tests/test-xalloc-die.c: New file.
29638         * modules/xalloc-die-tests: New file.
29639         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
29640         XFAIL_TESTS so it can be appended by modules.
29641
29642 2009-11-15  Simon Josefsson  <simon@josefsson.org>
29643
29644         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
29645         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
29646
29647 2009-11-14  Eric Blake  <ebb9@byu.net>
29648
29649         fnmatch: avoid compiler warning
29650         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
29651         to silence compiler warning about mismatch signedness in ?:.
29652         Reported by Robert Millan.
29653
29654         intprops: add double-inclusion guard
29655         * lib/intprops.h: Allow idempotent includes.
29656         Suggested by Bruce Korb.
29657
29658         openat: detect Solaris fchownat bug
29659         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
29660         penalizing glibc chownat when only lchownat is broken.
29661         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
29662         trailing slash bugs.
29663         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
29664         * modules/openat-tests (Files): Include more files.
29665         (Depends-on): Add mgetgroups, sleep, stat-time.
29666         (configure.ac): Add additional checks.
29667         (Makefile.am): Build new test.
29668         * tests/test-fchownat.c: New file.
29669
29670         lchown: detect Solaris and FreeBSD bug
29671         * lib/lchown.c (rpl_lchown): Work around bug.
29672         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
29673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29674         * modules/unistd (Makefile.am): Populate it.
29675         * lib/unistd.in.h (lchown): Update declaration.
29676         * doc/posix-functions/lchown.texi (lchown): Document the bug.
29677         * modules/lchown-tests: New file.
29678         * tests/test-lchown.h (test_lchown): Likewise.
29679         * tests/test-lchown.c (main): Likewise.
29680
29681         chown: detect Solaris and FreeBSD bug
29682         * lib/chown.c (rpl_chown): Work around bug.
29683         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
29684         (gl_PREREQ_CHOWN): Delete.
29685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29686         * modules/unistd (Makefile.am): Populate it.
29687         * lib/unistd.in.h (chown): Update declaration.
29688         * lib/lchown.c (chown): Update client.
29689         * modules/lchown (Depends-on): Add lstat.
29690         * doc/posix-functions/chown.texi (chown): Document the bug.
29691         * doc/posix-functions/getgroups.texi (getgroups): Document
29692         getgroups pitfall.
29693         * modules/chown-tests: New file.
29694         * tests/test-chown.h (test_chown): Likewise.
29695         * tests/test-chown.c (main): Likewise.
29696
29697 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
29698
29699         gnulib-tool: correctly detect absence of m4 directories
29700         * gnulib-tool: Avoid extra newline on data passed to wc -l.
29701
29702 2009-11-14  Jim Meyering  <meyering@redhat.com>
29703
29704         maint.mk: Prohibit inclusion of "xalloc.h" without use.
29705         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
29706
29707 2009-11-14  John W. Eaton  <jwe@gnu.org>
29708
29709         strftime.h: wrap funtion declaration in extern "C" block
29710         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
29711
29712 2009-11-13  Eric Blake  <ebb9@byu.net>
29713
29714         getgroups: avoid compiler warning
29715         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
29716
29717         getgroups: work around FreeBSD bug
29718         * lib/getgroups.c (rpl_getgroups): Work around the bug.
29719         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
29720         * doc/posix-functions/getgroups.texi (getgroups): Document it.
29721         * tests/test-getgroups.c (main): Fix buffer overrun.
29722
29723         getgroups: avoid compilation failure
29724         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
29725         * modules/getgroups (Depends-on): Add stdint.
29726
29727 2009-11-13  Jim Meyering  <meyering@redhat.com>
29728
29729         test-getgroups: avoid compilation failure
29730         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
29731
29732 2009-11-13  Eric Blake  <ebb9@byu.net>
29733
29734         mgetgroups: new module, taken from coreutils
29735         * modules/mgetgroups: New file.
29736         * lib/mgetgroups.h: Likewise.
29737         * lib/mgetgroups.c (mgetgroups): Likewise.
29738         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
29739         * MODULES.html.sh (Users and groups): Mention it.
29740
29741         getgroups: don't expose GETGROUPS_T to user
29742         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
29743         an element at a time if GETGROUPS_T is wrong size.
29744         * lib/getugroups.h (getugroups): Change signature.
29745         * lib/unistd.in.h (getgroups): Likewise.
29746         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
29747         signature needs fixing.
29748         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
29749         AC_TYPE_GETGROUPS.
29750         * modules/group-member (Depends-on): Add getgroups.
29751         * lib/group-member.c (group_info, get_group_info): Use gid_t.
29752         (group_member): Rely on getgroups replacement.
29753         * lib/getugroups.c (getugroups): Use gid_t.
29754         * tests/test-getgroups.c (main): Likewise.
29755         * NEWS: Mention the signature change.
29756         * doc/posix-functions/getgroups.texi (getgroups): Mention the
29757         problem with signature.
29758         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
29759         GETGROUPS_T is still useful for setgroups.
29760
29761         getgroups, getugroups: provide stubs for mingw
29762         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
29763         * lib/getugroups.c (getugroups): Likewise.
29764         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
29765         function.  Modernize replacement scheme.
29766         (gl_PREREQ_GETGROUPS): Delete.
29767         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
29768         * modules/getgroups (configure.ac): Declare witness.
29769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
29770         * modules/unistd (Depends-on): Substitute witness.
29771         * lib/unistd.in.h (getgroups): Declare replacement.
29772
29773         getgroups: avoid calling exit
29774         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
29775         drop xalloc.
29776         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
29777         dependencies.
29778         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
29779         exiting, in the rare case of malloc failure.
29780
29781         getgroups: fix logic error
29782         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
29783         has more than 20 groups.
29784         * modules/getgroups-tests: New test.
29785         * tests/test-getgroups.c: New file.
29786
29787 2009-11-13  Simon Josefsson  <simon@josefsson.org>
29788
29789         * tests/test-base64.c: Improve.
29790
29791 2009-11-13  Simon Josefsson  <simon@josefsson.org>
29792
29793         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
29794         Blake <ebb9@byu.net>.
29795
29796 2009-11-13  Simon Josefsson  <simon@josefsson.org>
29797
29798         * tests/test-xvasprintf.c: Add %s%s related checks.
29799
29800 2009-11-12  Eric Blake  <ebb9@byu.net>
29801
29802         version-etc: match standards.texi style
29803         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
29804         and use <> only for URLs.
29805
29806 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
29807
29808         fts: do not fail on a submount during traversal
29809         * lib/fts.c (fts_build): Read the stat info again after opening
29810         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
29811         Original report at http://bugzilla.redhat.com/501848.
29812
29813 2009-11-12  Jim Meyering  <meyering@redhat.com>
29814
29815         bootstrap: sync from coreutils
29816         * build-aux/bootstrap (bootstrap_epilogue): New function.
29817         Use git_modules_config in one more place.  This make bootstrap's
29818         --gnulib-srcdir option more useful for testing.
29819
29820         bootstrap: generalize autoheader check
29821         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
29822         AC_CONFIG_HEADERS.
29823
29824 2009-11-11  Eric Blake  <ebb9@byu.net>
29825
29826         mkfifoat: use new modules for Solaris and BSD bugs
29827         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
29828         * lib/mkfifoat.c (mknodat): Split...
29829         * lib/mknodat.c (mknodat): ...into new file.
29830         * modules/mkfifoat (Files): Ship new file.
29831         (Depends-on): Add mkfifo, mknod.
29832         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
29833         (Depends-on): Add symlink.
29834         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
29835         redundant with test_mkfifo.h.
29836         (do_mkfifoat, do_mknodat): New helpers.
29837
29838         mknod: new module
29839         * modules/mknod: New file.
29840         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
29841         * lib/mknod.c (mknod): Likewise.
29842         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
29843         defaults.
29844         * modules/sys_stat (Makefile.am): Substitute them.
29845         * lib/sys_stat.in.h (mknod): Declare replacement.
29846         * MODULES.html.sh (Support for systems lacking POSIX:2008):
29847         Document it.
29848         * doc/posix-functions/mknod.texi (mknod): Likewise.
29849         * modules/mknod-tests: New test.
29850         * tests/test-mknod.c: Likewise.
29851
29852         mkfifo: new module
29853         * modules/mkfifo: New file.
29854         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
29855         * lib/mkfifo.c (mkfifo): Likewise.
29856         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
29857         defaults.
29858         * modules/sys_stat (Makefile.am): Substitute them.
29859         * lib/sys_stat.in.h (mkfifo): Declare replacement.
29860         * MODULES.html.sh (Support for systems lacking POSIX:2008):
29861         Document it.
29862         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
29863         * modules/mkfifo-tests: New test.
29864         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
29865         from test-mkfifoat.c.
29866         * tests/test-mkfifo.c: New file.
29867
29868         readlink: detect FreeBSD bug
29869         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
29870         slash on symlink.
29871         * doc/posix-functions/readlink.texi (readlink): Document the bug.
29872         * tests/test-readlink.h (test_readlink): Enhance test.
29873
29874         symlink: detect FreeBSD bug
29875         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
29876         slash on symlink.
29877         * doc/posix-functions/symlink.texi (symlink): Document the bug.
29878         * tests/test-symlink.h (test_symlink): Enhance test.
29879
29880 2009-11-10  Eric Blake  <ebb9@byu.net>
29881
29882         link: detect FreeBSD bug
29883         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
29884         symlink.
29885         * doc/posix-functions/link.texi (link): Document the bug.
29886         * tests/test-link.h (test_link): Enhance test.
29887         * tests/test-linkat.c (main): Update caller.
29888
29889         unlink, remove: detect FreeBSD bug
29890         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
29891         slash on symlink.
29892         * doc/posix-functions/unlink.texi (unlink): Document the bug.
29893         * doc/posix-functions/remove.texi (remove): Likewise.
29894         * tests/test-unlink.h (test_unlink): Enhance test.
29895         * tests/test-remove.c (main): Likewise.
29896
29897 2009-11-09  Eric Blake  <ebb9@byu.net>
29898
29899         rename: detect FreeBSD bug
29900         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
29901         slash on symlink.
29902         * modules/renameat-tests (Depends-on): Add filenamecat.
29903         * tests/test-rename.h (test_rename): Allow one more errno.
29904         * tests/test-renameat.c (main): Likewise.
29905         * doc/posix-functions/rename.texi (rename): Document the bug.
29906
29907         open: detect FreeBSD bug
29908         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
29909         symlink.
29910         * doc/posix-functions/open.texi (open): Document the bug.
29911         * doc/posix-functions/utimes.texi (utimes): Likewise.
29912         * tests/test-open.h (test_open): Add parameters, and test symlink
29913         handling.
29914         * tests/test-open.c (main): Adjust caller.
29915         * tests/test-fcntl-safer.c (main): Likewise.
29916         * modules/open-tests (Depends-on): Add stdbool, symlink.
29917         * modules/fcntl-safer-tests (Depends-on): Likewise.
29918         * tests/test-openat.c (main): Add test-open tests.
29919
29920         stat: detect FreeBSD bug
29921         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
29922         symlink.
29923         * doc/posix-functions/stat.texi (stat): Document the bug.
29924         * tests/test-stat.h (test_stat_func): Add argument.
29925         * tests/test-stat.c (main): Adjust caller.
29926         * tests/test-fstatat.c (main): Likewise.
29927         * modules/stat-tests (Depends-on): Add stdbool, symlink.
29928         Reported by Jim Meyering.
29929
29930 2009-11-09  James Youngman  <jay@gnu.org>
29931
29932         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
29933         * lib/strftime.c: Correct placement of #include "ignore-value.h".
29934
29935 2009-11-08  Jim Meyering  <meyering@redhat.com>
29936
29937         utimens: remove invalid futimesat call
29938         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
29939         It used the file descriptor of the target file as the DIR_FD
29940         parameter and NULL as the file name.  That caused failure with
29941         errno == EFAULT on FreeBSD-8.0-rc2
29942
29943 2009-11-07  Eric Blake  <ebb9@byu.net>
29944
29945         fflush, freadseek: use fseeko, not fseek
29946         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
29947         (clear_ungetc_buffer): Avoid potential problems on large files.
29948         * lib/freadseek.c (freadseek): Likewise.
29949         * modules/freadseek (Depends-on): Add fseeko.
29950         * modules/fseek (configure.ac): Set a witness.
29951         * tests/test-fflush.c (main): Use fseeko.
29952         * tests/test-fpurge.c (fseek): Disable link warning.
29953         * tests/test-freadable.c (fseek): Likewise.
29954         * tests/test-freading.c (fseek): Likewise.
29955         * tests/test-fseeko.c (fseek): Likewise.
29956         * tests/test-ftell.c (fseek): Likewise.
29957         * tests/test-ftello.c (fseek): Likewise.
29958         * tests/test-fwritable.c (fseek): Likewise.
29959         * tests/test-fwriting.c (fseek): Likewise.
29960
29961 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29962
29963         * modules/memchr (Depends-on): Drop getpagesize dependency.
29964
29965 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29966
29967         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
29968         Reported by Ludovic Courtès.
29969         * build-aux/pmccabe2html: Improve example usage.
29970         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
29971
29972 2009-11-06  Jim Meyering  <meyering@redhat.com>
29973
29974         do-release-commit-and-tag: New module.
29975         Automate the release-commit and tag process.
29976         * build-aux/do-release-commit-and-tag: New script, from coreutils.
29977         * modules/do-release-commit-and-tag: New file.
29978         * MODULES.html.sh (Support for maintaining and releasing): Add it.
29979
29980 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29981
29982         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
29983         because test-select.c uses inet_pton.
29984
29985 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29986
29987         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
29988         GETADDRINFO_LIB.  Bump serial number.
29989         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
29990         Suggested by Eric Blake <ebb9@byu.net>.
29991
29992 2009-11-05  Eric Blake  <ebb9@byu.net>
29993
29994         strtod: detect darwin bug
29995         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
29996         Reported by Leo Davis.
29997
29998         freopen-safer: new module
29999         * modules/freopen-safer: New module.
30000         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
30001         * lib/freopen-safer.c (freopen_safer): New file.
30002         * lib/stdio-safer.h (freopen_safer): New declaration.
30003         * lib/stdio--.h (freopen): New override.
30004         * MODULES.html.sh (File stream based Input/Output): Mention it.
30005         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
30006         freopen-safer module.
30007         * doc/posix-functions/stderr.texi (stderr): Likewise.
30008         * doc/posix-functions/stdin.texi (stdin): Likewise.
30009         * doc/posix-functions/stdout.texi (stdout): Likewise.
30010         * modules/freopen-safer-tests: New test.
30011         * tests/test-reopen-safer.c: New file.
30012
30013 2009-11-05  Jim Meyering  <meyering@redhat.com>
30014
30015         maint.mk: Prohibit inclusion of "close-stream.h" without use.
30016         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
30017
30018 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30019
30020         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
30021
30022 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30023
30024         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
30025
30026 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30027
30028         Fix link error.
30029         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
30030         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30031
30032 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30033
30034         * tests/test-func.c: Also test value of __func__.
30035
30036 2009-11-05  Simon Josefsson  <simon@josefsson.org>
30037
30038         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
30039         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
30040
30041 2009-11-05  Bruno Haible  <bruno@clisp.org>
30042
30043         Fix link error.
30044         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
30045         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30046         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
30047
30048 2009-11-05  Bruno Haible  <bruno@clisp.org>
30049
30050         Tests for module 'inet_pton'.
30051         * modules/inet_pton-tests: New file.
30052         * tests/test-inet_pton.c: New file.
30053
30054 2009-11-05  Bruno Haible  <bruno@clisp.org>
30055
30056         Tests for module 'inet_ntop'.
30057         * modules/inet_ntop-tests: New file.
30058         * tests/test-inet_ntop.c: New file.
30059
30060 2009-11-04  Eric Blake  <ebb9@byu.net>
30061
30062         stdlib-safer: wrap all mkstemp variants
30063         * modules/mkostemp (configure.ac): Set witness.
30064         * modules/mkostemps (configure.ac): Likewise.
30065         * modules/mkstemps (configure.ac): Likewise.
30066         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
30067         (mkstemps_safer): Wrap more functions.
30068         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
30069         wrapping.
30070         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
30071         (mkstemps_safer): Implement the wrappers.
30072
30073         mkstemps, mkostemps: new modules
30074         * modules/mkostemps: New module.
30075         * modules/mkstemps: Likewise.
30076         * lib/mkostemps.c (mkostemps): New file.
30077         * lib/mkstemps.c (mkstemps): Likewise.
30078         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
30079         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
30080         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
30081         * modules/stdlib (Makefile.am): Substitute them.
30082         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
30083         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
30084         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
30085         * doc/gnulib.texi (Glibc stdlib.h): Include them.
30086         * MODULES.html.sh (File system functions): Mention them.
30087
30088         tempname: resync from glibc
30089         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
30090         same values for __GT_FILE as glibc.  Abort even when assertions
30091         are disabled.
30092         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
30093         match its value otherwise.  Allow idempotent inclusion.
30094         * lib/mkdtemp.c (mkdtemp): Adjust caller.
30095         * lib/mkostemp.c (mkostemp): Likewise.
30096         * lib/mkstemp.c (mkstemp): Likewise.
30097         * lib/tmpfile.c (tmpfile): Likewise.
30098         * NEWS: Document this.
30099
30100         utimens: fix use of futimens on older Linux
30101         * lib/utimens.c (fdutimens): Use updated, rather than original,
30102         timespec to avoid bug in older Linux kernel.
30103         Reported by Simon Josefsson.
30104
30105 2009-11-04  Bruno Haible  <bruno@clisp.org>
30106
30107         Make num_processors more flexible and consistent.
30108         * lib/nproc.h (enum nproc_query): New type.
30109         (num_processors): Add a 'query' argument.
30110         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
30111         (num_processors): Add a 'query' argument. Test the value of the
30112         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
30113         mingw, count the number of CPUs available for the current process.
30114         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
30115         Check for sched_getaffinity and sched_getaffinity_np.
30116         * modules/nproc (Depends-on): Add c-ctype, extensions.
30117         * NEWS: Mention the change.
30118
30119 2009-11-03  Bruno Haible  <bruno@clisp.org>
30120
30121         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
30122
30123 2009-11-03  Jim Meyering  <meyering@redhat.com>
30124
30125         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
30126         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
30127         if it is defined.
30128
30129 2009-11-02  Eric Blake  <ebb9@byu.net>
30130
30131         mktime, timegm: share common declaration
30132         * lib/mktime-internal.h: New file.
30133         * lib/mktime.c: Use it rather than open-coding a declaration.
30134         * lib/timegm.c: Likewise.
30135         * modules/mktime (Files): Ship it.
30136         * modules/timegm (Files): Likewise.
30137         Suggested by Bruno Haible.
30138
30139         test-update-copyright: update test to match script changes
30140         * tests/test-update-copyright.sh: Avoid hard-coding perl
30141         location.  Don't update *.bak created by earlier runs.
30142
30143 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
30144             Simon Josefsson  <simon@josefsson.org>
30145             Bruno Haible  <bruno@clisp.org>
30146
30147         Fix link error on Solaris 8.
30148         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
30149         also in libnsl. Define also INET_PTON_LIB.
30150         * modules/inet_pton (Link): New section.
30151
30152 2009-11-02  Simon Josefsson  <simon@josefsson.org>
30153             Bruno Haible  <bruno@clisp.org>
30154
30155         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
30156         * modules/inet_ntop (Link): New section.
30157         Reported by Boyan Kasarov <bkasarov@gmail.com>.
30158
30159 2009-11-02  Eric Blake  <ebb9@byu.net>
30160
30161         maint: avoid compiler warnings in m4 macros
30162         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
30163         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
30164
30165 2009-11-02  Simon Josefsson  <simon@josefsson.org>
30166
30167         * m4/pmccabe2html.m4: Remove file.
30168         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
30169         function.  Change maintainer.
30170         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
30171         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
30172         Courtès).
30173
30174 2009-10-31  Eric Blake  <ebb9@byu.net>
30175
30176         fseeko: fix m4 regression
30177         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
30178         regression from 2009-10-27.
30179         Reported by Ralf Wildenhues.
30180
30181 2009-10-31  Jim Meyering  <meyering@redhat.com>
30182
30183         inttostr: aesthetics and improved (compile-time) safety
30184         Define inttype_is_signed rather than inttype_is_unsigned,
30185         since the sole use is via "#if inttype_is_signed".
30186         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
30187         inttype_is_unsigned.
30188         * lib/offtostr.c (inttype_is_signed): Likewise.
30189         * lib/uinttostr.c (inttype_is_signed): Likewise.
30190         * lib/umaxtostr.c (inttype_is_signed): Likewise.
30191         * lib/inttostr.c (inttostr): Use verify to cross-check the
30192         inttype_is_signed value and the signedness of the actual type.
30193         * modules/inttostr (Depends-on): Add verify.
30194
30195 2009-10-30  Eric Blake  <ebb9@byu.net>
30196
30197         build: avoid compiler warnings
30198         * lib/fchmodat.c (lchmod): Mark unused variables.
30199         * lib/getopt.c (_getopt_initialize): Likewise.
30200         * lib/mktime.c (__mktime_internal): Provide prototype.
30201         * lib/inttostr.c (inttostr): Avoid compiler warning even with
30202         older gcc that do not understand #pragma GCC diagnostic.
30203         * lib/uinttostr.c (inttype_is_unsigned): Define.
30204         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
30205
30206 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
30207
30208         stat: fix compilation on AIX
30209         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
30210         only see struct stat64.
30211
30212 2009-10-30  Eric Blake  <ebb9@byu.net>
30213
30214         exclude: make more robust
30215         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
30216         rather than masking a coding bug.
30217         Suggested by Bruno Haible.
30218
30219 2009-10-30  Jim Meyering  <meyering@redhat.com>
30220
30221         perl scripts: remove #!/usr/bin/perl in favor of more portable...
30222         Rather than putting #!/usr/bin/perl on the first line,
30223         start with a variant of what's recommended by "man perlrun" that
30224         invokes the first "perl" program from your shell's search path.
30225         * build-aux/gitlog-to-changelog: Replace #!... as above.
30226         Add a "Local Variables" perl mode setting.
30227         Prompted by a patch from Ludovic Courtès.
30228         Improved by Eric Blake.
30229         * build-aux/useless-if-before-free: Likewise.
30230         * build-aux/announce-gen: Likewise.
30231         * build-aux/update-copyright: Likewise.
30232
30233 2009-10-29  Eric Blake  <ebb9@byu.net>
30234
30235         filenamecat-lgpl: adjust clients
30236         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
30237         filenamecat.
30238         * modules/renameat (Depends-on): Likewise.
30239
30240         filenamecat: split into filenamecat-lgpl
30241         * modules/filenamecat-lgpl: New module.
30242         * modules/filenamecat (Files): Move library-safe files into
30243         filenamecat-lgpl.
30244         (Depends-on): Add filenamecat-lgpl.
30245         (configure.ac): Declare witness.
30246         * lib/filenamecat.h (file_name_concat): Only declare when using
30247         GPL module.
30248         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
30249         Move...
30250         * lib/filenamecat-lgpl.c: ...into new file.
30251         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
30252         (gl_FILE_NAME_CONCAT): Use it.
30253         * MODULES.html.sh (File system functions): Mention new module.
30254
30255         argp: avoid memory leak
30256         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
30257         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
30258         base_name, since the latter malloc()s and can call exit().
30259         Leak introduced 2006-07-03.
30260
30261         dirname-lgpl: adjust clients that don't need full dirname
30262         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
30263         * modules/filenamecat (Depends-on): Likewise.
30264         * modules/linkat (Depends-on): Likewise.
30265         * modules/mkancesdirs (Depends-on): Likewise.
30266         * modules/mkdir (Depends-on): Likewise.
30267         * modules/openat (Depends-on): Likewise.
30268         * modules/savewd (Depends-on): Likewise.
30269         * modules/rename (Depends-on): Likewise.
30270         (License): Relax license.
30271         * modules/mkdir-tests (Depends-on): Drop progname.
30272         (Makefile.am): Delete unneeded LDADD.
30273         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
30274
30275         dirname: split into dirname-lgpl
30276         * modules/dirname-lgpl: New module.
30277         * modules/dirname (Files): Move library-safe files into
30278         dirname-lgpl.
30279         (Depends-on): Add dirname-lgpl.
30280         (configure.ac): Declare witness.
30281         * modules/double-slash-root (License): Relax license.
30282         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
30283         module.
30284         * lib/dirname.c (dir_len, mdir_name): Move...
30285         * lib/dirname-lgpl.c: ...into new file.
30286         * lib/basename.c (last_component, base_len): Move...
30287         * lib/basename-lgpl.c: ...into new file.
30288         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
30289         (gl_DIRNAME): Use it.
30290         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
30291         Mention new module.
30292         * modules/dirname-tests (Depends-on): Add progname.
30293         * tests/test-dirname.c (program_name): Delete.
30294
30295         mkdir: make safe for libraries
30296         * modules/mkdir (Depends-on): Drop xalloc.
30297         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
30298         exit.
30299
30300         tests: avoid some compiler warnings
30301         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
30302         literals.
30303         * tests/test-memchr.c (main): Avoid type mismatch.
30304         * tests/test-arpa_inet.c (main): Avoid unused parameters.
30305         * tests/test-base64.c (main): Likewise.
30306         * tests/test-getdelim.c (main): Likewise.
30307         * tests/test-gethostname.c (main): Likewise.
30308         * tests/test-getline.c (main): Likewise.
30309         * tests/test-netinet_in.c (main): Likewise.
30310         * tests/test-select.c (open_server_socket, main): Likewise.
30311         * tests/test-select-stdin.c (main): Likewise.
30312         * tests/test-sockets.c (main): Likewise.
30313         * tests/test-strsignal.c (main): Likewise.
30314         * tests/test-sys_select.c (main): Likewise.
30315         * tests/test-sys_socket.c (main): Likewise.
30316         * tests/test-u64.c (main): Likewise.
30317         * tests/test-xfprintf-posix.c (main): Likewise.
30318         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
30319
30320         sockets: avoid compiler warning
30321         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
30322
30323         maint: detect usage(1) and other suspicious exits
30324         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
30325
30326 2009-10-29  Jim Meyering  <meyering@redhat.com>
30327
30328         timespec: long-to-int truncation could make timespec_cmp malfunction
30329         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
30330         a multiple of 2^32 nanoseconds as no difference.
30331
30332 2009-10-28  Jim Meyering  <meyering@redhat.com>
30333
30334         fprintftime: wrap macro code argument in "do {...} while(0)"
30335         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
30336         cpy macro must be a statement that can be followed by a semicolon.
30337         Now that the else clause contains a comment and is hence longer
30338         than one line, I require curly braces.  That in turn requires
30339         that we wrap this code block in the standard do...while(0).
30340
30341         fprintftime: remove stray semicolon from previous change
30342         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
30343
30344         fprintftime: avoid a warning about ignored fwrite return value
30345         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
30346         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
30347         that is unsafe.
30348         * modules/fprintftime (Depends-on): Add ignore-value.
30349
30350         exclude: avoid an unwarranted warning
30351         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
30352
30353 2009-10-27  Eric Blake  <ebb9@byu.net>
30354
30355         fseek: avoid compilation failure when fflush is replaced
30356         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
30357         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
30358         module is in use.
30359         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
30360         module is not in use; since REPLACE_FSEEK worked otherwise.
30361         (GNULIB_FTELLO): Likewise for ftell.
30362         Reported by Ian Beckwith and others.
30363
30364 2009-10-27  Bruno Haible  <bruno@clisp.org>
30365
30366         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
30367         Reported by Jim Meyering.
30368
30369 2009-10-27  Jim Meyering  <jim@meyering.net>
30370             Bruno Haible  <bruno@clisp.org>
30371
30372         Avoid warning despite dropping the return value of fwrite.
30373         * lib/unicodeio.c: Include ignore-value.h.
30374         (fwrite_success_callback): Explicitly ignore fwrite's return value.
30375         * modules/unicodeio (Depends-on): Add ignore-value.
30376
30377 2009-10-26  Eric Blake  <ebb9@byu.net>
30378
30379         areadlinkat: fix fallback path
30380         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
30381         pointer and zero.
30382
30383 2009-10-22  Pádraig Brady  <P@draigBrady.com>
30384
30385         Use a better IO block size for modern systems
30386         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
30387         * lib/md2.c: Likewise.
30388         * lib/md4.c: Likewise.
30389         * lib/md5.c: Likewise.
30390         * lib/sha1.c: Likewise.
30391         * lib/sha256.c: Likewise.
30392         * lib/sha512.c: Likewise.
30393
30394 2009-10-22  Eric Blake  <ebb9@byu.net>
30395
30396         tests: avoid several compiler warnings
30397         * tests/test-getcwd.c (main): Avoid buffer underflow.
30398         * tests/test-getdate.c (main): String literals are not safe with
30399         putenv, so use setenv.  Declare unused argument.
30400         * modules/getdate-tests (Depends-on): Add setenv.
30401         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
30402         problems with string literals in char *.
30403         * tests/test-hash.c (main): Avoid shadowing declaration.
30404         (insert_new): Treat string literals as char const *.
30405         * tests/test-getopt.h (test_getopt): Likewise.
30406         (getopt_loop): Alter types to minimize casting elsewhere.
30407         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
30408         (test_getopt_long_posix): Likewise.
30409         (do_getopt_long): Add wrapper to minimize casting.
30410         * tests/test-atexit.c (clear_temp_file): Use void.
30411         * tests/test-areadlink-with-size.c (main): Declare unused
30412         arguments.
30413         * tests/test-areadlink.c (main): Likewise.
30414         * tests/test-areadlinkat-with-size.c (main): Likewise.
30415         * tests/test-areadlinkat.c (main): Likewise.
30416         * tests/test-canonicalize-lgpl.c (main): Likewise.
30417         * tests/test-canonicalize.c (main): Likewise.
30418         * tests/test-dirent-safer.c (main): Likewise.
30419         * tests/test-dirname.c (main): Likewise.
30420         * tests/test-dup2.c (main): Likewise.
30421         * tests/test-fchdir.c (main): Likewise.
30422         * tests/test-fcntl-h.c (main): Likewise.
30423         * tests/test-fcntl-safer.c (main): Likewise.
30424         * tests/test-fdopendir.c (main): Likewise.
30425         * tests/test-fdutimensat.c (main): Likewise.
30426         * tests/test-fflush.c (main): Likewise.
30427         * tests/test-filenamecat.c (main): Likewise.
30428         * tests/test-filevercmp.c (main): Likewise.
30429         * tests/test-fopen-safer.c (main): Likewise.
30430         * tests/test-fopen.c (main): Likewise.
30431         * tests/test-fpending.c (main): Likewise.
30432         * tests/test-fpurge.c (main): Likewise.
30433         * tests/test-freading.c (main): Likewise.
30434         * tests/test-fstatat.c (main): Likewise.
30435         * tests/test-fsync.c (main): Likewise.
30436         * tests/test-futimens.c (main): Likewise.
30437         * tests/test-getndelim2.c (main): Likewise.
30438         * tests/test-gettimeofday.c (main): Likewise.
30439         * tests/test-getopt.c (main): Likewise.
30440         * tests/test-i-ring.c (main): Likewise.
30441         * tests/test-inttypes.c (main): Likewise.
30442         * tests/test-link.c (main): Likewise.
30443         * tests/test-lstat.c (main): Likewise.
30444         * tests/test-math.c (main): Likewise.
30445         * tests/test-md5.c (main): Likewise.
30446         * tests/test-memchr2.c (main): Likewise.
30447         * tests/test-memrchr.c (main): Likewise.
30448         * tests/test-mkdir.c (main): Likewise.
30449         * tests/test-mkdirat.c (main): Likewise.
30450         * tests/test-mkfifoat.c (main): Likewise.
30451         * tests/test-open.c (main): Likewise.
30452         * tests/test-openat-safer.c (main): Likewise.
30453         * tests/test-openat.c (main): Likewise.
30454         * tests/test-quotearg.c (main): Likewise.
30455         * tests/test-rawmemchr.c (main): Likewise.
30456         * tests/test-readlink.c (main): Likewise.
30457         * tests/test-remove.c (main): Likewise.
30458         * tests/test-rename.c (main): Likewise.
30459         * tests/test-renameat.c (main): Likewise.
30460         * tests/test-rmdir.c (main): Likewise.
30461         * tests/test-sha1.c (main): Likewise.
30462         * tests/test-signal.c (main): Likewise.
30463         * tests/test-sigaction.c (main): Likewise.
30464         * tests/test-stat.c (main): Likewise.
30465         * tests/test-stat-time.c (main): Likewise.
30466         * tests/test-stddef.c (main): Likewise.
30467         * tests/test-stdint.c (main): Likewise.
30468         * tests/test-stdio.c (main): Likewise.
30469         * tests/test-stdlib.c (main): Likewise.
30470         * tests/test-strchrnul.c (main): Likewise.
30471         * tests/test-strerror.c (main): Likewise.
30472         * tests/test-string.c (main): Likewise.
30473         * tests/test-strtod.c (main): Likewise.
30474         * tests/test-strverscmp.c (main): Likewise.
30475         * tests/test-symlink.c (main): Likewise.
30476         * tests/test-symlinkat.c (main): Likewise.
30477         * tests/test-sys_stat.c (main): Likewise.
30478         * tests/test-sys_time.c (main): Likewise.
30479         * tests/test-time.c (main): Likewise.
30480         * tests/test-unistd.c (main): Likewise.
30481         * tests/test-unlink.c (main): Likewise.
30482         * tests/test-unlinkat.c (main): Likewise.
30483         * tests/test-utimens.c (main): Likewise.
30484         * tests/test-utimensat.c (main): Likewise.
30485         * tests/test-version-etc.c (main): Likewise.
30486         * tests/test-wchar.c (main): Likewise.
30487         * tests/test-wctype.c (main): Likewise.
30488         * tests/test-xprintf-posix.c (main): Likewise.
30489         * tests/test-posixtm.c (main): Likewise.
30490         (STREQ): Delete unused macro.
30491         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
30492         shadowed variables.
30493         * tests/test-memchr.c (main): Likewise.
30494
30495 2009-10-21  Eric Blake  <ebb9@byu.net>
30496
30497         areadlinkat: avoid failure on older glibc
30498         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
30499         rather than mis-comparing 0 against FUNC_RESULT of char*.
30500
30501 2009-10-21  Bruno Haible  <bruno@clisp.org>
30502
30503         * modules/stpncpy (License): Relicense under LGPLv2+.
30504         Reported by David Lutterkort <lutter@redhat.com>.
30505
30506 2009-10-20  Eric Blake  <ebb9@byu.net>
30507
30508         utimensat: work around Solaris 9 bug
30509         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
30510         has trailing slash bugs.
30511         * tests/test-lutimens.h (test_lutimens): Enhance test.
30512         * tests/test-utimens.h (test_utimens): Likewise.
30513         * doc/posix-functions/utime.texi (utime): Enhance documentation.
30514         * doc/posix-functions/utimes.texi (utimes): Likewise.
30515         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30516         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
30517         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
30518         * doc/posix-functions/futimens.texi (futimens): Likewise.
30519
30520         fdutimensat: new module
30521         * modules/fdutimensat: New file.
30522         * lib/fdutimensat.c (fdutimensat): Likewise.
30523         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
30524         * MODULES.html.sh (File system functions): Mention module.
30525         * modules/fdutimensat-tests: New test.
30526         * tests/test-fdutimensat.c: Likewise.
30527
30528         doc: regenerate INSTALL
30529         * doc/INSTALL: Reflect recent autoconf update.
30530         * doc/INSTALL.ISO: Likewise.
30531         * doc/INSTALL.UTF-8: Likewise.
30532
30533 2009-10-20  Pádraig Brady  <P@draigBrady.com>
30534
30535         acl: warn if ACL support is not detected
30536         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
30537
30538 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
30539
30540         * lib/nproc.h: Add extern "C" block for C++.
30541
30542 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
30543             Bruno Haible  <bruno@clisp.org>
30544
30545         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
30546         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
30547         * doc/posix-functions/isalpha.texi: Likewise.
30548         * doc/posix-functions/isblank.texi: Likewise.
30549         * doc/posix-functions/iscntrl.texi: Likewise.
30550         * doc/posix-functions/isdigit.texi: Likewise.
30551         * doc/posix-functions/isgraph.texi: Likewise.
30552         * doc/posix-functions/islower.texi: Likewise.
30553         * doc/posix-functions/isprint.texi: Likewise.
30554         * doc/posix-functions/ispunct.texi: Likewise.
30555         * doc/posix-functions/isspace.texi: Likewise.
30556         * doc/posix-functions/isupper.texi: Likewise.
30557         * doc/posix-functions/isxdigit.texi: Likewise.
30558
30559 2009-10-18  Bruno Haible  <bruno@clisp.org>
30560
30561         Tests for module 'isblank'.
30562         * modules/isblank-tests: New file.
30563         * tests/test-isblank.c: New file.
30564
30565         New module 'isblank'.
30566         * lib/isblank.c: New file.
30567         * m4/isblank.m4: New file.
30568         * modules/isblank: New file.
30569         * doc/posix-functions/isblank.texi: Mention the new module.
30570
30571 2009-10-18  Bruno Haible  <bruno@clisp.org>
30572
30573         New module 'ctype'.
30574         * lib/ctype.in.h: New file.
30575         * m4/ctype.m4: New file.
30576         * modules/ctype: New file.
30577         * doc/posix-headers/ctype.texi: Mention the new module.
30578
30579 2009-10-18  Jim Meyering  <meyering@redhat.com>
30580
30581         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
30582         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
30583         right after its initialization, rather than farther down.
30584         Keeping these in close proximity makes it easier to ensure
30585         that each such variable is initialized.  E.g.,
30586
30587             LIB_CLOCK_GETTIME=
30588             AC_SUBST([LIB_CLOCK_GETTIME])
30589
30590         This change also increments these serial numbers.
30591         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
30592         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
30593         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
30594
30595 2009-10-18  Bruno Haible  <bruno@clisp.org>
30596
30597         Don't let environment variables perturb build.
30598         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
30599         (gl_PREREQ_GETHRXTIME): ... not here.
30600
30601 2009-10-18  Bruno Haible  <bruno@clisp.org>
30602
30603         Avoid symlink attack in localcharset module.
30604         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
30605         (O_NOFOLLOW): Define fallback.
30606         (get_charset_aliases): Don't open the file if it is a symbolic link.
30607         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
30608         gl_FCNTL_H.
30609         (gl_FCNTL_H): Require it.
30610         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
30611         * modules/localcharset (Files): Add m4/fcntl_h.m4.
30612         Reported by Fergal Glynn <fglynn@veracode.com>.
30613
30614 2009-10-18  Bruno Haible  <bruno@clisp.org>
30615
30616         Implement nproc for mingw.
30617         * lib/nproc.c: Include <windows.h>
30618         (num_processors): On native Windows platforms, try GetSystemInfo.
30619
30620 2009-10-18  Bruno Haible  <bruno@clisp.org>
30621
30622         Implement nproc for IRIX.
30623         * lib/nproc.c: Include <sys/sysmp.h>.
30624         (num_processors): On IRIX systems, try sysmp.
30625         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
30626
30627 2009-10-18  Bruno Haible  <bruno@clisp.org>
30628
30629         Implement nproc for HP-UX.
30630         * lib/nproc.c: Include <sys/pstat.h>
30631         (num_processors): On HP-UX systems, try pstat_getdynamic.
30632         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
30633         pstat_getdynamic.
30634
30635 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
30636             Bruno Haible  <bruno@clisp.org>
30637
30638         Implement nproc for NetBSD, OpenBSD.
30639         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
30640         (ARRAY_SIZE): New macro.
30641         (num_processors): On BSD systems, try sysctl of HW_NCPU.
30642         * m4/nproc.m4: New file.
30643         * modules/nproc (Files): Add m4/nproc.m4.
30644         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
30645         (Makefile.am): Instead, augment lib_SOURCES.
30646
30647 2009-10-18  Bruno Haible  <bruno@clisp.org>
30648
30649         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
30650         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
30651         sys/param.h.
30652
30653 2009-10-16  Eric Blake  <ebb9@byu.net>
30654
30655         utimensat: new module
30656         * modules/utimensat: New file.
30657         * lib/utimensat.c (utimensat): Likewise.
30658         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30659         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
30660         so we can work around Linux bugs.
30661         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30662         * modules/sys_stat (Makefile.am): Substitute them.
30663         * lib/sys_stat.in.h (utimensat): Declare it.
30664         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30665         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30666         * modules/utimensat-tests: New test.
30667         * tests/test-utimensat.c: Likewise.
30668
30669         utimens: let lutimens work on non-symlinks
30670         * lib/utimens.c (lutimens): Fall back to utimens rather than
30671         failing with ENOSYS, when file is not a symlink.
30672         (utimens): Reduce redirection.
30673         * tests/test-lutimens.h (test_lutimens): Update test to cover
30674         non-symlinks.
30675         * tests/test-utimens.h (test_utimens): Update test to cover
30676         symlinks.
30677         * tests/test-utimens.c (main): Update caller.
30678
30679         utimens: cache whether utimensat syscall works
30680         * lib/utimens.c (utimensat_works_really): New cache variable.
30681         (fdutimens, lutimens): Use it to avoid failing syscall.
30682
30683         test-stat-time, test-utimens: improve portability
30684         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
30685         ext4 on alpha, and for cygwin.
30686         * tests/test-utimens-common.h: New file.
30687         (nap): Factor delays into single function.
30688         * tests/test-lutimens.h (test_lutimens): Use new header.
30689         * tests/test-futimens.h (test_futimens): Likewise.
30690         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
30691         timestamps to occur from same machine, as was done previously for
30692         test_utimens.
30693         * modules/utimens-tests (Files): Ship new file.
30694         * modules/futimens-tests (Files): Likewise.
30695         Reported in part by Jim Meyering.
30696
30697         sys_stat: sort replacement declarations
30698         * lib/sys_stat.in.h: Sort declarations.
30699         * lib/futimens.c (futimens): Fix typo.
30700
30701 2009-10-15  Jim Meyering  <meyering@redhat.com>
30702
30703         don't let environment settings perturb build
30704         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
30705         could cause a configure-time and/or build-time malfunction.
30706         Typically, a configure-time function-in-library test is performed
30707         via code like this:
30708
30709           LIB_VAR=
30710           AC_SUBST([LIB_VAR])
30711           prefix_saved_LIBS=$LIBS
30712             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
30713                        [test "$ac_cv_search_FUNC" = "none required" ||
30714                         LIB_VAR=$ac_cv_search_FUNC])
30715           LIBS=$prefix_saved_LIBS
30716
30717         However, in each of the files affected by this change, the LIB_VAR=
30718         initialization was omitted.  Thus, when set in the environment, its
30719         value would propagate into generated Makefiles when FUNC is not found
30720         in LIB_NAME.
30721         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
30722         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
30723         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
30724
30725 2009-10-14  Eric Blake  <ebb9@byu.net>
30726
30727         fchdir: avoid infinite recursion in mingw
30728         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
30729         recursing.
30730
30731         test-stat-time: port to mingw
30732         * tests/test-stat-time.c (force_unlink): Return a value.
30733         (test_ctime) [W32]: Fix compilation error.
30734         (nap): Don't call usleep with too large an argument.  Use
30735         force_unlink.
30736         * doc/pastposix-functions/usleep.texi (usleep): Document the
30737         portability issue.
30738
30739 2009-10-13  Jim Meyering  <meyering@redhat.com>
30740
30741         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
30742         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
30743         * modules/pipe-filter-ii: Likewise.
30744         * modules/sys_socket-tests: Likewise.
30745         * modules/tsearch-tests: Likewise.
30746         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
30747         (check): Depend on it.
30748
30749 2009-10-12  Eric Blake  <ebb9@byu.net>
30750
30751         utimens-tests: port to NFS file systems
30752         * tests/test-utimens.h (test_utimens): Refactor utimecmp
30753         comparisons to avoid spurious failures from timestamp drift
30754         between NFS machines.
30755
30756 2009-10-12  Eric Blake  <ebb9@byu.net>
30757
30758         stat-time-tests: minor cleanups
30759         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
30760         * tests/test-stat-time.c (nap): Separate assignment from call.
30761         Suggested by Paolo Bonzini and Bruno Haible.
30762
30763         sys_stat: guarantee struct timespec
30764         * lib/sys_stat.in.h (includes): Always include <time.h>
30765         * modules/sys_stat (Depends-on): Add time.
30766         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
30767         mode_t permission values.
30768         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
30769         get at subsecond timestamps.
30770
30771 2009-10-10  Eric Blake  <ebb9@byu.net>
30772
30773         futimens: new module
30774         * modules/futimens: New file.
30775         * lib/futimens.c (futimens): Likewise.
30776         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
30777         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
30778         we can work around Linux bugs.
30779         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30780         * modules/sys_stat (Makefile.am): Substitute them.
30781         * lib/sys_stat.in.h (futimens): Declare it.
30782         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30783         * doc/posix-functions/futimens.texi (futimens): Likewise.
30784         * modules/futimens-tests: New test.
30785         * tests/test-futimens.c: Likewise.
30786
30787         utimens: introduce fdutimens
30788         * lib/utimens.h (fdutimens): New prototype.
30789         * lib/utimens.c (gl_futimens): Move guts...
30790         (fdutimens): ...to new interface.
30791         * tests/test-utimens.c (do_fdutimens): Use it.
30792
30793         utimens: add UTIME_NOW and UTIME_OMIT support
30794         * lib/utimens.c (validate_timespec, update_timespec): New helper
30795         functions.
30796         (gl_futimens, lutimens): Use them.
30797         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
30798         stdbool, sys_stat.
30799         (Link): Mention resulting library dependency.
30800         * modules/utimecmp (Link): Likewise.
30801         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
30802         (Makefile.am): Pick up library dependency.
30803         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
30804         definition.
30805         * tests/test-sys_stat.c: Test the definitions.
30806         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
30807         * NEWS: Document library dependency.
30808
30809         utimecmp: support symlink timestamps
30810         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
30811         hashing when possible.  Use pathconf when available.
30812         (SYSCALL_RESOLUTION): Recognize tighter resolution.
30813         * modules/utimecmp (Depends-on): Add lstat.
30814
30815         utimens: add lutimens interface
30816         * lib/utimens.c (lutimens): New function.
30817         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
30818         * lib/utimens.h (lutimens): Declare new interface.
30819         * tests/test-utimens.c (main): Enhance test.
30820         * tests/test-lutimens.h (test_lutimens): New file.
30821         * modules/utimens-tests (Files): Distribute it.
30822         (Depends-on): Add symlink.
30823         (configure.ac): Check for usleep.
30824
30825         utimens: validate futimens usage
30826         * lib/utimens.c (gl_futimens): Require valid fd up front, using
30827         fewer syscalls on failure later on.  Avoid compiler warning on
30828         mingw.
30829         * modules/utimens (Depends-on): Add dup2.
30830
30831         utimens: add test
30832         * modules/utimens-tests: New test.
30833         * tests/test-utimens.h: New file.
30834         * tests/test-futimens.h: Likewise.
30835         * tests/test-utimens.c: Likewise.
30836
30837         doc: mention timestamp portability issues
30838         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
30839         instead.
30840         * doc/posix-functions/utime.texi (utime): Likewise.
30841         * doc/posix-functions/utimes.texi (utimes): Likewise.
30842         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
30843         instead.
30844         * doc/posix-functions/futimens.texi (futimens): Mention utimens
30845         module.
30846         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30847         Mention weakness with symlink timestamps.
30848         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
30849         to utimensat/futimens instead.
30850         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
30851
30852         test-dup2: enhance test
30853         * tests/test-dup2.c (main): Also check AT_FDCWD.
30854
30855         test-stat-time: avoid more spurious failures
30856         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
30857         xfs; and avoid race if the two timestamps cross quantization edge.
30858
30859         relocatable: prefer 'file system' over 'filesystem'
30860         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
30861         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
30862         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
30863         * doc/relocatable.texi (Enabling Relocatability): Likewise.
30864         * lib/relocatable.c (compute_curr_prefix): Likewise.
30865
30866 2009-10-10  Jim Meyering  <meyering@redhat.com>
30867
30868         stat-time-tests: check for the usleep function
30869         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
30870
30871 2009-10-10  Bruno Haible  <bruno@clisp.org>
30872
30873         * modules/xnanosleep: Put the Link section after the Include section.
30874
30875 2009-10-09  Eric Blake  <ebb9@byu.net>
30876
30877         dup2: work around FreeBSD 6.1 bug
30878         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
30879         * doc/posix-functions/dup2.texi (dup2): Document it.
30880         Reported by Nelson H. F. Beebe and Jim Meyering.
30881
30882         test-stat-time: port to buggy NFS clients
30883         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
30884         (test_ctime): Also skip test if mtime and ctime are skewed.
30885
30886         maint: prefer 'file system' over 'filesystem'
30887         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
30888         * doc/posix-functions/lstat.texi (lstat): Likewise.
30889         * lib/file-has-acl.c (file_has_acl): Likewise.
30890         * lib/fwriteerror.c [TEST]: Likewise.
30891         * tests/test-areadlink.h (test_areadlink): Likewise.
30892         * tests/test-areadlinkat-with-size.c (main): Likewise.
30893         * tests/test-areadlinkat.c (main): Likewise.
30894         * tests/test-canonicalize-lgpl.c (main): Likewise.
30895         * tests/test-canonicalize.c (main): Likewise.
30896         * tests/test-fstatat.c (main): Likewise.
30897         * tests/test-linkat.c (main): Likewise.
30898         * tests/test-lstat.h (test_lstat_func): Likewise.
30899         * tests/test-mkdir.h (test_mkdir): Likewise.
30900         * tests/test-readlink.h (test_readlink): Likewise.
30901         * tests/test-remove.c (main): Likewise.
30902         * tests/test-rename.h (test_rename): Likewise.
30903         * tests/test-renameat.c (main): Likewise.
30904         * tests/test-rmdir.h (test_rmdir_func): Likewise.
30905         * tests/test-symlink.h (test_symlink): Likewise.
30906         * tests/test-symlinkat.c (main): Likewise.
30907         * tests/test-unlink.h (test_unlink_func): Likewise.
30908         * tests/test-unlinkat.c (main): Likewise.
30909
30910         maint: make realtime library usage explicit
30911         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
30912         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
30913         * modules/settime (Link): Likewise.
30914         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
30915
30916         test-stat-time: speed up execution
30917         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
30918         warning on mingw.
30919         (nap): New helper function.
30920         (prepare_test): Use it to reduce sleep time.
30921         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
30922         execution.
30923         * modules/stat-time-tests (configure.ac): Check for usleep.
30924
30925 2009-10-09  Jim Meyering  <meyering@redhat.com>
30926
30927         selinux-h: always use getfilecon wrappers
30928         * lib/getfilecon.c: New file.
30929         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
30930         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
30931         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
30932         (fgetfilecon): Provide a stub.
30933         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
30934         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
30935         file unconditionally.
30936         When <selinux/selinux.h> is found, arrange to use wrappers.
30937         * modules/selinux-h (Files): Add getfilecon.c.
30938         (Makefile.am): Substitute include-next-related bits
30939         into the now-always-generated selinux/selinux.h file.
30940         * doc/glibc-functions/lgetfilecon.texi: New file.
30941         * doc/glibc-functions/fgetfilecon.texi: New file.
30942         * doc/glibc-functions/getfilecon.texi: New file.
30943         * doc/glibc-functions/getfilecon-desc.texi: New file.
30944         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
30945         which to pull in the new files.
30946         * MODULES.html.sh (Misc): Add selinux-h.
30947
30948 2009-10-08  Jim Meyering  <meyering@redhat.com>
30949
30950         unistd: fix comment typo
30951         * lib/unistd.in.h (euidaccess): Fix a comment typo.
30952
30953 2009-10-08  Eric Blake  <ebb9@byu.net>
30954
30955         areadlink: use SIZE_MAX consistently
30956         * modules/areadlink (Depends-on): Add stdint.
30957         * modules/areadlink-with-size (Depends-on): Likewise.
30958         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
30959         gives NULL; drop sys/types, since unistd gives size_t; and add
30960         stdint for SIZE_MAX.
30961         (SIZE_MAX): Rely on headers.
30962         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
30963         and add stdint.
30964         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
30965         (SIZE_MAX): Likewise.
30966         (INITIAL_BUF_SIZE): Turn into enum.
30967         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
30968
30969 2009-10-08  Jim Meyering  <meyering@redhat.com>
30970
30971         areadlinkat: avoid compilation failure
30972         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
30973         Fix typo in comment.
30974
30975 2009-10-07  Eric Blake  <ebb9@byu.net>
30976
30977         areadlinkat-with-size: new module
30978         * modules/areadlinkat-with-size: New module.
30979         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
30980         * lib/areadlink.h (areadlinkat): Declare it.
30981         * MODULES.html.sh (File system functions): Mention it.
30982         * modules/areadlinkat-with-size-tests: New test.
30983         * tests/test-areadlinkat-with-size.c: New file.
30984
30985         xreadlinkat: new module
30986         * modules/xreadlinkat: New module.
30987         * lib/xreadlinkat.c (xreadlinkat): New file.
30988         * lib/xreadlink.h (xreadlinkat): Declare it.
30989         * MODULES.html.sh (File system functions): Mention it.
30990
30991         areadlinkat: new module
30992         * lib/at-func.c (FUNC_FAIL): New define.
30993         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
30994         * modules/areadlinkat: New module.
30995         * lib/linkat.c (areadlinkat): Move...
30996         * lib/areadlinkat.c (areadlinkat): ...to new file.
30997         * lib/areadlink.h (areadlinkat): Declare it.
30998         * modules/linkat (Depends-on): Add areadlinkat.
30999         * MODULES.html.sh (File system functions): Mention it.
31000         * modules/areadlinkat-tests: New test.
31001         * tests/test-areadlinkat.c: New file.
31002
31003         areadlink, areadlink-with-size: add tests
31004         * modules/areadlink-tests: New test.
31005         * modules/areadlink-with-size-tests: Likewise.
31006         * tests/test-areadlink.h: New file.
31007         * tests/test-areadlink.c: Likewise.
31008         * tests/test-areadlink-with-size.c: Likewise.
31009
31010         maint: minor cleanups
31011         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
31012         _UNUSED_PARAMETER_ instead.
31013         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
31014         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
31015         * modules/linkat-tests (Files): Distribute test-link.h.
31016
31017         openat, utimens: whitespace cleanup
31018         * lib/openat.c: Prefer space throughout, rather than mix of 8
31019         spaces vs. tabs.
31020         * lib/at-func.c: Likewise.
31021         * lib/utimens.c: Likewise.
31022
31023         openat: avoid using wrong fd
31024         * lib/openat.c (openat_permissive): Reject user's fd if saving the
31025         working directory chooses same fd.
31026         * lib/at-func.c (AT_FUNC_NAME): Likewise.
31027
31028         mkdir, mkdirat: fix cygwin 1.5.x bug
31029         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
31030         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
31031         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
31032         bug.
31033         (gl_PREREQ_MKDIR): Delete unused macro.
31034         * modules/mkdir (Files): Track file rename.
31035         (configure.ac): Update macro name.
31036         * modules/openat (Depends-on): Add mkdir.
31037         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
31038
31039         mkdir, mkdirat: add tests
31040         * modules/mkdir-tests: New test.
31041         * tests/test-mkdir.h: New file.
31042         * tests/test-mkdir.c: Likewise.
31043         * tests/test-mkdirat.c: Likewise.
31044         * modules/openat-tests (Files): Add new files.
31045         (Makefile.am): Run new test.
31046
31047 2009-10-06  Eric Blake  <ebb9@byu.net>
31048
31049         doc: tweak *at function documentation
31050         * doc/posix-functions/faccessat.texi (faccessat): Mention
31051         known issue with replacement.
31052         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
31053         * doc/posix-functions/linkat.texi (linkat): Likewise.
31054         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
31055         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
31056         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31057         * doc/posix-functions/renameat.texi (renameat): Likewise.
31058         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
31059
31060         openat: fix GNU/Hurd bug in unlinkat
31061         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
31062         broken.
31063         * doc/posix-functions/unlink.texi (unlink): Document this.
31064         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
31065
31066         fdopendir: fix GNU/Hurd bug
31067         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
31068         allowing non-directory fds.
31069         * lib/fdopendir.c (rpl_fdopendir): Work around it.
31070         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
31071         * modules/dirent (Makefile.am): Substitute it.
31072         * lib/dirent.in.h (fdopendir): Declare replacement.
31073         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
31074         * tests/test-fdopendir.c (main): Test something other than
31075         /dev/null, since on Hurd that behaves like a directory.
31076
31077         test-symlink: port to GNU/Hurd
31078         * tests/test-symlink.h (test_symlink): Relax expected errno.
31079
31080         doc: tweak more cygwin information
31081         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
31082         now compatible with glibc.
31083         * doc/posix-functions/getopt.texi (getopt): Likewise.
31084
31085         getopt-gnu: add another test
31086         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
31087         guarantee behavior relied on by m4.
31088         * tests/test-getopt.c (main): Use it.
31089         * modules/getopt-posix-tests (Depends-on): Add setenv.
31090         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
31091
31092         getopt: fix compilation on darwin
31093         * lib/getopt.in.h (includes): Leave breadcrumbs during system
31094         include.
31095         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
31096         Reported by Ludovic Courtès.
31097
31098 2009-10-06  Bruno Haible  <bruno@clisp.org>
31099
31100         * modules/size_max (Description): Discourage its use.
31101         Reported by Simon Josefsson.
31102
31103 2009-10-06  Jim Meyering  <meyering@redhat.com>
31104
31105         linkat: avoid compilation failure
31106         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
31107
31108 2009-10-05  Eric Blake  <ebb9@byu.net>
31109
31110         linkat: support Linux 2.6.17
31111         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
31112         linkat on Linux, but allow cache variable override.
31113         * lib/linkat.c (rpl_linkat): Define override.
31114         * modules/linkat (Depends-on): Add symlinkat.
31115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
31116         * modules/unistd (Makefile.am): Substitute it.
31117         * lib/unistd.in.h (linkat): Declare replacement.
31118         Reported by Pádraig Brady.
31119
31120         quotearg: port test to systems with C.UTF-8 locale
31121         * tests/test-quotearg.c (struct result_strings): Add another
31122         member, differentiating between C.ASCII and C.UTF-8 handling.
31123         (compare_strings): Add parameter.
31124         (main): Adjust all callers.
31125
31126         getopt: avoid clash with FreeBSD _getopt_internal
31127         * lib/getopt.in.h (_getopt_internal): Override the name.
31128         * lib/getopt_int.h (includes): Pick up any overrides.
31129         Reported by Reuben Thomas.
31130
31131         hash: allow C89 compilation
31132         * lib/hash.c (check_tuning): Move declaration before statement.
31133         Reported by Reuben Thomas.
31134
31135 2009-10-05  Karl Berry  <karl@gnu.org>
31136
31137         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
31138
31139 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
31140             Bruno Haible  <bruno@clisp.org>
31141
31142         * lib/uname.c (uname): Use a table-driven algorithm to compute
31143         Windows NT versions.
31144
31145 2009-10-04  Bruno Haible  <bruno@clisp.org>
31146
31147         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
31148         program_invocation_short_name.
31149         * modules/progname (configure.ac): Test for presence of
31150         program_invocation_short_name.
31151         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
31152
31153 2009-10-04  Bruno Haible  <bruno@clisp.org>
31154
31155         * lib/progname.c (set_program_name): Fix comment.
31156         Reported by Jim Meyering.
31157
31158 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
31159             Bruno Haible  <bruno@clisp.org>
31160
31161         * lib/uname.c: Include <string.h>.
31162         (uname): Do only one call to GetVersionEx in the common case.
31163
31164 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
31165             Bruno Haible  <bruno@clisp.org>
31166
31167         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
31168         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
31169         (uname): Add support for Windows CE and various non-x86 CPU types.
31170
31171 2009-10-03  Bruno Haible  <bruno@clisp.org>
31172
31173         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
31174         invocation to tests/configure.ac.
31175         Reported by Ian Beckwith <ianb@erislabs.net>.
31176
31177 2009-10-02  Eric Blake  <ebb9@byu.net>
31178
31179         fchdir: avoid compiler warning
31180         * lib/fchdir.c (canonicalize_file_name)
31181         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
31182
31183         test-open: support mingw errno values
31184         * tests/test-open.h (test_open): Relax test.
31185         * tests/test-fopen.h (test_fopen): Likewise.
31186         * tests/test-openat-safer.c (main): Likewise.
31187
31188         open: fix opening directory on mingw
31189         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
31190
31191         test-open: on GNU/Hurd, /dev/null is a directory
31192         * tests/test-fopen.h (main): Rename...
31193         (test_fopen): ...to this.  Use a guaranteed non-directory when
31194         confirming open behavior on trailing slash.
31195         * tests/test-openat-safer.c (main): Likewise.
31196         * tests/test-open.h (main): Likewise....
31197         (test_open): ...to this.
31198         * tests/test-fopen.c (main): Adjust caller.
31199         * tests/test-fopen-safer.c (main): Likewise.
31200         * tests/test-open.c (main): Likewise.
31201         * tests/test-fcntl-safer.c (main): Likewise.
31202         Reported by Samuel Thibault.
31203
31204         rename, fchdir: don't ignore chdir failure
31205         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
31206         * lib/rename.c (rpl_rename) [W32]: Likewise.
31207         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
31208         an empty destination directory if source cannot be renamed,
31209         although there is still possibility for failure.
31210         * doc/posix-functions/rename.texi (rename): Document the race.
31211         Reported by Jim Meyering.
31212
31213         maint: cleanup whitespace in recent commits
31214         * lib/rename.c (rpl_rename): Remove tabs.
31215         * tests/test-link.h (test_link): Likewise.
31216         * lib/fchdir.c (get_name): Likewise.
31217         Reported by Jim Meyering.
31218
31219 2009-10-02  Ben Pfaff  <blp@gnu.org>
31220
31221         relocatable-prog-wrapper: Add missing dependency on
31222         double-slash-root.
31223         * modules/relocatable-prog-wrapper: Add dependency.
31224         Reported by Ian Beckwith <ianb@erislabs.net>.
31225
31226 2009-10-02  Eric Blake  <ebb9@byu.net>
31227
31228         renameat: fix Solaris bugs
31229         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
31230         needed fixing.
31231         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
31232         * modules/stdio (Makefile.am): Substitute it.
31233         * lib/stdio.in.h (renameat): Declare replacement.
31234         * lib/renameat.c (rpl_renameat): Implement fix.
31235
31236         renameat: new module
31237         * modules/renameat: New file.
31238         * lib/renameat.c (renameat): Likewise.
31239         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
31240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
31241         * modules/stdio (Makefile.am): Substitute them.
31242         * lib/stdio.in.h (renameat): Declare it.
31243         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31244         * doc/posix-functions/renameat.texi (renameat): Likewise.
31245         * modules/renameat-tests: New test.
31246         * tests/test-renameat.c: Likewise.
31247
31248         rename: fix mingw bugs
31249         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
31250         directory overwrite bugs.
31251
31252         rename: fix another cygwin 1.5 bug
31253         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
31254         checks.
31255         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
31256         unnecessary cygwin workarounds.  Also work around bug with moving
31257         full directory onto an empty one.
31258         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
31259
31260         rename-dest-slash: merge into rename module
31261         * modules/rename-dest-slash (Status): Mark obsolete.
31262         (Depends-on): Add rename.
31263         (Files): Let rename do it all.
31264         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
31265         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
31266         * m4/rename-dest-slash.m4: ...so this file can be deleted.
31267         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
31268         * lib/rename.c (rpl_rename): Update comments.
31269
31270         rename: fix cygwin 1.5.x bugs
31271         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
31272         * lib/rename.c (rpl_rename): Work around them.
31273         * modules/rename (Depends-on): Add same-inode.
31274
31275         rename: fix Solaris 10 bug
31276         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
31277         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
31278         was the only bug.
31279
31280         rename: fix Solaris 9 bug
31281         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
31282         on non-directory.  Avoid calling exit.
31283         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
31284         strdup.
31285         * modules/rename-tests (Depends-on): Drop lstat.
31286         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
31287         (gl_PREREQ_RENAME): Delete unused macro.
31288
31289         rename-dest-slash: fix NetBSD bug
31290         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
31291         links.
31292         * modules/rename-dest-slash (Depends-on): Add same-inode.
31293
31294         rename-tests: new test, exposes several platform bugs
31295         * modules/rename-tests: New file.
31296         * tests/test-rename.h: Likewise.
31297         * tests/test-rename.c: Likewise.
31298         * doc/posix-functions/rename.texi (rename): Improve documentation,
31299         including bugs that will eventually be fixed in gnulib.
31300
31301 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
31302
31303         * lib/uname.c: Include <stdlib.h>
31304         (uname): Assume version info is available.
31305
31306 2009-10-02  Jim Meyering  <meyering@redhat.com>
31307
31308         gnu-web-doc-update: correct --help output
31309         * build-aux/gnu-web-doc-update: Make --help output relevant.
31310
31311         gnu-web-doc-update: add standard options
31312         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
31313
31314         gnu-web-doc-update: New module.
31315         Use this script to automatically update the on-line web documentation
31316         for your GNU project at http://www.gnu.org/software/$pkg/manual/
31317         * modules/gnu-web-doc-update: New file, from coreutils.
31318         * build-aux/gnu-web-doc-update: New script.
31319
31320 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
31321
31322         link: LoadLibrary is not needed.
31323         * lib/link.c: Use GetModuleHandle.
31324
31325 2009-10-01  Eric Blake  <ebb9@byu.net>
31326
31327         getopt: bump serial number
31328         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
31329         change.
31330
31331         tests: tighten link, rmdir, and remove tests
31332         * tests/test-link.h (includes): No need to use <config.h> here.
31333         Clean up if directory hard link was created, otherwise test for
31334         trailing '.'.
31335         * tests/test-linkat.c (main): Simplify.
31336         * tests/test-remove.c (main): Enhance test for trailing '.'.
31337         * tests/test-rmdir.h (test_rmdir_func): Likewise.
31338
31339 2009-10-01  Jim Meyering  <meyering@redhat.com>
31340
31341         maint.mk: requiring "make major" was annoying, for a "minor" release.
31342         What is intended is "stable", to contrast with alpha and beta,
31343         so require "make stable", not "make major".
31344         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
31345         (get_tool_versions): Likewise.
31346         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
31347
31348 2009-09-30  Ben Pfaff  <blp@gnu.org>
31349
31350         Fix broken build of replacement for Windows tmpfile().
31351         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
31352         flags argument added along with the 'mkostemp' module.
31353
31354 2009-09-28  Bruno Haible  <bruno@clisp.org>
31355
31356         Avoid identifier clash with POSIX function 'remove' defined as a macro.
31357         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
31358         to 'remove_elt'.
31359         (gl_list_remove): Update.
31360         * lib/gl_list.c (gl_list_remove): Update.
31361         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
31362         to 'remove_elt'.
31363         (gl_oset_remove): Update.
31364         * lib/gl_list.c (gl_oset_remove): Update.
31365         Reported by Eric Blake.
31366
31367 2009-09-28  Eric Blake  <ebb9@byu.net>
31368
31369         doc: mention yet more cygwin 1.7 status
31370         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
31371         cygwin.
31372         * doc/glibc-functions/execvpe.texi (execvpe): New file.
31373         * doc/gnulib.texi (Glibc unistd.h): Mention it.
31374
31375         argp: fix test failure
31376         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
31377         that are not upper-case.  Pass correct range to tolower.
31378
31379 2009-09-27  Jim Meyering  <meyering@redhat.com>
31380
31381         test-yesno: work around sparc-dash here-document infelicity
31382         Without this change, the literal \177 byte in a here document
31383         would make dash 0.5.5.1-3 access uninitialized memory.
31384         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
31385         Instead, use a marker, "@", and filter through tr to create the desired
31386         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
31387
31388 2009-09-27  Bruno Haible  <bruno@clisp.org>
31389
31390         Disable untested support for new flavours of ACLs on AIX.
31391         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
31392         progress.
31393         * lib/set-mode-acl.c (qset_acl): Likewise.
31394
31395 2008-12-07  Bruno Haible  <bruno@clisp.org>
31396
31397         Add support for new flavours of ACLs on AIX. (Untested.)
31398         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
31399         (file_has_acl): Add support for newer AIX.
31400         * lib/set-mode-acl.c (qset_acl): Likewise.
31401         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
31402         Rainer Tammer <tammer@tammer.net>.
31403
31404 2009-09-26  Eric Blake  <ebb9@byu.net>
31405
31406         argp: fix compilation of getopt
31407         * lib/getopt.in.h (includes): Use different guard than glibc.
31408         Reported by Sergey Poznyakoff.
31409
31410         doc: mention more cygwin 1.7 status
31411         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
31412         bug.
31413         * doc/posix-functions/execl.texi (execl): Likewise.
31414         * doc/posix-functions/execle.texi (execle): Likewise.
31415         * doc/posix-functions/execlp.texi (execlp): Likewise.
31416         * doc/posix-functions/execv.texi (execv): Likewise.
31417         * doc/posix-functions/execve.texi (execve): Likewise.
31418         * doc/posix-functions/execvp.texi (execvp): Likewise.
31419         * doc/glibc-functions/canonicalize_file_name.texi
31420         (canonicalize_file_name): Cygwin 1.7 now provides this.
31421         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
31422         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
31423         on AT_SYMLINK_NOFOLLOW.
31424
31425 2009-09-24  Eric Blake  <ebb9@byu.net>
31426
31427         test-linkat: make test more robust
31428         * tests/test-linkat.c (main): Avoid collision with EEXIST.
31429
31430         getopt: fix inclusion guards for cygwin
31431         * modules/getopt-posix (Depends-on): Add include-next.
31432         (Makefile.am): Substitute more items in replacement header.
31433         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
31434         <getopt.h>.
31435         * lib/getopt.in.h (includes): Use split inclusion guard, and
31436         prefer <getopt.h> over include <unistd.h> when one is present.
31437         (option): Also override name of 'struct option'.
31438
31439         same-inode: revert prior change; it is not yet ready
31440         * NEWS: Undo mention of this change.
31441         * lib/same-inode.h (same-inode.h): Undo tri-state change.
31442         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
31443         * lib/cycle-check.c (cycle_check): Likewise.
31444         * lib/same.c (same_name): Likewise.
31445         * lib/at-func2.c (at_func2): Likewise.
31446
31447 2009-09-23  Eric Blake  <ebb9@byu.net>
31448
31449         linkat: new module
31450         * modules/linkat: New file.
31451         * lib/at-func2.c (at_func2): Likewise.
31452         * lib/linkat.c (linkat): Likewise.
31453         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
31454         * lib/openat-priv.h (at_func2): Add declaration.
31455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
31456         * modules/unistd (Makefile.am): Substitute them.
31457         * lib/unistd.in.h (linkat): Declare it.
31458         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31459         * doc/posix-functions/linkat.texi (linkat): Likewise.
31460         * doc/posix-functions/link.texi (link): Tweak wording.
31461         * tests/test-link.c (main): Move guts...
31462         * tests/test-link.h (test_link): ...into new file.
31463         * modules/linkat-tests: New test.
31464         * tests/test-linkat.c: Likewise.
31465         * modules/link-tests (Files): Ship new file.
31466         (Depends-on): Add stdbool.
31467
31468         dirname: add library-safe mdir_name
31469         * lib/dirname.h (mdir_name): New prototype.
31470         * lib/dirname.c (dir_name): Move guts...
31471         (mdir_name): ...to new function that avoids xalloc_die.
31472
31473         fchdir: another mingw fix
31474         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
31475         * lib/fchdir.c (get_name): New helper method; skips canonicalize
31476         on mingw (where it has not yet been ported), and make it optional
31477         elsewhere.
31478         (_gl_register_fd): Use it.
31479
31480         same-inode: make SAME_INODE tri-state, to port to mingw
31481         * NEWS: Mention this change.
31482         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
31483         st_ino always being 0.
31484         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
31485         * lib/cycle-check.c (cycle_check): Likewise.
31486         * lib/same.c (same_name): Likewise.
31487
31488         lstat: avoid mingw compilation error
31489         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
31490         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
31491         lstat ourselves.
31492         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
31493         was adequate.
31494         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
31495         the checks for lstat.
31496         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
31497
31498         link: fix test failure on Solaris 9
31499         * lib/link.c (rpl_link): Don't assume link will catch bogus
31500         trailing slash on source.
31501
31502         test-symlinkat: enhance test
31503         * tests/test-readlink.c (main): Move guts...
31504         * tests/test-readlink.h (test_readlink): ...into new file.
31505         * tests/test-symlink.c (main): Move guts...
31506         * tests/test-symlink.h (test_symlink): ...into new file.
31507         * tests/test-symlinkat.c (main): Use new files for further
31508         coverage.
31509         (do_symlink, do_readlink): New helper functions.
31510         * modules/symlink-tests (Files): Ship new file.
31511         (Depends-on): Add stdbool.
31512         * modules/readlink-tests (Files): Ship new file.
31513         (Depends-on): Add stdbool.
31514         * modules/symlinkat-tests (Files): Use new files.
31515
31516 2009-09-23  Eric Blake  <ebb9@byu.net>
31517
31518         readlink: document portability issue with symlink length
31519         * doc/posix-functions/lstat.texi (lstat): Mention that some file
31520         systems have bogus st_size on symlinks, and mention the
31521         areadlink-with-size module.
31522         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
31523         * doc/posix-functions/readlink.texi (readlink): Mention the
31524         areadlink module, and ERANGE failure.
31525         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31526         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
31527
31528         readlink: fix Solaris 9 bug with trailing slash
31529         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
31530         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
31531         * doc/posix-functions/readlink.texi (readlink): Document this.
31532         * modules/readlink-tests: New test.
31533         * tests/test-readlink.c: Likewise.
31534
31535         readlink: fix cygwin 1.5.x bug with return type
31536         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
31537         * lib/unistd.in.h (readlink): Use ssize_t.
31538         * lib/readlink.c (readlink): Likewise.
31539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31540         * modules/unistd (Makefile.am): Substitute it.
31541         * lib/unistd.in.h (readlink): Declare replacement.
31542         * doc/posix-functions/readlink.texi (readlink): Document this.
31543
31544         symlink: use throughout gnulib
31545         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
31546         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
31547         symlink is not used.
31548         * modules/symlinkat (Depends-on): Add symlink.
31549         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31550         * modules/canonicalize-tests (Depends-on): Likewise.
31551         * modules/lstat-tests (Depends-on): Likewise.
31552         * modules/openat-tests (Depends-on): Likewise.
31553         * modules/remove-tests (Depends-on): Likewise.
31554         * modules/rmdir-tests (Depends-on): Likewise.
31555         * modules/unlink-tests (Depends-on): Likewise.
31556         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
31557         * tests/test-canonicalize.c (symlink): Likewise.
31558         * tests/test-fstatat.c (symlink): Likewise.
31559         * tests/test-lstat.c (symlink): Likewise.
31560         * tests/test-remove.c (symlink): Likewise.
31561         * tests/test-rmdir.c (symlink): Likewise.
31562         * tests/test-unlink.c (symlink): Likewise.
31563         * tests/test-unlinkat.c (symlink): Likewise.
31564
31565         symlink: new module, for Solaris 9 bug
31566         * modules/symlink: New file.
31567         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
31568         * lib/symlink.c: Likewise.
31569         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
31570         * modules/unistd (Makefile.am): Substitute them.
31571         * lib/unistd.in.h (symlink): Declare replacement.
31572         * MODULES.html.sh (File system functions): Mention it.
31573         * doc/posix-functions/symlink.texi (symlink): Likewise.
31574         * modules/symlink-tests: New test.
31575         * tests/test-symlink.c: Likewise.
31576
31577 2009-09-23  Bruno Haible  <bruno@clisp.org>
31578
31579         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
31580         when needed.
31581         Test case: gnulib-tool --import --with-tests atexit inttypes.
31582         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
31583
31584 2009-09-23  Bruno Haible  <bruno@clisp.org>
31585
31586         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
31587         subcommand, not in a subshell.
31588
31589 2009-09-22  Eric Blake  <ebb9@byu.net>
31590
31591         unistd: sort replacement declarations
31592         * lib/unistd.in.h: Sort declarations.
31593
31594         open, openat: minor optimization
31595         * lib/open.c (open): If open succeeded, len is non-zero.
31596         * lib/openat.c (rpl_openat): Likewise.
31597
31598         link-follow: ensure correct result
31599         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
31600         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
31601         distinguish between possible failures.
31602
31603 2009-09-21  Eric Blake  <ebb9@byu.net>
31604
31605         fts: avoid compiler warning
31606         * lib/fts.c (dirent_inode_sort_may_be_useful)
31607         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
31608
31609 2009-09-19  Bruno Haible  <bruno@clisp.org>
31610
31611         * lib/progreloc.c (canonicalize_file_name): New declaration.
31612
31613 2009-09-19  Eric Blake  <ebb9@byu.net>
31614
31615         link: fix quoting
31616         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
31617
31618         openat: fix openat bugs on Solaris 9
31619         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
31620         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
31621         * modules/openat (Depends-on): Add open.
31622         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
31623         * modules/fcntl-h (Makefile.am): Substitute it.
31624         * lib/fcntl.in.h (openat): Declare replacement.
31625         * doc/posix-functions/openat.texi (openat): Document this.
31626
31627         openat: move fstatat and unlinkat into correct files
31628         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
31629         compiled.
31630         * lib/openat.c (fstatat, unlinkat): Move...
31631         * lib/fstatat.c (fstatat): ...into correct files.
31632         * lib/unlinkat.c (unlinkat): Likewise.
31633
31634         openat: fix unlinkat bugs on Solaris 9
31635         * lib/unlinkat.c (unlinkat): New file.
31636         * modules/openat (Depends-on): Add unlink.
31637         (Files): Distribute it.
31638         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
31639         trailing slash behavior is broken.
31640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31641         * modules/unistd (Makefile.am): Substitute it.
31642         * lib/unistd.in.h (unlinkat): Declare replacement.
31643         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
31644
31645         openat: fix fstatat bugs on Solaris 9
31646         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
31647         stat.
31648         * doc/posix-functions/fstatat.texi (fstatat): Document this.
31649
31650         test-unlinkat: enhance test, to expose Solaris 9 bug
31651         * tests/test-unlink.c (main): Factor guts...
31652         * tests/test-unlink.h (test_rmdir_func): ...into new file.
31653         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
31654         * tests/test-rmdir.c (main): Adjust caller.
31655         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
31656         (unlinker): New helper function.
31657         (rmdirat): Enhance check.
31658         * modules/rmdir-tests (Depends-on): Add stdbool.
31659         * modules/unlink-tests (Depends-on): Likewise.
31660         (Files): Add test-unlink.h.
31661         * modules/openat-tests (Files): Likewise.
31662         (Depends-on): Add unlinkdir.
31663
31664         test-fstatat: new test, to expose Solaris 9 bugs
31665         * tests/test-stat.c (main): Factor guts...
31666         * tests/test-stat.h (test_stat_func): ...into new file.
31667         * tests/test-lstat.c (main): Factor guts...
31668         * tests/test-lstat.h (test_lstat_func): ...into new file.
31669         * tests/test-fstatat.c: New file.
31670         * modules/stat-tests (Files): Add test-stat.h.
31671         * modules/lstat-tests (Files): Add test-lstat.h.
31672         (Depends-on): Add stdbool.
31673         * modules/openat-tests (Depends-on): Add pathmax.
31674         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
31675         (Makefile.am): Run new test.
31676
31677         remove: new module, for mingw and Solaris 9 bugs
31678         * modules/remove: New file.
31679         * lib/remove.c: Likewise.
31680         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
31681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
31682         * modules/stdio (Makefile.am): Use them.
31683         * lib/stdio.in.h (remove): Declare replacement.
31684         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31685         * doc/posix-functions/remove.texi (remove): Likewise.
31686         * modules/remove-tests: New test.
31687         * tests/test-remove.c: Likewise.
31688
31689         unlink: new module, for Solaris 9 bug
31690         * modules/unlink: New file.
31691         * lib/unlink.c: Likewise.
31692         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
31693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
31694         * modules/unistd (Makefile.am): Use them.
31695         * lib/unistd.in.h (stat): Declare replacement.
31696         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31697         * doc/posix-functions/unlink.texi (unlink): Likewise.
31698         * modules/unlink-tests: New test.
31699         * tests/test-unlink.c: Likewise.
31700
31701         lstat: fix Solaris 9 bug
31702         * lib/lstat.c (lstat): Also check for trailing slash on
31703         non-symlink, non-directories.  Use stat module to simplify logic.
31704         * doc/posix-functions/lstat.texi (lstat): Document it.
31705         * modules/lstat-tests (Depends-on): Add errno, same-inode.
31706         (configure.ac): Check for symlink.
31707         * tests/test-lstat.c (main): Add more tests.
31708
31709         stat: add as dependency to other modules
31710         * modules/chown (Depends-on): Add stat.
31711         * modules/euidaccess (Depends-on): Likewise.
31712         * modules/fchdir (Depends-on): Likewise.
31713         * modules/isdir (Depends-on): Likewise.
31714         * modules/link (Depends-on): Likewise.
31715         * modules/lstat (Depends-on): Likewise.
31716         * modules/mkdir-p (Depends-on): Likewise.
31717         * modules/modechange (Depends-on): Likewise.
31718         * modules/open (Depends-on): Likewise.
31719         * modules/readlink (Depends-on): Likewise.
31720         * modules/same (Depends-on): Likewise.
31721
31722         stat: fix Solaris 9 bug
31723         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
31724         slash.
31725         * lib/stat.c (rpl_stat): Work around it.
31726         * doc/posix-functions/stat.texi (stat): Update documentation.
31727
31728         stat: new module, for mingw bug
31729         * modules/stat: New file.
31730         * lib/stat.c: Likewise.
31731         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31732         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
31733         * modules/sys_stat (Makefile.am): Use them.
31734         * lib/sys_stat.in.h (stat): Declare replacement.
31735         * lib/openat.c (fstatat): Deal with lstat and stat being function
31736         macros.
31737         * modules/openat (Depends-on): Add inline.
31738         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31739         * doc/posix-functions/stat.texi (stat): Likewise.
31740         * modules/stat-tests: New test.
31741         * tests/test-stat.c: Likewise.
31742
31743 2009-09-19  Jim Meyering  <meyering@redhat.com>
31744
31745         syntax-check: detect unnecessary inclusion of canonicalize.h
31746         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
31747
31748 2009-09-19  Eric Blake  <ebb9@byu.net>
31749
31750         canonicalize-lgpl: adjust clients to use correct header
31751         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
31752         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
31753         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
31754         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
31755         * lib/progreloc.c (includes): Likewise.
31756
31757 2009-09-19  Jim Meyering  <meyering@redhat.com>
31758
31759         test-posixtm.c: correct a comment
31760         * tests/test-posixtm.c: Correct first-line comment.
31761         Spotted by Eric Blake.
31762
31763 2009-09-16  Jim Meyering  <meyering@redhat.com>
31764
31765         posixtm-tests: make T const-correct; add a test case
31766         * tests/test-posixtm.c (T): Declare const.
31767         Add a test for -(2^31+1).
31768         Remove useless can-succeed-only-in-2002 test.
31769
31770         posixtm-tests: adjust the sole failing test
31771         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
31772         expected output matches what mktime now produces.  Cross-checked via
31773         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
31774
31775         posixtm: move #ifdef'd tests into a new module
31776         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
31777         * tests/test-posixtm.c: ... this new file.
31778         * modules/posixtm-tests: New module.
31779
31780 2009-09-19  Eric Blake  <ebb9@byu.net>
31781
31782         openat: simplify use of at-func.c
31783         * lib/at-func.c (includes): Include prerequisites here, to
31784         simplify requirements on client files.
31785         * lib/openat-priv.h: Add double-inclusion guard.
31786         * lib/faccessat.c (includes): Simplify.
31787         * lib/fchmodat.c (includes): Likewise.
31788         * lib/fchownat.c (includes): Likewise.
31789         * lib/mkdirat.c (includes): Likewise.
31790         * lib/mkfifoat.c (includes): Likewise.
31791         * lib/symlinkat.c (includes): Likewise.
31792
31793         openat: allow return of fd 0
31794         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
31795         * modules/save-cwd (Depends-on): Replace fcntl-safer with
31796         unistd-safer.
31797         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
31798         <fcntl.h>; this module does not leak fds.
31799         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
31800         must be allowed to return 0, leaving openat_safer to add the
31801         safety.
31802         (openat_permissive): Avoid writing to just-opened fd 2 if
31803         restoring the current directory fails.
31804         * lib/openat-die.c (openat_restore_fail): Add comment.
31805         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
31806         (save_cwd): Guarantee safe fd, but without use of open_safer.
31807         * tests/test-openat.c: New test.
31808         * modules/openat-tests (Files, Makefile.am): Distribute and build
31809         new file.
31810
31811         relocatable-prog-wrapper: fix build
31812         * modules/relocatable-prog-wrapper (Files): Update name of
31813         canonicalize m4 file, broken on 2009-09-17.
31814         Reported by emad hajjar <aleppos@hotmail.com>.
31815
31816 2009-09-19  Bruno Haible  <bruno@clisp.org>
31817
31818         * lib/safe-alloc.h: Use the standard header with GPL copyright.
31819         * lib/safe-alloc.c: Likewise.
31820         Reported by Ian Beckwith <ianb@erislabs.net>.
31821
31822 2009-09-18  Bruno Haible  <bruno@clisp.org>
31823
31824         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
31825         Reported by <erobles@sensacd.com.mx>.
31826
31827 2009-09-17  Eric Blake  <ebb9@byu.net>
31828
31829         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
31830         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
31831         slashes when checking if last component is missing.
31832         * tests/test-canonicalize.c (main): Test this.
31833
31834         canonicalize, canonicalize-lgpl: honor // if distinct from /
31835         * modules/canonicalize (Files): Add double-slash-root.m4.
31836         * modules/canonicalize-lgpl (Files): Likewise.
31837         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
31838         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
31839         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
31840         fallback definition.
31841         (canonicalize_filename_mode): Use it to protect //.
31842         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
31843         (__realpath): Likewise.
31844         * tests/test-canonicalize.c (main): Test this.
31845         * tests/test-canonicalize-lgpl.c (main): Likewise.
31846         * modules/canonicalize-tests (Depends-on): Add same-inode.
31847         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31848
31849         canonicalize-lgpl: fix glibc bug with trailing slash
31850         * m4/canonicalize-lgpl.m4: Move contents...
31851         * m4/canonicalize.m4: ...here.
31852         (gl_CANONICALIZE_LGPL): Factor realpath check...
31853         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
31854         glibc 2.3.5 bug, fixed 2005-04-27.
31855         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
31856         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
31857         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
31858         * modules/canonicalize-lgpl (Files): Manage file rename.
31859         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
31860         * modules/stdlib (Makefile.am): Substitute witness.
31861         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
31862         is needed.
31863         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
31864         replacement is required.
31865         * lib/canonicalize.c (canonicalize_file_name): Likewise.
31866         * doc/glibc-functions/canonicalize_file_name.texi
31867         (canonicalize_file_name): Document this.
31868         * doc/posix-functions/realpath.texi (realpath): Likewise.
31869
31870         canonicalize-lgpl: reject non-directory with trailing slash
31871         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
31872         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
31873         catches failures in glibc 2.3.5.
31874         * tests/test-canonicalize.c (main): Likewise.
31875
31876         canonicalize-lgpl: use native realpath if it works
31877         * lib/canonicalize-lgpl.c (realpath): Guard with
31878         FUNC_REALPATH_WORKS.
31879         * lib/stdlib.in.h (realpath): Make declaration optional based on
31880         HAVE_REALPATH.
31881         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
31882         native realpath works.
31883         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
31884         * modules/stdlib (Makefile.am): Substitute witness.
31885
31886         canonicalize, canonicalize-lgpl: use <stdlib.h>
31887         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
31888         (Include): Mention <stdlib.h>.
31889         (configure.ac): Mention functions we provide.
31890         * modules/canonicalize (configure.ac): Likewise.
31891         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
31892         realpath if canonicalize_file_name is missing.
31893         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
31894         * modules/stdlib (Makefile.am): Substitute witnesses.
31895         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
31896         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
31897         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
31898         * NEWS: Document this.
31899         * doc/glibc-functions/canonicalize_file_name.texi
31900         (canonicalize_file_name): Likewise.
31901         * doc/posix-functions/realpath.texi (realpath): Likewise.
31902         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
31903
31904         test-canonicalize: consolidate into single C program
31905         * tests/test-canonicalize.sh: Delete; move setup into...
31906         * tests/test-canonicalize.c (main): ...the program, making it
31907         easier to run in debugger.  Add some tests.
31908         * modules/canonicalize-tests (Files): Remove unused file.
31909         (Depends-on): Add progname.
31910         (configure.ac, Makefile.am): Simplify.
31911
31912         test-canonicalize-lgpl: consolidate into single C program
31913         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
31914         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
31915         easier to run in debugger.  Add some tests.
31916         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
31917         (configure.ac, Makefile.am): Simplify.
31918
31919         canonicalize: avoid resolvepath
31920         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
31921         unnecessary checks.
31922         * lib/canonicalize.c (includes): Simplify.
31923         (canonicalize_file_name): Drop resolvepath implementation.
31924         * modules/canonicalize (Depends-on): Drop filenamecat.
31925
31926         canonicalize: don't lose errno
31927         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
31928         over calls to free.
31929
31930         canonicalize: simplify errno handling
31931         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
31932         assignment.
31933
31934         canonicalize, canonicalize-lgpl: update module dependencies
31935         * modules/canonicalize (Depends-on): Add extensions, lstat,
31936         pathmax, stdlib.
31937         (Files): Drop pathmax.h.
31938         (configure.ac): Adjust macro name.
31939         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
31940         lstat, stdlib, sys_stat.
31941         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
31942         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
31943         extensions.
31944         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
31945         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
31946         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
31947         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
31948         declaration, if available.
31949         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
31950         we can rely on the readlink module.
31951         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
31952         (includes): Use <unistd.h> unconditionally.
31953
31954 2009-09-17  Eric Blake  <ebb9@byu.net>
31955
31956         maint: make Include sections of modules consistent
31957         * modules/alloca: Use only header name; no need to list #include.
31958         * modules/alloca-opt: Likewise.
31959         * modules/arpa_inet: Likewise.
31960         * modules/canon-host: Likewise.
31961         * modules/configmake: Likewise.
31962         * modules/dirent: Likewise.
31963         * modules/eealloc: Likewise.
31964         * modules/environ: Likewise.
31965         * modules/fchdir: Likewise.
31966         * modules/fcntl: Likewise.
31967         * modules/fcntl-h: Likewise.
31968         * modules/gethrxtime: Likewise.
31969         * modules/gettime: Likewise.
31970         * modules/ignore-value: Likewise.
31971         * modules/inet_ntop: Likewise.
31972         * modules/inet_pton: Likewise.
31973         * modules/inttypes: Likewise.
31974         * modules/isnand-nolibm: Likewise.
31975         * modules/isnanf-nolibm: Likewise.
31976         * modules/mbchar: Likewise.
31977         * modules/mbfile: Likewise.
31978         * modules/mbiter: Likewise.
31979         * modules/mbuiter: Likewise.
31980         * modules/netdb: Likewise.
31981         * modules/netinet_in: Likewise.
31982         * modules/nproc: Likewise.
31983         * modules/pagealign_alloc: Likewise.
31984         * modules/poll: Likewise.
31985         * modules/printf-frexp: Likewise.
31986         * modules/pthread: Likewise.
31987         * modules/putenv: Likewise.
31988         * modules/random_r: Likewise.
31989         * modules/relocatable-prog: Likewise.
31990         * modules/search: Likewise.
31991         * modules/select: Likewise.
31992         * modules/selinux-h: Likewise.
31993         * modules/settime: Likewise.
31994         * modules/signal: Likewise.
31995         * modules/size_max: Likewise.
31996         * modules/socklen: Likewise.
31997         * modules/ssize_t: Likewise.
31998         * modules/stdarg: Likewise.
31999         * modules/stdbool: Likewise.
32000         * modules/stddef: Likewise.
32001         * modules/stdint: Likewise.
32002         * modules/stdio: Likewise.
32003         * modules/stdlib: Likewise.
32004         * modules/string: Likewise.
32005         * modules/strings: Likewise.
32006         * modules/sys_file: Likewise.
32007         * modules/sys_ioctl: Likewise.
32008         * modules/sys_select: Likewise.
32009         * modules/sys_socket: Likewise.
32010         * modules/sys_stat: Likewise.
32011         * modules/sys_time: Likewise.
32012         * modules/sys_times: Likewise.
32013         * modules/sys_utsname: Likewise.
32014         * modules/sys_wait: Likewise.
32015         * modules/sysexits: Likewise.
32016         * modules/time: Likewise.
32017         * modules/times: Likewise.
32018         * modules/tmpfile: Likewise.
32019         * modules/trim: Likewise.
32020         * modules/unistd: Likewise.
32021         * modules/wchar: Likewise.
32022         * modules/wctype: Likewise.
32023
32024 2009-09-17  Bruno Haible  <bruno@clisp.org>
32025
32026         Make getdate.y compile on QNX and NetBSD 5 / i386.
32027         * m4/getdate.m4 (gl_GETDATE): Conditionally define
32028         TIME_T_FITS_IN_LONG_INT.
32029         * lib/getdate.y (long_time_t): New type.
32030         (relative_time): Change type of 'seconds' field to long_time_t.
32031         (get_date): Update types of local variables. Check against overflow
32032         during conversion from long_time_t to time_t.
32033         Reported by Matt Kraai <kraai@ftbfs.org>
32034         and Hasso Tepper <hasso@netbsd.org>.
32035
32036 2009-09-17  Bruno Haible  <bruno@clisp.org>
32037
32038         * modules/COPYING: Update copyright years.
32039         * modules/README: Likeiwse.
32040         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
32041         Reported by Ian Beckwith <ianb@erislabs.net>.
32042
32043 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
32044
32045         * users.txt: Update references for gnuit package.
32046
32047 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
32048
32049         * m4/getdelim.m4: Fix typo in copyright line.
32050
32051 2009-09-17  Bruno Haible  <bruno@clisp.org>
32052
32053         * lib/atoll.c: Use the standard header with GPL copyright.
32054         * lib/argz.in.h: Likewise.
32055         * lib/glob.c: Likewise.
32056         * lib/glob-libc.h: Likewise.
32057         * lib/random_r.c: Likewise.
32058         * lib/siglist.h: Likewise.
32059         * lib/strsignal.c: Likewise.
32060         Reported by Ian Beckwith <ianb@erislabs.net>.
32061
32062 2009-09-17  Eric Blake  <ebb9@byu.net>
32063
32064         rmdir: ensure correct dependency order
32065         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
32066
32067 2009-09-17  Bruno Haible  <bruno@clisp.org>
32068
32069         Disable assertion that fails on NetBSD 5 / i386.
32070         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
32071         Reported by Sam Steingold <sds@gnu.org>
32072         and Hasso Tepper <hasso@netbsd.org>.
32073
32074 2009-09-16  Eric Blake  <ebb9@byu.net>
32075
32076         unlinkdir: port to mingw
32077         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
32078         on which no one can unlink a directory.
32079
32080         stdlib: sort witness names
32081         * modules/stdlib (Makefile.am): Sort replacements.
32082         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
32083         * lib/stdlib.in.h: Likewise.
32084
32085         parse-duration-tests: avoid link failure
32086         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
32087         LIBINTL.
32088         Reported by Tom G. Christensen.
32089
32090         openat-tests: ensure unlinkat behaves like rmdir
32091         * tests/test-rmdir.c (main): Factor guts...
32092         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
32093         * modules/rmdir-tests (Files): Ship new file.
32094         * modules/openat-tests: New test.
32095         * tests/test-unlinkat.c: Likewise.
32096
32097         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
32098         * modules/rmdir-errno (Status, Notice): Now obsolete.
32099
32100         rmdir: work around cygwin 1.5.x and mingw bugs
32101         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
32102         * lib/rmdir.c (rmdir): Work around it.
32103         * modules/rmdir (Status, Notice): No longer obsolete.
32104         (Files): Add dos.m4.
32105         (Depends-on): Add unistd.
32106         (configure.ac): Set witnesses.
32107         (License): Relax to LGPLv2+.
32108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
32109         * modules/unistd (Makefile.am): Substitute witnesses.
32110         * lib/unistd.in.h (rmdir): Declare replacement.
32111         * doc/posix-functions/rmdir.texi (rmdir): Document this.
32112         * modules/rmdir-tests: New tests.
32113         * tests/test-rmdir.c: Likewise.
32114
32115 2009-09-15  Eric Blake  <ebb9@byu.net>
32116
32117         fchdir: improve use of replacement functions
32118         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
32119         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
32120         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
32121         REPLACE_CLOSEDIR.
32122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
32123         * modules/sys_stat (Makefile.am): Substitute correct witness.
32124         * modules/dirent (Makefile.am): Likewise.
32125         * modules/unistd (Makefile.am): Likewise.
32126         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
32127         * lib/unistd.in.h (dup): Likewise.
32128         * lib/sys_stat.in.h (fstat): Likewise.
32129
32130         maint: ignore gnulib-tool temp files
32131         * .gitignore: Ignore files created during gnulib-tool --test.
32132
32133 2009-09-13  Jim Meyering  <meyering@redhat.com>
32134
32135         posixtm: don't reject a time that specify "60" as the number of seconds
32136         * lib/posixtm.c (posixtime): The code to reject invalid dates
32137         would also reject a time specified with the .60 suffix.
32138         But POSIX allows that, in order to accommodate leap seconds.
32139         So don't reject it.
32140         (main): Adjust tests accordingly.
32141         * modules/posixtm (Depends-on): Add stpcpy.
32142
32143 2009-09-11  Jim Meyering  <meyering@redhat.com>
32144
32145         announce-gen: include [$release_type] in emitted Subject:
32146         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
32147         e.g., [stable] in the emitted Subject: line.
32148
32149 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32150
32151         Remove obsolete macros from several modules.
32152         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
32153         obsolete Autoconf macros with their modern counterparts.
32154         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
32155         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
32156         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
32157         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
32158         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
32159         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
32160         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
32161         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
32162         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
32163         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
32164         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
32165         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
32166         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
32167         * m4/sockets.m4 (gl_SOCKETS): Likewise.
32168         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
32169         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
32170         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
32171         * m4/time_r.m4 (gl_TIME_R): Likewise.
32172         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
32173         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
32174         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
32175
32176         Fix copyright header in build-aux scripts.
32177         * build-aux/git-version-gen: Fix copyright header to match GPLv3
32178         recommendation.
32179         * build-aux/ncftpput-ftp: Likewise.
32180         * build-aux/update-copyright: Likewise.
32181
32182 2009-09-09  Eric Blake  <ebb9@byu.net>
32183
32184         test-link: allow Linux choice of errno
32185         * tests/test-link.c (main): Relax test for alternate error.
32186
32187         strndup: fix improper m4 caching
32188         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
32189         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
32190         (gl_PREREQ_STRNDUP): Delete.
32191         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
32192         * modules/string (Makefile.am): Substitute it.
32193         * lib/string.in.h (strndup): Modernize prototype.
32194
32195         getcwd: port to mingw
32196         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
32197         different from the POSIX assumptions made throughout the getcwd
32198         module; fortunately, the mingw getcwd does not need replacement.
32199         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
32200         * modules/getcwd-tests: New test.
32201         * tests/test-getcwd.c: Likewise.
32202
32203         link: fix platform bugs
32204         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
32205         * lib/link.c (link): Work around them.  Fix related mingw bug.
32206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
32207         * modules/unistd (Makefile.am): Substitute it.
32208         * lib/unistd.in.h (link): Declare replacement.
32209         * doc/posix-functions/link.texi (link): Document this.
32210         * modules/link (Depends-on): Add strdup-posix, sys_stat.
32211
32212         test-link: consolidate into single C program, test more cases
32213         * tests/test-link.sh: Delete.
32214         * tests/test-link.c: Test more error conditions.  Exposes bugs on
32215         at least Cygwin and Solaris.
32216         * modules/link-tests (Files): Remove unused file.
32217         (Depends-on): Add errno, sys_stat.
32218         (Makefile.am): Simplify.
32219
32220 2009-09-08  Bruno Haible  <bruno@clisp.org>
32221
32222         Work around towlower, towupper bug on mingw.
32223         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
32224         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
32225         * doc/posix-functions/towlower.texi: Mention the mingw bug.
32226         * doc/posix-functions/towupper.texi: Likewise.
32227         Reported by Eric Blake.
32228
32229 2009-09-08  Jim Meyering  <meyering@redhat.com>
32230
32231         build: don't try to run autoheader if we don't use it
32232         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
32233         is not used in configure.ac.
32234
32235 2009-09-08  Eric Blake  <ebb9@byu.net>
32236
32237         euidaccess: fix compilation error
32238         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
32239
32240         rawmemchr: relax license
32241         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
32242         okay.
32243         Reported by Jim Meyering.
32244
32245         mkfifoat: new module
32246         * modules/mkfifoat: New file.
32247         * lib/mkfifoat.c: Likewise.
32248         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
32249         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
32250         * modules/sys_stat (Makefile.am): Use them.
32251         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
32252         * MODULES.html.sh (File system functions): Mention module.
32253         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
32254         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
32255         * modules/mkfifoat-tests: New test.
32256         * tests/test-mkfifoat.c: Likewise.
32257
32258         strchrnul: relax license
32259         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
32260         okay.
32261         Reported by Jim Meyering.
32262
32263 2009-09-08  Eric Blake  <ebb9@byu.net>
32264
32265         fstatat: fix compilation on Solaris
32266         * lib/fstatat.c (includes): Add fcntl.h.
32267         Reported by Pádraig Brady.
32268
32269 2009-09-07  Eric Blake  <ebb9@byu.net>
32270
32271         rename: modernize replacement
32272         * modules/rename (Depends-on): Add stdio.
32273         (configure.ac): Declare witness.
32274         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
32275         stdio take care of replacement.
32276         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
32277         * modules/stdio (Makefile.am): Substitute them.
32278         * lib/stdio.in.h (rename): Declare replacement.
32279         * lib/rename.c (includes): Allow cross-compilation to non-windows
32280         machines.
32281         * doc/posix-functions/rename.texi (rename): Improve
32282         documentation.
32283
32284         stdio: sort witness names
32285         * modules/stdio (Makefile.am): Sort replacements.
32286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
32287         * lib/stdio.in.h: Likewise.
32288
32289         getcwd: minor cleanups
32290         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
32291         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
32292
32293         openat: provide more convenience names
32294         * modules/faccessat (configure.ac): Add C witness.
32295         * lib/unistd.in.h (readlinkat): Fix typo.
32296         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
32297         convenience wrappers.
32298         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
32299         wrappers in syntax checks.
32300
32301 2009-09-06  Eric Blake  <ebb9@byu.net>
32302
32303         doc: fix comments in recent patches
32304         * lib/faccessat.c: Mention correct function.
32305         * lib/fchmodat.c: Likewise.
32306         * lib/fchownat.c: Likewise.
32307         * lib/symlinkat.c: Likewise.
32308         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
32309         constants.
32310
32311         faccessat, symlinkat: continue cleanup of previous patch
32312         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
32313         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
32314         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
32315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
32316         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
32317         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
32318         set.
32319
32320 2009-09-06  Bruno Haible  <bruno@clisp.org>
32321
32322         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
32323         (fstatat): Declare if GNULIB_FSTATAT is set.
32324         (mkdirat): Declare if GNULIB_MKDIRAT is set.
32325         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
32326         (unlinkat): Declare if GNULIB_UNLINKAT is set.
32327         * modules/fcntl-h (Files): Remove m4/openat.m4.
32328         * modules/sys_stat (Files): Remove m4/openat.m4.
32329         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
32330         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
32331         * modules/unistd (Files): Remove m4/openat.m4.
32332         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
32333         GNULIB_OPENAT.
32334         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
32335         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
32336         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
32337         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
32338         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
32339         gl_OPENAT_DEFAULTS.
32340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
32341         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
32342         Don't require gl_OPENAT_DEFAULTS.
32343         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
32344         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
32345         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
32346         (gl_OPENAT_DEFAULTS): Remove macro.
32347
32348 2009-09-06  Bruno Haible  <bruno@clisp.org>
32349
32350         * modules/openat (configure.ac): Remove unneeded witness.
32351
32352 2009-09-06  Bruno Haible  <bruno@clisp.org>
32353
32354         Set errno to ENOSYS when a function is entirely unsupported.
32355         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
32356         EOPNOTSUPP.
32357         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
32358         * modules/chown (Depends-on): Remove errno.
32359
32360 2009-09-06  Bruno Haible  <bruno@clisp.org>
32361
32362         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
32363
32364 2009-09-06  Bruno Haible  <bruno@clisp.org>
32365
32366         * lib/sys_stat.in.h: Fix preprocessor command indentation.
32367
32368 2009-09-06  Ben Pfaff  <blp@gnu.org>
32369             Bruno Haible  <bruno@clisp.org>
32370
32371         Work around a glibc bug in strtok_r.
32372         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
32373         Undefine if UNDEFINE_STRTOK_R is set.
32374         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
32375         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32376         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
32377         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
32378         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
32379         UNDEFINE_STRTOK_R.
32380         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
32381
32382 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
32383
32384         exclude: minor fix
32385         * lib/exclude.c: Include wctype.h
32386
32387 2009-09-06  Akim Demaille  <demaille@gostai.com>
32388
32389         bootstrap: improve error message
32390         * build-aux/bootstrap (find_tool): Upon failure, report the list
32391         of candidates.
32392         Honor the initial value of the envvar.
32393
32394 2009-09-05  Eric Blake  <ebb9@byu.net>
32395
32396         symlinkat: new module
32397         * modules/symlinkat: New file.
32398         * lib/symlinkat.c: Likewise.
32399         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
32400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
32401         * modules/unistd (Makefile.am): Use them.
32402         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
32403         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
32404         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
32405         * MODULES.html.sh (File system functions): Mention module.
32406         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
32407         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
32408         * modules/symlinkat-tests: New test.
32409         * tests/test-symlinkat.c: Likewise.
32410
32411         test-openat-safer: add more checks
32412         * tests/test-openat-safer.c (main): Check more code paths.
32413
32414 2009-09-05  Jim Meyering  <meyering@redhat.com>
32415
32416         syntax-check: detect unnecessary inclusion of openat.h
32417         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
32418
32419 2009-09-05  Bruno Haible  <bruno@clisp.org>
32420
32421         Support towlower, towupper.
32422         * doc/posix-functions/towlower.texi: Mention module wctype.
32423         * doc/posix-functions/towupper.texi: Likewise.
32424         * lib/wctype.in.h (towlower, towupper): New functions.
32425         * tests/test-wctype.c: Include stdio.h, stdlib.h.
32426         (ASSERT): New macro.
32427         (e): New variable.
32428         (main): Test also towlower, towupper. Test WEOF argument.
32429         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32430
32431 2009-09-05  Bruno Haible  <bruno@clisp.org>
32432
32433         Fix conversion behaviour when the input is invalid.
32434         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
32435         mark occurring in first pass of indirect conversion.
32436         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
32437         input.
32438         Found by clang's static analyzer.
32439
32440 2009-09-05  Bruno Haible  <bruno@clisp.org>
32441
32442         * tests/test-striconveh.c (main): Test indirect conversion on platforms
32443         where direct conversion is possible.
32444
32445 2009-09-04  Eric Blake  <ebb9@byu.net>
32446
32447         openat: fail with ENOENT on empty name
32448         * lib/openat-proc.c (openat_proc_name): Special-case the empty
32449         buffer.
32450
32451         link-follow: fix logic bug in prior patch
32452         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
32453         reversed sense of yes and no in prior patch.  Avoid confusing
32454         compilation failure with desired semantics.
32455
32456         link-follow: accomodate mingw and cross-compilation
32457         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
32458         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
32459         cross-compilation results to -1, to make linkat easier to
32460         implement when cross-compiling.  Trivially support mingw.
32461         * modules/link-follow (configure.ac): Call new name.
32462         * NEWS: Mention this.
32463
32464 2009-09-03  Eric Blake  <ebb9@byu.net>
32465
32466         faccessat: compile replacement
32467         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
32468         needed.
32469
32470         fts: fix compilation error
32471         * lib/fts.c (includes): Re-add "openat.h", for
32472         openat_needs_fchdir.
32473
32474         faccessat: new module
32475         * modules/faccessat: New file.
32476         * lib/faccessat.c: Likewise.
32477         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
32478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32479         * modules/unistd (Makefile.am): Use it.
32480         * lib/unistd.in.h (faccessat): Declare it.
32481         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
32482         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
32483         * MODULES.html.sh (File system functions): Mention it.
32484         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
32485         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
32486
32487         euidaccess: prefer POSIX over non-standard implementation
32488         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
32489         * lib/euidaccess.c (euidaccess): Use it if available.
32490
32491         openat: make template easier to use
32492         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
32493         AT_FUNC_F2 to be undefined.
32494         (VALIDATE_FLAG): New macro; use it to reject bad flags.
32495         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
32496         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
32497         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
32498         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
32499         Likewise.
32500         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
32501         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
32502         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
32503         Likewise.
32504
32505         openat: declare in POSIX headers
32506         * NEWS: Mention this.
32507         * modules/openat (configure.ac): Declare witnesses.
32508         (Depends-on): Add fcntl-h, sys_stat, unistd.
32509         (Include): Mention correct headers.
32510         * modules/fcntl-h (Depends-on): Add link-warning.
32511         (Files): Add openat.m4.
32512         (Makefile.am): Substitute witnesses.
32513         * modules/sys_stat (Files, Makefile.am): Likewise.
32514         * modules/unistd (Files, Makefile.am): Likewise.
32515         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
32516         (gl_OPENAT_DEFAULTS): New macro.
32517         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
32518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
32519         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
32520         (SYS_STAT_H): Remove unused variable.
32521         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
32522         * lib/fcntl--.h (includes): Remove unneeded header.
32523         * lib/openat-safer.c (includes): Likewise.
32524         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
32525         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
32526         appropriate headers.
32527         (__OPENAT_PREFIX): Delete.
32528         * lib/fcntl.in.h (openat): Provide declaration.
32529         (AT_FDCWD): Fix Solaris bug.
32530         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
32531         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
32532         * lib/fchmodat.c (includes):  Adjust to find declaration.
32533         * lib/fchownat.c (includes): Likewise.
32534         * lib/mkdirat.c (includes): Likewise.
32535         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
32536         still visible.
32537
32538 2009-09-02  Eric Blake  <ebb9@byu.net>
32539
32540         errno: use consistently
32541         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
32542         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
32543         * lib/canonicalize.c (ELOOP): Likewise.
32544         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
32545         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
32546         * lib/lchown.c (EOPNOTSUPP): Likewise.
32547         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
32548         * lib/savewd.c (ESTALE): Likewise.
32549         * lib/settime.c (ENOSYS): Likewise.
32550         * lib/utimens.c (ENOSYS): Likewise.
32551         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
32552         * lib/chdir-safer.c (ELOOP): Likewise.
32553         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
32554         * modules/c-stack (Depends-on): Add errno.
32555         * modules/canonicalize (Depends-on): Likewise.
32556         * modules/chdir-safer (Depends-on): Likewise.
32557         * modules/fdopendir (Depends-on): Likewise.
32558         * modules/inet_ntop (Depends-on): Likewise.
32559         * modules/inet_pton (Depends-on): Likewise.
32560         * modules/lchown (Depends-on): Likewise.
32561         * modules/openat (Depends-on): Likewise.
32562         * modules/savewd (Depends-on): Likewise.
32563         * modules/settime (Depends-on): Likewise.
32564         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
32565
32566         fts: avoid leaking fds
32567         * modules/fts (Depends-on): Add cloexec.
32568         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
32569         flag.
32570
32571         fts: make directory fds more robust
32572         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
32573         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
32574
32575         backupfile, chdir-long, fts, savedir: make safer
32576         * lib/backupfile.c (includes): Use "dirent--.h", since
32577         numbered_backup can write to stderr during readdir.
32578         * lib/savedir.c (includes): Likewise.
32579         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
32580         emulation can write to stderr on failure.
32581         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
32582         * lib/getcwd.c: Document why opendir_safer is unused.
32583         * lib/glob.c: Likewise.
32584         * lib/scandir.c: Likewise.
32585         * lib/openat-proc.c: Likewise, for open_safer.
32586         * modules/backupfile (Depends-on): Add dirent-safer.
32587         * modules/savedir (Depends-on): Likewise.
32588         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
32589         * modules/chdir-long (Depends-on): Add openat-safer.
32590
32591         openat-safer: new module
32592         * modules/openat-safer: New file.
32593         * lib/openat-safer.c: Likewise.
32594         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
32595         * lib/fcntl-safer.h (openat_safer): Declare.
32596         * lib/fcntl--.h (openat): Override.
32597         * MODULES.html.sh (File descriptor based I/O): Mention it.
32598         * lib/openat.h: Add double-inclusion guards.
32599         * lib/openat.c (includes): Only include "fcntl-safer.h", not
32600         "fcntl--.h", so we can implement openat.
32601         * modules/openat-safer-tests: New test.
32602         * tests/test-openat-safer.c: New file.
32603
32604         dirent-safer: new module
32605         * modules/dirent-safer: New file.
32606         * lib/dirent--.h: Likewise.
32607         * lib/dirent-safer.h: Likewise.
32608         * lib/opendir-safer.c: Likewise.
32609         * m4/dirent-safer.m4: Likewise.
32610         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
32611         * modules/dirent-safer-tests: New test.
32612         * tests/test-dirent-safer.c: New file.
32613         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
32614
32615         fdopendir: optimize on mingw
32616         * lib/unistd.in.h (_gl_directory_name): New prototype.
32617         * lib/fchdir.c (_gl_directory_name): Implement it.
32618         (fchdir): Use it to simplify implementation.
32619         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
32620         fchdir, when available, to avoid calling [f]chdir().
32621
32622         fdopendir: split into its own module
32623         * lib/openat.c (fdopendir): Move...
32624         * lib/fdopendir.c: ...into new file.
32625         * modules/fdopendir: New module.
32626         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
32627         * modules/openat (Depends-on): Add fdopendir.
32628         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
32629         fdopendir here.
32630         * modules/savedir (Depends-on): Only need fdopendir, not full
32631         openat.
32632         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
32633         * lib/openat.h (fdopendir): Drop prototype.
32634         * lib/dirent.in.h (fdopendir): Provide prototype.
32635         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
32636         * modules/dirent (Makefile.am): Substitute them.
32637         * MODULES.html.sh (File system functions): Mention it.
32638         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
32639         * modules/fdopendir-tests: New file.
32640         * tests/test-fdopendir.c: Likewise.
32641
32642         fchdir: use more consistent macro convention
32643         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
32644         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
32645         REPLACE_FCHDIR, rather than relying on config.h macros.
32646         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
32647         inside a single make-time REPLACE_FCHDIR block, rather than using
32648         the config.h FCHDIR_REPLACEMENT.
32649         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
32650         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
32651         Manage fstat replacement.
32652         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
32653         REPLACE_FCHDIR.
32654         * modules/sys_stat (Files): Add m4/unistd_h.m4.
32655         (Makefile.am): Substitute REPLACE_FCHDIR.
32656         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
32657         FCHDIR_REPLACEMENT.
32658         * lib/dup-safer.c (dup_safer): Likewise.
32659         * lib/dup2.c (rpl_dup2): Likewise.
32660         * lib/dup3.c (rpl_dup3): Likewise.
32661         * lib/open.c (rpl_open): Likewise.
32662
32663         fchdir: simplify error handling, and support dup3
32664         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
32665         stdbool, malloc-posix, realloc-posix.
32666         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
32667         (ensure_dirs_slot): Return false on allocation failure.
32668         (rpl_dup2): Delete.
32669         (_gl_register_dup): New function.
32670         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
32671         (_gl_register_fd): Close fd on allocation failure.
32672         * lib/fcntl.in.h (_gl_register_fd): Update signature.
32673         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
32674         prototype.
32675         (rpl_dup2_fchdir): Delete prototype.
32676         * lib/open.c (open): Update caller.
32677         * lib/dup2.c (dup2): Track fchdir metadata.
32678         * lib/dup3.c (dup3): Likewise.
32679         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
32680         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
32681
32682 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32683
32684         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
32685         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
32686         don't pass arguments to AC_OUTPUT.
32687
32688 2009-09-02  Bruno Haible  <bruno@clisp.org>
32689
32690         * modules/mkdtemp (License): Relicense under LGPLv2+.
32691         Reported by Paolo Bonzini.
32692
32693 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32694
32695         Replace uses of obsolete autoconf macros in Jim's modules.
32696         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
32697         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
32698         can evoke a warning from autoconf when run with -Wobsolete
32699         enabled.  They were declared obsolete for good reasons (see
32700         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
32701         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
32702         should not continue using the deprecated macros.
32703         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
32704         obsolete Autoconf macros with modern counterparts.
32705         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
32706         * m4/dos.m4 (gl_AC_DOS): Likewise.
32707         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
32708         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
32709         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
32710         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
32711         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
32712         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
32713         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
32714         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
32715         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
32716         Likewise.
32717         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
32718         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
32719         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
32720         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
32721         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
32722         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
32723
32724 2009-09-01  Eric Blake  <ebb9@byu.net>
32725
32726         fchdir: fix off-by-one bug in previous patch
32727         * lib/fchdir.c (rpl_fstat): Use correct bounds.
32728         (_gl_unregister_fd): Delete useless if.
32729
32730 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
32731
32732         maint.mk: sort the list of syntax-check rules
32733         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
32734         easier to get a sense of progress when the rules are run sequentially
32735         and take a long time.
32736
32737 2009-09-01  Simon Josefsson  <simon@josefsson.org>
32738
32739         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
32740         * modules/netinet_in: Likewise.
32741         * modules/sys_file: Likewise.
32742         * modules/sys_ioctl: Likewise.
32743         * modules/sys_select: Likewise.
32744         * modules/sys_socket: Likewise.
32745         * modules/sys_stat: Likewise.
32746         * modules/sys_time: Likewise.
32747         * modules/sys_times: Likewise.
32748         * modules/sys_utsname: Likewise.
32749         * modules/sys_wait: Likewise.
32750
32751 2009-09-01  Jim Meyering  <meyering@redhat.com>
32752
32753         fts: help ensure that return values are not ignored
32754         * lib/fts_.h (__GNUC_PREREQ): Define.
32755         (__attribute_warn_unused_result__): Define.
32756         (fts_children, fts_close, fts_open, fts_read): Declare with
32757         __attribute_warn_unused_result__.
32758
32759         fts: fts_close now fails also when closing a dir file descriptor fails
32760         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
32761         and propagate to caller, along with errno.
32762
32763         announce-gen: correct formatting in --help output
32764         * build-aux/announce-gen (usage): Move the one-line description in
32765         --help output "up", to where it belongs, just after Usage:.
32766
32767 2009-08-31  Eric Blake  <ebb9@byu.net>
32768
32769         fchdir: port to mingw
32770         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
32771         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
32772         opened, then use a substitute.
32773         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
32774         replacement.
32775         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
32776         (_gl_register_fd): No need to check stat if open already filters
32777         all directories.
32778         (fchdir): Fix error condition to match POSIX.
32779         * modules/fchdir (Depends-on): Add sys_stat.
32780         * doc/posix-functions/open.texi (open): Document the limitation.
32781         * modules/fchdir-tests: New file.
32782         * tests/test-fchdir.c: Likewise.
32783
32784         canonicalize: allow cross-testing from cygwin to mingw
32785         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
32786         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
32787         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
32788         Likewise.
32789         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
32790         target does not support symlinks.
32791         * tests/test-canonicalize-lgpl.sh: Likewise.
32792
32793         chown: avoid compilation warning on mingw
32794         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
32795         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
32796         mingw.
32797         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
32798         * modules/chown (Depends-on): Add errno.
32799
32800 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
32801
32802         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
32803         command.
32804
32805 2009-08-31  Jim Meyering  <meyering@redhat.com>
32806
32807         canonicalize: remove useless initialization
32808         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
32809         initialization of local, "end".
32810
32811 2009-08-30  Bruno Haible  <bruno@clisp.org>
32812
32813         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
32814         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
32815         ENOSYS.
32816
32817 2009-08-30  Bruno Haible  <bruno@clisp.org>
32818
32819         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
32820         /usr/xpg4/bin/tr when it exists.
32821         * tests/test-pipe-filter-gi1.sh: Likewise.
32822
32823 2009-08-30  Bruno Haible  <bruno@clisp.org>
32824
32825         Work around deficient /usr/bin/id program on Solaris.
32826         * tests/test-file-has-acl.sh (ID): New variable.
32827         * tests/test-set-mode-acl.sh (ID): Likewise.
32828         * tests/test-copy-acl.sh (ID): Likewise.
32829         * tests/test-copy-file.sh (ID): Likewise.
32830
32831 2009-08-30  Bruno Haible  <bruno@clisp.org>
32832
32833         New module 'xstriconveh'.
32834         * lib/xstriconveh.h: New file.
32835         * lib/xstriconveh.c: New file.
32836         * modules/xstriconveh: New file.
32837
32838 2009-08-30  Bruno Haible  <bruno@clisp.org>
32839
32840         Make it easier to use mem_cd_iconveh.
32841         * lib/striconveh.h (iconveh_t): New type.
32842         (iconveh_open, iconveh_close): New declarations.
32843         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
32844         with a single 'const iconveh_t *' argument.
32845         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
32846         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
32847         with a single 'const iconveh_t *' argument.
32848         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
32849         * tests/test-striconveh.c (main): Update.
32850         * NEWS: Mention the change.
32851
32852 2009-08-30  Bruno Haible  <bruno@clisp.org>
32853
32854         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
32855         problem.
32856
32857 2009-08-30  Bruno Haible  <bruno@clisp.org>
32858
32859         Work around iconv_open problem on Solaris.
32860         * lib/iconv_open-solaris.gperf: New file.
32861         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
32862         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
32863         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
32864         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
32865         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
32866         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
32867
32868 2009-08-29  Jim Meyering  <meyering@redhat.com>
32869
32870         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
32871         * top/maint.mk (cvs-check): Remove target; it was just an alias
32872         to the better-named vc-diff-check.
32873         (maintainer-distcheck): Remove rule.  It was used only from
32874         the (alpha/beta/major) target, and all of its commands but one
32875         were coreutils-specific.
32876         (vc-dist): Remove rule.
32877         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
32878         Run vc-diff-check, not vc-dist.
32879         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
32880
32881 2009-08-27  Bruno Haible  <bruno@clisp.org>
32882
32883         * tests/test-bitrotate.c (main): Remove test that uses a shift count
32884         of 0.
32885
32886 2009-08-27  Bruno Haible  <bruno@clisp.org>
32887
32888         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
32889         compilers.
32890         * doc/func.texi: Document the SunPRO C bug.
32891
32892 2009-08-27  Bruno Haible  <bruno@clisp.org>
32893
32894         Fix link error on Solaris.
32895         * tests/test-parse-duration.c (xstrdup): Remove function.
32896
32897 2009-08-26  Pádraig Brady  <P@draigbrady.com>
32898
32899         ignore-value: handle pointer types, too
32900         * lib/ignore-value.h (__attribute__): Remove definition.
32901         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
32902         of a more concise and more-often effective "(void) i" statement.
32903         (ignore_ptr): New function to suppress warnings from functions that
32904         return pointers, and to make it explicit that one function doesn't
32905         handle all cases.
32906
32907 2009-08-25  Bruno Haible  <bruno@clisp.org>
32908
32909         dup2: work around a Linux bug.
32910         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
32911         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
32912         * doc/posix-functions/dup2.texi: Mention the Linux bug.
32913         Reported by Simon Josefsson.
32914
32915 2009-08-25  Jim Meyering  <meyering@redhat.com>
32916
32917         libguestfs uses gnulib
32918         * users.txt: Add libguestfs.
32919
32920 2009-08-24  Eric Blake  <ebb9@byu.net>
32921
32922         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
32923         * lib/pipe2.c (includes): Add binary-io.h.
32924         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
32925
32926 2009-08-24  Bruno Haible  <bruno@clisp.org>
32927
32928         Tolerate declared but missing accept4 syscall.
32929         * lib/accept4.c (accept4): Invoke original accept4 function first, if
32930         available.
32931         * lib/sys_socket.in.h (accept4): If the function is already present,
32932         override it.
32933         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
32934         * modules/accept4 (Makefile.am): Compile accept4.c always.
32935         Reported by Paolo Bonzini and Eric Blake.
32936
32937 2009-08-23  Bruno Haible  <bruno@clisp.org>
32938
32939         New module 'accept4'.
32940         * lib/sys_socket.in.h (accept4): New declaration.
32941         * lib/accept4.c: New file.
32942         * m4/accept4.m4: New file.
32943         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
32944         GNULIB_ACCEPT4, HAVE_ACCEPT4.
32945         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
32946         HAVE_ACCEPT4.
32947         * modules/accept4: New file.
32948         * doc/glibc-functions/accept4.texi: Mention the new module.
32949
32950 2009-08-24  Jim Meyering  <meyering@redhat.com>
32951
32952         progname: also set global program_invocation_name, when possible
32953         Before this change, a libtool-enabled program that calls glibc's
32954         error function would report the program name as
32955         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
32956         * modules/progname (configure.ac): Check for a declaration of
32957         program_invocation_name.
32958         * lib/progname.c:  Include <errno.h>.
32959         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
32960         Set program_invocation_name.
32961
32962 2009-08-23  Bruno Haible  <bruno@clisp.org>
32963
32964         * lib/dup3.c: Include <string.h>.
32965
32966 2009-08-23  Bruno Haible  <bruno@clisp.org>
32967
32968         * lib/dup3.c (dup3): Test only once whether the system actually exists.
32969         * lib/pipe2.c (pipe2): Likewise.
32970         Suggested by Eric Blake.
32971
32972 2009-08-23  Bruno Haible  <bruno@clisp.org>
32973
32974         Tolerate declared but missing dup3 syscall.
32975         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
32976         * lib/unistd.in.h (dup3): If the function is already present,
32977         override it.
32978         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
32979         * modules/dup3 (Makefile.am): Compile dup3.c always.
32980         Reported by Paolo Bonzini.
32981
32982 2009-08-23  Bruno Haible  <bruno@clisp.org>
32983
32984         Tolerate declared but missing pipe2 syscall.
32985         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
32986         available.
32987         * lib/unistd.in.h (pipe2): If the function is already present,
32988         override it.
32989         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
32990         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
32991         Reported by Paolo Bonzini.
32992
32993 2009-08-23  Bruno Haible  <bruno@clisp.org>
32994
32995         * lib/pipe2.c (pipe2): Move #ifs inside function.
32996
32997 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
32998
32999         quotearg: document limitations of quote_these_too
33000         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
33001         those limitations are created.
33002         * lib/quotearg.h (set_char_quoting): Document that digits and
33003         letters that are special after backslash are not permitted.
33004         (quotearg_char): Cross-reference set_char_quoting documentation.
33005
33006 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
33007
33008         quotearg: implement custom_quoting_style
33009         * lib/quotearg.c: (struct quoting_options): Add left_quote and
33010         right_quote fields.
33011         (set_custom_quoting): New public function.
33012         (quotearg_buffer_restyled): Add left_quote and right_quote
33013         arguments, handle them very much like locale quoting, and update
33014         all uses.
33015         (quotearg_n_custom): New public function.
33016         (quotearg_n_custom_mem): New public function.
33017         (quotearg_custom): New public function.
33018         (quotearg_custom_mem): New public function.
33019         * lib/quotearg.h: Prototype and document new public functions.
33020         (enum quoting_style): For escape_quoting_style and
33021         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
33022         ignored even though they're otherwise like c_quoting_style.
33023         Add custom_quoting_style member and document with comparison to
33024         clocale_quoting_style.
33025         * tests/test-quotearg.c (custom_quotes): New array.
33026         (custom_results): New array.
33027         (main): Extend to test custom quoting.
33028
33029 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
33030
33031         quotearg: fix right quote escaping when it's in quote_these_too
33032         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
33033         quote, be sure to prepend only one backslash.
33034         * tests/test-quotearg.c (use_quote_double_quotes): New function.
33035         (main): Test it.
33036
33037 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
33038
33039         quotearg-tests: test escaping of embedded locale quotes
33040         * tests/test-quotearg.c (struct result_strings): Add member for
33041         new input.
33042         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
33043         (inputs): Add new input.
33044         (results_g): Add expected results.
33045         (flag_results): Likewise.
33046         (locale_results): Likewise.
33047         (compare_strings): Check those.
33048
33049 2009-08-23  Bruno Haible  <bruno@clisp.org>
33050
33051         Tests for module 'dup3'.
33052         * modules/dup3-tests: New file.
33053         * tests/test-dup3.c: New file.
33054
33055         New module 'dup3'.
33056         * lib/unistd.in.h (dup3): New declaration.
33057         * lib/dup3.c: New file.
33058         * m4/dup3.m4: New file.
33059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
33060         HAVE_DUP3.
33061         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
33062         * modules/dup3: New file.
33063         * doc/glibc-functions/dup3.texi: Mention the new module.
33064
33065 2009-08-23  Bruno Haible  <bruno@clisp.org>
33066
33067         Tweak the dup2 test.
33068         * tests/test-dup2.c (main): Create the test file empty. Verify that an
33069         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
33070         the test file is still empty. Fix argument order of lseek.
33071
33072 2009-08-23  Bruno Haible  <bruno@clisp.org>
33073
33074         Avoid test link errors when the modules getopt-gnu, gettext are used.
33075         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
33076         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33077
33078 2009-08-23  Bruno Haible  <bruno@clisp.org>
33079
33080         Fix getdtablesize() on mingw.
33081         * lib/getdtablesize.c (getdtablesize): Implement differently.
33082         * lib/unistd.in.h (getdtablesize): Improve comment.
33083
33084 2009-08-23  Bruno Haible  <bruno@clisp.org>
33085
33086         New module 'mkostemp'.
33087         Based on Ulrich Drepper's 2007-08-10 change in glibc.
33088         * lib/stdlib.in.h (mksotemp): New declaration.
33089         * lib/mkostemp.c: New file, from glibc with modifications.
33090         * lib/tempname.h (GT_FILE): Remove outdated comment.
33091         (gen_tempname): Add flags argument.
33092         * lib/tempname.c (__GT_BIGFILE): Remove macro.
33093         (__GT_FILE): Map to 1.
33094         (small_open, large_open): Remove macros.
33095         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
33096         * lib/mkstemp.c (mkstemp): Update.
33097         * lib/mkdtemp.c (mkdtemp): Likewise.
33098         * m4/mkostemp.m4: New file.
33099         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
33100         HAVE_MKOSTEMP.
33101         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
33102         HAVE_MKOSTEMP.
33103         * modules/mkostemp: New file, based on modules/mkstemp.
33104         * doc/glibc-functions/mkostemp.texi: Mention the new module.
33105         * NEWS: Mention the change.
33106
33107 2009-08-23  Bruno Haible  <bruno@clisp.org>
33108
33109         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
33110         Reported by Eric Blake.
33111
33112 2009-08-23  Bruno Haible  <bruno@clisp.org>
33113
33114         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
33115         Reported by Eric Blake.
33116
33117 2009-08-23  Bruno Haible  <bruno@clisp.org>
33118
33119         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
33120         * modules/pipe2 (Depends-on): Likewise.
33121
33122 2009-08-23  Eric Blake  <ebb9@byu.net>
33123
33124         fcntl-h: add O_TTY_INIT support
33125         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
33126         * tests/test-fcntl-h.c (o): Test it.
33127         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33128
33129         fcntl-h: rename from fcntl, in preparation for fcntl(2)
33130         * modules/fcntl: Move <fcntl.h> header replacement...
33131         * modules/fcntl-h: ...to new name, so as not to collide with
33132         like-named function.
33133         * tests/test-fcntl.c: Rename...
33134         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
33135         * modules/fcntl-tests: Rename...
33136         * modules/fcntl-h-tests: ...to this.  Update test file name.
33137         * modules/chdir-long (Depends-on): Update clients.
33138         * modules/chdir-safer (Depends-on): Likewise.
33139         * modules/fcntl-safer (Depends-on): Likewise.
33140         * modules/fts (Depends-on): Likewise.
33141         * modules/mkancesdirs (Depends-on): Likewise.
33142         * modules/mkdir-p (Depends-on): Likewise.
33143         * modules/open (Depends-on): Likewise.
33144         * modules/savewd (Depends-on): Likewise.
33145         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
33146         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33147
33148 2009-08-22  Bruno Haible  <bruno@clisp.org>
33149
33150         * modules/binary-io (License): Relicense under LGPL.
33151         * modules/pipe2 (License): Likewise.
33152
33153 2009-08-22  Bruno Haible  <bruno@clisp.org>
33154
33155         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
33156         return value.
33157         * lib/pipe-filter-gi.c (filter_init): Likewise.
33158         Reported by Eric Blake.
33159
33160 2009-08-22  Bruno Haible  <bruno@clisp.org>
33161
33162         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
33163         * modules/pipe (Depends-on): Add pipe2.
33164
33165 2009-08-22  Bruno Haible  <bruno@clisp.org>
33166
33167         Tests for module 'pipe2'.
33168         * modules/pipe2-tests: New file.
33169         * tests/test-pipe2.c: New file.
33170
33171         New module 'pipe2'.
33172         * lib/unistd.in.h (pipe2): New declaration.
33173         * lib/pipe2.c: New file.
33174         * m4/pipe2.m4: New file.
33175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
33176         HAVE_PIPE2.
33177         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
33178         * modules/pipe2: New file.
33179         * doc/glibc-functions/pipe2.texi: Mention the new module.
33180
33181 2009-08-22  Bruno Haible  <bruno@clisp.org>
33182
33183         Reference some new glibc functions.
33184         * doc/glibc-functions/accept4.texi: New file.
33185         * doc/glibc-functions/dup3.texi: New file.
33186         * doc/glibc-functions/mkostemp.texi: New file.
33187         * doc/glibc-functions/pipe2.texi: New file.
33188         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
33189         (Glibc sys/socket.h): Refer to accept4.
33190         (Glibc unistd.h): Refer to dup3, pipe2.
33191         Reported by Eric Blake.
33192
33193 2009-08-22  Jim Meyering  <meyering@redhat.com>
33194             Bruno Haible  <bruno@clisp.org>
33195
33196         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
33197         This makes it so packages using automake-1.11's silent-rules option
33198         can print e.g., a single "GEN    configmake.h" line, rather than
33199         the 30+ statements that perform the job.  If you want to see the
33200         actual commands, you can still run "make V=1".
33201         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
33202         so that make output is abbreviated when those variables are defined
33203         appropriately.
33204         * modules/argz: Likewise.
33205         * modules/arpa_inet: Likewise.
33206         * modules/byteswap: Likewise.
33207         * modules/configmake: Likewise.
33208         * modules/dirent: Likewise.
33209         * modules/errno: Likewise.
33210         * modules/fcntl: Likewise.
33211         * modules/float: Likewise.
33212         * modules/fnmatch: Likewise.
33213         * modules/getopt-posix: Likewise.
33214         * modules/glob: Likewise.
33215         * modules/iconv_open: Likewise.
33216         * modules/inttypes: Likewise.
33217         * modules/localcharset: Likewise.
33218         * modules/locale: Likewise.
33219         * modules/math: Likewise.
33220         * modules/netdb: Likewise.
33221         * modules/netinet_in: Likewise.
33222         * modules/poll: Likewise.
33223         * modules/posix_spawnp-tests: Likewise.
33224         * modules/sched: Likewise.
33225         * modules/search: Likewise.
33226         * modules/selinux-h: Likewise.
33227         * modules/signal: Likewise.
33228         * modules/spawn: Likewise.
33229         * modules/stdarg: Likewise.
33230         * modules/stdbool: Likewise.
33231         * modules/stddef: Likewise.
33232         * modules/stdint: Likewise.
33233         * modules/stdio: Likewise.
33234         * modules/stdlib: Likewise.
33235         * modules/string: Likewise.
33236         * modules/strings: Likewise.
33237         * modules/sys_file: Likewise.
33238         * modules/sys_ioctl: Likewise.
33239         * modules/sys_select: Likewise.
33240         * modules/sys_socket: Likewise.
33241         * modules/sys_stat: Likewise.
33242         * modules/sys_time: Likewise.
33243         * modules/sys_times: Likewise.
33244         * modules/sys_utsname: Likewise.
33245         * modules/sys_wait: Likewise.
33246         * modules/sysexits: Likewise.
33247         * modules/time: Likewise.
33248         * modules/unistd: Likewise.
33249         * modules/wchar: Likewise.
33250         * modules/wctype: Likewise.
33251
33252 2009-08-22  Jim Meyering  <meyering@redhat.com>
33253
33254         announce-gen: detect write failure
33255         * build-aux/announce-gen: Add Coda at end.
33256         Remove equivalent-but-more-verbose block at top.
33257
33258 2009-08-19  Akim Demaille  <demaille@gostai.com>
33259
33260         bootstrap: --help to stdout.
33261         * bootstrap (usage): Don't send --help to stderr.
33262         Use a here doc instead of a long string.
33263
33264 2009-08-21  Eric Blake  <ebb9@byu.net>
33265
33266         test-popen-safer: split from test-popen
33267         * tests/test-popen.c (main): Move...
33268         * tests/test-popen.h: ...into new file.
33269         * tests/test-popen-safer2.c: New file.
33270         * modules/popen-tests (Files): Add test-popen.h.
33271         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
33272         Suggested by Bruno Haible.
33273
33274         test-fcntl-safer: split from test-open
33275         * tests/test-open.c (main): Move...
33276         * tests/test-open.h: ...into new file.
33277         * tests/test-fcntl-safer.c: New file.
33278         * modules/open-tests (Files): Add test-open.h.
33279         * modules/fcntl-safer-tests: New file.
33280         Suggested by Bruno Haible.
33281
33282         test-fopen-safer: split from test-fopen
33283         * tests/test-fopen.c (main): Move...
33284         * tests/test-fopen.h: ...into new file.
33285         * tests/test-fopen-safer.c: New file.
33286         * modules/fopen-tests (Files): Add test-fopen.h.
33287         * modules/fopen-safer-tests: New file.
33288         Suggested by Bruno Haible.
33289
33290 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
33291
33292         popen-safer: test O_CLOEXEC at run-time.
33293         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
33294
33295 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
33296
33297         fcntl: move more flags to the header
33298         * lib/cloexec.c: Do not define FD_CLOEXEC here.
33299         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
33300         * lib/fcntl.in.h: Do both things here.
33301
33302 2009-08-21  Jim Meyering  <meyering@redhat.com>
33303
33304         consistently remove $@-t before redirecting to it
33305         * modules/argz: Remove $@-t and $@ before redirecting to the former.
33306         * modules/alloca-opt: Likewise.
33307         * modules/byteswap: Likewise.
33308         * modules/fnmatch: Likewise.
33309         * modules/getopt-posix: Likewise.
33310         * modules/glob: Likewise.
33311         * modules/poll: Likewise.
33312         * modules/posix_spawnp-tests: Likewise.
33313         * modules/sys_socket: Likewise.
33314         * modules/sysexits: Likewise.
33315
33316 2009-08-21  Eric Blake  <ebb9@byu.net>
33317
33318         popen: simplify access to original popen
33319         * lib/popen.c (rpl_popen): No need to worry about popen being a
33320         macro.
33321         Reported by Bruno Haible.
33322
33323 2009-08-20  Eric Blake  <ebb9@byu.net>
33324
33325         build: avoid some compiler warnings
33326         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
33327         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
33328         type.
33329         (new_exclude_segment, excluded_file_pattern_p)
33330         (excluded_file_name_p): Reduce scope.
33331         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
33332         old-style declaration.
33333
33334 2009-08-20  Simon Josefsson  <simon@josefsson.org>
33335
33336         * tests/test-exclude1.sh: Handle Windows EOL.
33337         * tests/test-exclude2.sh: Likewise.
33338         * tests/test-exclude3.sh: Likewise.
33339         * tests/test-exclude4.sh: Likewise.
33340         * tests/test-exclude5.sh: Likewise.
33341         * tests/test-exclude6.sh: Likewise.
33342         * tests/test-exclude7.sh: Likewise.
33343
33344 2009-08-19  Akim Demaille  <demaille@gostai.com>
33345
33346         bootstrap: find sha1sum when named gsha1sum.
33347         * bootstrap (find_tool): New.
33348         ($SHA1SUM): New.
33349         Use it.
33350
33351 2009-08-20  Jim Meyering  <meyering@redhat.com>
33352
33353         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
33354         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
33355         expression that converts "." in a file name to "\." in the resulting
33356         regexp.  Start with a dummy statement, so that prior shell variable
33357         definitions are expanded portably.  Reported by Simon Josefsson.
33358
33359 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
33360
33361         Fix polling for writeability of a screen buffer.
33362         * lib/poll.c: Distinguish input and screen buffers for the
33363         Win32 implementation.
33364         * lib/select.c: Likewise.
33365
33366 2009-08-19  Eric Blake  <ebb9@byu.net>
33367
33368         popen-safer: prevent popen from clobbering std descriptors
33369         * modules/popen-safer: New file.
33370         * lib/popen-safer.c: Likewise.
33371         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
33372         * lib/stdio--.h (popen): Provide override.
33373         * lib/stdio-safer.h (popen_safer): Provide declaration.
33374         * tests/test-popen.c (includes): Partially test this.
33375         * modules/popen-safer-tests: New file, for more tests.
33376         * tests/test-popen-safer.c: Likewise.
33377         * MODULES.html.sh (file stream based Input/Output): Mention it.
33378
33379         tests: test some of the *-safer modules
33380         * modules/fopen-safer (Depends-on): Add fopen.
33381         * modules/fcntl-safer (Depends-on): Add fcntl.
33382         * modules/stdlib-safer (Depends-on): Add stdlib.
33383         (configure.ac): Set indicator.
33384         * modules/unistd-safer (configure.ac): Likewise.
33385         * modules/tmpfile-safer (configure.ac): Likewise.
33386         (Depends-on): Add tmpfile.
33387         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
33388         active.
33389         * tests/test-fopen.c (includes): Test safer versions when they are
33390         in use.
33391         * tests/test-open.c (includes): Likewise.
33392
33393         popen: fix cygwin 1.5 bug when stdin closed
33394         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
33395         * modules/popen: New file.
33396         * modules/popen-tests: Likewise.
33397         * tests/test-popen.c: Likewise.
33398         * m4/popen.m4: Likewise.
33399         * lib/popen.c: Likewise.
33400         * lib/stdio.in.h (popen): New declaration.
33401         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
33402         * modules/stdio (Makefile.am): Likewise.
33403         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
33404
33405 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
33406
33407         maint.mk: give full control over update-copyright exclusions
33408         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
33409         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
33410         (update-copyright): Don't force inclusion of top-level
33411         ChangeLog.  Don't force exclusion of all COPYING files, but make
33412         them the default exclusion instead.
33413
33414 2009-08-16  Bruno Haible  <bruno@clisp.org>
33415
33416         Fix test failures on Solaris 10.
33417         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
33418         tests when Solaris iconv() is used.
33419         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
33420         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
33421         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
33422         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
33423         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
33424
33425 2009-08-16  Bruno Haible  <bruno@clisp.org>
33426
33427         Fix test failures on Solaris 10.
33428         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
33429         'tr' program and pass it as first argument.
33430         * tests/test-pipe-filter-gi1.sh: Likewise.
33431         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
33432         program as first argument.
33433         * tests/test-pipe-filter-gi1.c (main): Likewise.
33434
33435 2009-08-16  Eric Blake  <ebb9@byu.net>
33436
33437         fpurge: fix previous commits
33438         * modules/fpurge (Makefile.am): Make replacement conditional,
33439         partially reverting 2007-04-29 change; missed in previous
33440         attempt.
33441         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
33442         is missing.
33443
33444 2009-08-16  Bruno Haible  <bruno@clisp.org>
33445
33446         Clarify fpurge's effect on the file position.
33447         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
33448         * tests/test-fpurge.c (main): Make a second pass for checking the file
33449         position.
33450
33451 2009-08-16  Bruno Haible  <bruno@clisp.org>
33452
33453         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
33454         declaration of fpurge is missing.
33455         * tests/test-fpurge.c (main): Check that the file has not more contents
33456         than expected. Close the file before removing it.
33457
33458 2009-08-15  Eric Blake  <ebb9@byu.net>
33459
33460         fpurge: don't wrap working cygwin implementation
33461         * lib/fpurge.c (fpurge): Fix comment typo.
33462         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
33463         1.7 to avoid replacement.
33464         * tests/test-fpurge.c (main): Enhance test.
33465
33466 2009-08-15  Eric Blake  <ebb9@byu.net>
33467         and Jim Meyering  <meyering@redhat.com>
33468
33469         test-update-copyright: skip if perl is insufficient
33470         * tests/test-update-copyright.sh: Failure to run maintainer tool
33471         should not cause testsuite failure on cygwin 1.5.
33472
33473 2009-08-14  Eric Blake  <ebb9@byu.net>
33474
33475         doc: mention more functions added in cygwin 1.7.0
33476         * doc/posix-headers/limits.texi (limits.h): Update for recent
33477         cygwin additions.
33478         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
33479         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
33480         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
33481         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
33482         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
33483
33484 2009-08-14  Eric Blake  <ebb9@byu.net>
33485
33486         maint.mk: simplify update-copyright rule
33487         * top/maint.mk (update-copyright-local): Delete, and document how
33488         to do it in cfg.mk instead.
33489         (update-copyright-exclude-regexp): Delete, and document how to do
33490         it in .x-update-copyright instead.
33491         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
33492         exclude ChangeLog.
33493
33494 2009-08-14  Bruno Haible  <bruno@clisp.org>
33495
33496         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
33497
33498 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
33499
33500         maint.mk: support update-copyright-env
33501         * top/maint.mk (update-copyright-env): Define place-holder.
33502         (update-copyright): Expand $(update-copyright-env) before
33503         invoking update-copyright.
33504
33505 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
33506
33507         update-copyright: implement forced reformatting
33508         * build-aux/update-copyright: Implement and document
33509         UPDATE_COPYRIGHT_FORCE.
33510         * tests/test-update-copyright.sh: Test it.
33511
33512 2009-08-14  Eric Blake  <ebb9@byu.net>
33513         and Bruno Haible  <bruno@clisp.org>
33514
33515         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
33516         * tests/test-locale.c: Revert previous patch related to NULL.
33517         * tests/test-stdio.c: Likewise.
33518         * tests/test-stdlib.c: Likewise.
33519         * tests/test-string.c: Likewise.
33520         * tests/test-unistd.c: Likewise.
33521         * modules/time-tests (Depends-on): Add verify.
33522         * modules/wchar-tests (Depends-on): Likewise.
33523         * tests/test-time.c: Test for NULL compliance.
33524         * tests/test-wchar.c: Likewise.
33525         * modules/locale (Depends-on): Add stddef.
33526         * modules/stdio (Depends-on): Likewise.
33527         * modules/stdlib (Depends-on): Likewise.
33528         * modules/string (Depends-on): Likewise.
33529         * modules/time (Depends-on): Likewise.
33530         * modules/unistd (Depends-on): Likewise.
33531         * modules/wchar (Depends-on): Likewise.
33532         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
33533         * lib/stdlib.in.h (includes): Likewise.
33534         * lib/string.in.h (includes): Likewise.
33535         * lib/time.in.h (includes): Likewise.
33536         * lib/unistd.in.h (includes): Likewise.
33537         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
33538         replaced.
33539         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33540         * m4/stddef_h.m4: New file.
33541         * modules/stddef: Likewise.
33542         * lib/stddef.in.h: Likewise.
33543         * modules/stddef-tests: Likewise.
33544         * tests/test-stddef.c: Likewise.
33545         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
33546         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
33547         * doc/posix-headers/locale.texi (locale.h): Likewise.
33548         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
33549         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
33550         * doc/posix-headers/string.texi (string.h): Likewise.
33551         * doc/posix-headers/time.texi (time.h): Likewise.
33552         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
33553         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
33554
33555 2009-08-14  Eric Blake  <ebb9@byu.net>
33556
33557         doc: improve git diff of texinfo files
33558         * .gitattributes: Add rule for *.texi files, with hint on how to
33559         use it.
33560         Copied from m4, and based on a report by Bruno Haible.
33561
33562 2009-08-14  Bruno Haible  <bruno@clisp.org>
33563
33564         Disable multithread support by default on Cygwin 1.5.x for real.
33565         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
33566
33567 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
33568
33569         update-copyright: much ado about intervals
33570         * build-aux/update-copyright: Implement and document
33571         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
33572         of copyright year intervals.
33573         Also, document UPDATE_COPYRIGHT_YEAR.
33574         * tests/test-update-copyright.sh: Test it.
33575
33576         update-copyright: convert 2-digit to 4-digit years
33577         * build-aux/update-copyright: Implement and document.
33578         * tests/test-update-copyright.sh: Update.
33579
33580 2009-08-14  Jim Meyering  <meyering@redhat.com>
33581
33582         test-exclude: avoid coreutils "make check" failure
33583         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
33584         just as in test-argmatch.c.
33585
33586 2009-08-13  Eric Blake  <ebb9@byu.net>
33587
33588         test-dup2: fix bad assumption
33589         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
33590         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
33591
33592         test-version-etc: fix CRLF portability issue
33593         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
33594         recognize \r.
33595         * tests/test-argp-version-etc-1.sh: Likewise.
33596
33597         getopt: update client modules
33598         * modules/argp (Depends-on): Use getopt-gnu.
33599         * modules/git-merge-changelog (Depends-on): Likewise.
33600         * modules/long-options (Depends-on): Likewise.
33601         * modules/xstrtol (Depends-on): Likewise.
33602
33603 2009-08-13  Simon Josefsson  <simon@josefsson.org>
33604
33605         * tests/test-version-etc.sh: Don't fail on different
33606         project/version.  Don't fail on CRLF differences.  Rewrite to use
33607         multiple -e instead of multiple sed forks, suggested by Eric Blake
33608         <ebb9@byu.net>.
33609         * tests/test-argp-version-etc-1.sh: Likewise.
33610
33611 2009-08-13  Simon Josefsson  <simon@josefsson.org>
33612
33613         * tests/test-version-etc.sh: Don't fail on different
33614         project/version.
33615
33616 2009-08-12  Bruno Haible  <bruno@clisp.org>
33617
33618         Tests for modules 'getopt-posix', 'getopt-gnu'.
33619         * modules/getopt-posix-tests: New file.
33620         * tests/test-getopt.c: New file.
33621         * tests/test-getopt.h: New file.
33622         * tests/test-getopt_long.h: New file.
33623
33624         New modules 'getopt-posix', 'getopt-gnu'.
33625         * modules/getopt-gnu: New file, renamed from modules/getopt.
33626         * modules/getopt-posix: New file.
33627         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
33628         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
33629         (gl_GETOPT): Remove macro.
33630         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
33631         Disable the test against BSD systems that declare optreset. Test
33632         against mingw bug. Test against lack of support of optional arguments
33633         on many platforms.
33634         * doc/glibc-headers/getopt.texi: Update module name and list of
33635         relevant platforms.
33636         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
33637         'getopt-gnu' and more portability problems.
33638         * NEWS: Mention the changes.
33639
33640 2009-08-12  Bruno Haible  <bruno@clisp.org>
33641
33642         Ensure that optarg etc. get declared by <unistd.h>.
33643         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
33644         AC_USE_SYSTEM_EXTENSIONS.
33645         * modules/getopt (Depends-on): Add 'extensions'.
33646
33647 2009-08-12  Bruno Haible  <bruno@clisp.org>
33648
33649         Avoid test link errors.
33650         * modules/pipe-filter-ii-tests (Makefile.am): Define
33651         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
33652         * modules/pipe-filter-gi-tests (Makefile.am): Define
33653         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
33654         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33655
33656 2009-08-12  Bruno Haible  <bruno@clisp.org>
33657
33658         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
33659         gl_GETOPT_SUBSTITUTE before.
33660         (gl_GETOPT): Use it.
33661         * m4/argp.m4 (gl_ARGP): Update.
33662         Reported by Sergey Poznyakoff.
33663
33664         * m4/getopt.m4: Reorder macros.
33665         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
33666         (gl_GETOPT_SUBSTITUTE): Remove macro.
33667
33668 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
33669
33670         Minor improvement in gitlog-to-changelog
33671
33672         * build-aux/gitlog-to-changelog: New option `--format' makes
33673         output format string configurable.
33674
33675 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
33676
33677         Optimize exclude: use hash tables for non-wildcard patterns.
33678
33679         * lib/exclude.c: Include hash.h and mbuiter.h
33680         (struct exclude_pattern, exclude_segment): New data types.
33681         (struct exclude): Rewrite.
33682         (fnmatch_pattern_has_wildcards): New function.
33683         (new_exclude_segment, free_exclude_segment): New functions.
33684         (excluded_file_pattern_p, excluded_file_name_p): New functions.
33685         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
33686         * lib/exclude.h (is_fnmatch_pattern): New prototype.
33687         * modules/exclude: Depend on hash and mbuiter.
33688
33689         * modules/exclude-tests: New file.
33690         * tests/test-exclude.c: New file.
33691         * tests/test-exclude1.sh: New file.
33692         * tests/test-exclude2.sh: New file.
33693         * tests/test-exclude3.sh: New file.
33694         * tests/test-exclude4.sh: New file.
33695         * tests/test-exclude5.sh: New file.
33696         * tests/test-exclude6.sh: New file.
33697         * tests/test-exclude7.sh: New file.
33698
33699 2009-08-12  Bruno Haible  <bruno@clisp.org>
33700
33701         Ensure that getopt() gets declared by <unistd.h>.
33702         * lib/unistd.in.h: Conditionally include getopt.h.
33703         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
33704         Set GNULIB_UNISTD_H_GETOPT.
33705         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33706         GNULIB_UNISTD_H_GETOPT.
33707         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
33708
33709 2009-08-12  Bruno Haible  <bruno@clisp.org>
33710
33711         Clarify logic.
33712         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
33713         gl_replace_getopt instead of GETOPT_H.
33714
33715 2009-08-12  Bruno Haible  <bruno@clisp.org>
33716
33717         * m4/getopt.m4: Add comments.
33718
33719 2009-08-12  Bruno Haible  <bruno@clisp.org>
33720
33721         Disable multithread support by default on Cygwin 1.5.x.
33722         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
33723         set gl_use_threads=no if not specified otherwise.
33724
33725 2009-08-11  Bruno Haible  <bruno@clisp.org>
33726
33727         Avoid compilation error on NetBSD 5.0.
33728         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
33729         * tests/test-stdio.c: Likewise.
33730         * tests/test-stdlib.c: Likewise.
33731         * tests/test-string.c: Likewise.
33732         * tests/test-unistd.c: Likewise.
33733         Reported by Greg Troxel <gdt@ir.bbn.com>
33734         at <https://savannah.gnu.org/support/?106973>.
33735
33736 2009-08-11  Bruno Haible  <bruno@clisp.org>
33737
33738         * modules/dup2-tests (Depends-on): Remove close.
33739
33740         Undo 2009-07-19 commit.
33741         * modules/acl-tests (Depends-on): Remove close.
33742         * modules/binary-io-tests (Depends-on): Likewise.
33743         * modules/closein-tests (Depends-on): Likewise.
33744         * modules/flock-tests (Depends-on): Likewise.
33745         * modules/fsync-tests (Depends-on): Likewise.
33746         * modules/lseek-tests (Depends-on): Likewise.
33747         * modules/pipe-tests (Depends-on): Likewise.
33748         * modules/posix_spawn-tests (Depends-on): Likewise.
33749         * modules/posix_spawnp-tests (Depends-on): Likewise.
33750         * modules/stat-time-tests (Depends-on): Likewise.
33751         * modules/yesno-tests (Depends-on): Likewise.
33752
33753 2009-08-10  Bruno Haible  <bruno@clisp.org>
33754
33755         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
33756
33757 2009-08-10  Bruno Haible  <bruno@clisp.org>
33758
33759         Fix a gcc warning.
33760         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
33761
33762 2009-08-10  Bruno Haible  <bruno@clisp.org>
33763
33764         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
33765         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
33766         not only the first time.
33767         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
33768         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
33769         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
33770         is 1, not only the the first time.
33771
33772 2009-08-10  Bruno Haible  <bruno@clisp.org>
33773
33774         Make it possible to use module 'gethostname' without module 'close'.
33775         * lib/unistd.in.h (close): Evoke a link error only if
33776         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
33777         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33778         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33779         * modules/unistd (Makefile.am): Substitute
33780         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33781         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
33782         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
33783         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
33784         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33785         * modules/sys_ioctl (Makefile.am): Substitute
33786         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33787         * modules/socket (configure.ac): On native Windows, set
33788         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
33789         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33790         Reported by Sam Steingold <sds@gnu.org>.
33791
33792 2009-08-10  Bruno Haible  <bruno@clisp.org>
33793
33794         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
33795         * modules/ioctl (configure.ac): Likewise.
33796
33797 2009-08-10  Bruno Haible  <bruno@clisp.org>
33798
33799         Avoid collision between gnulib wrapper and libintl wrapper.
33800         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
33801         already defined in intl/printf.c.
33802         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
33803         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
33804
33805 2009-08-09  Bruno Haible  <bruno@clisp.org>
33806
33807         Make <sys/select.h> really self-contained, also on Solaris 10.
33808         * lib/sys_select.in.h: Include <string.h>.
33809         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
33810         Solaris 10 problem.
33811         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
33812         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
33813         Reported by Jim Meyering.
33814
33815 2009-08-09  Bruno Haible  <bruno@clisp.org>
33816
33817         Avoid warnings from 'aclocal' that are due to a use of macro name
33818         AM_XGETTEXT_OPTION that is not defined in automake.
33819         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
33820         automake.
33821         * modules/error (configure.ac): Likewise.
33822         * modules/propername (configure.ac): Likewise.
33823         * modules/vasprintf (configure.ac): Likewise.
33824         * modules/verror (configure.ac): Likewise.
33825         * modules/xprintf (configure.ac): Likewise.
33826         * modules/xvasprintf (configure.ac): Likewise.
33827
33828 2009-08-08  Bruno Haible  <bruno@clisp.org>
33829
33830         Avoid compilation error in C++ mode.
33831         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
33832         Reported by Sam Steingold <sds@gnu.org>.
33833
33834 2009-08-08  Bruno Haible  <bruno@clisp.org>
33835
33836         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
33837         for the various Unix platforms.
33838         * doc/posix-headers/limits.texi: Update platforms list regarding
33839         HOST_NAME_MAX.
33840         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33841
33842 2009-08-07  Jim Meyering  <meyering@redhat.com>
33843
33844         selinux-at: fix typo in a comment
33845         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
33846         Spotted by Paolo Bonzini.
33847
33848         selinux-at: remove redundant m4 code, add documentation
33849         * modules/selinux-at (configure.ac): Remove redundant code.
33850         LIB_SELINUX is already set via the dependent module, selinux-h.
33851         (Include): Add quotes around selinux-at.h.
33852         * lib/selinux-at.h: Add documentation.
33853         Reported by Bruno Haible in
33854         http://marc.info/?l=gnulib-bug&m=124958988300749
33855
33856 2009-08-07  Bruno Haible  <bruno@clisp.org>
33857
33858         Avoid link error on MacOS X 10.3 and 10.4.
33859         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
33860         on non-ELF systems.
33861         * lib/argp-pv.c (argp_program_version): Likewise.
33862         Reported by Simon Josefsson.
33863
33864 2009-08-07  Simon Josefsson  <simon@josefsson.org>
33865
33866         * tests/test-version-etc.sh: Use $EXEEXT.
33867
33868 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
33869
33870         update-copyright: update documentation to point to maint.mk
33871         * build-aux/update-copyright: Here.
33872
33873 2009-08-06  Jim Meyering  <meyering@redhat.com>
33874
33875         maint.mk: support update-copyright-local
33876         * top/maint.mk (update-copyright-local): Define place-holder.
33877         (update-copyright): Depend on $(update-copyright-local).
33878
33879 2009-08-06  Jim Meyering  <meyering@redhat.com>
33880
33881         selinux-at: new module
33882         Initially written for coreutils, this module will soon be
33883         used by findutils, too.
33884         * MODULES.html.sh [Misc]: Add selinux-at.
33885         * lib/selinux-at.h: New file, from coreutils.
33886         * lib/selinux-at.c: Likewise.
33887         * modules/selinux-at: Likewise.
33888         (License): Change from LGPL to GPL, since it depends
33889         on the GPL'd openat module.
33890
33891         doc: update README
33892         * README: Remove references to cogito.
33893         Remove cvs-repo-updating instructions from 2007.
33894         Don't imply that CVS is better if you have limited disk space.
33895
33896 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33897
33898         update-copyright: support C-style comments
33899         * build-aux/update-copyright: Implement and document.
33900         * tests/test-update-copyright.sh: Test.
33901
33902 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33903
33904         update-copyright: support omitted "(C)"
33905         * build-aux/update-copyright: Implement and document.  Also,
33906         allow variable whitespace before "(C)".
33907         * tests/test-update-copyright.sh: Test.
33908
33909 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33910
33911         update-copyright: don't trip on non-FSF copyright statements
33912         * build-aux/update-copyright: Fix so that the first correctly
33913         formatted FSF copyright statement is recognized no matter what
33914         appears before it.  Update documentation.
33915         * tests/test-update-copyright.sh: Test that.
33916
33917 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33918
33919         update-copyright: clean up code a little
33920         * build-aux/update-copyright: Append "_re" to the name of any
33921         variable holding a regular expression.
33922         Replace "old" and "new" with "stmt" in variable names.
33923         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
33924         handled correctly.
33925         Format code more consistently.
33926
33927 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33928
33929         update-copyright-tests: improve portability
33930         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
33931         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
33932
33933 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
33934
33935         update-copyright: support @copyright{} and &copy;
33936         * build-aux/update-copyright: Implement and document.
33937         * tests/test-update-copyright.sh: Test.
33938
33939 2009-08-04  Jim Meyering  <meyering@redhat.com>
33940
33941         update-copyright-tests: correctly test EOL=\r\n handling
33942         * tests/test-update-copyright.sh: Put \r at the end of some lines
33943         for the dos-eol tests.  Based on a patch by Joel E. Denny.
33944
33945         maint.mk: make update-copyright exclusion list more configurable
33946         * top/maint.mk (update-copyright): Default to excluding COPYING,
33947         but allow an override, in case someone does want to update that file.
33948
33949         maint.mk: don't update copyright date in COPYING
33950         * top/maint.mk (update-copyright): Exclude COPYING.
33951
33952         maint.mk: add a copyright-updating rule
33953         * top/maint.mk (update-copyright): New rule.
33954         Derived from coreutils/Makefile.am.
33955
33956         update-copyright: rename some variables
33957         * build-aux/update-copyright: Rename a few variables for clarity.
33958         Tweak syntax.  List Joel E. Denny as coauthor.
33959
33960 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
33961
33962         update-copyright: fix bug for 2-digit last year and add tests
33963         * build-aux/update-copyright: Fix bug.
33964         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
33965         specified.
33966         * modules/update-copyright-tests: New
33967         * tests/test-update-copyright.sh: New.
33968
33969 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33970
33971         update-copyright: handle leading tabs in line prefix
33972         * build-aux/update-copyright: Count leading tabs as 8 spaces
33973         when computing margin.  This helps with the formatting of
33974         ChangeLogs, for example.
33975         Fix documentation a little.
33976
33977 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33978
33979         update-copyright: support EOL=\r\n
33980         * build-aux/update-copyright: Implement that.
33981
33982 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33983
33984         update-copyright: automatically format copyright statements
33985         * build-aux/update-copyright: Implement that.
33986         Also, be a little more predictable and safer by always failing
33987         when the full copyright format is not perfectly recognized as an
33988         unbroken whole.  Discussed at
33989         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
33990         Rewrite documentation.
33991
33992 2009-08-03  Bruno Haible  <bruno@clisp.org>
33993
33994         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
33995
33996 2009-08-02  Bruno Haible  <bruno@clisp.org>
33997
33998         Tests for module 'uname'.
33999         * modules/uname-tests: New file.
34000         * tests/test-uname.c: New file.
34001
34002         New module 'uname'.
34003         * lib/uname.c: New file.
34004         * m4/uname.m4: New file.
34005         * modules/uname: New file.
34006         * doc/posix-functions/uname.texi: Mention the new module.
34007
34008 2009-08-02  Bruno Haible  <bruno@clisp.org>
34009
34010         Tests for module 'sys_utsname'.
34011         * modules/sys_utsname-tests: New file.
34012         * tests/test-sys_utsname.c: New file.
34013
34014         New module 'sys_utsname'.
34015         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
34016         * m4/sys_utsname_h.m4: New file.
34017         * modules/sys_utsname: New file.
34018         * doc/posix-headers/sys_utsname.texi: Mention the new module.
34019
34020 2009-08-02  Bruno Haible  <bruno@clisp.org>
34021
34022         Implicitly initialize the sockets library.
34023         * lib/gethostname.c: Include sockets.h.
34024         (rpl_gethostname): Invoke gl_sockets_startup.
34025         * lib/socket.c: Include sockets.h.
34026         (rpl_socket): Invoke gl_sockets_startup.
34027         * modules/gethostname (Depends-on): Add sockets.
34028         * modules/socket (Depends-on): Likewise.
34029         * tests/test-poll.c: Don't include sockets.h.
34030         (main): Don't invoke gl_sockets_startup.
34031         * tests/test-select.c: Don't include sockets.h.
34032         (main): Don't invoke gl_sockets_startup.
34033
34034 2009-08-02  Bruno Haible  <bruno@clisp.org>
34035
34036         Allow multiple calls to gl_sockets_startup.
34037         * lib/sockets.c (initialized_sockets_version): New variable.
34038         (gl_sockets_startup): Do nothing if already called for this or a higher
34039         version.
34040         (gl_sockets_cleanup): Reset initialized_sockets_version.
34041
34042 2009-08-03  Simon Josefsson  <simon@josefsson.org>
34043
34044         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
34045         different project/version.
34046
34047 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
34048             Bruno Haible  <bruno@clisp.org>
34049
34050         Tests for module 'pipe-filter-gi'.
34051         * modules/pipe-filter-gi-tests: New file.
34052         * tests/test-pipe-filter-gi1.sh: New file.
34053         * tests/test-pipe-filter-gi1.c: New file.
34054         * tests/test-pipe-filter-gi2.sh: New file.
34055         * tests/test-pipe-filter-gi2-main.c: New file.
34056         * tests/test-pipe-filter-gi2-child.c: New file.
34057
34058         New module 'pipe-filter-gi'.
34059         * lib/pipe-filter-gi.c: New file.
34060         * modules/pipe-filter-gi: New file.
34061
34062 2009-08-02  Bruno Haible  <bruno@clisp.org>
34063             Paolo Bonzini  <bonzini@gnu.org>
34064
34065         Tests for module 'pipe-filter-ii'.
34066         * modules/pipe-filter-ii-tests: New file.
34067         * tests/test-pipe-filter-ii1.sh: New file.
34068         * tests/test-pipe-filter-ii1.c: New file.
34069         * tests/test-pipe-filter-ii2.sh: New file.
34070         * tests/test-pipe-filter-ii2-main.c: New file.
34071         * tests/test-pipe-filter-ii2-child.c: New file.
34072
34073         New module 'pipe-filter-ii'.
34074         * lib/pipe-filter.h: New file.
34075         * lib/pipe-filter-ii.c: New file.
34076         * lib/pipe-filter-aux.h: New file.
34077         * modules/pipe-filter-ii: New file.
34078
34079 2009-08-02  Simon Josefsson  <simon@josefsson.org>
34080
34081         * lib/gc-libgcrypt.c: Change copyright to FSF.
34082         * lib/gc-gnulib.c: Likewise.
34083
34084 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
34085
34086         * lib/gethostname.c: Include limits.h.
34087
34088 2009-08-02  Simon Josefsson  <simon@josefsson.org>
34089             Bruno Haible  <bruno@clisp.org>
34090
34091         Ensure HOST_NAME_MAX as part of the gethostname module.
34092         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
34093         define also HOST_NAME_MAX.
34094         * tests/test-gethostname.c: Include <limits.h>.
34095         (main): Check also HOST_NAME_MAX.
34096         * doc/posix-headers/limits.texi: Document the mingw problem.
34097
34098 2009-08-02  Bruno Haible  <bruno@clisp.org>
34099
34100         * lib/gethostname.c (gethostname): Fix handling of large len argument.
34101         Add comments.
34102
34103 2009-03-31  Simon Josefsson  <simon@josefsson.org>
34104
34105         * lib/gethostname.c: Add Windows wrapper.
34106         * m4/gethostname.m4: Look for gethostname in -lws2_32.
34107         * modules/gethostname: Depend on sys_socket & errno, for also
34108         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
34109         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
34110
34111 2009-07-31  Jim Meyering  <meyering@redhat.com>
34112
34113         getloadavg: fix symbol name in comment
34114         * lib/getloadavg.c: Correct a typo I introduced when adding
34115         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
34116         Matt Kraai spotted the problem.
34117
34118 2009-07-29  Matt Kraai  <mkraai@beckman.com>
34119
34120         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
34121         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
34122         code also if ! defined N_NAME_POINTER.
34123         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
34124         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
34125         but the n_name member is a 12-byte array.
34126
34127 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
34128
34129         update-copyright: generalize comment handling
34130         * build-aux/update-copyright: Handle copyright statements
34131         within more comment styles.
34132         Document usage.
34133         Report any file with an external copyright holder or parse failure.
34134
34135 2009-07-29  Jim Meyering  <meyering@redhat.com>
34136
34137         mktime: correct setting of REPLACE_MKTIME
34138         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
34139
34140         update-copyright: new module
34141         * modules/update-copyright: New file.
34142         * build-aux/update-copyright: New file.
34143         * MODULES.html.sh (maint+release support): Add update-copyright.
34144
34145 2009-07-27  Bruno Haible  <bruno@clisp.org>
34146
34147         Fix compilation error when <ctime> is used and mktime is replaced.
34148         * lib/time.in.h (mktime): New declaration.
34149         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
34150         REPLACE_MKTIME instead of defining mktime in config.h.
34151         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
34152         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
34153         Reported by Ross McFarland <rwmcfa1@neces.com>.
34154
34155 2009-07-27  Bruno Haible  <bruno@clisp.org>
34156
34157         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
34158         Reported by Matt Kraai <mkraai@beckman.com>.
34159
34160 2009-07-25  Jim Meyering  <meyering@redhat.com>
34161
34162         maint.mk: avoid warnings about missing files
34163         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
34164         diagnostic when .prev-version does not exist.
34165         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
34166         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
34167         nonexistent cfg.mk.
34168         Suggestions from Simon Josefsson.
34169
34170 2009-07-25  Bruno Haible  <bruno@clisp.org>
34171
34172         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
34173         defined as macros. Needed on QNX 6.4.1.
34174         Reported by Matt Kraai <mkraai@beckman.com>.
34175
34176 2009-07-23  Jim Meyering  <meyering@redhat.com>
34177
34178         maint.mk: invoke "make dist" with a working value of XZ_OPT
34179         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
34180
34181 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
34182
34183         Make fseeko.c compile on QNX.
34184         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
34185
34186 2009-07-22  Peter Simons  <simons@cryp.to>
34187
34188         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
34189         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
34190         * lib/md4.h: Likewise.
34191         * lib/md5.h: Likewise.
34192         * lib/sha1.h: Likewise.
34193         * lib/sha256.h: Likewise.
34194         * lib/sha512.h: Likewise.
34195
34196         tests-sha1: don't assign literal string to 'char *' variable
34197         * tests/test-sha1.c (main): Declare locals with "const" to match
34198         attributes of the right hand side.
34199
34200 2009-07-21  Eric Blake  <ebb9@byu.net>
34201
34202         dup2: fix more mingw problems
34203         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
34204         fd to itself.
34205         * doc/posix-functions/dup2.texi (dup2): Document the bug.
34206         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
34207         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
34208         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
34209         care of mingw bugs.
34210
34211 2009-07-21  Jim Meyering  <meyering@redhat.com>
34212
34213         vc-list-files: avoid failure when /bin/sh is dash
34214         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
34215         On some Debian based systems, /bin/sh is a symlink to dash, and running
34216         this command would omit the "/" following each 'tests' prefix:
34217           dash -x build-aux/vc-list-files -C . tests
34218         That is because bash and dash work differently:
34219           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
34220           bash ok
34221           dash odd
34222
34223 2009-07-21  Eric Blake  <ebb9@byu.net>
34224
34225         dup2-tests: test previous patch
34226         * modules/dup2-tests: New file.
34227         * tests/test-dup2.c: Likewise.
34228         * tests/test-open.c (main): Avoid unspecified behavior.
34229         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
34230         test.
34231
34232         dup2: work around mingw and cygwin 1.5 bug
34233         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
34234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34235         * modules/unistd (Makefile.am): Substitute it.
34236         * lib/unistd.in.h (dup2): Declare the replacement.
34237         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
34238         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
34239         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
34240         * modules/execute (Depends-on): Add dup2.
34241         * modules/fseterr (Depends-on): Likewise.
34242         * modules/pipe (Depends-on): Likewise.
34243         * modules/posix_spawn-internal (Depends-on): Likewise.
34244
34245 2009-07-21  Bruno Haible  <bruno@clisp.org>
34246
34247         * modules/.gitattributes: New file.
34248
34249 2009-07-20  Bruno Haible  <bruno@clisp.org>
34250
34251         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
34252         (main): Use it.
34253
34254 2009-07-20  Eric Blake  <ebb9@byu.net>
34255
34256         test-pipe: make a bit more robust.
34257         * tests/test-pipe.c (myerr): Allow error messages regardless of
34258         what we do to stderr.
34259         (test_pipe): Rearrange to avoid deadlock.
34260         (child_main): Try a larger read, to ensure we avoided deadlock.
34261         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
34262         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
34263         if misused.
34264
34265 2009-07-19  Jim Meyering  <meyering@redhat.com>
34266
34267         fts: avoid false-positive cycle-detection
34268         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
34269         for each new command line argument.
34270
34271 2009-07-19  Bruno Haible  <bruno@clisp.org>
34272
34273         Fix build error on mingw with the modules sys_select and unistd.
34274         * modules/acl-tests (Depends-on): Add close.
34275         * modules/binary-io-tests (Depends-on): Likewise.
34276         * modules/closein-tests (Depends-on): Likewise.
34277         * modules/flock-tests (Depends-on): Likewise.
34278         * modules/fsync-tests (Depends-on): Likewise.
34279         * modules/lseek-tests (Depends-on): Likewise.
34280         * modules/pipe-tests (Depends-on): Likewise.
34281         * modules/posix_spawn-tests (Depends-on): Likewise.
34282         * modules/posix_spawnp-tests (Depends-on): Likewise.
34283         * modules/stat-time-tests (Depends-on): Likewise.
34284         * modules/yesno-tests (Depends-on): Likewise.
34285
34286 2009-07-19  Bruno Haible  <bruno@clisp.org>
34287
34288         Unify conditionals.
34289         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
34290         macros, not at the compiler macros.
34291         * lib/pipe.c: Likewise.
34292         * lib/execute.c: Likewise.
34293         * lib/spawni.c: Likewise.
34294
34295 2009-07-19  Bruno Haible  <bruno@clisp.org>
34296
34297         Fix handling of closed stdin/stdout/stderr on mingw.
34298         * lib/w32spawn.h: Include unistd.h.
34299         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
34300         file descriptor with O_NOINHERIT flag.
34301         (fd_safer_noinherit): New function, based on fd-safer.c.
34302         (dup_safer_noinherit): New function, based on dup-safer.c.
34303         (undup_safer_noinherit): New function.
34304         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
34305         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
34306         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
34307         instead of fd_safer.
34308         * tests/test-pipe.c: Include <windows.h>.
34309         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
34310         result.
34311
34312         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
34313         from main.
34314         (test_pipe): Pass an extra argument for disambiguation.
34315         (main): Invoke parent_main or child_main.
34316
34317         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
34318         consistently.
34319
34320 2009-07-18  Eric Blake  <ebb9@byu.net>
34321
34322         test-pipe: fix mingw build
34323         * tests/test-pipe.c (main): Avoid fcntl on mingw.
34324
34325 2009-07-18  Bruno Haible  <bruno@clisp.org>
34326
34327         * modules/pipe-tests (Makefile.am): Fix typo.
34328
34329 2009-07-18  Eric Blake  <ebb9@byu.net>
34330
34331         error: fix mingw build
34332         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
34333         Reported by Bruno Haible.
34334
34335         error: avoid undefined use of stdout
34336         * lib/error.c (error, error_at_line): Check that fd 1 is open
34337         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
34338         is handling faults and the close_stdout module wants to report the
34339         detection of closed stdout as an error.
34340
34341 2009-07-17  Eric Blake  <ebb9@byu.net>
34342
34343         pipe: be robust in face of closed fds
34344         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
34345         should cause child to misbehave.
34346         * modules/pipe-tests: New module.
34347         * tests/test-pipe.c: New file.
34348         * tests/test-pipe.sh: New file.
34349         Reported by Akim Demaille.
34350
34351 2009-07-14  Bruno Haible  <bruno@clisp.org>
34352
34353         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
34354         Reported by anonymous kc.
34355
34356 2009-07-07  Jim Meyering  <meyering@redhat.com>
34357
34358         maint.mk: don't look for translatable strings in *.m4 or *.mk
34359         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
34360         when searching for translatable strings.
34361
34362 2009-07-05  Jim Meyering  <meyering@redhat.com>
34363
34364         remove superfluous parentheses in STREQ definition
34365         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
34366         * lib/getugroups.c (STREQ): Likewise.
34367         * lib/fnmatch.c (STREQ): Likewise.
34368         Spotted by Bruno Haible.
34369
34370 2009-07-04  Jim Meyering  <meyering@redhat.com>
34371
34372         argv-iter: new module
34373         * MODULES.html.sh: Add argv-iter.
34374         * lib/argv-iter.c, lib/argv-iter.h: New files.
34375         * modules/argv-iter: New file.
34376         * modules/argv-iter-tests: New file.
34377         * tests/test-argv-iter.c: Test it.
34378
34379 2009-07-04  Bruno Haible  <bruno@clisp.org>
34380
34381         Fix assertion.
34382         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
34383         contains more exact copies of a given entry than file2, leave the extra
34384         copies unpaired rather than aborting.
34385         Reported by Eric Blake.
34386
34387 2009-07-02  Bruno Haible  <bruno@clisp.org>
34388
34389         Speedup git-merge-changelog for git cherry-pick.
34390         * lib/git-merge-changelog.c (struct entries_mapping): New type.
34391         (entries_mapping_get): New function, extracted from compute_mapping.
34392         (entries_mapping_reverse_get): New function.
34393         (compute_mapping): Add a 'full' argument. Return the result in a
34394         'struct entries_mapping'.
34395         (main): Update. Access the mappings through entries_mapping_get.
34396         Reported by Eric Blake.
34397
34398 2009-07-02  Bruno Haible  <bruno@clisp.org>
34399
34400         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
34401         best_i.
34402
34403 2009-07-02  Bruno Haible  <bruno@clisp.org>
34404
34405         Speed up approximate search for matching ChangeLog entries.
34406         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
34407         argument. Call fstrcmp_bounded instead of fstrcmp.
34408         (compute_mapping, try_split_merged_entry, main): Update callers.
34409
34410 2009-07-02  Bruno Haible  <bruno@clisp.org>
34411
34412         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
34413
34414 2009-06-30  Bruno Haible  <bruno@clisp.org>
34415
34416         Reduce the number of uc_is_cased calls.
34417         * lib/unicase.h (casing_suffix_context_t): Add
34418         'first_char_except_ignorable' field.
34419         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
34420         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
34421         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
34422         Update initializer.
34423         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
34424         case-ignorable characters.
34425         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
34426         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
34427         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
34428         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
34429         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
34430
34431 2009-06-30  Bruno Haible  <bruno@clisp.org>
34432
34433         Tests for module 'unicase/ignorable'.
34434         * modules/unicase/ignorable-tests: New file.
34435         * tests/unicase/test-ignorable.c: New file, generated by
34436         gen-uni-tables.
34437
34438         Tests for module 'unicase/cased'.
34439         * modules/unicase/cased-tests: New file.
34440         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
34441         * tests/unicase/test-predicate-part1.h: New file, derived from
34442         tests/unictype/test-predicate-part1.h.
34443         * tests/unicase/test-predicate-part2.h: New file, same as
34444         tests/unictype/test-predicate-part2.h.
34445
34446         Fix evaluation of "Before C" condition of FINAL_SIGMA.
34447         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
34448         (output_casing_properties): New function.
34449         (main): Call it.
34450         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
34451         * lib/unicase/cased.c: Include unictype/bitmap.h.
34452         (uc_is_cased): Define through a bitmap lookup.
34453         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
34454         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
34455         (uc_is_case_ignorable): Define through a bitmap lookup.
34456         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
34457         lib/unictype/bitmap.h.
34458         (Depends-on): Add inline. Clean up.
34459         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
34460         lib/unictype/bitmap.h.
34461         (Depends-on): Add inline. Clean up.
34462         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
34463         recognition.
34464         * tests/unicase/test-u16-tolower.c (main): Likewise.
34465         * tests/unicase/test-u32-tolower.c (main): Likewise.
34466
34467 2009-06-30  Bruno Haible  <bruno@clisp.org>
34468
34469         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
34470         * lib/unicase/u16-casemap.c: Likewise.
34471         * lib/unicase/u32-casemap.c: Likewise.
34472
34473 2009-06-29  Bruno Haible  <bruno@clisp.org>
34474
34475         Define u32_casefold as a wrapper around u32_ct_casefold.
34476         * lib/unicase/u32-casefold.c: Update.
34477         * modules/unicase/u32-casefold (Depends-on): Add
34478         unicase/u32-ct-casefold, unicase/empty-prefix-context,
34479         unicase/empty-suffix-context. Clean up.
34480
34481         Define u16_casefold as a wrapper around u16_ct_casefold.
34482         * lib/unicase/u16-casefold.c: Update.
34483         * modules/unicase/u16-casefold (Depends-on): Add
34484         unicase/u16-ct-casefold, unicase/empty-prefix-context,
34485         unicase/empty-suffix-context. Clean up.
34486
34487         Define u8_casefold as a wrapper around u8_ct_casefold.
34488         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
34489         * lib/unicase/u8-casefold.c: Update.
34490         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
34491         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
34492
34493         Define u32_totitle as a wrapper around u32_ct_totitle.
34494         * lib/unicase/u32-totitle.c: Update.
34495         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
34496         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
34497
34498         Define u16_totitle as a wrapper around u16_ct_totitle.
34499         * lib/unicase/u16-totitle.c: Update.
34500         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
34501         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
34502
34503         Define u8_totitle as a wrapper around u8_ct_totitle.
34504         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
34505         functions.
34506         (FUNC): Delegate to U_CT_TOTITLE.
34507         * lib/unicase/u8-totitle.c: Update.
34508         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
34509         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
34510
34511         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
34512         invocation.
34513         * modules/unicase/u32-tolower (Depends-on): Add
34514         unicase/empty-prefix-context, unicase/empty-suffix-context.
34515
34516         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
34517         invocation.
34518         * modules/unicase/u16-tolower (Depends-on): Add
34519         unicase/empty-prefix-context, unicase/empty-suffix-context.
34520
34521         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
34522         * modules/unicase/u8-tolower (Depends-on): Add
34523         unicase/empty-prefix-context, unicase/empty-suffix-context.
34524
34525         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
34526         invocation.
34527         * modules/unicase/u32-toupper (Depends-on): Add
34528         unicase/empty-prefix-context, unicase/empty-suffix-context.
34529
34530         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
34531         invocation.
34532         * modules/unicase/u16-toupper (Depends-on): Add
34533         unicase/empty-prefix-context, unicase/empty-suffix-context.
34534
34535         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
34536         * modules/unicase/u8-toupper (Depends-on): Add
34537         unicase/empty-prefix-context, unicase/empty-suffix-context.
34538
34539         New module 'unicase/u32-ct-casefold'.
34540         * lib/unicase/u32-ct-casefold.c: New file.
34541         * modules/unicase/u32-ct-casefold: New file.
34542
34543         New module 'unicase/u16-ct-casefold'.
34544         * lib/unicase/u16-ct-casefold.c: New file.
34545         * modules/unicase/u16-ct-casefold: New file.
34546
34547         New module 'unicase/u8-ct-casefold'.
34548         * lib/unicase/u8-ct-casefold.c: New file.
34549         * lib/unicase/u-ct-casefold.h: New file, derived from
34550         lib/unicase/u-casefold.h.
34551         * modules/unicase/u8-ct-casefold: New file.
34552
34553         New module 'unicase/u32-ct-totitle'.
34554         * lib/unicase/u32-ct-totitle.c: New file.
34555         * modules/unicase/u32-ct-totitle: New file.
34556
34557         New module 'unicase/u16-ct-totitle'.
34558         * lib/unicase/u16-ct-totitle.c: New file.
34559         * modules/unicase/u16-ct-totitle: New file.
34560
34561         New module 'unicase/u8-ct-totitle'.
34562         * lib/unicase/u8-ct-totitle.c: New file.
34563         * lib/unicase/u-ct-totitle.h: New file, derived from
34564         lib/unicase/u-totitle.h.
34565         * modules/unicase/u8-ct-totitle: New file.
34566
34567         New module 'unicase/u32-ct-tolower'.
34568         * lib/unicase/u32-ct-tolower.c: New file.
34569         * modules/unicase/u32-ct-tolower: New file.
34570
34571         New module 'unicase/u16-ct-tolower'.
34572         * lib/unicase/u16-ct-tolower.c: New file.
34573         * modules/unicase/u16-ct-tolower: New file.
34574
34575         New module 'unicase/u8-ct-tolower'.
34576         * lib/unicase/u8-ct-tolower.c: New file.
34577         * modules/unicase/u8-ct-tolower: New file.
34578
34579         New module 'unicase/u32-ct-toupper'.
34580         * lib/unicase/u32-ct-toupper.c: New file.
34581         * modules/unicase/u32-ct-toupper: New file.
34582
34583         New module 'unicase/u16-ct-toupper'.
34584         * lib/unicase/u16-ct-toupper.c: New file.
34585         * modules/unicase/u16-ct-toupper: New file.
34586
34587         New module 'unicase/u8-ct-toupper'.
34588         * lib/unicase/u8-ct-toupper.c: New file.
34589         * modules/unicase/u8-ct-toupper: New file.
34590
34591         Add context arguments to u*_casemap functions.
34592         * lib/unicase/unicasemap.h: Include unicase.h.
34593         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
34594         suffix_context arguments.
34595         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
34596         functions.
34597         (FUNC): Add prefix_context and suffix_context arguments. Use
34598         uc_is_cased and uc_is_case_ignorable.
34599         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
34600         * lib/unicase/u16-casemap.c: Likewise.
34601         * lib/unicase/u32-casemap.c: Likewise.
34602         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
34603         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
34604         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
34605         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
34606         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
34607         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
34608
34609         New module 'unicase/u32-suffix-context'.
34610         * lib/unicase/u32-suffix-context.c: New file.
34611         * modules/unicase/u32-suffix-context: New file.
34612
34613         New module 'unicase/u16-suffix-context'.
34614         * lib/unicase/u16-suffix-context.c: New file.
34615         * modules/unicase/u16-suffix-context: New file.
34616
34617         New module 'unicase/u8-suffix-context'.
34618         * lib/unicase/u8-suffix-context.c: New file.
34619         * lib/unicase/u-suffix-context.h: New file.
34620         * modules/unicase/u8-suffix-context: New file.
34621
34622         New module 'unicase/empty-suffix-context'.
34623         * lib/unicase/empty-suffix-context.c: New file.
34624         * modules/unicase/empty-suffix-context: New file.
34625
34626         New module 'unicase/u32-prefix-context'.
34627         * lib/unicase/u32-prefix-context.c: New file.
34628         * modules/unicase/u32-prefix-context: New file.
34629
34630         New module 'unicase/u16-prefix-context'.
34631         * lib/unicase/u16-prefix-context.c: New file.
34632         * modules/unicase/u16-prefix-context: New file.
34633
34634         New module 'unicase/u8-prefix-context'.
34635         * lib/unicase/u8-prefix-context.c: New file.
34636         * lib/unicase/u-prefix-context.h: New file.
34637         * lib/unicase/context.h: New file.
34638         * modules/unicase/u8-prefix-context: New file.
34639
34640         New module 'unicase/empty-prefix-context'.
34641         * lib/unicase/empty-prefix-context.c: New file.
34642         * modules/unicase/empty-prefix-context: New file.
34643
34644         New module 'unicase/ignorable'.
34645         * lib/unicase/ignorable.c: New file.
34646         * modules/unicase/ignorable: New file.
34647
34648         New module 'unicase/cased'.
34649         * lib/unicase/caseprop.h: New file.
34650         * lib/unicase/cased.c: New file.
34651         * modules/unicase/cased: New file.
34652
34653         New functions for case mapping of substrings.
34654         * lib/unicase.h (casing_prefix_context_t): New type.
34655         (unicase_empty_prefix_context): New variable.
34656         (u8_casing_prefix_context, u16_casing_prefix_context,
34657         u32_casing_prefix_context, u8_casing_prefixes_context,
34658         u16_casing_prefixes_context, u32_casing_prefixes_context): New
34659         declarations.
34660         (casing_suffix_context_t): New type.
34661         (unicase_empty_suffix_context): New variable.
34662         (u8_casing_suffix_context, u16_casing_suffix_context,
34663         u32_casing_suffix_context, u8_casing_suffixes_context,
34664         u16_casing_suffixes_context, u32_casing_suffixes_context,
34665         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
34666         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
34667         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
34668         declarations.
34669
34670 2009-06-28  Jim Meyering  <meyering@redhat.com>
34671
34672         boostrap: indent only with spaces
34673         * build-aux/bootstrap: Indent only with spaces, never TABs.
34674
34675         bootstrap: split long lines
34676         * build-aux/bootstrap: Keep line length < 80.
34677
34678         bootstrap: sync from coreutils
34679         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
34680         just as autoreconf does.  Verify a list of prerequisite
34681         package-name,version-number pairs if defined in bootstrap.conf.
34682         Refer to README-prereq, if prerequisites are not satisfied.
34683
34684 2009-06-27  Eric Blake  <ebb9@byu.net>
34685
34686         tests: add test for bogus NULL definition
34687         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
34688         * tests/test-stdlib.c: Likewise.
34689         * tests/test-string.c: Likewise.
34690         * tests/test-locale.c: Likewise.
34691         * tests/test-unistd.c: Likewise.
34692         * modules/stdio-tests (Depends-on): Add verify.
34693         * modules/stdlib-tests (Depends-on): Likewise.
34694         * modules/string-tests (Depends-on): Likewise.
34695         * modules/locale-tests (Depends-on): Likewise.
34696         * modules/unistd-tests (Depends-on): Likewise.
34697
34698 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
34699
34700         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
34701         self-explaining comment.
34702         * m4/selinux-selinux-h: Update serial.
34703         (gl_LIBSELINUX): New macro, adding a warning for missing development
34704         packages to code extracted from...
34705         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
34706         Add warning for missing development packages here, too.
34707
34708 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
34709
34710         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
34711
34712 2009-06-25  Eric Blake  <ebb9@byu.net>
34713
34714         version-etc: fix regression
34715         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
34716         gcc.
34717         (version_etc): Use it, to catch bugs with trailing NULL.
34718         * lib/version-etc.c (version_etc_arn): Delete unused argument.
34719         (version_etc_va): Fix logic bug.
34720         * modules/version-etc-tests: Add test.
34721         * tests/test-version-etc.c: New file.
34722         * tests/test-version-etc.sh: Likewise.
34723
34724 2009-06-25  Sam Steingold  <sds@gnu.org>
34725
34726         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
34727         mbtowc declaration.
34728
34729 2009-06-25  Eric Blake  <ebb9@byu.net>
34730
34731         fpurge: migrate into <stdio.h>
34732         * lib/fpurge.h: Delete...
34733         * lib/stdio.in.h (fpurge): ...and declare here, instead.
34734         * lib/fpurge.c (fpurge): Change declaring header.
34735         * modules/fpurge (Files): Drop deleted file.
34736         (Depends-on): Add stdio.
34737         (configure.ac): Set witness.
34738         * modules/stdio (Makefile.am): Support fpurge macros.
34739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34740         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
34741         * lib/fflush.c: Update client.
34742         * tests/test-fpurge.c: Likewise.
34743         * NEWS: Mention the change.
34744
34745 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
34746
34747         * lib/argp-version-etc.c (program_authors): Add const
34748         qualifier.
34749         * lib/version-etc.c: Fix typos in the comments.
34750         * modules/argp-version-etc: Depends on version-etc.
34751
34752 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
34753
34754         argp-version-etc: new module.
34755
34756         * lib/argp-version-etc.c: New file.
34757         * lib/argp-version-etc.h: New file.
34758         * modules/argp-version-etc: New file.
34759         * modules/argp-version-etc-tests: New file.
34760         * tests/test-argp-version-etc.c: New test.
34761         * tests/test-argp-version-etc-1.sh: New test.
34762
34763 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
34764
34765         Provide additional interfaces and documentation for version-etc
34766         module.
34767
34768         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
34769         interfaces.
34770         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
34771         prototypes.
34772
34773 2009-06-24  Bruno Haible  <bruno@clisp.org>
34774
34775         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
34776         HAVE_LIB${NAME} macro.
34777         Reported by Sam Steingold <sds@gnu.org>.
34778
34779 2009-06-23  Simon Josefsson  <simon@josefsson.org>
34780
34781         * modules/hash-tests (test_hash_LDADD): Link to libintl when
34782         needed.
34783
34784 2009-06-21  Bruno Haible  <bruno@clisp.org>
34785
34786         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
34787         work.
34788         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
34789         together with LIB${NAME}, LTLIB${NAME}.
34790         Reported by Sam Steingold <sds@gnu.org>.
34791
34792 2009-06-20  Jim Meyering  <meyering@redhat.com>
34793
34794         tests: make sc_require_test_exit_idiom more generic
34795         * top/maint.mk (Exit_witness_file): New overridable variable.
34796         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
34797         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
34798
34799 2009-06-19  Jim Meyering  <meyering@redhat.com>
34800
34801         hash: reverse order of src/dst parameters in an internal interface
34802         * lib/hash.c (transfer_entries): Reverse order of parameters to
34803         put DST before SRC.  Adjust callers.
34804
34805         tests: test-hash: avoid wholesale duplication
34806         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
34807         Instead, use a loop and add a single conditional.
34808
34809         tests: test-hash: allow seed selection via a command line argument
34810         * tests/test-hash.c (get_seed): New function.
34811         (main): Use it.
34812
34813 2009-06-19  Eric Blake  <ebb9@byu.net>
34814
34815         hash: avoid memory leak on allocation failure
34816         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
34817         failure.  Factor repeated algorithm...
34818         (transfer_entries): ...into new helper routine.
34819         (hash_delete): React to hash_rehash return value.
34820
34821         hash: reduce memory pressure in hash_rehash no-op case
34822         * lib/hash.c (next_prime): Avoid overflow.
34823         (hash_initialize): Factor bucket size computation...
34824         (compute_bucket_size): ...into new helper function.
34825         (hash_rehash): Use new function and open coding to reduce memory
34826         pressure, and avoid a memory leak in USE_OBSTACK code.
34827         Reported by Jim Meyering.
34828
34829 2009-06-18  Eric Blake  <ebb9@byu.net>
34830
34831         hash: make rotation more obvious
34832         * modules/hash (Depends-on): Add bitrotate and stdint.
34833         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
34834         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
34835         (SIZE_MAX): Rely on headers for definition.
34836         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
34837         (raw_hasher): Use rotr_sz.
34838         Suggested by Jim Meyering.
34839
34840         hash: fix memory leak in last patch
34841         * lib/hash.c (hash_rehash): Avoid memory leak.
34842
34843         hash: avoid no-op rehashing
34844         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
34845
34846         hash: provide default callback functions
34847         * lib/hash.c (raw_hasher, raw_comparator): New functions.
34848         (hash_initialize): Use them as defaults.
34849         * tests/test-hash.c (main): Test this.
34850
34851         hash: minor optimization
34852         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
34853         when possible.
34854         (hash_initialize): Document this promise.
34855         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
34856         * tests/test-hash.c (hash_compare_strings): Test this.
34857
34858 2009-06-18  Bruno Haible  <bruno@clisp.org>
34859
34860         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
34861         going to be replaced anyway.
34862
34863 2009-06-18  Bruno Haible  <bruno@clisp.org>
34864
34865         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
34866         in one place.
34867         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
34868         be replaced anyway.
34869
34870 2009-06-18  Eric Blake  <ebb9@byu.net>
34871
34872         hash: check for resize before insertion
34873         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
34874         threshold before insertion, so that a pathological hash_rehash
34875         that fills every bucket can still trigger another rehash.
34876
34877 2009-06-18  Jim Meyering  <meyering@redhat.com>
34878
34879         hash-tests: add a loop around the small tests
34880         * tests/test-hash.c (main): Repeat small tests with selected
34881         small initial table sizes.
34882
34883 2009-06-17  Eric Blake  <ebb9@byu.net>
34884
34885         hash: minor cleanups
34886         * lib/hash.h (hash_entry): Make opaque, by moving...
34887         * lib/hash.c (hash_entry): ...here.
34888         (hash_insert): Clarify restrictions on what can be inserted.
34889         (hash_get_next): Clarify when it is safe to remove an element
34890         during traversal.
34891         (check_tuning): Skip verification when tuning is known safe.
34892         (hash_initialize): Clarify restrictions on tuning.
34893
34894 2009-06-17  Jim Meyering  <jim@meyering.net>
34895         and Eric Blake  <ebb9@byu.net>
34896
34897         hash-tests: new module
34898         * modules/hash-tests: New file.
34899         * tests/test-hash.c: New file.
34900
34901 2009-06-17  Eric Blake  <ebb9@byu.net>
34902
34903         strstr-simple: document new module
34904         * MODULES.html.sh: Document new module.
34905
34906         strstr, strcasestr: replace on platforms with broken memchr
34907         * modules/strstr: Split into...
34908         * modules/strstr-simple: ...new module that does not care about
34909         performance, but does care about glibc bug.
34910         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
34911         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
34912         if platform memchr is broken, per Debian bug 521737.
34913         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
34914         memchr.
34915         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
34916         * doc/posix-functions/strstr.texi (strstr): Document the fix.
34917         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
34918         * modules/mountlist (Depends-on): Add strstr-simple.
34919         * modules/gen-uni-tables (Depends-on): Likewise.
34920         * modules/argz (Depends-on): Add strstr.
34921
34922 2009-06-17  Bruno Haible  <bruno@clisp.org>
34923
34924         * modules/posix_spawn-internal (Depends-on): Add errno.
34925
34926 2009-06-17  Bruno Haible  <bruno@clisp.org>
34927
34928         Define missing ESTALE on Interix 3.5.
34929         * lib/errno.in.h (ESTALE): Assign a value if missing.
34930         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
34931         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
34932         missing.
34933         * doc/posix-headers/errno.texi: Mention the Interix bug.
34934         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
34935
34936 2009-06-15  Eric Blake  <ebb9@byu.net>
34937
34938         memchr, memchr2: add valgrind exception
34939         * lib/memchr.valgrind: New file.
34940         * lib/memchr2.valgrind: New file.
34941         * modules/memchr (Files): Distribute valgrind file.
34942         * modules/memchr2 (Files): Likewise.
34943
34944         docs: memchr is no longer obsolete
34945         * MODULES.html.sh: Move memchr from obsolete to string.h section.
34946         * lib/string.in.h (memchr): Simplify logic.
34947
34948 2009-06-14  Jim Meyering  <meyering@redhat.com>
34949
34950         link-follow: fix the "checking..." message to not mention trailing slash
34951         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
34952         never considered trailing slashes.
34953
34954 2009-06-14  Bruno Haible  <bruno@clisp.org>
34955
34956         * m4/memchr.m4: Mention also the bug on IA-64.
34957         * doc/posix-functions/memchr.texi: Likewise.
34958
34959 2009-06-12  Eric Blake  <ebb9@byu.net>
34960
34961         memchr: detect broken x86_64 and alpha implementations
34962         * modules/memchr-tests (Depends-on): Move mmap detection...
34963         * modules/memchr (Depends-on): ...here.
34964         (configure.ac): Set indicator.
34965         * lib/string.in.h (memchr): Declare replacement.
34966         * modules/string (Makefile.am): Trigger replacement.
34967         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
34968         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
34969         bugs.
34970         * doc/posix-functions/memchr.texi (memchr): Document the bug.
34971         * modules/getpagesize (License): Relax license.
34972
34973 2009-06-11  Bruno Haible  <bruno@clisp.org>
34974
34975         * lib/idpriv.h: Add more references.
34976
34977 2009-06-08  Bruno Haible  <bruno@clisp.org>
34978
34979         Tests for module 'idpriv-droptemp'.
34980         * modules/idpriv-droptemp-tests: New file.
34981         * tests/test-idpriv-droptemp.sh: New file.
34982         * tests/test-idpriv-droptemp.su.sh: New file.
34983         * tests/test-idpriv-droptemp.c: New file.
34984
34985         New module 'idpriv-droptemp'.
34986         * lib/idpriv-droptemp.c: New file.
34987         * modules/idpriv-droptemp: New file.
34988
34989 2009-06-08  Bruno Haible  <bruno@clisp.org>
34990
34991         Tests for module 'idpriv-drop'.
34992         * modules/idpriv-drop-tests: New file.
34993         * tests/test-idpriv-drop.sh: New file.
34994         * tests/test-idpriv-drop.su.sh: New file.
34995         * tests/test-idpriv-drop.c: New file.
34996
34997         New module 'idpriv-drop'.
34998         * lib/idpriv.h: New file.
34999         * lib-idpriv-drop.c: New file.
35000         * m4/idpriv.m4: New file.
35001         * modules/idpriv-drop: New file.
35002
35003 2009-06-08  Bruno Haible  <bruno@clisp.org>
35004
35005         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
35006         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35007         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35008         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35009         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35010         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35011         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35012
35013 2009-06-08  Eric Blake  <ebb9@byu.net>
35014
35015         test-strstr: use memory fence, when possible
35016         * tests/test-strstr.c (main): Use memory fence, in order to be
35017         more likely to trigger Debian bug 521737.
35018         * modules/strstr-tests (Files): Pull in additional files.
35019
35020         memchr: no longer obsolete, for wider field testing
35021         * modules/memchr (Status, Notice): Delete, this module is no
35022         longer obsolete.
35023         * modules/vasnprintf (Depends-on): Add memchr.
35024
35025 2009-06-07  Jim Meyering  <meyering@redhat.com>
35026
35027         hash: declare some functions with the warn_unused_result attribute
35028         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
35029
35030 2009-06-07  Bruno Haible  <bruno@clisp.org>
35031
35032         * tests/test-alignof.c: Don't test int64_t if it does not exist.
35033         Reported by Eric Blake.
35034
35035 2009-06-06  Eric Blake  <ebb9@byu.net>
35036
35037         test-alignof: fix typo with long double
35038         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
35039         compiler error.
35040
35041 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
35042
35043         Escape non-texinfo { and }s.
35044         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
35045         markup error.
35046
35047 2009-06-04  Jim Meyering  <meyering@redhat.com>
35048
35049         gitlog-to-changelog: don't infloop on an empty commit log
35050         * build-aux/gitlog-to-changelog: Warn about an empty log message.
35051         Reported by Boris Petersen <transacid@centerim.org>.
35052
35053 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
35054
35055         version-etc: extend for packagers
35056         Add three new configure options, intended for packagers:
35057           --with-packager="packager name"
35058           --with-packager-version="packager-specific version"
35059           --with-packager-bug-reports="packager bug reporting"
35060         An example with coreutils:
35061           $ ./configure \
35062             --with-packager=Gentoo \
35063             --with-packager-bug-report=http://bugs.gentoo.org/ \
35064             --with-packager-version="patchset 1.6"
35065           $ ./src/ls --version | head -n2
35066           ls (GNU coreutils) 7.1-dirty
35067           Packaged by Gentoo (patchset 1.6)
35068         Note that the bug reporting info via --help doesn't show up because
35069         coreutils uses its own custom emit_bug_reporting_address() implementation
35070         in src/system.h.  If it didn't, it'd look like:
35071           $ ./src/ls --help | tail -n4
35072           Report bugs to <bug-coreutils@gnu.org>.
35073           Report Gentoo bugs to <http://bugs.gentoo.org/>.
35074           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
35075           General help using GNU software: <http://www.gnu.org/gethelp/>.
35076         * lib/version-etc.c: Print new information, if provided.
35077         * m4/version-etc.m4: New file.
35078         * modules/version-etc (Files): Add m4/version-etc.m4.
35079         (configure.ac): Add gl_VERSION_ETC.
35080
35081 2009-05-31  Bruno Haible  <bruno@clisp.org>
35082
35083         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
35084         and 'int64_t'.
35085         * modules/alignof-tests (Dependencies): Add stdint.
35086         Reported by Eric Blake.
35087
35088 2009-05-31  Bruno Haible  <bruno@clisp.org>
35089
35090         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
35091         restriction due to compiler bugs.
35092         Reported by Eric Blake.
35093
35094 2009-05-31  Simon Josefsson  <simon@josefsson.org>
35095             Bruno Haible  <bruno@clisp.org>
35096
35097         Fix test-alignof failure.
35098         * lib/alignof.h (alignof_slot): New macro.
35099         (alignof_type): New macro, with the same semantics as the previous
35100         'alignof'.
35101         (alignof): Alias to alignof_slot.
35102         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
35103         check that the results are usable as constant expressions.
35104
35105 2009-05-31  Bruno Haible  <bruno@clisp.org>
35106
35107         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
35108         * tests/test-memchr.c (main): Check that memchr does not read past the
35109         first occurrence of the byte.
35110         * tests/test-strstr.c (main): Update comment.
35111         Suggested by Eric Blake.
35112
35113 2009-05-30  Bruno Haible  <bruno@clisp.org>
35114
35115         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
35116         detail how to use dumpbin.
35117         Reported by David Byron <dbyron@dbyron.com>.
35118
35119 2009-06-02  Simon Josefsson  <simon@josefsson.org>
35120
35121         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
35122
35123 2009-06-02  Simon Josefsson  <simon@josefsson.org>
35124
35125         * m4/manywarnings.m4: Add GCC 4.4 warnings.
35126
35127 2009-05-28  Bruno Haible  <bruno@clisp.org>
35128
35129         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
35130         build-aux/ files.
35131
35132 2009-05-28  Simon Josefsson  <simon@josefsson.org>
35133
35134         * gnulib-tool (func_import): Transform license on build-aux/ files too.
35135
35136 2009-05-27  Simon Josefsson  <simon@josefsson.org>
35137
35138         * gnulib-tool (sed_transform_main_lib_file)
35139         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
35140         regexps.
35141
35142 2009-05-26  Simon Josefsson  <simon@josefsson.org>
35143
35144         * tests/test-strstr.c: Add another self-test.
35145         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
35146         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
35147
35148 2009-05-23  Bruno Haible  <bruno@clisp.org>
35149
35150         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
35151         change.
35152
35153 2009-05-21  Bruno Haible  <bruno@clisp.org>
35154
35155         Simplify use of mode_t varargs.
35156         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
35157         uses 'mode_t' or 'int'.
35158         * lib/openat.c (openat): Likewise.
35159         * lib/open-safer.c (open_safer): Likewise.
35160         * m4/mode_t.m4: New file.
35161         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
35162         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
35163         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
35164         * modules/open (Files): Add m4/mode_t.m4.
35165         * modules/openat (Files): Likewise.
35166         * modules/fcntl-safer (Files): Likewise.
35167         Suggested by Eric Blake.
35168
35169 2009-05-21  Pádraig Brady  <P@draigbrady.com>
35170
35171         * doc/glibc-functions/fallocate.texi: New file.
35172         * doc/gnulib.texi: Include it.
35173
35174 2009-05-21  Eric Blake  <ebb9@byu.net>
35175             Bruno Haible  <bruno@clisp.org>
35176
35177         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
35178         invocations.
35179         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35180
35181 2009-05-21  Eric Blake  <ebb9@byu.net>
35182             Bruno Haible  <bruno@clisp.org>
35183
35184         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
35185         include_next. Fix of 2008-11-20 commit.
35186         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
35187         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
35188         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
35189         NEXT_MATH_H.
35190         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
35191         instead of NEXT_MATH_H.
35192
35193 2009-05-21  Bruno Haible  <bruno@clisp.org>
35194
35195         Avoid redefinition warnings for SIZE_MAX.
35196         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
35197         Reported by Simon Josefsson.
35198
35199 2009-05-21  Bruno Haible  <bruno@clisp.org>
35200
35201         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
35202         AC_CACHE_VAL.
35203
35204 2009-05-20  Bruno Haible  <bruno@clisp.org>
35205
35206         Make zeroptr.h work on mingw.
35207         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
35208         mprotect.
35209         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
35210         * modules/memchr2-tests (configure.ac): Likewise.
35211         * modules/memcmp-tests (configure.ac): Likewise.
35212         * modules/memmem-tests (configure.ac): Likewise.
35213         * modules/memrchr-tests (configure.ac): Likewise.
35214         Reported by Simon Josefsson.
35215
35216 2009-05-20  Simon Josefsson  <simon@josefsson.org>
35217
35218         * tests/test-glob.c: Include string.h for strcmp prototype.
35219
35220 2009-05-20  Simon Josefsson  <simon@josefsson.org>
35221
35222         * modules/getdelim (Depends-on): Add explicit stdint, although it
35223         was implicitly already pulled in via realloc-posix.
35224         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
35225
35226 2009-05-20  Simon Josefsson  <simon@josefsson.org>
35227
35228         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
35229         G. Christensen" <tgc@jupiterrise.com>.
35230         * m4/sys_socket_h.m4: Check for sa_family_t.
35231         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
35232         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
35233         * tests/test-sys_socket.c: Check that sa_family_t works.
35234
35235 2009-05-18  Eric Blake  <ebb9@byu.net>
35236
35237         maint.mk: allow gnulib_dir in VPATH build
35238         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
35239
35240 2009-05-15  Jim Meyering  <meyering@redhat.com>
35241
35242         maint.mk: Give gnulib_dir a default definition.
35243         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
35244         Thus, most packages no longer need to specify this variable in cfg.mk
35245
35246 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
35247
35248         rename.m4: fix typos that would make non-mingw cross-configure fail
35249         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
35250
35251 2009-05-13  Eric Blake  <ebb9@byu.net>
35252
35253         mmap-anon: avoid out-of-order autoconf expansion
35254         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
35255         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
35256         * modules/memchr-tests (Depends-on): Add extensions.
35257         * modules/memchr2-tests (Depends-on): Add extensions.
35258         * modules/memcmp-tests (Depends-on): Add extensions.
35259         * modules/memmem-tests (Depends-on): Add extensions.
35260         * modules/memrchr-tests (Depends-on): Add extensions.
35261
35262 2009-05-13  Bruno Haible  <bruno@clisp.org>
35263
35264         Make some tests ISO C 99 compliant.
35265         * tests/zerosize-ptr.h: New file.
35266         * tests/test-memchr.c: Include zerosize-ptr.h.
35267         (main): Use a zero-size object pointer instead of NULL.
35268         * tests/test-memchr2.c: Include zerosize-ptr.h.
35269         (main): Use a zero-size object pointer instead of NULL.
35270         * tests/test-memcmp.c: Include zerosize-ptr.h.
35271         (main): Use a zero-size object pointer instead of NULL.
35272         * tests/test-memmem.c: Include zerosize-ptr.h.
35273         (main): Use a zero-size object pointer instead of NULL.
35274         * tests/test-memrchr.c: Include zerosize-ptr.h.
35275         (main): Use a zero-size object pointer instead of NULL.
35276         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
35277         m4/mmap-anon.m4.
35278         (Depends-on): Add getpagesize.
35279         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
35280         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
35281         m4/mmap-anon.m4.
35282         (Depends-on): Add getpagesize.
35283         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
35284         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
35285         m4/mmap-anon.m4.
35286         (Depends-on): Add getpagesize.
35287         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
35288         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
35289         m4/mmap-anon.m4.
35290         (Depends-on): Add getpagesize.
35291         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
35292         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
35293         m4/mmap-anon.m4.
35294         (Depends-on): Add getpagesize.
35295         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
35296
35297 2009-05-12  Bruno Haible  <bruno@clisp.org>
35298
35299         Tests for module 'alignof'.
35300         * modules/alignof-tests: New file.
35301         * tests/test-alignof.c: New file.
35302
35303 2009-05-12  Bruno Haible  <bruno@clisp.org>
35304
35305         Fix alignof macro.
35306         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
35307         vendor compilers that are always correct.
35308
35309 2009-05-12  Bruno Haible  <bruno@clisp.org>
35310
35311         Make the MAP_ANONYMOUS detection work on HP-UX 11.
35312         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
35313         not whether its fully works.
35314
35315 2009-05-12  Bruno Haible  <bruno@clisp.org>
35316
35317         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
35318
35319 2009-05-12  Jim Meyering  <meyering@redhat.com>
35320
35321         * top/maint.mk: Adjust backslash alignment.
35322
35323 2009-05-11  Simon Josefsson  <simon@josefsson.org>
35324
35325         * top/maint.mk: Make $(srcdir)/build-aux configurable.
35326
35327 2009-05-11  Eric Blake  <ebb9@byu.net>
35328
35329         argp: avoid undefined behavior
35330         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
35331         macros.
35332
35333 2009-05-08  Simon Josefsson  <simon@josefsson.org>
35334
35335         * tests/test-vc-list-files-git.sh: Do git config of user.email and
35336         user.name to prevent git commit from complaining.
35337
35338 2009-05-10  Bruno Haible  <bruno@clisp.org>
35339
35340         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
35341         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
35342         it rewrites every file name only once.
35343         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
35344
35345 2009-05-08  Bruno Haible  <bruno@clisp.org>
35346
35347         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
35348         instead of 'max'.
35349
35350 2009-05-08  Simon Josefsson  <simon@josefsson.org>
35351
35352         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
35353         sockaddr_storage test.
35354
35355 2009-05-07  Simon Josefsson  <simon@josefsson.org>
35356
35357         * modules/sys_socket (Makefile.am): Substitute
35358         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
35359         * m4/sys_socket_h.m4: Check for sockaddr_storage.
35360         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
35361         * tests/test-sys_socket.c: Check sockaddr_storage.
35362
35363 2009-05-08  Bruno Haible  <bruno@clisp.org>
35364
35365         New module 'alignof'.
35366         * lib/alignof.h: New file.
35367         * modules/alignof: New file.
35368
35369 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
35370             Bruno Haible  <bruno@clisp.org>
35371
35372         Fix test-file-has-acl on FreeBSD.
35373         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
35374         mask is implicitly added.
35375         * tests/test-file-has-acl.c: Include <signal.h>.
35376         (main): Terminate the test after 5 seconds.
35377         * modules/acl-tests (configure.ac): Check for alarm function.
35378
35379 2009-05-04  Bruno Haible  <bruno@clisp.org>
35380
35381         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
35382         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
35383         * modules/errno (configure.ac): Drop AC_REQUIRE.
35384         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
35385         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
35386
35387 2009-05-04  Simon Josefsson  <simon@josefsson.org>
35388
35389         * modules/glob-tests: New module.
35390         * tests/test-glob.c: Add.
35391
35392 2009-05-04  Simon Josefsson  <simon@josefsson.org>
35393
35394         * modules/fnmatch-tests: New module.
35395         * tests/test-fnmatch.c: Add.
35396
35397 2009-05-04  Eric Blake  <ebb9@byu.net>
35398
35399         maint: make the new no-submodule-changes rule VPATH-safe
35400         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
35401
35402 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
35403             Bruno Haible  <bruno@clisp.org>
35404
35405         acl: Fix infinite loop on FreeBSD.
35406         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
35407         of return value from acl_get_entry.
35408         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
35409         Likewise.
35410
35411 2009-05-03  Bruno Haible  <bruno@clisp.org>
35412
35413         * lib/acl-internal.h (acl_entries): Clarify return value.
35414         * lib/acl_entries.c (acl_entries): Likewise.
35415
35416 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
35417
35418         Bug fix in acl module.
35419         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
35420
35421 2009-05-03  Bruno Haible  <bruno@clisp.org>
35422
35423         Create gperf-generated file in the source dir, not in the build dir.
35424         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
35425         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
35426         * modules/unicase/locale-language (unicase/locale-languages.h):
35427         Likewise.
35428         * modules/unicase/special-casing (unicase/special-casing-table.h):
35429         Likewise.
35430         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
35431         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
35432         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
35433         Reported by Ralf Wildenhues.
35434
35435 2009-05-03  Bruno Haible  <bruno@clisp.org>
35436
35437         * modules/fnmatch (Description, configure.ac): Taken from
35438         fnmatch-posix.
35439         * modules/fnmatch-posix: Turn into a symbolic reference to the
35440         'fnmatch' module, and deprecate.
35441         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
35442
35443 2009-05-03  Bruno Haible  <bruno@clisp.org>
35444
35445         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
35446         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
35447         Reported by Ralf Wildenhues.
35448
35449 2009-05-04  Simon Josefsson  <simon@josefsson.org>
35450
35451         * m4/fnmatch.m4: Fix fnmatch re-define.
35452
35453 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
35454
35455         priv-set: new module and tests; adapt write-any-file
35456         * lib/priv-set.c: New file.
35457         * lib/priv-set.h: New file.
35458         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
35459         * lib/write-any-file.c: Simplify by using priv-set module.
35460         * m4/priv-set.m4: New file.
35461         * modules/priv-set: New file.
35462         * modules/unlinkdir: Add dependency on priv-set module.
35463         * modules/write-any-file: Likewise.
35464
35465         Tests for module 'priv-set'.
35466         * modules/priv-set-tests: New file.
35467         * tests/test-priv-set.c: New file.
35468
35469 2009-05-03  Jim Meyering  <meyering@redhat.com>
35470             Bruno Haible  <bruno@clisp.org>
35471
35472         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
35473         use the converted UTF-8 variant of the name instead.
35474
35475 2009-05-03  Jim Meyering  <meyering@redhat.com>
35476
35477         tests: tighten some getdate tests
35478         * tests/test-getdate.c (main): Tighten tests: require equality,
35479         not just greater than.  Set TZ envvar to UTC0.
35480
35481 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
35482
35483         getdate: correctly interpret "next monday" when run on a Monday
35484         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
35485         that e.g., "next tues" (when run on a tuesday) results in a date
35486         that is one week in the future, and not today's date.
35487         I.e., add a week when the wday is the same as the current one.
35488         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
35489         and earlier by Martin Bernreuther and Jan Minář.
35490         * tests/test-getdate.c (main): Check that "next DAY" is always in
35491         the future and that "last DAY" is always in the past.
35492
35493 2009-05-02  Jim Meyering  <meyering@redhat.com>
35494
35495         build: ensure that a release build fails when a submodule is unclean
35496         * top/maint.mk (no-submodule-changes): New rule.
35497         (alpha beta major): Depend on it.
35498
35499 2009-05-02  Bruno Haible  <bruno@clisp.org>
35500
35501         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
35502         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
35503         shell variable gl_fnmatch_required to detect which variant is
35504         requested.
35505         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
35506         gl_FUNC_FNMATCH_POSIX.
35507         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
35508         exclude fnmatch-posix.
35509
35510 2009-05-02  Bruno Haible  <bruno@clisp.org>
35511
35512         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
35513         * modules/mbsrtowcs (License): Change to LGPLv2+.
35514         * modules/strnlen1 (License): Likewise.
35515         Reported by Simon Josefsson.
35516
35517 2009-05-02  Bruno Haible  <bruno@clisp.org>
35518
35519         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
35520         "cross".
35521         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
35522         gnulib-tool was called with option --source-base=lib.
35523
35524 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35525
35526         Use automake *-local hooks without commands, for extensibility.
35527         * modules/localcharset (Makefile.am): Rename install-exec-local
35528         rule to install-exec-localcharset, and make it a prerequisite of
35529         install-exec-local.  Likewise, rename the uninstall-local rule to
35530         uninstall-localcharset, and make it a prerequisite of the former.
35531
35532 2009-05-01  Bruno Haible  <bruno@clisp.org>
35533
35534         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
35535         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
35536         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
35537         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
35538         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
35539         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
35540         m4/locale-zh.m4, m4/codeset.m4.
35541
35542         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
35543         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
35544         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
35545         m4/locale-zh.m4.
35546
35547         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
35548         REPLACE_WCRTOMB if mbstate_t must be replaced.
35549         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
35550         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
35551
35552 2009-05-01  Bruno Haible  <bruno@clisp.org>
35553
35554         Avoid compiler warnings when redefining macros defined by <libintl.h>.
35555         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
35556         dngettext, dcngettext, textdomain, bindtextdomain,
35557         bind_textdomain_codeset): Undefine before redefining.
35558
35559 2009-04-30  Bruno Haible  <bruno@clisp.org>
35560
35561         Fix bug introduced on 2009-04-25.
35562         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
35563         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
35564         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
35565         is defined.
35566         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
35567         is defined.
35568         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
35569         is defined.
35570         Reported by Elbert_Pol <elbert.pol@gmail.com>.
35571
35572 2009-04-28  Bruno Haible  <bruno@clisp.org>
35573
35574         Comment tweaks.
35575         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
35576         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
35577         * lib/unicase.h (u*_casexfrm): Likewise.
35578         Reported by Paolo Bonzini.
35579
35580 2009-04-28  Bruno Haible  <bruno@clisp.org>
35581
35582         Fix a compilation error.
35583         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
35584         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
35585         Reported by Jim Meyering.
35586
35587 2009-04-27  Bruno Haible  <bruno@clisp.org>
35588
35589         New module 'libunistring'.
35590         * modules/libunistring: New file.
35591         * m4/libunistring.m4: New file.
35592         * MODULES.html.sh (Unicode string functions): Add it.
35593
35594 2009-04-27  Eric Blake  <ebb9@byu.net>
35595
35596         maint.mk: allow package-specific header to provide <config.h>
35597         * top/maint.mk (sc_require_config_h): New variable.
35598         (sc_require_config_h, sc_require_config_h_first): Use it.
35599
35600 2009-04-27  Simon Josefsson  <simon@josefsson.org>
35601
35602         * top/maint.mk (sc_avoid_if_before_free): Except
35603         useless-if-before-free script.
35604
35605 2009-04-27  Eric Blake  <ebb9@byu.net>
35606
35607         maintainer-makefile: depend on all required helper scripts
35608         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
35609         useless-if-before-free.
35610         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
35611         version, rather than assuming gnulib checkout is available.
35612         Reported by Simen Josefsson.
35613
35614 2009-04-26  Bruno Haible  <bruno@clisp.org>
35615
35616         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
35617         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
35618         "../" or "..".
35619
35620 2009-04-26  Bruno Haible  <bruno@clisp.org>
35621
35622         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
35623         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
35624         AC_LIB_HAVE_LINKFLAGS.
35625
35626 2009-04-26  Bruno Haible  <bruno@clisp.org>
35627
35628         Simplify calling convention of u*_conv_from_encoding.
35629         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
35630         u32_conv_from_encoding): Expect a resultbuf argument and return the
35631         result directly as a pointer.
35632         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
35633         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
35634         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
35635         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
35636         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
35637         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
35638         Update.
35639         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
35640         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
35641         * lib/vasnprintf.c (VASNPRINTF): Update.
35642         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
35643         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
35644         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
35645         * NEWS: Mention the change.
35646
35647 2009-04-26  Bruno Haible  <bruno@clisp.org>
35648
35649         Simplify calling convention of u*_conv_to_encoding.
35650         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
35651         u32_conv_to_encoding): Expect a resultbuf argument and return the
35652         result directly as a pointer.
35653         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
35654         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
35655         freeing scaled_offsets if mem_iconveha failed.
35656         * lib/unicase/u-casexfrm.h (FUNC): Update.
35657         * lib/uninorm/u-normxfrm.h (FUNC): Update.
35658         * lib/vasnprintf.c (VASNPRINTF): Update.
35659         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
35660         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
35661         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
35662         * NEWS: Mention the change.
35663
35664 2009-04-26  Bruno Haible  <bruno@clisp.org>
35665
35666         Avoid test failures on AIX and OSF/1.
35667         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
35668         malloc(0).
35669         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
35670         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
35671         Likewise.
35672         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
35673         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
35674         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
35675         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
35676         * doc/posix-functions/malloc.texi: Document the portability problem
35677         related to malloc(0).
35678
35679 2009-04-26  Bruno Haible  <bruno@clisp.org>
35680
35681         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
35682         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
35683         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
35684
35685 2009-04-25  Bruno Haible  <bruno@clisp.org>
35686
35687         Avoid link error when creating a namespace clean library.
35688         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
35689         as macro with arguments if already defined as an alias.
35690         * lib/signbitf.c (gl_signbitf): Don't undefine.
35691         * lib/signbitd.c (gl_signbitd): Don't undefine.
35692         * lib/signbitl.c (gl_signbitl): Don't undefine.
35693
35694 2009-04-25  Jim Meyering  <meyering@redhat.com>
35695
35696         vc-list-files: fix another quoting bug
35697         * build-aux/vc-list-files: Avoid sed backslash expansion
35698         of pathological directory names.
35699
35700 2009-04-25  Eric Blake  <ebb9@byu.net>
35701
35702         vc-list-files: fix shell quoting error
35703         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
35704         timestamp.
35705
35706 2009-04-25  Jim Meyering  <meyering@redhat.com>
35707
35708         vc-list-files: restore lost functionality with subdir argument
35709         * build-aux/vc-list-files: When given a non-"." sub-directory
35710         argument, substitute the $dir/ prefix back onto each resulting name.
35711         Otherwise, coreutils' root_tests check would fail.
35712
35713 2009-04-24  Eric Blake  <ebb9@byu.net>
35714
35715         vc-list-files: ignore git symlinks
35716         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
35717         than ls-files, to ignore git symlinks.
35718
35719         maint.mk: import improvements from m4
35720         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
35721         (move_if_change): Delete unused macro.
35722         (news-date-check, vc-diff-check): Support VPATH builds.
35723         (announcement): Likewise.  Split --bootstrap-tools list...
35724         (boostrap-tools): ...into separate list, which can be overridden
35725         in cfg.mk.
35726         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
35727         requiring dependency on useless-if-before-free module.
35728         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
35729         Support VPATH builds.
35730
35731 2009-04-24  Jim Meyering  <meyering@redhat.com>
35732
35733         maint.mk: remove coreutils-specific rules and variables
35734         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
35735         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
35736         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
35737
35738         maint.mk: remove obsolete rule
35739         * top/maint.mk (rel-check): Remove rule.
35740         (WGET, WGETFLAGS): Remove now-unused variables.
35741
35742 2009-04-24  Simon Josefsson  <simon@josefsson.org>
35743
35744         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
35745         consistency.
35746
35747         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
35748         '$(PATH_SEPARATOR)' instead of ':'.
35749
35750 2009-04-24  Simon Josefsson  <simon@josefsson.org>
35751
35752         * lib/getopt1.c (main): Use 'const' for static array.
35753
35754 2009-04-24  Simon Josefsson  <simon@josefsson.org>
35755
35756         * top/maint.mk: Sync with coreutils.
35757         * NEWS: Explain incompatibilities.
35758
35759 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35760             Bruno Haible  <bruno@clisp.org>
35761
35762         Fix cross-compilation results.
35763         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
35764         statement, as third argument of AC_TRY_RUN.
35765         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
35766         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
35767         Likewise.
35768         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
35769         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
35770         Likewise.
35771         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
35772         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
35773         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
35774
35775 2009-04-20  Bruno Haible  <bruno@clisp.org>
35776
35777         Avoid test failure on mingw.
35778         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
35779
35780 2009-04-20  Bruno Haible  <bruno@clisp.org>
35781
35782         Avoid compilation error on mingw.
35783         * modules/localename-tests (Depends-on): Add locale.
35784
35785 2009-04-19  Bruno Haible  <bruno@clisp.org>
35786
35787         Support for building a shared library on Windows platforms.
35788         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
35789         (main): Test the presence of UNINORM_NFC here.
35790         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
35791         (main): Test the presence of UNINORM_NFD here.
35792         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
35793         (main): Test the presence of UNINORM_NFKC here.
35794         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
35795         (main): Test the presence of UNINORM_NFKD here.
35796
35797 2009-04-19  Bruno Haible  <bruno@clisp.org>
35798
35799         Avoid a compiler warning.
35800         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
35801         Change type of variable 'sequence'.
35802
35803 2009-04-19  Bruno Haible  <bruno@clisp.org>
35804
35805         * modules/configmake (Makefile.am): When the contents of configmake.h
35806         does not change, arrange to preserve its modification time.
35807
35808 2009-04-17  Simon Josefsson  <simon@josefsson.org>
35809
35810         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
35811         gettext domain.
35812
35813 2009-04-16  Jim Meyering  <meyering@redhat.com>
35814
35815         useless-if-before-free: improve conversion code
35816         * build-aux/useless-if-before-free: Adjust code-in-comment to match
35817         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
35818
35819 2009-04-14  Bruno Haible  <bruno@clisp.org>
35820
35821         * modules/fcntl (Depends-on): Add extensions.
35822         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
35823
35824 2009-04-12  Ben Pfaff  <blp@gnu.org>
35825
35826         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
35827         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
35828
35829 2009-03-20  Ben Pfaff  <blp@gnu.org>
35830
35831         Make rename replace existing destinations on Windows.
35832         * m4/rename.m4: Add test for Mingw.
35833         * lib/rename.c: Add rename replacement that uses MoveFileEx with
35834         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
35835         * doc/posix-functions/rename.texi: Document.
35836
35837 2009-04-10  Bruno Haible  <bruno@clisp.org>
35838
35839         New include file "iconveh.h".
35840         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
35841         * lib/striconveh.h: Include it.
35842         (enum iconv_ilseq_handler): Remove definition.
35843         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
35844         striconveh.h.
35845         * lib/striconveha.c: Include striconveh.h.
35846         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
35847         * modules/striconveh (Files): Add lib/iconveh.h.
35848         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
35849         lib/striconveh.h.
35850
35851 2009-04-10  Bruno Haible  <bruno@clisp.org>
35852
35853         * lib/uniconv.h: Update comment.
35854
35855 2009-04-10  Bruno Haible  <bruno@clisp.org>
35856
35857         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
35858         always.
35859         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
35860         * lib/unistr/u16-mbtouc-aux.c: Likewise.
35861         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
35862         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
35863         "unistring-notinline.h", so that the function gets defined always.
35864         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
35865         * lib/unistr/u8-uctomb.c: Likewise.
35866         * lib/unistr/u16-mbtouc.c: Likewise.
35867         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
35868         * lib/unistr/u16-uctomb.c: Likewise.
35869         * lib/unistr/u32-mbtouc.c: Likewise.
35870         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
35871         * lib/unistr/u32-uctomb.c: Likewise.
35872
35873 2009-04-10  Bruno Haible  <bruno@clisp.org>
35874
35875         Mark 'utime' obsolete.
35876         * modules/utime (Status, Notice): New sections.
35877         Suggested by Jim Meyering.
35878
35879         Fix cross-compile guess for utime test.
35880         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
35881         autoconf.
35882         * doc/posix-functions/utime.texi: Give more precisions.
35883         Reported by Jan <ipif@ymail.com>.
35884
35885 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
35886
35887         filevercmp: correct today's change
35888         * lib/filevercmp.c: Also handle coreutils' test inputs.
35889         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
35890
35891         Fix regression in 'filevercmp' module. Thanks Sven Joachim
35892         for reporting it.
35893         * lib/filevercmp.c: Special handle for "", "." and "..".
35894         * tests/test-filevercmp.c: Enlarge the set suite.
35895
35896 2009-04-07  Jim Meyering  <meyering@redhat.com>
35897
35898         useless-if-before-free: show how to remove braced useless free, too
35899         * build-aux/useless-if-before-free: still only in a comment, though.
35900
35901 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
35902
35903         maint.mk: import changes to syntax-check macros from coreutils
35904         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
35905         Use them in the relevant macros.
35906
35907 2009-04-06  Bruno Haible  <bruno@clisp.org>
35908
35909         Fix unportable use of bit-fields.
35910         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
35911         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
35912         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
35913
35914 2009-04-06  Bruno Haible  <bruno@clisp.org>
35915
35916         Avoid test failures on AIX and OSF/1.
35917         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
35918         that malloc(0) = NULL.
35919         * tests/unicase/test-u8-tolower.c (check): Likewise.
35920         * tests/unicase/test-u8-totitle.c (check): Likewise.
35921         * tests/unicase/test-u8-toupper.c (check): Likewise.
35922         * tests/unicase/test-u16-casefold.c (check): Likewise.
35923         * tests/unicase/test-u16-tolower.c (check): Likewise.
35924         * tests/unicase/test-u16-totitle.c (check): Likewise.
35925         * tests/unicase/test-u16-toupper.c (check): Likewise.
35926         * tests/unicase/test-u32-casefold.c (check): Likewise.
35927         * tests/unicase/test-u32-tolower.c (check): Likewise.
35928         * tests/unicase/test-u32-totitle.c (check): Likewise.
35929         * tests/unicase/test-u32-toupper.c (check): Likewise.
35930         * tests/uninorm/test-u8-nfc.c (check): Likewise.
35931         * tests/uninorm/test-u8-nfd.c (check): Likewise.
35932         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
35933         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
35934         * tests/uninorm/test-u16-nfc.c (check): Likewise.
35935         * tests/uninorm/test-u16-nfd.c (check): Likewise.
35936         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
35937         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
35938         * tests/uninorm/test-u32-nfc.c (check): Likewise.
35939         * tests/uninorm/test-u32-nfd.c (check): Likewise.
35940         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
35941         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
35942
35943 2009-04-05  Bruno Haible  <bruno@clisp.org>
35944
35945         Work around an autoconf limitation.
35946         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
35947         comment line if it would be longer than 3 KB.
35948
35949 2009-04-05  Bruno Haible  <bruno@clisp.org>
35950
35951         Avoid test failure with libiconv-1.13.
35952         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
35953         of the expected test results.
35954
35955 2009-04-05  Bruno Haible  <bruno@clisp.org>
35956
35957         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
35958         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
35959         that it should be installed.
35960
35961 2009-04-05  Bruno Haible  <bruno@clisp.org>
35962
35963         * gnulib-tool: New option --copy-file.
35964         (func_usage): Document it.
35965         (func_dest_tmpfilename): Moved out of func_import.
35966         (func_add_file, func_update_file): New functions, extracted from
35967         func_import.
35968         (func_import): Update.
35969
35970 2009-04-05  Karl Berry  <karl@gnu.org>
35971
35972         * README: prominently mention gnulib-tool.
35973         Rearrange sections so getting the code is near the top.
35974
35975 2009-04-05  Bruno Haible  <bruno@clisp.org>
35976
35977         * lib/unicase.h: Mention u*_cmp2.
35978         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
35979         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
35980         * lib/unicase/ulc-casecmp.c: Likewise.
35981         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
35982         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
35983         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
35984         unistr/u8-cmp.
35985         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
35986         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
35987         unistr/u16-cmp.
35988         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
35989         unistr/u32-cmp.
35990
35991         * lib/uninorm.h: Mention u*_cmp2.
35992         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
35993         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
35994         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
35995         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
35996         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
35997         unistr/u8-cmp.
35998         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
35999         unistr/u16-cmp.
36000         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
36001         unistr/u32-cmp.
36002
36003         New module 'unistr/u32-cmp2'.
36004         * lib/unistr/u32-cmp2.c: New file.
36005         * modules/unistr/u32-cmp2: New file.
36006
36007         New module 'unistr/u16-cmp2'.
36008         * lib/unistr/u16-cmp2.c: New file.
36009         * modules/unistr/u16-cmp2: New file.
36010
36011         New module 'unistr/u8-cmp2'.
36012         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
36013         * lib/unistr/u8-cmp2.c: New file.
36014         * lib/unistr/u-cmp2.h: New file.
36015         * modules/unistr/u8-cmp2: New file.
36016
36017 2009-04-05  Bruno Haible  <bruno@clisp.org>
36018
36019         * lib/unictype.h (uc_property_is_valid): New macro.
36020         * tests/unictype/test-pr_byname.c (main): Use it.
36021
36022         * lib/unistr.h: Doc fixes.
36023         * lib/uniconv.h: Doc fixes.
36024         * lib/unictype.h: Doc fixes.
36025
36026 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
36027
36028         Port coreutils 7.2 to Solaris 8.
36029
36030         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
36031         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
36032         for Solaris 8.  This is a bit of a hack, as it means it's the
36033         caller's responsibility to add -lnsl if needed, but most likely it
36034         won't be needed since only getaddrinfo uses this and getaddrinfo
36035         isn't needed on Solaris 8.
36036
36037         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
36038         problem to Solaris 8 encountered with coreutils 7.2, which
36039         resulted in a message "fnmatch.c:292: warning: passing argument 4
36040         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
36041         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
36042
36043 2009-04-03  Simon Josefsson  <simon@josefsson.org>
36044
36045         * m4/ld-version-script.m4: Add FIXME comment.
36046
36047 2009-04-02  Simon Josefsson  <simon@josefsson.org>
36048
36049         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
36050         SOVERSION variable.
36051
36052 2009-04-02  Bruno Haible  <bruno@clisp.org>
36053
36054         * Makefile (info, html, dvi, pdf): Combine the rules.
36055         Suggested by Jim Meyering.
36056
36057 2009-04-01  Bruno Haible  <bruno@clisp.org>
36058
36059         * Makefile (info, html, dvi, pdf): New targets.
36060         Reported by Reuben Thomas <rrt@sc3d.org>.
36061
36062 2009-04-01  Bruno Haible  <bruno@clisp.org>
36063
36064         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
36065         can be put into PATH.
36066         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
36067
36068 2009-04-01  Bruno Haible  <bruno@clisp.org>
36069
36070         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
36071
36072 2009-04-01  Bruno Haible  <bruno@clisp.org>
36073
36074         Rename module 'visibility'.
36075         * modules/lib-symbol-visibility: Renamed from modules/visibility.
36076         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
36077         * doc/gnulib.texi: Update.
36078         * MODULES.html.sh (Misc): Update.
36079         * NEWS: Mention the change.
36080
36081 2009-04-01  Simon Josefsson  <simon@josefsson.org>
36082
36083         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
36084         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
36085         Eric Blake <ebb9@byu.net> for review.
36086         * MODULES.html.sh: Add lib-msvc-compat.
36087         * doc/gnulib.texi: Link to new section.
36088         * m4/ld-output-def.m4: New file.
36089         * doc/ld-output-def.texi: New file.
36090
36091 2009-04-01  Simon Josefsson  <simon@josefsson.org>
36092
36093         Rename ld-version-script to lib-symbol-versions.  Suggested by
36094         Bruno Haible <bruno@clisp.org>.
36095         * modules/ld-version-script: Renamed to lib-symbol-versions.
36096         * doc/ld-version-script.texi: Fix module name.
36097         * MODULES.html.sh: Add lib-symbol-versions.
36098
36099 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36100
36101         * modules/u64-tests: New file.
36102         * tests/test-u64.c: New file.
36103
36104 2009-03-04  Simon Josefsson  <simon@josefsson.org>
36105
36106         * MODULES.html.sh: Mention u64.
36107         * modules/u64: New module.
36108         * modules/crypto/sha512: Depend on u64 module instead of providing
36109         u64.h.
36110
36111 2009-03-27  Eric Blake  <ebb9@byu.net>
36112
36113         test-strerror: make debugging EAI_SYSTEM easier
36114         * modules/getaddrinfo-tests (Depends-on): Add strerror.
36115         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
36116         failure was EAI_SYSTEM.
36117
36118 2009-03-25  Bruno Haible  <bruno@clisp.org>
36119
36120         Fix a problem with --enable-relocatable on Solaris 7.
36121         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
36122         since 2008-02-24.
36123
36124 2009-03-25  Eric Blake  <ebb9@byu.net>
36125
36126         test-sockets: avoid gcc warning
36127         * tests/test-sockets.c (main): Silence compiler warning.
36128
36129 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
36130
36131         New modules nproc, pthread, contributed by Glen Lenker.
36132
36133         * MODULES.html.sh: Add pthread, nproc.
36134         * lib/nproc.c: New file.
36135         * lib/nproc.h: New file.
36136         * lib/pthread.in.h: New file.
36137         * m4/pthread.m4: New file.
36138         * modules/nproc: New file.
36139         * modules/pthread: New file.
36140
36141 2009-03-24  Simon Josefsson  <simon@josefsson.org>
36142
36143         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
36144         New variable.
36145
36146 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
36147
36148         filevercmp: handle simple~ and numbered.~3~ backup suffixes
36149         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
36150         * tests/test-filevercmp.c: Add tests for backup suffixes.
36151
36152 2009-03-24  Simon Josefsson  <simon@josefsson.org>
36153
36154         * modules/stdlib (Depends-on): Add stdint, needed when defining
36155         struct random_data on, for example, HP-UX 10.20.  Reported by
36156         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36157
36158 2009-03-24  Simon Josefsson  <simon@josefsson.org>
36159
36160         * lib/readline.c (readline): Call fflush on stdout after printing
36161         prompt.
36162
36163 2009-03-20  Bruno Haible  <bruno@clisp.org>
36164
36165         Remove dependency from 'close' module to -lws2_32 on native Windows.
36166         * lib/close-hook.h: New file.
36167         * lib/close-hook.c: New file.
36168         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
36169         w32sock.h.
36170         (_gl_close_fd_maybe_socket): Remove function.
36171         (rpl_close): Invoke execute_all_close_hooks instead of
36172         _gl_close_fd_maybe_socket.
36173         * lib/sockets.c: Include close-hook.h, w32sock.h.
36174         (close_fd_maybe_socket): New function, essentially from lib/close.c.
36175         (close_sockets_hook): New variable.
36176         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
36177         (gl_sockets_cleanup): Unregister it.
36178         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
36179         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
36180         * modules/close-hook: New file.
36181         * modules/close (Files): Remove lib/w32sock.h.
36182         (Depends-on): Add close-hook.
36183         (Link): Remove section.
36184         * modules/sockets (Files): Add lib/w32sock.h.
36185         (Depends-on): Add close-hook.
36186         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
36187         invocation.
36188         * NEWS: Mention that LIB_CLOSE is gone.
36189
36190 2009-03-23  Eric Blake  <ebb9@byu.net>
36191
36192         signal-tests: test previous patch
36193         * tests/test-signal.c: New file.
36194         * modules/signal-tests: Likewise.
36195
36196         signal.h: always support 'volatile sig_atomic_t'
36197         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
36198         (gl_SIGNAL_H_DEFAULTS): Add a default.
36199         * modules/signal (Makefile.am): Substitute if needed.
36200         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
36201         users can blindly add volatile.
36202         * doc/posix-headers/signal.texi (signal.h): Document it.
36203         Reported by Matthew Woehlke.
36204
36205 2009-03-23  Jim Meyering  <meyering@redhat.com>
36206
36207         pathmax: PATH_MAX: use pathconf only when available
36208         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
36209         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
36210         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
36211         This avoids a link failure in a PSP cross-compilation environment
36212         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
36213
36214         * lib/vasnprintf.c (divide): Fix typo in comment.
36215
36216 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36217
36218         * gnulib-tool (func_filter_filelist): Fix comment.
36219
36220 2009-03-20  Bruno Haible  <bruno@clisp.org>
36221
36222         Make sockets.h self-contained.
36223         * lib/sockets.c: Include sockets.h first.
36224         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
36225
36226 2009-03-19  Eric Blake  <ebb9@byu.net>
36227
36228         doc: mention more functions added in cygwin 1.7.0
36229         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
36230         addition.
36231         * doc/posix-functions/log2f.texi: Likewise.
36232
36233 2009-03-19  Jim Meyering  <meyering@redhat.com>
36234
36235         fsusage: avoid syntax error due to statement-before-declaration
36236         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
36237         after all declarations.  Reported by Matthew Woehlke in
36238         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
36239
36240 2009-03-18  Eric Blake  <ebb9@byu.net>
36241
36242         build-aux/compile: sync from automake
36243         * build-aux/compile: New file, from automake.
36244         * config/srclist.txt: Mention build-aux/compile.
36245
36246 2009-03-17  Bruno Haible  <bruno@clisp.org>
36247
36248         * lib/git-merge-changelog.c: Fix typo in comment.
36249         Reported by Reuben Thomas <rrt@sc3d.org>.
36250
36251 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
36252
36253         * m4/regex.m4: update and improve help for
36254         --without-included-regex.
36255
36256 2009-03-17  Simon Josefsson  <simon@josefsson.org>
36257
36258         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
36259         failure on missing include files.
36260
36261 2009-03-17  Eric Blake  <ebb9@byu.net>
36262
36263         doc: mention more functions added in cygwin 1.7.0
36264         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
36265         addition.
36266         * doc/posix-functions/fwscanf.texi: Likewise.
36267         * doc/posix-functions/swprintf.texi: Likewise.
36268         * doc/posix-functions/swscanf.texi: Likewise.
36269         * doc/posix-functions/vfwprintf.texi: Likewise.
36270         * doc/posix-functions/vfwscanf.texi: Likewise.
36271         * doc/posix-functions/vswprintf.texi: Likewise.
36272         * doc/posix-functions/vswscanf.texi: Likewise.
36273         * doc/posix-functions/vwprintf.texi: Likewise.
36274         * doc/posix-functions/vwscanf.texi: Likewise.
36275         * doc/posix-functions/wcscasecmp.texi: Likewise.
36276         * doc/posix-functions/wcsdup.texi: Likewise.
36277         * doc/posix-functions/wcsftime.texi: Likewise.
36278         * doc/posix-functions/wcsncasecmp.texi: Likewise.
36279         * doc/posix-functions/wprintf.texi: Likewise.
36280         * doc/posix-functions/wscanf.texi: Likewise.
36281         * doc/glibc-functions/gethostbyname2.texi: Likewise.
36282
36283 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36284
36285         maint.mk: really add $(AM_MAKEFLAGS)
36286         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
36287         was inadvertently omitted in the last commit.
36288         Spotted by Bruno Haible.
36289
36290         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
36291         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
36292         $(AM_MAKEFLAGS)' rather than plain `make'.
36293
36294         gnulib-tool: execute $MAKE not make
36295         * gnulib-tool: Default $MAKE to 'make'.
36296         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
36297         than make.  Initialize $MAKE in the do-autobuild script.
36298
36299         gnulib-tool: use $MAKE not make in generated files
36300         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
36301         make, in generated files.  Initialize $MAKE in the do-autobuild
36302         script.
36303
36304         * top/GNUmakefile (_have-git-version-gen): Fix typo.
36305
36306         GNUmakefile: disable parallelism only for multiple, recursive targets
36307         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
36308         additions in the Makefile.
36309         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
36310         by Automake.
36311         (.NOTPARALLEL): Only disable parallel builds if multiple targets
36312         are listed on the command line and at least one of them is
36313         listed in $(ALL_RECURSIVE_TARGETS).
36314
36315 2009-03-14  Bruno Haible  <bruno@clisp.org>
36316
36317         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
36318         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
36319         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
36320         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
36321         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
36322         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
36323         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
36324         unistr/u8-uctomb.
36325         * modules/unistr/u8-strchr (Depends-on): Likewise.
36326         * modules/unistr/u8-strrchr (Depends-on): Likewise.
36327         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
36328         unistr/u16-uctomb.
36329         * modules/unistr/u16-strchr (Depends-on): Likewise.
36330         * modules/unistr/u16-strrchr (Depends-on): Likewise.
36331
36332 2009-03-12  Bruno Haible  <bruno@clisp.org>
36333
36334         Work around select() bug on Interix 3.5.
36335         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
36336         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
36337         * m4/select.m4: New file.
36338         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
36339         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
36340         * modules/select (Files): Add m4/select.m4.
36341         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
36342         * modules/nanosleep (Depends-on): Add select.
36343         * modules/poll (Depends-on): Likewise.
36344         * doc/posix-functions/select.texi: Mention the Interix bug.
36345         Reported by Markus Duft <mduft@gentoo.org>.
36346
36347         * lib/select.c: Renamed from lib/winsock-select.c.
36348         * modules/select (Files): Add lib/select.c, remove
36349         lib/winsock-select.c.
36350         (configure.ac): Update.
36351
36352 2009-03-12  Jim Meyering  <meyering@redhat.com>
36353
36354         avoid gcc warnings about unused macro definitions
36355         * lib/readtokens.c (STREQ): Remove unused definition.
36356         * lib/xmalloc.c (SIZE_MAX): Likewise.
36357         * lib/openat-die.c (N_): Likewise.
36358         * lib/mountlist.c (SIZE_MAX): Remove definition.
36359         Instead, include <stdint.h>.
36360         * lib/readutmp.c: Likewise.
36361         * modules/readutmp (Depends-on): Add stdint.
36362         * modules/mountlist (Depends-on): Add stdint.
36363         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
36364
36365 2009-03-10  Bruno Haible  <bruno@clisp.org>
36366
36367         Tests for module 'mbmemcasecoll'.
36368         * modules/mbmemcasecoll-tests: New file.
36369         * tests/test-mbmemcasecoll1.sh: New file.
36370         * tests/test-mbmemcasecoll2.sh: New file.
36371         * tests/test-mbmemcasecoll3.sh: New file.
36372         * tests/test-mbmemcasecoll.c: New file.
36373
36374         New module 'mbmemcasecoll'.
36375         * lib/mbmemcasecoll.h: New file.
36376         * lib/mbmemcasecoll.c: New file.
36377         * modules/mbmemcasecoll: New file.
36378
36379         * tests/test-mbmemcasecmp.h: New file, extracted from
36380         tests/test-mbmemcasecmp.c.
36381         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
36382         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
36383         (main): Update.
36384         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
36385
36386 2009-03-09  Bruno Haible  <bruno@clisp.org>
36387
36388         Tests for module 'mbmemcasecmp'.
36389         * modules/mbmemcasecmp-tests: New file.
36390         * tests/test-mbmemcasecmp1.sh: New file.
36391         * tests/test-mbmemcasecmp2.sh: New file.
36392         * tests/test-mbmemcasecmp3.sh: New file.
36393         * tests/test-mbmemcasecmp.c: New file.
36394
36395         New module 'mbmemcasecmp'.
36396         * lib/mbmemcasecmp.h: New file.
36397         * lib/mbmemcasecmp.c: New file.
36398         * modules/mbmemcasecmp: New file.
36399
36400 2009-03-09  Bruno Haible  <bruno@clisp.org>
36401
36402         Tests for module 'unicase/ulc-casecoll'.
36403         * modules/unicase/ulc-casecoll-tests: New file.
36404         * tests/unicase/test-ulc-casecoll1.sh: New file.
36405         * tests/unicase/test-ulc-casecoll2.sh: New file.
36406         * tests/unicase/test-ulc-casecoll.c: New file.
36407
36408         New module 'unicase/ulc-casecoll'.
36409         * lib/unicase.h (ulc_casecoll): New declaration.
36410         * lib/unicase/ulc-casecoll.c: New file.
36411         * modules/unicase/ulc-casecoll: New file.
36412
36413         New module 'unicase/ulc-casexfrm'.
36414         * lib/unicase.h (ulc_casexfrm): New declaration.
36415         * lib/unicase/ulc-casexfrm.c: New file.
36416         * modules/unicase/ulc-casexfrm: New file.
36417
36418 2009-03-09  Bruno Haible  <bruno@clisp.org>
36419
36420         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
36421         invocations.
36422
36423         * m4/mbscasecmp.m4: Remove file.
36424         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
36425         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
36426
36427         * m4/mbscasestr.m4: Remove file.
36428         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
36429         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
36430
36431         * m4/mbschr.m4: Remove file.
36432         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
36433         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
36434
36435         * m4/mbscspn.m4: Remove file.
36436         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
36437         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
36438
36439         * m4/mbslen.m4: Remove file.
36440         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
36441         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
36442
36443         * m4/mbsncasecmp.m4: Remove file.
36444         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
36445         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
36446
36447         * m4/mbsnlen.m4: Remove file.
36448         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
36449         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
36450
36451         * m4/mbspbrk.m4: Remove file.
36452         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
36453         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
36454
36455         * m4/mbspcasecmp.m4: Remove file.
36456         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
36457         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
36458
36459         * m4/mbsrchr.m4: Remove file.
36460         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
36461         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
36462
36463         * m4/mbssep.m4: Remove file.
36464         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
36465         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
36466
36467         * m4/mbsspn.m4: Remove file.
36468         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
36469         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
36470
36471         * m4/mbsstr.m4: Remove file.
36472         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
36473         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
36474
36475         * m4/mbstok_r.m4: Remove file.
36476         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
36477         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
36478
36479         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
36480
36481         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
36482         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
36483
36484         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
36485
36486 2009-03-08  Bruno Haible  <bruno@clisp.org>
36487
36488         Tests for module 'unicase/ulc-casecmp'.
36489         * modules/unicase/ulc-casecmp-tests: New file.
36490         * tests/unicase/test-ulc-casecmp1.sh: New file.
36491         * tests/unicase/test-ulc-casecmp2.sh: New file.
36492         * tests/unicase/test-ulc-casecmp.c: New file.
36493
36494         New module 'unicase/ulc-casecmp'.
36495         * lib/unicase.h (ulc_casecmp): New declaration.
36496         * lib/unicase/ulc-casecmp.c: New file.
36497         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
36498         'const SRC_UNIT *'.
36499         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
36500         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
36501         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
36502         * modules/unicase/ulc-casecmp: New file.
36503
36504         Tests for module 'unicase/u32-is-cased'.
36505         * modules/unicase/u32-is-cased-tests: New file.
36506         * tests/unicase/test-u32-is-cased.c: New file.
36507
36508         Tests for module 'unicase/u16-is-cased'.
36509         * modules/unicase/u16-is-cased-tests: New file.
36510         * tests/unicase/test-u16-is-cased.c: New file.
36511
36512         Tests for module 'unicase/u8-is-cased'.
36513         * modules/unicase/u8-is-cased-tests: New file.
36514         * tests/unicase/test-u8-is-cased.c: New file.
36515         * tests/unicase/test-is-cased.h: New file.
36516
36517         New module 'unicase/u32-is-cased'.
36518         * lib/unicase/u32-is-cased.c: New file.
36519         * modules/unicase/u32-is-cased: New file.
36520
36521         New module 'unicase/u16-is-cased'.
36522         * lib/unicase/u16-is-cased.c: New file.
36523         * modules/unicase/u16-is-cased: New file.
36524
36525         New module 'unicase/u8-is-cased'.
36526         * lib/unicase/u8-is-cased.c: New file.
36527         * lib/unicase/u-is-cased.h: New file.
36528         * modules/unicase/u8-is-cased: New file.
36529
36530         Tests for module 'unicase/u32-is-casefolded'.
36531         * modules/unicase/u32-is-casefolded-tests: New file.
36532         * tests/unicase/test-u32-is-casefolded.c: New file.
36533
36534         Tests for module 'unicase/u16-is-casefolded'.
36535         * modules/unicase/u16-is-casefolded-tests: New file.
36536         * tests/unicase/test-u16-is-casefolded.c: New file.
36537
36538         Tests for module 'unicase/u8-is-casefolded'.
36539         * modules/unicase/u8-is-casefolded-tests: New file.
36540         * tests/unicase/test-u8-is-casefolded.c: New file.
36541         * tests/unicase/test-is-casefolded.h: New file.
36542
36543         New module 'unicase/u32-is-casefolded'.
36544         * lib/unicase/u32-is-casefolded.c: New file.
36545         * modules/unicase/u32-is-casefolded: New file.
36546
36547         New module 'unicase/u16-is-casefolded'.
36548         * lib/unicase/u16-is-casefolded.c: New file.
36549         * modules/unicase/u16-is-casefolded: New file.
36550
36551         New module 'unicase/u8-is-casefolded'.
36552         * lib/unicase/u8-is-casefolded.c: New file.
36553         * modules/unicase/u8-is-casefolded: New file.
36554
36555         Tests for module 'unicase/u32-is-titlecase'.
36556         * modules/unicase/u32-is-titlecase-tests: New file.
36557         * tests/unicase/test-u32-is-titlecase.c: New file.
36558
36559         Tests for module 'unicase/u16-is-titlecase'.
36560         * modules/unicase/u16-is-titlecase-tests: New file.
36561         * tests/unicase/test-u16-is-titlecase.c: New file.
36562
36563         Tests for module 'unicase/u8-is-titlecase'.
36564         * modules/unicase/u8-is-titlecase-tests: New file.
36565         * tests/unicase/test-u8-is-titlecase.c: New file.
36566         * tests/unicase/test-is-titlecase.h: New file.
36567
36568         New module 'unicase/u32-is-titlecase'.
36569         * lib/unicase/u32-is-titlecase.c: New file.
36570         * modules/unicase/u32-is-titlecase: New file.
36571
36572         New module 'unicase/u16-is-titlecase'.
36573         * lib/unicase/u16-is-titlecase.c: New file.
36574         * modules/unicase/u16-is-titlecase: New file.
36575
36576         New module 'unicase/u8-is-titlecase'.
36577         * lib/unicase/u8-is-titlecase.c: New file.
36578         * modules/unicase/u8-is-titlecase: New file.
36579
36580         Tests for module 'unicase/u32-is-lowercase'.
36581         * modules/unicase/u32-is-lowercase-tests: New file.
36582         * tests/unicase/test-u32-is-lowercase.c: New file.
36583
36584         Tests for module 'unicase/u16-is-lowercase'.
36585         * modules/unicase/u16-is-lowercase-tests: New file.
36586         * tests/unicase/test-u16-is-lowercase.c: New file.
36587
36588         Tests for module 'unicase/u8-is-lowercase'.
36589         * modules/unicase/u8-is-lowercase-tests: New file.
36590         * tests/unicase/test-u8-is-lowercase.c: New file.
36591         * tests/unicase/test-is-lowercase.h: New file.
36592
36593         New module 'unicase/u32-is-lowercase'.
36594         * lib/unicase/u32-is-lowercase.c: New file.
36595         * modules/unicase/u32-is-lowercase: New file.
36596
36597         New module 'unicase/u16-is-lowercase'.
36598         * lib/unicase/u16-is-lowercase.c: New file.
36599         * modules/unicase/u16-is-lowercase: New file.
36600
36601         New module 'unicase/u8-is-lowercase'.
36602         * lib/unicase/u8-is-lowercase.c: New file.
36603         * modules/unicase/u8-is-lowercase: New file.
36604
36605         Tests for module 'unicase/u32-is-uppercase'.
36606         * modules/unicase/u32-is-uppercase-tests: New file.
36607         * tests/unicase/test-u32-is-uppercase.c: New file.
36608
36609         Tests for module 'unicase/u16-is-uppercase'.
36610         * modules/unicase/u16-is-uppercase-tests: New file.
36611         * tests/unicase/test-u16-is-uppercase.c: New file.
36612
36613         Tests for module 'unicase/u8-is-uppercase'.
36614         * modules/unicase/u8-is-uppercase-tests: New file.
36615         * tests/unicase/test-u8-is-uppercase.c: New file.
36616         * tests/unicase/test-is-uppercase.h: New file.
36617
36618         New module 'unicase/u32-is-uppercase'.
36619         * lib/unicase/u32-is-uppercase.c: New file.
36620         * modules/unicase/u32-is-uppercase: New file.
36621
36622         New module 'unicase/u16-is-uppercase'.
36623         * lib/unicase/u16-is-uppercase.c: New file.
36624         * modules/unicase/u16-is-uppercase: New file.
36625
36626         New module 'unicase/u8-is-uppercase'.
36627         * lib/unicase/u8-is-uppercase.c: New file.
36628         * modules/unicase/u8-is-uppercase: New file.
36629
36630         New module 'unicase/u32-is-invariant'.
36631         * lib/unicase/u32-is-invariant.c: New file.
36632         * modules/unicase/u32-is-invariant: New file.
36633
36634         New module 'unicase/u16-is-invariant'.
36635         * lib/unicase/u16-is-invariant.c: New file.
36636         * modules/unicase/u16-is-invariant: New file.
36637
36638         New module 'unicase/u8-is-invariant'.
36639         * lib/unicase/u8-is-invariant.c: New file.
36640         * lib/unicase/invariant.h: New file.
36641         * lib/unicase/u-is-invariant.h: New file.
36642         * modules/unicase/u8-is-invariant: New file.
36643
36644         Tests for module 'unicase/u32-casecoll'.
36645         * modules/unicase/u32-casecoll-tests: New file.
36646         * tests/unicase/test-u32-casecoll.c: New file.
36647
36648         Tests for module 'unicase/u16-casecoll'.
36649         * modules/unicase/u16-casecoll-tests: New file.
36650         * tests/unicase/test-u16-casecoll.c: New file.
36651
36652         Tests for module 'unicase/u8-casecoll'.
36653         * modules/unicase/u8-casecoll-tests: New file.
36654         * tests/unicase/test-u8-casecoll.c: New file.
36655
36656         New module 'unicase/u32-casecoll'.
36657         * lib/unicase/u32-casecoll.c: New file.
36658         * modules/unicase/u32-casecoll: New file.
36659
36660         New module 'unicase/u16-casecoll'.
36661         * lib/unicase/u16-casecoll.c: New file.
36662         * modules/unicase/u16-casecoll: New file.
36663
36664         New module 'unicase/u8-casecoll'.
36665         * lib/unicase/u8-casecoll.c: New file.
36666         * lib/unicase/u-casecoll.h: New file.
36667         * modules/unicase/u8-casecoll: New file.
36668
36669         New module 'unicase/u32-casexfrm'.
36670         * lib/unicase/u32-casexfrm.c: New file.
36671         * modules/unicase/u32-casexfrm: New file.
36672
36673         New module 'unicase/u16-casexfrm'.
36674         * lib/unicase/u16-casexfrm.c: New file.
36675         * modules/unicase/u16-casexfrm: New file.
36676
36677         New module 'unicase/u8-casexfrm'.
36678         * lib/unicase/u8-casexfrm.c: New file.
36679         * lib/unicase/u-casexfrm.h: New file.
36680         * modules/unicase/u8-casexfrm: New file.
36681
36682         Tests for module 'unicase/u32-casecmp'.
36683         * modules/unicase/u32-casecmp-tests: New file.
36684         * tests/unicase/test-u32-casecmp.c: New file.
36685
36686         Tests for module 'unicase/u16-casecmp'.
36687         * modules/unicase/u16-casecmp-tests: New file.
36688         * tests/unicase/test-u16-casecmp.c: New file.
36689
36690         Tests for module 'unicase/u8-casecmp'.
36691         * modules/unicase/u8-casecmp-tests: New file.
36692         * tests/unicase/test-u8-casecmp.c: New file.
36693         * tests/unicase/test-casecmp.h: New file.
36694
36695         New module 'unicase/u32-casecmp'.
36696         * lib/unicase/u32-casecmp.c: New file.
36697         * modules/unicase/u32-casecmp: New file.
36698
36699         New module 'unicase/u16-casecmp'.
36700         * lib/unicase/u16-casecmp.c: New file.
36701         * modules/unicase/u16-casecmp: New file.
36702
36703         New module 'unicase/u8-casecmp'.
36704         * lib/unicase/u8-casecmp.c: New file.
36705         * lib/unicase/u-casecmp.h: New file.
36706         * modules/unicase/u8-casecmp: New file.
36707
36708         Tests for module 'unicase/u32-casefold'.
36709         * modules/unicase/u32-casefold-tests: New file.
36710         * tests/unicase/test-u32-casefold.c: New file.
36711
36712         Tests for module 'unicase/u16-casefold'.
36713         * modules/unicase/u16-casefold-tests: New file.
36714         * tests/unicase/test-u16-casefold.c: New file.
36715
36716         Tests for module 'unicase/u8-casefold'.
36717         * modules/unicase/u8-casefold-tests: New file.
36718         * tests/unicase/test-u8-casefold.c: New file.
36719
36720         New module 'unicase/u32-casefold'.
36721         * lib/unicase/u32-casefold.c: New file.
36722         * modules/unicase/u32-casefold: New file.
36723
36724         New module 'unicase/u16-casefold'.
36725         * lib/unicase/u16-casefold.c: New file.
36726         * modules/unicase/u16-casefold: New file.
36727
36728         New module 'unicase/u8-casefold'.
36729         * lib/unicase/u8-casefold.c: New file.
36730         * lib/unicase/u-casefold.h: New file.
36731         * modules/unicase/u8-casefold: New file.
36732
36733         New module 'unicase/tocasefold'.
36734         * lib/unicase/casefold.h: New file.
36735         * lib/unicase/tocasefold.c: New file.
36736         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
36737         * modules/unicase/tocasefold: New file.
36738
36739         Tests for module 'unicase/u32-totitle'.
36740         * modules/unicase/u32-totitle-tests: New file.
36741         * tests/unicase/test-u32-totitle.c: New file.
36742
36743         Tests for module 'unicase/u16-totitle'.
36744         * modules/unicase/u16-totitle-tests: New file.
36745         * tests/unicase/test-u16-totitle.c: New file.
36746
36747         Tests for module 'unicase/u8-totitle'.
36748         * modules/unicase/u8-totitle-tests: New file.
36749         * tests/unicase/test-u8-totitle.c: New file.
36750
36751         New module 'unicase/u32-totitle'.
36752         * lib/unicase/u32-totitle.c: New file.
36753         * modules/unicase/u32-totitle: New file.
36754
36755         New module 'unicase/u16-totitle'.
36756         * lib/unicase/u16-totitle.c: New file.
36757         * modules/unicase/u16-totitle: New file.
36758
36759         New module 'unicase/u8-totitle'.
36760         * lib/unicase/u8-totitle.c: New file.
36761         * lib/unicase/u-totitle.h: New file.
36762         * modules/unicase/u8-totitle: New file.
36763
36764         Tests for module 'unicase/u32-tolower'.
36765         * modules/unicase/u32-tolower-tests: New file.
36766         * tests/unicase/test-u32-tolower.c: New file.
36767
36768         Tests for module 'unicase/u16-tolower'.
36769         * modules/unicase/u16-tolower-tests: New file.
36770         * tests/unicase/test-u16-tolower.c: New file.
36771
36772         Tests for module 'unicase/u8-tolower'.
36773         * modules/unicase/u8-tolower-tests: New file.
36774         * tests/unicase/test-u8-tolower.c: New file.
36775
36776         New module 'unicase/u32-tolower'.
36777         * lib/unicase/u32-tolower.c: New file.
36778         * modules/unicase/u32-tolower: New file.
36779
36780         New module 'unicase/u16-tolower'.
36781         * lib/unicase/u16-tolower.c: New file.
36782         * modules/unicase/u16-tolower: New file.
36783
36784         New module 'unicase/u8-tolower'.
36785         * lib/unicase/u8-tolower.c: New file.
36786         * modules/unicase/u8-tolower: New file.
36787
36788         Tests for module 'unicase/u32-toupper'.
36789         * modules/unicase/u32-toupper-tests: New file.
36790         * tests/unicase/test-u32-toupper.c: New file.
36791
36792         Tests for module 'unicase/u16-toupper'.
36793         * modules/unicase/u16-toupper-tests: New file.
36794         * tests/unicase/test-u16-toupper.c: New file.
36795
36796         Tests for module 'unicase/u8-toupper'.
36797         * modules/unicase/u8-toupper-tests: New file.
36798         * tests/unicase/test-u8-toupper.c: New file.
36799
36800         New module 'unicase/u32-toupper'.
36801         * lib/unicase/u32-toupper.c: New file.
36802         * modules/unicase/u32-toupper: New file.
36803
36804         New module 'unicase/u16-toupper'.
36805         * lib/unicase/u16-toupper.c: New file.
36806         * modules/unicase/u16-toupper: New file.
36807
36808         New module 'unicase/u8-toupper'.
36809         * lib/unicase/u8-toupper.c: New file.
36810         * modules/unicase/u8-toupper: New file.
36811
36812         New module 'unicase/u32-casemap'.
36813         * lib/unicase/u32-casemap.c: New file.
36814         * modules/unicase/u32-casemap: New file.
36815
36816         New module 'unicase/u16-casemap'.
36817         * lib/unicase/u16-casemap.c: New file.
36818         * modules/unicase/u16-casemap: New file.
36819
36820         New module 'unicase/u8-casemap'.
36821         * lib/unicase/unicasemap.h: New file.
36822         * lib/unicase/u8-casemap.c: New file.
36823         * lib/unicase/u-casemap.h: New file.
36824         * modules/unicase/u8-casemap: New file.
36825
36826         New module 'unicase/special-casing'.
36827         * lib/unicase/special-casing.h: New file.
36828         * lib/unicase/special-casing.c: New file.
36829         * lib/unicase/special-casing-table.gperf: New file, generated by
36830         gen-uni-tables.c.
36831         * modules/unicase/special-casing: New file.
36832
36833         Tests for module 'unicase/locale-language'.
36834         * modules/unicase/locale-language-tests: New file.
36835         * tests/unicase/test-locale-language.sh: New file.
36836         * tests/unicase/test-locale-language.c: New file.
36837
36838         New module 'unicase/locale-language'.
36839         * lib/unicase/locale-language.c: New file.
36840         * lib/unicase/locale-languages.gperf: New file.
36841         * modules/unicase/locale-language: New file.
36842
36843         Generate more tables for case conversion and case folding.
36844         * lib/gen-uni-tables.c (SCC_*): New enum items.
36845         (struct special_casing_rule): New type.
36846         (casing_rules, num_casing_rules, allocated_casing_rules): New
36847         variables.
36848         (add_casing_rule, fill_casing_rules): New functions.
36849         (struct casefold_rule): New type.
36850         (casefolding_rules, num_casefolding_rules,
36851         allocated_casefolding_rules): New variables.
36852         (fill_casefolding_rules): New function.
36853         (unicode_casefold): New variable.
36854         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
36855         sort_casing_rules, output_casing_rules): New functions.
36856         (main): Accept to more arguments: SpecialCasing.txt and
36857         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
36858         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
36859         Output mapping for casefolding.
36860
36861         * lib/unicase.h: Include stdbool.h, uninorm.h.
36862         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
36863         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
36864         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
36865         arguments.
36866         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
36867         resultp arguments.
36868         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
36869         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
36870         resultp arguments.
36871         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
36872         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
36873         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
36874         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
36875         declarations.
36876         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
36877
36878 2009-03-08  Bruno Haible  <bruno@clisp.org>
36879
36880         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
36881         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
36882         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
36883         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
36884
36885 2009-03-07  Bruno Haible  <bruno@clisp.org>
36886
36887         Adjust u*_normcmp, u*_normcoll API.
36888         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
36889         u16_normcoll, u32_normcoll): Change failure conventions.
36890         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
36891         errno and return -1.
36892         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
36893
36894 2009-03-07  Bruno Haible  <bruno@clisp.org>
36895
36896         Tests for module 'uninorm/u32-normcoll'.
36897         * modules/uninorm/u32-normcoll-tests: New file.
36898         * tests/uninorm/test-u32-normcoll.c: New file.
36899
36900         Tests for module 'uninorm/u16-normcoll'.
36901         * modules/uninorm/u16-normcoll-tests: New file.
36902         * tests/uninorm/test-u16-normcoll.c: New file.
36903
36904         Tests for module 'uninorm/u8-normcoll'.
36905         * modules/uninorm/u8-normcoll-tests: New file.
36906         * tests/uninorm/test-u8-normcoll.c: New file.
36907
36908 2009-03-07  Bruno Haible  <bruno@clisp.org>
36909
36910         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
36911         tests/uninorm/test-u32-normcmp.c.
36912         * tests/uninorm/test-u32-normcmp.c: Include it.
36913         (test_nonascii): New function, extracted from main. Add some more
36914         tests.
36915         (main): Invoke test_ascii and test_nonascii.
36916         * modules/uninorm/u32-normcmp-tests (Files): Add
36917         tests/uninorm/test-u32-normcmp.h.
36918         (Depends-on): Remove uninorm/u32-normcmp.
36919
36920         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
36921         tests/uninorm/test-u16-normcmp.c.
36922         * tests/uninorm/test-u16-normcmp.c: Include it.
36923         (test_nonascii): New function, extracted from main. Add some more
36924         tests.
36925         (main): Invoke test_ascii and test_nonascii.
36926         * modules/uninorm/u16-normcmp-tests (Files): Add
36927         tests/uninorm/test-u16-normcmp.h.
36928         (Depends-on): Remove uninorm/u16-normcmp.
36929
36930         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
36931         tests/uninorm/test-u8-normcmp.c.
36932         * tests/uninorm/test-u8-normcmp.c: Include it.
36933         (test_nonascii): New function, extracted from main. Add some more
36934         tests.
36935         (main): Invoke test_ascii and test_nonascii.
36936         * modules/uninorm/u8-normcmp-tests (Files): Add
36937         tests/uninorm/test-u8-normcmp.h.
36938         (Depends-on): Remove uninorm/u8-normcmp.
36939
36940 2009-03-07  Bruno Haible  <bruno@clisp.org>
36941
36942         New module 'uninorm/u32-normcoll'.
36943         * lib/uninorm/u32-normcoll.c: New file.
36944         * modules/uninorm/u32-normcoll: New file.
36945
36946         New module 'uninorm/u16-normcoll'.
36947         * lib/uninorm/u16-normcoll.c: New file.
36948         * modules/uninorm/u16-normcoll: New file.
36949
36950         New module 'uninorm/u8-normcoll'.
36951         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
36952         declarations.
36953         * lib/uninorm/u8-normcoll.c: New file.
36954         * lib/uninorm/u-normcoll.h: New file.
36955         * modules/uninorm/u8-normcoll: New file.
36956
36957         New module 'uninorm/u32-normxfrm'.
36958         * lib/uninorm/u32-normxfrm.c: New file.
36959         * modules/uninorm/u32-normxfrm: New file.
36960
36961         New module 'uninorm/u16-normxfrm'.
36962         * lib/uninorm/u16-normxfrm.c: New file.
36963         * modules/uninorm/u16-normxfrm: New file.
36964
36965         New module 'uninorm/u8-normxfrm'.
36966         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
36967         declarations.
36968         * lib/uninorm/u8-normxfrm.c: New file.
36969         * lib/uninorm/u-normxfrm.h: New file.
36970         * modules/uninorm/u8-normxfrm: New file.
36971
36972 2009-03-07  Bruno Haible  <bruno@clisp.org>
36973
36974         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
36975         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
36976         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
36977
36978 2009-03-07  Bruno Haible  <bruno@clisp.org>
36979
36980         New module 'memxfrm'.
36981         * lib/memxfrm.h: New file.
36982         * lib/memxfrm.c: New file.
36983         * modules/memxfrm: New file.
36984
36985 2009-03-07  Bruno Haible  <bruno@clisp.org>
36986
36987         New module 'memcmp2'.
36988         * lib/memcmp2.h: New file.
36989         * lib/memcmp2.c: New file.
36990         * modules/memcmp2: New file.
36991
36992 2009-03-07  Bruno Haible  <bruno@clisp.org>
36993
36994         Tests for module 'uninorm/decomposing-form'.
36995         * modules/uninorm/decomposing-form-tests: New file.
36996         * tests/uninorm/test-decomposing-form.c: New file.
36997
36998         New module 'uninorm/decomposing-form'.
36999         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
37000         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
37001         Add 'decomposing_variant' field.
37002         * lib/uninorm/decomposing-form.c: New file.
37003         * lib/uninorm/nfc.c (uninorm_nfc): Update.
37004         * lib/uninorm/nfd.c (uninorm_nfd): Update.
37005         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
37006         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
37007         * modules/uninorm/decomposing-form: New file.
37008         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
37009         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
37010
37011 2009-03-07  Bruno Haible  <bruno@clisp.org>
37012
37013         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
37014         strings.
37015
37016 2009-03-06  Bruno Haible  <bruno@clisp.org>
37017
37018         Tests for module 'uninorm/u32-normcmp'.
37019         * tests/uninorm/test-u32-normcmp.c: New file.
37020         * modules/uninorm/u32-normcmp-tests: New file.
37021
37022         Tests for module 'uninorm/u16-normcmp'.
37023         * tests/uninorm/test-u16-normcmp.c: New file.
37024         * modules/uninorm/u16-normcmp-tests: New file.
37025
37026         Tests for module 'uninorm/u8-normcmp'.
37027         * tests/uninorm/test-u8-normcmp.c: New file.
37028         * modules/uninorm/u8-normcmp-tests: New file.
37029
37030         New module 'uninorm/u32-normcmp'.
37031         * lib/uninorm/u32-normcmp.c: New file.
37032         * modules/uninorm/u32-normcmp: New file.
37033
37034         New module 'uninorm/u16-normcmp'.
37035         * lib/uninorm/u16-normcmp.c: New file.
37036         * modules/uninorm/u16-normcmp: New file.
37037
37038         New module 'uninorm/u8-normcmp'.
37039         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
37040         declarations.
37041         * lib/uninorm/u8-normcmp.c: New file.
37042         * lib/uninorm/u-normcmp.h: New file.
37043         * modules/uninorm/u8-normcmp: New file.
37044
37045 2009-03-06  Bruno Haible  <bruno@clisp.org>
37046
37047         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
37048         Reported by Eric Blake.
37049
37050 2009-03-06  Eric Blake  <ebb9@byu.net>
37051             Bruno Haible  <bruno@clisp.org>
37052
37053         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
37054         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
37055         condition.
37056         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
37057         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
37058         condition.
37059         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
37060
37061 2009-03-06  Eric Blake  <ebb9@byu.net>
37062
37063         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
37064         to avoid compiler warnings.
37065         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
37066
37067 2009-03-05  Bruno Haible  <bruno@clisp.org>
37068
37069         * tests/test-ftell.c (main): Disable test beyond end of file on
37070         FreeMiNT.
37071         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
37072
37073 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
37074
37075         * lib/filevercmp.c: Move hidden files up in ordering.
37076         * tests/test-filevercmp.c: Add tests for hidden files.
37077
37078 2009-03-04  Bruno Haible  <bruno@clisp.org>
37079
37080         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
37081         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
37082         AM_CFLAGS.
37083         Reported by Simon Josefsson.
37084
37085 2009-03-03  Bruno Haible  <bruno@clisp.org>
37086
37087         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
37088         Reported by Simon Josefsson.
37089
37090         * doc/ld-version-script.texi: Update node reference.
37091
37092 2009-03-03  Bruno Haible  <bruno@clisp.org>
37093
37094         * modules/visibility (License): Change to 'unlimited'.
37095         Suggested by Simon Josefsson.
37096
37097 2009-03-03  Jim Meyering  <meyering@redhat.com>
37098
37099         unlinkdir: cannot_unlink_dir may modify process state
37100         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
37101         it's neither thread-safe nor appropriate for use in a library.
37102
37103 2009-03-03  Eric Blake  <ebb9@byu.net>
37104
37105         test-closein: silence test under Darwin
37106         * tests/test-closein.sh: Ignore stderr from cat, since we don't
37107         care if it dies from EPIPE or EBADF.
37108
37109 2009-03-03  Bruno Haible  <bruno@clisp.org>
37110
37111         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
37112         earlier.
37113         * doc/visibility.texi: Fix @node and @section.
37114
37115 2009-03-03  Simon Josefsson  <simon@josefsson.org>
37116
37117         * doc/gnulib.texi: Link to sections for ld version script and
37118         visibility.
37119         * doc/visibility.texi: Add @node and @section.
37120         * modules/ld-version-script: New module.
37121         * m4/ld-version-script.m4: New file.
37122         * doc/ld-version-script.texi: New file.
37123
37124 2009-03-02  David Lutterkort  <lutter@redhat.com>
37125
37126         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
37127         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37128
37129 2009-03-02  Bruno Haible  <bruno@clisp.org>
37130
37131         * doc/visibility.texi: Mention libtool's -export-symbols option.
37132
37133 2009-03-02  Jim Meyering  <meyering@redhat.com>
37134
37135         announce-gen: new option: --no-print-checksums
37136         * build-aux/announce-gen (usage): Describe it.
37137         (print_checksums): Print a newline here, not in the [*] footnote.
37138         (main): Honor it.
37139
37140 2009-03-01  Bruno Haible  <bruno@clisp.org>
37141
37142         Use socklen_t in the native Windows replacements prototypes.
37143         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
37144         instead of 'int'.
37145         * lib/getsockopt.c (rpl_getsockopt): Likewise.
37146         * lib/setsockopt.c (rpl_setsockopt): Likewise.
37147         * modules/getsockopt (Depends-on): Add socklen.
37148         * modules/setsockopt (Depends-on): Add socklen.
37149
37150 2009-03-01  Bruno Haible  <bruno@clisp.org>
37151
37152         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
37153         least 4.2.
37154
37155 2009-03-01  Eric Blake  <ebb9@byu.net>
37156             Bruno Haible  <bruno@clisp.org>
37157
37158         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
37159         error messages.
37160         * lib/wait-process.c (wait_subprocess): Omit error message about
37161         deadly signal sent to the child of termsigp != NULL.
37162
37163 2009-03-01  Eric Blake  <ebb9@byu.net>
37164
37165         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
37166
37167 2009-03-01  Bruno Haible  <bruno@clisp.org>
37168
37169         Avoid a gcc warning.
37170         * tests/test-sched.c (b): Make global.
37171         Reported by Eric Blake.
37172
37173 2009-01-19  Martin Lambers  <marlam@marlam.de>
37174
37175         Provide POSIX semantics for socket timeout options on W32.
37176         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
37177         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
37178         * modules/setsockopt: Depend on sys_time module for struct timeval.
37179         * modules/getsockopt: Depend on sys_time module for struct timeval.
37180
37181 2009-03-01  Simon Josefsson  <simon@josefsson.org>
37182
37183         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
37184         __USE_GNU, for consistency with netdb.in.h.
37185         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37186
37187 2009-03-01  Bruno Haible  <bruno@clisp.org>
37188
37189         More support for FreeMiNT.
37190         * lib/fseeko.c (rpl_fseeko): Complete last commit.
37191         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37192
37193 2009-03-01  Bruno Haible  <bruno@clisp.org>
37194
37195         More support for FreeMiNT.
37196         * lib/fpurge.c (fpurge): Correct last commit.
37197         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37198
37199 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37200
37201         Fix unportable awk script in vc-list-files.
37202         * build-aux/vc-list-files: In the replacement awk script, use
37203         substr with a second argument of 1, not zero.
37204         Report by Simon Josefsson.
37205
37206 2009-02-28  Bruno Haible  <bruno@clisp.org>
37207
37208         More support for FreeMiNT.
37209         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
37210         to FreeMiNT today.
37211         * lib/fwriting.c (fwriting): Likewise.
37212         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
37213
37214 2009-02-28  Bruno Haible  <bruno@clisp.org>
37215
37216         * tests/test-freadseek.c (main): Disable test beyond end of file on
37217         FreeMiNT.
37218         * tests/test-ftello.c (main): Likewise.
37219         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
37220
37221 2009-02-28  Bruno Haible  <bruno@clisp.org>
37222
37223         Add tentative support for FreeMiNT.
37224         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
37225         * lib/fpurge.c (fpurge): Likewise.
37226         * lib/freadable.c (freadable): Likewise.
37227         * lib/freading.c (freading): Likewise.
37228         * lib/freadptr.c (freadptr): Likewise.
37229         * lib/freadseek.c (freadptrinc): Likewise.
37230         * lib/fseeko.c (rpl_fseeko): Likewise.
37231         * lib/fseterr.c (fseterr): Likewise.
37232         * lib/fwritable.c (fwritable): Likewise.
37233         * lib/fwriting.c (fwriting): Likewise.
37234         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
37235         Hourihane.
37236         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37237
37238 2009-02-28  Bruno Haible  <bruno@clisp.org>
37239
37240         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
37241         SIGCHLD.
37242         Reported by Jim Meyering.
37243
37244 2009-02-28  Bruno Haible  <bruno@clisp.org>
37245
37246         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
37247         Mention the results of these tests on various platforms.
37248         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
37249         order.
37250         * doc/posix-functions/printf.texi: Likewise.
37251         * doc/posix-functions/snprintf.texi: Likewise.
37252         * doc/posix-functions/sprintf.texi: Likewise.
37253         * doc/posix-functions/vfprintf.texi: Likewise.
37254         * doc/posix-functions/vprintf.texi: Likewise.
37255         * doc/posix-functions/vsnprintf.texi: Likewise.
37256         * doc/posix-functions/vsprintf.texi: Likewise.
37257         * doc/glibc-functions/obstack_printf.texi: Likewise.
37258         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
37259
37260 2009-02-28  Bruno Haible  <bruno@clisp.org>
37261
37262         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
37263         Reported by Loïc Minier <lool@dooz.org>.
37264
37265 2009-02-27  Bruno Haible  <bruno@clisp.org>
37266
37267         * gnulib-tool (func_import): Make the sed expression used to create the
37268         sed script for updating the .gitignore file POSIX compliant.
37269         Reported by Eric Blake.
37270
37271 2009-02-27  Bruno Haible  <bruno@clisp.org>
37272
37273         * gnulib-tool (sed): Don't alias as "sed --posix".
37274         Reported by Eric Blake.
37275
37276 2009-02-27  Bruno Haible  <bruno@clisp.org>
37277
37278         Avoid test link errors.
37279         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
37280         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
37281         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
37282         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
37283         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37284
37285 2009-02-27  Bruno Haible  <bruno@clisp.org>
37286
37287         Avoid spurious "(cached)" in configure output.
37288         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
37289         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
37290         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
37291         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
37292         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
37293         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
37294         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
37295         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
37296         Reported by Eric Blake.
37297
37298 2009-02-27  Eric Blake  <ebb9@byu.net>
37299
37300         printf: fix regression in previous patch
37301         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
37302
37303 2009-02-27  Bruno Haible  <bruno@clisp.org>
37304
37305         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
37306         value.
37307         * lib/stdint.in.h: Likewise.
37308         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
37309
37310 2009-02-27  Eric Blake  <ebb9@byu.net>
37311
37312         doc: mention more functions added in cygwin 1.7.0
37313         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
37314         addition.
37315         * doc/posix-functions/open_wmemstream.texi: Likewise.
37316         * doc/posix-functions/wcsnlen.texi: Likewise.
37317         * doc/posix-functions/wcsnrtombs.texi: Likewise.
37318         * doc/posix-functions/wcstod.texi: Likewise.
37319         * doc/posix-functions/wcstof.texi: Likewise.
37320         * doc/posix-functions/wcstoimax.texi: Likewise.
37321         * doc/posix-functions/wcstok.texi: Likewise.
37322         * doc/posix-functions/wcstoumax.texi: Likewise.
37323
37324         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
37325         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
37326         * doc/posix-functions/fprintf.texi: Update.
37327         * doc/posix-functions/printf.texi: Update.
37328         * doc/posix-functions/snprintf.texi: Update.
37329         * doc/posix-functions/sprintf.texi: Update.
37330         * doc/posix-functions/vfprintf.texi: Update.
37331         * doc/posix-functions/vprintf.texi: Update.
37332         * doc/posix-functions/vsnprintf.texi: Update.
37333         * doc/posix-functions/vsprintf.texi: Update.
37334         * doc/glibc-functions/obstack_printf.texi: Update.
37335         * doc/glibc-functions/obstack_vprintf.texi: Update.
37336
37337 2009-02-26  Eric Blake  <ebb9@byu.net>
37338
37339         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
37340         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
37341         compilation bug by using runtime conversion.
37342         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
37343         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
37344         * modules/ceill-tests (Files): Use nan.h.
37345         * modules/floorl-tests (Files): Likewise.
37346         * modules/frexpl-tests (Files): Likewise.
37347         * modules/isnanl-tests (Files): Likewise.
37348         * modules/ldexpl-tests (Files): Likewise.
37349         * modules/roundl-tests (Files): Likewise.
37350         * modules/truncl-tests (Files): Likewise.
37351         * tests/test-ceill.c (main): Use a working NaN.
37352         * tests/test-floorl.c (main): Likewise.
37353         * tests/test-frexpl.c (main): Likewise.
37354         * tests/test-isnan.c (test_long_double): Likewise.
37355         * tests/test-isnanl.h (main): Likewise.
37356         * tests/test-ldexpl.h (main): Likewise.
37357         * tests/test-roundl.h (main): Likewise.
37358         * tests/test-truncl.h (main): Likewise.
37359         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
37360
37361 2009-02-26  Eric Blake  <ebb9@byu.net>
37362             Bruno Haible  <bruno@clisp.org>
37363
37364         Work around a *printf bug with %ls on Solaris.
37365         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
37366         precision is specified, sprintf stops converting the wide string
37367         argument when the number of bytes that have been produced by this
37368         conversion equals or exceeds the precision.
37369         * doc/posix-functions/fprintf.texi: Update.
37370         * doc/posix-functions/printf.texi: Update.
37371         * doc/posix-functions/snprintf.texi: Update.
37372         * doc/posix-functions/sprintf.texi: Update.
37373         * doc/posix-functions/vfprintf.texi: Update.
37374         * doc/posix-functions/vprintf.texi: Update.
37375         * doc/posix-functions/vsnprintf.texi: Update.
37376         * doc/posix-functions/vsprintf.texi: Update.
37377         * doc/glibc-functions/obstack_printf.texi: Update.
37378         * doc/glibc-functions/obstack_vprintf.texi: Update.
37379
37380 2009-02-26  Eric Blake  <ebb9@byu.net>
37381
37382         stdlib: favor compiler check of random.h
37383         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
37384         to avoid an ObjC random.h installed by Swarm.
37385
37386 2009-02-26  Bruno Haible  <bruno@clisp.org>
37387
37388         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
37389         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
37390         Reported by Gary V. Vaughan <gary@gnu.org>.
37391
37392 2009-02-26  Bruno Haible  <bruno@clisp.org>
37393
37394         Fix *printf behaviour regarding the %ls directive.
37395         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
37396         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
37397         NEED_PRINTF_DIRECTIVE_LS.
37398         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
37399         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
37400         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37401         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
37402         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
37403         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
37404         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
37405         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37406         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37407         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37408         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37409         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
37410         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37411         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37412         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37413         * doc/posix-functions/fprintf.texi: Update.
37414         * doc/posix-functions/printf.texi: Update.
37415         * doc/posix-functions/snprintf.texi: Update.
37416         * doc/posix-functions/sprintf.texi: Update.
37417         * doc/posix-functions/vfprintf.texi: Update.
37418         * doc/posix-functions/vprintf.texi: Update.
37419         * doc/posix-functions/vsnprintf.texi: Update.
37420         * doc/posix-functions/vsprintf.texi: Update.
37421         * doc/glibc-functions/obstack_printf.texi: Update.
37422         * doc/glibc-functions/obstack_vprintf.texi: Update.
37423         Reported by Eric Blake.
37424
37425 2009-02-25  Bruno Haible  <bruno@clisp.org>
37426
37427         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
37428         with known value.
37429         Reported by Gary V. Vaughan <gary@gnu.org>.
37430
37431 2009-02-25  Bruno Haible  <bruno@clisp.org>
37432
37433         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
37434         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
37435         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
37436         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
37437         Reported by Gary V. Vaughan <gary@gnu.org>.
37438
37439 2009-02-25  Bruno Haible  <bruno@clisp.org>
37440
37441         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
37442         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
37443         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
37444         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
37445         Reported by Gary V. Vaughan <gary@gnu.org>.
37446
37447 2009-02-25  Eric Blake  <ebb9@byu.net>
37448
37449         tests: skip fseek/ftell tests if ungetc is broken
37450         * m4/ungetc.m4: New file.
37451         * modules/fseek-tests: Split test, so ungetc dependency is
37452         separate from rest of test.
37453         * modules/fseeko-tests: Likewise.
37454         * modules/ftell-tests: Likewise.
37455         * modules/ftello-tests: Likewise.
37456         * tests/test-fseek.c (main): Isolate ungetc dependency.
37457         * tests/test-fseeko.c (main): Likewise.
37458         * tests/test-ftell.c (main): Likewise.
37459         * tests/test-ftello.c (main): Likewise.
37460         * tests/test-fseek2.sh: New file.
37461         * tests/test-fseeko2.sh: Likewise.
37462         * tests/test-ftell2.sh: Likewise.
37463         * tests/test-ftello2.sh: Likewise.
37464
37465 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
37466
37467         test-getaddrinfo: fix usage of skip return code 77
37468         * tests/test-gettaddrinfo.c: Return skip code 77 only
37469         for first occurance of skip (4x77 is not 77)
37470
37471 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
37472
37473         strtod: avoid C99 decl-after-statement
37474         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
37475
37476 2009-02-24  Eric Blake  <ebb9@byu.net>
37477
37478         strtod: detect HP-UX 11.31 bug
37479         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
37480         Reported by Gary V. Vaughan.
37481
37482 2009-02-23  Bruno Haible  <bruno@clisp.org>
37483
37484         Fix invalid read past end of memory block.
37485         * lib/vasnprintf.c (DCHAR_SET): Define.
37486         (local_wcslen): Define only when needed.
37487         (local_strnlen, local_wcsnlen): New functions.
37488         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
37489         directives that involve a conversion ourselves.
37490         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
37491         wcsnlen, mbrtowc, wcrtomb.
37492         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
37493         * tests/test-vasprintf-posix.c (test_function): Likewise.
37494         * tests/test-snprintf-posix.h (test_function): Likewise.
37495         * tests/test-sprintf-posix.h (test_function): Likewise.
37496         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37497
37498 2009-02-22  Bruno Haible  <bruno@clisp.org>
37499
37500         Implement new clarified decomposition of Hangul syllables.
37501         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
37502         of type LTV, return only a pairwise decomposition.
37503         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
37504         Likewise.
37505         * tests/uninorm/test-decomposition.c (main): Updated expected result.
37506         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
37507         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
37508
37509 2009-02-22  Bruno Haible  <bruno@clisp.org>
37510
37511         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
37512         zero-length results and shrink excess allocated memory.
37513         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
37514         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
37515         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
37516         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
37517         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
37518         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
37519         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
37520         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
37521         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
37522         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
37523         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
37524         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
37525
37526 2009-02-21  Bruno Haible  <bruno@clisp.org>
37527
37528         * doc/gnulib.texi: Include safe-alloc.texi earlier.
37529         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
37530         spaces after a period. Put a space between a macro name and its
37531         argument list. Trivial rewordings.
37532         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
37533         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
37534         (main): Return 0 explicitly.
37535
37536 2009-02-21  Bruno Haible  <bruno@clisp.org>
37537
37538         Tests for module 'uninorm/filter'.
37539         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
37540         * modules/uninorm/filter-tests: New file.
37541
37542         New module 'uninorm/filter'.
37543         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
37544         uninorm_filter_flush, uninorm_filter_free): New declarations.
37545         * lib/uninorm/uninorm-filter.c: New file.
37546         * modules/uninorm/filter: New file.
37547
37548 2009-02-21  Bruno Haible  <bruno@clisp.org>
37549
37550         Tests for module 'uninorm/nfkc'.
37551         * tests/uninorm/test-nfkc.c: New file.
37552         * tests/uninorm/test-u8-nfkc.c: New file.
37553         * tests/uninorm/test-u16-nfkc.c: New file.
37554         * tests/uninorm/test-u32-nfkc.c: New file.
37555         * tests/uninorm/test-u32-nfkc-big.sh: New file.
37556         * tests/uninorm/test-u32-nfkc-big.c: New file.
37557         * modules/uninorm/nfkc-tests: New file.
37558
37559         New module 'uninorm/nfkc'.
37560         * lib/uninorm/nfkc.c: New file.
37561         * modules/uninorm/nfkc: New file.
37562
37563         Tests for module 'uninorm/nfkd'.
37564         * tests/uninorm/test-nfkd.c: New file.
37565         * tests/uninorm/test-u8-nfkd.c: New file.
37566         * tests/uninorm/test-u16-nfkd.c: New file.
37567         * tests/uninorm/test-u32-nfkd.c: New file.
37568         * tests/uninorm/test-u32-nfkd-big.sh: New file.
37569         * tests/uninorm/test-u32-nfkd-big.c: New file.
37570         * modules/uninorm/nfkd-tests: New file.
37571
37572         New module 'uninorm/nfkd'.
37573         * lib/uninorm/nfkd.c: New file.
37574         * modules/uninorm/nfkd: New file.
37575
37576         Tests for module 'uninorm/nfc'.
37577         * tests/uninorm/test-nfc.c: New file.
37578         * tests/uninorm/test-u8-nfc.c: New file.
37579         * tests/uninorm/test-u16-nfc.c: New file.
37580         * tests/uninorm/test-u32-nfc.c: New file.
37581         * tests/uninorm/test-u32-nfc-big.sh: New file.
37582         * tests/uninorm/test-u32-nfc-big.c: New file.
37583         * modules/uninorm/nfc-tests: New file.
37584
37585         New module 'uninorm/nfc'.
37586         * lib/uninorm/nfc.c: New file.
37587         * modules/uninorm/nfc: New file.
37588
37589         Tests for module 'uninorm/nfd'.
37590         * tests/uninorm/test-nfd.c: New file.
37591         * tests/uninorm/test-u8-nfd.c: New file.
37592         * tests/uninorm/test-u16-nfd.c: New file.
37593         * tests/uninorm/test-u32-nfd.c: New file.
37594         * tests/uninorm/test-u32-nfd-big.sh: New file.
37595         * tests/uninorm/test-u32-nfd-big.c: New file.
37596         * tests/uninorm/test-u32-normalize-big.h: New file.
37597         * tests/uninorm/test-u32-normalize-big.c: New file.
37598         * tests/uninorm/NormalizationTest.txt: New file, created from
37599         Unicode 5.1.0 NormalizationTest.txt.
37600         * modules/uninorm/nfd-tests: New file.
37601
37602         New module 'uninorm/nfd'.
37603         * lib/uninorm/nfd.c: New file.
37604         * modules/uninorm/nfd: New file.
37605
37606         New module 'uninorm/u32-normalize'.
37607         * lib/uninorm/u32-normalize.c: New file.
37608         * modules/uninorm/u32-normalize: New file.
37609
37610         New module 'uninorm/u16-normalize'.
37611         * lib/uninorm/u16-normalize.c: New file.
37612         * modules/uninorm/u16-normalize: New file.
37613
37614         New module 'uninorm/u8-normalize'.
37615         * lib/uninorm/u8-normalize.c: New file.
37616         * lib/uninorm/normalize-internal.h: New file.
37617         * lib/uninorm/u-normalize-internal.h: New file.
37618         * modules/uninorm/u8-normalize: New file.
37619
37620         New module 'uninorm/decompose-internal'.
37621         * lib/uninorm/decompose-internal.c: New file.
37622         * modules/uninorm/decompose-internal: New file.
37623
37624         Tests for module 'uninorm/composition'.
37625         * tests/uninorm/test-composition.c: New file.
37626         * modules/uninorm/composition-tests: New file.
37627
37628         New module 'uninorm/composition'.
37629         * lib/uninorm/composition.c: New file.
37630         * lib/uninorm/composition-table.gperf: New file, generated by
37631         gen-uni-tables.
37632         * modules/uninorm/composition: New file.
37633
37634         Tests for module 'uninorm/compat-decomposition'.
37635         * tests/uninorm/test-compat-decomposition.c: New file.
37636         * modules/uninorm/compat-decomposition-tests: New file.
37637
37638         New module 'uninorm/compat-decomposition'.
37639         * lib/uninorm/decompose-internal.h: New file.
37640         * lib/uninorm/compat-decomposition.c: New file.
37641         * modules/uninorm/compat-decomposition: New file.
37642
37643         Tests for module 'uninorm/canonical-decomposition'.
37644         * tests/uninorm/test-canonical-decomposition.c: New file.
37645         * modules/uninorm/canonical-decomposition-tests: New file.
37646
37647         New module 'uninorm/canonical-decomposition'.
37648         * lib/uninorm/canonical-decomposition.c: New file.
37649         * modules/uninorm/canonical-decomposition: New file.
37650
37651         Tests for module 'uninorm/decomposition'.
37652         * tests/uninorm/test-decomposition.c: New file.
37653         * modules/uninorm/decomposition-tests: New file.
37654
37655         New module 'uninorm/decomposition'.
37656         * lib/uninorm/decomposition.c: New file.
37657         * modules/uninorm/decomposition: New file.
37658
37659         New module 'uninorm/decomposition-table'.
37660         * lib/uninorm/decomposition-table.h: New file.
37661         * lib/uninorm/decomposition-table.c: New file.
37662         * lib/uninorm/decomposition-table1.h: New file, generated by
37663         gen-uni-tables.
37664         * lib/uninorm/decomposition-table2.h: New file, generated by
37665         gen-uni-tables.
37666         * modules/uninorm/decomposition-table: New file.
37667
37668         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
37669         (UC_DECOMP_*): New enumeration items.
37670         (get_decomposition): New function.
37671         (struct decomp_table): New type.
37672         (output_decomposition, output_decomposition_tables): New functions.
37673         (unicode_composition_exclusions): New variable.
37674         (fill_composition_exclusions, debug_output_composition_tables): New
37675         functions.
37676         (main): Accept one more argument. Invoke fill_composition_exclusions.
37677         Output decomposition and composition tables.
37678
37679         New module 'uninorm/base'.
37680         * lib/uninorm.h: New file.
37681         * lib/unictype.h: Update comment.
37682         * modules/uninorm/base: New file.
37683
37684 2009-02-21  David Lutterkort  <lutter@redhat.com>
37685
37686         Tests for module 'safe-alloc'.
37687         * tests/test-safe-alloc.c: New file.
37688         * modules/safe-alloc-tests: New file.
37689
37690         New module 'safe-alloc'.
37691         * lib/safe-alloc.h: New file.
37692         * lib/safe-alloc.c: New file.
37693         * m4/safe-alloc.m4: New file.
37694         * modules/safe-alloc: New file.
37695         * doc/safe-alloc.texi: New file.
37696         * doc/gnulib.texi: Include it.
37697         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
37698         safe-alloc.
37699
37700 2009-02-18  Bruno Haible  <bruno@clisp.org>
37701
37702         Fix link error on non-glibc systems.
37703         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
37704         variable.
37705         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37706
37707 2009-02-18  Jim Meyering  <meyering@redhat.com>
37708
37709         fts: avoid used-uninitialized error due to recent change
37710         * lib/fts.c (fts_read): Guard uses of the new member,
37711         parent->fts_n_dirs_remaining, since it's not relevant for
37712         the parent of a directory specified on the command-line.
37713
37714 2009-02-17  James Youngman  <jay@gnu.org>
37715             Bruno Haible  <bruno@clisp.org>
37716
37717         * m4/include_next.m4: Reformulate comment.
37718
37719 2009-02-16  Jim Meyering  <meyering@redhat.com>
37720
37721         fts: add #if guards so that the fts_lgpl module still builds
37722         * lib/fts.c: Guard just-added hash-table-using parts with
37723         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
37724         Reported by Simon Josefsson.
37725
37726 2009-02-15  Bruno Haible  <bruno@clisp.org>
37727
37728         * modules/array-mergesort-tests: New file.
37729         * tests/test-array-mergesort.c: New file.
37730
37731         New module 'array-mergesort'.
37732         * modules/array-mergesort: New file.
37733         * lib/array-mergesort.h: New file.
37734
37735 2009-02-15  Bruno Haible  <bruno@clisp.org>
37736
37737         Fix 2009-02-07 commit.
37738         * lib/gen-uni-tables.c (output_predicate, output_category,
37739         output_combclass, output_bidi_category, output_decimal_digit,
37740         output_digit, output_numeric, output_mirror, output_scripts,
37741         output_ident_category, output_simple_mapping): Fix format directives.
37742         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
37743
37744 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
37745
37746         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
37747         fixes are available from IBM.
37748
37749 2009-02-13  Jim Meyering  <meyering@redhat.com>
37750
37751         fts: arrange not to stat non-directories in more cases
37752         This makes GNU find (when it doesn't need to stat each file)
37753         *much* more efficient at traversing reiserfs file systems.
37754         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
37755         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
37756         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
37757         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
37758         (leaf_optimization_applies): New function.
37759         (LCO_hash, LCO_compare): New helper functions.
37760         (link_count_optimize_ok): New function.
37761         (fts_stat): Initialize new member (if dir).
37762         (fts_read): Decrement parent's fts_n_dirs_remaining count if
37763         we've just stat'ed a directory.  Skip the stat call when possible.
37764         ---
37765         Note this AFS-related exchange:
37766         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
37767         and note find's pioctl call in find/fstype.c.
37768         But that is necessary only if you want to enable the
37769         optimization for AFS, and for now, I don't.
37770
37771         fts: move a function definition "up" (no semantic change)
37772         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
37773         "up" to precede upcoming use of a related function.
37774
37775 2009-02-11  Jim Meyering  <meyering@redhat.com>
37776
37777         fts: correct internal computation of nlinks (optimization-related)
37778         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
37779         whether the current entry is a directory, so don't test it.
37780
37781 2009-02-10  Bruno Haible  <bruno@clisp.org>
37782
37783         Tests for module 'uniwbrk/ulc-wordbreaks'.
37784         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
37785         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
37786         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
37787
37788         Tests for module 'uniwbrk/u32-wordbreaks'.
37789         * modules/uniwbrk/u32-wordbreaks-tests: New file.
37790         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
37791
37792         Tests for module 'uniwbrk/u16-wordbreaks'.
37793         * modules/uniwbrk/u16-wordbreaks-tests: New file.
37794         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
37795
37796         Tests for module 'uniwbrk/u8-wordbreaks'.
37797         * modules/uniwbrk/u8-wordbreaks-tests: New file.
37798         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
37799
37800 2009-02-10  Bruno Haible  <bruno@clisp.org>
37801
37802         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
37803         property.
37804         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
37805         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
37806         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
37807
37808 2009-02-10  Simon Josefsson  <simon@josefsson.org>
37809
37810         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
37811         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
37812
37813 2009-02-10  Bruno Haible  <bruno@clisp.org>
37814
37815         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
37816         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
37817         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
37818         * lib/unilbrk/u8-possible-linebreaks.c: Update.
37819         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
37820         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
37821
37822 2009-02-09  Simon Josefsson  <simon@josefsson.org>
37823
37824         * lib/sockets.h (gl_fd_to_handle): New function.
37825
37826         * tests/test-sockets.c: Call gl_fd_to_handle.
37827
37828 2009-02-09  Bruno Haible  <bruno@clisp.org>
37829
37830         * doc/havelib.texi: Document the conventions on bi-arch systems.
37831
37832 2009-02-08  Bruno Haible  <bruno@clisp.org>
37833
37834         Document the AC_LIB_LINKFLAGS macro.
37835         * doc/havelib.texi: New file, mostly written on 2005-05-24.
37836         * doc/gnulib.texi: Include it.
37837
37838 2009-02-08  Bruno Haible  <bruno@clisp.org>
37839
37840         Fix wrong order of sections, compared to TOC.
37841         * doc/gnulib.texi: Include relocatable-maint.texi after the
37842         "Regular expressions" node, not before.
37843
37844 2009-02-08  Bruno Haible  <bruno@clisp.org>
37845
37846         Tests for module 'unicase/totitle'.
37847         * modules/unicase/totitle-tests: New file.
37848
37849         Tests for module 'unicase/tolower'.
37850         * modules/unicase/tolower-tests: New file.
37851
37852         Tests for module 'unicase/toupper'.
37853         * modules/unicase/toupper-tests: New file.
37854         * tests/unicase/test-mapping-part1.h: New file.
37855         * tests/unicase/test-mapping-part2.h: New file.
37856
37857         New module 'unicase/totitle'.
37858         * modules/unicase/totitle: New file.
37859         * lib/unicase/totitle.c: New file.
37860
37861         New module 'unicase/tolower'.
37862         * modules/unicase/tolower: New file.
37863         * lib/unicase/tolower.c: New file.
37864
37865         New module 'unicase/toupper'.
37866         * modules/unicase/toupper: New file.
37867         * lib/unicase/toupper.c: New file.
37868         * lib/unicase/simple-mapping.h: New file.
37869
37870         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
37871         (mapping_table): New structure.
37872         (output_simple_mapping): New function.
37873         (main): Invoke output_simple_mapping_test and output_simple_mapping.
37874         * modules/gen-uni-tables (Description): Update.
37875         * lib/unicase/toupper.h: New file, automatically generated by
37876         gen-uni-tables.
37877         * lib/unicase/tolower.h: New file, automatically generated by
37878         gen-uni-tables.
37879         * lib/unicase/totitle.h: New file, automatically generated by
37880         gen-uni-tables.
37881         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
37882         gen-uni-tables.
37883         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
37884         gen-uni-tables.
37885         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
37886         gen-uni-tables.
37887
37888         New module 'unicase/base'.
37889         * modules/unicase/base: New file.
37890         * lib/unicase.h: New file.
37891
37892 2009-02-08  Bruno Haible  <bruno@clisp.org>
37893
37894         New module 'uniwbrk/ulc-wordbreaks'.
37895         * modules/uniwbrk/ulc-wordbreaks: New file.
37896         * lib/uniwbrk/ulc-wordbreaks.c: New file.
37897
37898         New module 'uniwbrk/u32-wordbreaks'.
37899         * modules/uniwbrk/u32-wordbreaks: New file.
37900         * lib/uniwbrk/u32-wordbreaks.c: New file.
37901
37902         New module 'uniwbrk/u16-wordbreaks'.
37903         * modules/uniwbrk/u16-wordbreaks: New file.
37904         * lib/uniwbrk/u16-wordbreaks.c: New file.
37905
37906         New module 'uniwbrk/u8-wordbreaks'.
37907         * modules/uniwbrk/u8-wordbreaks: New file.
37908         * lib/uniwbrk/u8-wordbreaks.c: New file.
37909         * lib/uniwbrk/u-wordbreaks.h: New file.
37910
37911         New module 'uniwbrk/table'.
37912         * modules/uniwbrk/table: New file.
37913         * lib/uniwbrk/wbrktable.h: New file.
37914         * lib/uniwbrk/wbrktable.c: New file.
37915
37916         New module 'uniwbrk/wordbreak-property'.
37917         * modules/uniwbrk/wordbreak-property: New file.
37918         * lib/uniwbrk/wordbreak-property.c: New file.
37919
37920         * lib/gen-uni-tables.c (WBP_*): New enum items.
37921         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
37922         (unicode_org_wbp): New variable.
37923         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
37924         New functions.
37925         (wbp_table): New structure.
37926         (output_wbp, output_wbrk_tables): New functions.
37927         (main): Accept additional argument. Invoke fill_org_wbp,
37928         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
37929         output_wbrk_tables.
37930         * modules/gen-uni-tables (Description): Update.
37931         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
37932         gen-uni-tables.
37933
37934         New module 'uniwbrk/base'.
37935         * modules/uniwbrk/base: New file.
37936         * lib/uniwbrk.h: New file.
37937
37938 2009-02-08  Bruno Haible  <bruno@clisp.org>
37939
37940         Update to Unicode 5.1.0.
37941         * lib/gen-uni-tables.c (is_property_alphabetic): Include
37942         U+2185..U+2188.
37943         (is_property_default_ignorable_code_point): Don't include characters
37944         of category Cc or Cs and not-a-characters.
37945         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
37946         U+0D79, U+109E, U+109F, U+A60C.
37947         * lib/unictype/bidi_of.h: Regenerated.
37948         * lib/unictype/blocks.h: Regenerated.
37949         * lib/unictype/categ_C.h: Regenerated.
37950         * lib/unictype/categ_Cf.h: Regenerated.
37951         * lib/unictype/categ_Cn.h: Regenerated.
37952         * lib/unictype/categ_L.h: Regenerated.
37953         * lib/unictype/categ_Ll.h: Regenerated.
37954         * lib/unictype/categ_Lm.h: Regenerated.
37955         * lib/unictype/categ_Lo.h: Regenerated.
37956         * lib/unictype/categ_Lu.h: Regenerated.
37957         * lib/unictype/categ_M.h: Regenerated.
37958         * lib/unictype/categ_Mc.h: Regenerated.
37959         * lib/unictype/categ_Me.h: Regenerated.
37960         * lib/unictype/categ_Mn.h: Regenerated.
37961         * lib/unictype/categ_N.h: Regenerated.
37962         * lib/unictype/categ_Nd.h: Regenerated.
37963         * lib/unictype/categ_Nl.h: Regenerated.
37964         * lib/unictype/categ_No.h: Regenerated.
37965         * lib/unictype/categ_P.h: Regenerated.
37966         * lib/unictype/categ_Pd.h: Regenerated.
37967         * lib/unictype/categ_Pe.h: Regenerated.
37968         * lib/unictype/categ_Pf.h: Regenerated.
37969         * lib/unictype/categ_Pi.h: Regenerated.
37970         * lib/unictype/categ_Po.h: Regenerated.
37971         * lib/unictype/categ_Ps.h: Regenerated.
37972         * lib/unictype/categ_S.h: Regenerated.
37973         * lib/unictype/categ_Sk.h: Regenerated.
37974         * lib/unictype/categ_Sm.h: Regenerated.
37975         * lib/unictype/categ_So.h: Regenerated.
37976         * lib/unictype/categ_of.h: Regenerated.
37977         * lib/unictype/combining.h: Regenerated.
37978         * lib/unictype/ctype_alnum.h: Regenerated.
37979         * lib/unictype/ctype_alpha.h: Regenerated.
37980         * lib/unictype/ctype_graph.h: Regenerated.
37981         * lib/unictype/ctype_lower.h: Regenerated.
37982         * lib/unictype/ctype_print.h: Regenerated.
37983         * lib/unictype/ctype_punct.h: Regenerated.
37984         * lib/unictype/ctype_upper.h: Regenerated.
37985         * lib/unictype/decdigit.h: Regenerated.
37986         * lib/unictype/digit.h: Regenerated.
37987         * lib/unictype/mirror.h: Regenerated.
37988         * lib/unictype/numeric.h: Regenerated.
37989         * lib/unictype/pr_alphabetic.h: Regenerated.
37990         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
37991         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
37992         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
37993         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
37994         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
37995         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
37996         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
37997         * lib/unictype/pr_combining.h: Regenerated.
37998         * lib/unictype/pr_dash.h: Regenerated.
37999         * lib/unictype/pr_decimal_digit.h: Regenerated.
38000         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
38001         * lib/unictype/pr_deprecated.h: Regenerated.
38002         * lib/unictype/pr_diacritic.h: Regenerated.
38003         * lib/unictype/pr_extender.h: Regenerated.
38004         * lib/unictype/pr_format_control.h: Regenerated.
38005         * lib/unictype/pr_grapheme_base.h: Regenerated.
38006         * lib/unictype/pr_grapheme_extend.h: Regenerated.
38007         * lib/unictype/pr_grapheme_link.h: Regenerated.
38008         * lib/unictype/pr_id_continue.h: Regenerated.
38009         * lib/unictype/pr_id_start.h: Regenerated.
38010         * lib/unictype/pr_ideographic.h: Regenerated.
38011         * lib/unictype/pr_ignorable_control.h: Regenerated.
38012         * lib/unictype/pr_lowercase.h: Regenerated.
38013         * lib/unictype/pr_math.h: Regenerated.
38014         * lib/unictype/pr_numeric.h: Regenerated.
38015         * lib/unictype/pr_other_alphabetic.h: Regenerated.
38016         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
38017         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
38018         * lib/unictype/pr_other_id_continue.h: Regenerated.
38019         * lib/unictype/pr_other_lowercase.h: Regenerated.
38020         * lib/unictype/pr_other_math.h: Regenerated.
38021         * lib/unictype/pr_punctuation.h: Regenerated.
38022         * lib/unictype/pr_sentence_terminal.h: Regenerated.
38023         * lib/unictype/pr_soft_dotted.h: Regenerated.
38024         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
38025         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
38026         * lib/unictype/pr_unified_ideograph.h: Regenerated.
38027         * lib/unictype/pr_uppercase.h: Regenerated.
38028         * lib/unictype/pr_xid_continue.h: Regenerated.
38029         * lib/unictype/pr_xid_start.h: Regenerated.
38030         * lib/unictype/pr_zero_width.h: Regenerated.
38031         * lib/unictype/scripts.h: Regenerated.
38032         * lib/unictype/scripts_byname.gperf: Regenerated.
38033         * lib/unictype/sy_java_ident.h: Regenerated.
38034         * lib/unilbrk/lbrkprop1.h: Regenerated.
38035         * lib/unilbrk/lbrkprop2.h: Regenerated.
38036         * tests/unictype/test-categ_C.c: Regenerated.
38037         * tests/unictype/test-categ_Cf.c: Regenerated.
38038         * tests/unictype/test-categ_Cn.c: Regenerated.
38039         * tests/unictype/test-categ_L.c: Regenerated.
38040         * tests/unictype/test-categ_Ll.c: Regenerated.
38041         * tests/unictype/test-categ_Lm.c: Regenerated.
38042         * tests/unictype/test-categ_Lo.c: Regenerated.
38043         * tests/unictype/test-categ_Lu.c: Regenerated.
38044         * tests/unictype/test-categ_M.c: Regenerated.
38045         * tests/unictype/test-categ_Mc.c: Regenerated.
38046         * tests/unictype/test-categ_Me.c: Regenerated.
38047         * tests/unictype/test-categ_Mn.c: Regenerated.
38048         * tests/unictype/test-categ_N.c: Regenerated.
38049         * tests/unictype/test-categ_Nd.c: Regenerated.
38050         * tests/unictype/test-categ_Nl.c: Regenerated.
38051         * tests/unictype/test-categ_No.c: Regenerated.
38052         * tests/unictype/test-categ_P.c: Regenerated.
38053         * tests/unictype/test-categ_Pd.c: Regenerated.
38054         * tests/unictype/test-categ_Pe.c: Regenerated.
38055         * tests/unictype/test-categ_Pf.c: Regenerated.
38056         * tests/unictype/test-categ_Pi.c: Regenerated.
38057         * tests/unictype/test-categ_Po.c: Regenerated.
38058         * tests/unictype/test-categ_Ps.c: Regenerated.
38059         * tests/unictype/test-categ_S.c: Regenerated.
38060         * tests/unictype/test-categ_Sk.c: Regenerated.
38061         * tests/unictype/test-categ_Sm.c: Regenerated.
38062         * tests/unictype/test-categ_So.c: Regenerated.
38063         * tests/unictype/test-ctype_alnum.c: Regenerated.
38064         * tests/unictype/test-ctype_alpha.c: Regenerated.
38065         * tests/unictype/test-ctype_graph.c: Regenerated.
38066         * tests/unictype/test-ctype_lower.c: Regenerated.
38067         * tests/unictype/test-ctype_print.c: Regenerated.
38068         * tests/unictype/test-ctype_punct.c: Regenerated.
38069         * tests/unictype/test-ctype_upper.c: Regenerated.
38070         * tests/unictype/test-decdigit.h: Regenerated.
38071         * tests/unictype/test-digit.h: Regenerated.
38072         * tests/unictype/test-numeric.h: Regenerated.
38073         * tests/unictype/test-pr_alphabetic.c: Regenerated.
38074         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
38075         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
38076         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
38077         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
38078         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
38079         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
38080         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
38081         * tests/unictype/test-pr_combining.c: Regenerated.
38082         * tests/unictype/test-pr_dash.c: Regenerated.
38083         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
38084         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
38085         * tests/unictype/test-pr_deprecated.c: Regenerated.
38086         * tests/unictype/test-pr_diacritic.c: Regenerated.
38087         * tests/unictype/test-pr_extender.c: Regenerated.
38088         * tests/unictype/test-pr_format_control.c: Regenerated.
38089         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
38090         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
38091         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
38092         * tests/unictype/test-pr_id_continue.c: Regenerated.
38093         * tests/unictype/test-pr_id_start.c: Regenerated.
38094         * tests/unictype/test-pr_ideographic.c: Regenerated.
38095         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
38096         * tests/unictype/test-pr_lowercase.c: Regenerated.
38097         * tests/unictype/test-pr_math.c: Regenerated.
38098         * tests/unictype/test-pr_numeric.c: Regenerated.
38099         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
38100         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
38101         Regenerated.
38102         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
38103         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
38104         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
38105         * tests/unictype/test-pr_other_math.c: Regenerated.
38106         * tests/unictype/test-pr_punctuation.c: Regenerated.
38107         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
38108         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
38109         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
38110         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
38111         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
38112         * tests/unictype/test-pr_uppercase.c: Regenerated.
38113         * tests/unictype/test-pr_xid_continue.c: Regenerated.
38114         * tests/unictype/test-pr_xid_start.c: Regenerated.
38115         * tests/unictype/test-pr_zero_width.c: Regenerated.
38116
38117         Update to Unicode 5.1.0.
38118         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
38119         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
38120         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
38121         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
38122         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
38123         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
38124         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
38125         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
38126         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
38127         (nonspacing_table_ind): Update.
38128         * tests/uniwidth/test-uc_width2.sh: Update expected result.
38129
38130         Update to Unicode 5.1.0.
38131         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
38132         code transform.
38133         * lib/uniname/uniname.c (unicode_character_name,
38134         unicode_name_character): Add the range 0x1Fxxx to the code transform.
38135         * lib/uniname/uninames.h: Regenerated.
38136         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
38137
38138 2009-02-07  Bruno Haible  <bruno@clisp.org>
38139
38140         Merge gen-ctype and gen-lbrk into a single program.
38141         * lib/gen-uni-tables.c: New file, incorporating
38142         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
38143         Add directory prefixes to the names of the generated files.
38144         * lib/unictype/gen-ctype.c: Remove file.
38145         * lib/unilbrk/gen-lbrk.c: Remove file.
38146         * modules/gen-uni-tables: New file.
38147         * modules/unictype/gen-ctype: Remove file.
38148         * modules/unilbrk/gen-lbrk: Remove file.
38149
38150 2009-02-07  Bruno Haible  <bruno@clisp.org>
38151
38152         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
38153
38154         New module 'unistr/u32-strcoll'.
38155         * modules/unistr/u32-strcoll: New file.
38156         * lib/unistr/u32-strcoll.c: New file.
38157
38158         New module 'unistr/u16-strcoll'.
38159         * modules/unistr/u16-strcoll: New file.
38160         * lib/unistr/u16-strcoll.c: New file.
38161
38162         New module 'unistr/u8-strcoll'.
38163         * modules/unistr/u8-strcoll: New file.
38164         * lib/unistr/u8-strcoll.c: New file.
38165         * lib/unistr/u-strcoll.h: New file.
38166
38167 2009-02-07  Bruno Haible  <bruno@clisp.org>
38168
38169         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
38170         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
38171         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
38172         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
38173         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
38174         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
38175
38176 2009-02-07  Bruno Haible  <bruno@clisp.org>
38177
38178         Make 64-bit clean.
38179         * lib/unictype/gen-ctype.c (output_predicate, output_category,
38180         output_combclass, output_bidi_category, output_decimal_digit,
38181         output_digit, output_numeric, output_mirror, output_scripts,
38182         output_ident_category): Use proper width specifier in format strings.
38183
38184 2009-02-07  Bruno Haible  <bruno@clisp.org>
38185
38186         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
38187         failure behaviour.
38188
38189 2009-02-07  Jim Meyering  <meyering@redhat.com>
38190
38191         regex: avoid compilation failure with upcoming gcc-4.4
38192         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
38193         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
38194         "... error: integer overflow in preprocessor expression".
38195
38196 2009-02-05  Ben Pfaff  <blp@gnu.org>
38197
38198         Fix link errors on Windows when close module is used.
38199         * modules/close: Add $(LIB_CLOSE) to Link section.
38200         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
38201         $(LIB_CLOSE) on Windows.
38202
38203 2009-02-05  Jim Meyering  <meyering@redhat.com>
38204
38205         still avoid unused-parameter warnings, but do it cleanly
38206         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
38207         (get_fs_usage): Cast to void instead.
38208         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
38209         (dev_from_mount_options, read_file_system_list): Cast to void.
38210         Prompted by Bruno Haible.
38211
38212 2009-02-04  Jim Meyering  <meyering@redhat.com>
38213
38214         fsusage.c: correct copyright year
38215         * lib/fsusage.c: Reflect year in which the change is pushed into
38216
38217         avoid misc. warnings
38218         * lib/fsusage.c (UNUSED_PARAM): Define.
38219         (get_fs_usage): Mark parameter "disk" as unused.
38220         * lib/getugroups.c (getgrent): Use "void" in prototype.
38221         * lib/mountlist.c: Mark unused parameters.
38222         (read_file_system_list): Declare a local with "const".
38223         * lib/nanosleep.c (getnow): Declare static.
38224         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
38225
38226         dirfd: set errno upon failure
38227         * lib/dirfd.c: Include <errno.h>.
38228         Set errno to ENOTSUP when returning -1.
38229         * modules/dirfd (Depends-on): Add errno.
38230         Suggested by John Kodis <kodis@comcast.net>.
38231
38232 2009-02-01  Bruno Haible  <bruno@clisp.org>
38233
38234         Don't assume sizeof (long) >= sizeof (void *).
38235         * lib/memcmp.c: Include stdint.h.
38236         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
38237         srcp2 to 'const byte *'.
38238         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
38239         types to uintptr_t.
38240         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
38241         * modules/memcmp (Depends-on): Add stdint.
38242         Reported by Ozkan Sezer <sezeroz@gmail.com>.
38243
38244 2009-01-30  Eric Blake  <ebb9@byu.net>
38245
38246         fix more require-before-expand issues
38247         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
38248         expand, AC_PROG_AWK.
38249         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
38250
38251 2009-01-28  Eric Blake  <ebb9@byu.net>
38252
38253         version-etc: use consistent URL formatting
38254         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
38255         Improve formatting.  Use fputs for string without %.
38256
38257 2009-01-28  Jim Meyering  <meyering@redhat.com>
38258
38259         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
38260         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
38261         "underquoted definition of NAME" from autoconf-2.59.
38262
38263 2009-01-28  Bruno Haible  <bruno@clisp.org>
38264
38265         * doc/gnulib.texi: Add "Obsolete modules" to index.
38266
38267 2009-01-28  Jim Meyering  <meyering@redhat.com>
38268
38269         useless-if-before-free: recognize more variants
38270         * build-aux/useless-if-before-free: Also recognize e.g.,
38271         if (NULL != p) free (p);
38272
38273 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
38274
38275         test-getaddrinfo: skip (don't fail) this test when there's no network
38276         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
38277         on the presumption that it means you lack network access.
38278
38279 2009-01-26  Jim Meyering  <meyering@redhat.com>
38280
38281         fflush: avoid warnings on modern systems
38282         * lib/fflush.c (rpl_fflush): Move declarations of locals,
38283         pos and result, into scopes where they're used.
38284
38285 2009-01-26  Eric Blake  <ebb9@byu.net>
38286
38287         Silence warning reintroduced by recent extensions patch.
38288         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
38289         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
38290         autoconf.
38291
38292         Backport improved autoconf semantics of AC_DEFUN_ONCE.
38293         * m4/00gnulib.m4: New file.
38294         * gnulib-tool (func_get_filelist): Always use it.
38295         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
38296         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
38297
38298 2009-01-25  Bruno Haible  <bruno@clisp.org>
38299
38300         Make test-quotearg work on MacOS X and AIX.
38301         * tests/test-quotearg.sh: New file.
38302         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
38303         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
38304         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
38305         include <libintl.h>.
38306         (fake_locale): Remove variable.
38307         (gettext, dgettext, dcgettext): Remove functions.
38308         (main): Instead of setting a fake locale, set a real locale. Call
38309         textdomain and bindtextdomain.
38310         * modules/quotearg-tests (Files): Add the new files.
38311         (Depends-on): Add gettext, setenv, unsetenv.
38312         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
38313         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
38314         Augment TESTS_ENVIRONMENT.
38315
38316 2009-01-25  Bruno Haible  <bruno@clisp.org>
38317
38318         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
38319         fr_FR.ISO8859-1 locale on MacOS X.
38320         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
38321         ja_JP.eucJP locale on MacOS X.
38322         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
38323         zh_CN.GB18030 locale on MacOS X.
38324
38325 2009-01-25  Bruno Haible  <bruno@clisp.org>
38326
38327         Avoid link errors on MacOS X 10.3.
38328         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
38329         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38330
38331 2009-01-25  Bruno Haible  <bruno@clisp.org>
38332
38333         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
38334         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
38335         * modules/pipe (Files): Remove m4/posix_spawn.m4.
38336         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
38337         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
38338         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
38339         posix_spawnattr_init, posix_spawnattr_setsigmask,
38340         posix_spawnattr_setflags, posix_spawnattr_destroy.
38341
38342         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
38343         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
38344         * modules/execute (Files): Remove m4/posix_spawn.m4.
38345         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
38346         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
38347         posix_spawnattr_init, posix_spawnattr_setsigmask,
38348         posix_spawnattr_setflags, posix_spawnattr_destroy.
38349
38350 2009-01-25  Bruno Haible  <bruno@clisp.org>
38351
38352         * lib/glthread/threadlib.c: Include <stdlib.h>.
38353
38354 2009-01-25  Bruno Haible  <bruno@clisp.org>
38355
38356         * lib/glthread/threadlib.c (dummy): New declaration.
38357
38358 2009-01-25  Bruno Haible  <bruno@clisp.org>
38359
38360         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
38361         multibyte characters also for the GB18030 encoding. Don't crash when
38362         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
38363
38364 2009-01-25  Bruno Haible  <bruno@clisp.org>
38365
38366         Avoid redefining 'struct random_data' on OSF/1 5.1.
38367         * lib/stdlib.in.h: Include <random.h> if it exists.
38368         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
38369         HAVE_RANDOM_H. Include <random.h> when testing whether
38370         'struct random_data' exists.
38371         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
38372
38373 2009-01-25  Bruno Haible  <bruno@clisp.org>
38374
38375         Don't install charset.alias on MacOS X >= 10.3.
38376         * lib/localcharset.c (DARWIN7): New macro.
38377         (get_charset_aliases): Hardcode the result for Darwin7.
38378         * modules/localcharset (install-exec-local): Don't install
38379         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
38380
38381 2009-01-25  Bruno Haible  <bruno@clisp.org>
38382
38383         Don't install charset.alias on mingw and Cygwin.
38384         * modules/localcharset (install-exec-local): Don't install
38385         charset.alias on mingw and Cygwin, if the file does not yet exist.
38386         The result for these platforms is hardcoded in localcharset.c.
38387
38388 2009-01-25  Bruno Haible  <bruno@clisp.org>
38389
38390         Make it possible again to use AC_GNU_SOURCE together with gnulib.
38391         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
38392         before requiring AC_USE_SYSTEM_EXTENSIONS.
38393
38394 2009-01-25  Jim Meyering  <meyering@redhat.com>
38395
38396         c-strtod: avoid warnings
38397         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
38398         "assignment discards qualifiers from pointer target type" warnings.
38399
38400 2009-01-24  Bruno Haible  <bruno@clisp.org>
38401
38402         Add support for non-UTF-8 locales on MacOS X.
38403         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
38404         canonical encodings. For Darwin 7 and newer, don't map traditional
38405         encodings to UTF-8.
38406         Reported by Vincent Lefevre <vincent@vinc17.org>
38407         at <http://savannah.gnu.org/bugs/?25235>.
38408
38409 2009-01-24  Bruno Haible  <bruno@clisp.org>
38410
38411         * doc/gnulib.texi (Obsolete modules): New section.
38412         Reported by Mike Frysinger <vapier@gentoo.org>.
38413
38414 2009-01-24  Bruno Haible  <bruno@clisp.org>
38415
38416         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
38417         (%.dvi): New rule.
38418
38419 2009-01-24  Bruno Haible  <bruno@clisp.org>
38420
38421         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
38422         Reported by Eric Blake.
38423
38424 2009-01-24  Bruno Haible  <bruno@clisp.org>
38425
38426         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
38427         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
38428         Reported by Gary V. Vaughan <gary@gnu.org>.
38429
38430 2009-01-24  Bruno Haible  <bruno@clisp.org>
38431
38432         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
38433
38434 2009-01-23  Bruno Haible  <bruno@clisp.org>
38435
38436         Make c-strtod, c-strtold usable in libraries.
38437         * lib/c-strtod.c: Include string.h instead of xalloc.h.
38438         (C_STRTOD): Call strdup instead of xstrdup.
38439         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
38440         * modules/c-strtold (Depends-on): Likewise.
38441         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
38442         * NEWS: Mention the change.
38443         Reported by Michael Gold <mgold@ncf.ca>.
38444
38445 2009-01-23  Jim Meyering  <meyering@redhat.com>
38446
38447         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
38448         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
38449         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
38450
38451 2009-01-23  Simon Josefsson  <simon@josefsson.org>
38452
38453         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
38454         GNU CoreUtils.
38455         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
38456         * modules/version-etc (Description): Update.
38457
38458 2009-01-22  Bruno Haible  <bruno@clisp.org>
38459
38460         Cache the C locale object.
38461         * lib/c-strtod.c (c_locale_cache): New variable.
38462         (c_locale): New function.
38463         (C_STRTOD): Use it, and don't call freelocale.
38464         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
38465         Suggested by Paolo Bonzini.
38466
38467 2009-01-21  Bruno Haible  <bruno@clisp.org>
38468
38469         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
38470         conditions other than overflow.
38471
38472 2009-01-21  Bruno Haible  <bruno@clisp.org>
38473
38474         * lib/c-strtod.c: Include errno.h.
38475         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
38476         value from STRTOD_L and STRTOD.
38477
38478 2009-01-21  Bruno Haible  <bruno@clisp.org>
38479         and Jim Meyering  <meyering@redhat.com>
38480
38481         nanosleep: skip configure test (fail it) for apple universal builds
38482         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
38483         universal builds, assume that nanosleep does not work.
38484         * modules/nanosleep (Depends-on): Add multiarch.
38485
38486         mktime: skip configure test (fail it) for apple universal builds
38487         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
38488         universal builds, assume that mktime does not work.
38489         * modules/mktime (Depends-on): Add multiarch.
38490
38491 2009-01-21  Eric Blake  <ebb9@byu.net>
38492
38493         multiarch: avoid expand-before-require warning
38494         * modules/multiarch (configure.ac): Require, rather than expand,
38495         gl_MULTIARCH.
38496         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
38497         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
38498         enforce that all clients require it.  Partial reversion of
38499         2008-12-29 patch.
38500
38501         error: avoid expand-before-require warning
38502         * modules/errno (configure.ac): Require, rather than expand,
38503         gl_HEADER_ERRNO_H.
38504         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
38505         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
38506         enforce that all clients require it.
38507
38508         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
38509         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
38510         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
38511         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
38512
38513 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
38514
38515         Revert:
38516         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
38517
38518         regex: do not depend on obsolete modules.
38519         * modules/regex: Remove memcmp and memmove.
38520
38521 2009-01-20  Bruno Haible  <bruno@clisp.org>
38522
38523         Make the 'link' module link on Windows NT 4.
38524         * lib/link.c (_WIN32_WINNT): Don't define.
38525         (CreateHardLinkFuncType): New type.
38526         (CreateHardLinkFunc, initialized): New variables.
38527         (initialize): New function.
38528         (link): Invoke CreateHardLink indirectly through the function pointer.
38529
38530 2009-01-20  Bruno Haible  <bruno@clisp.org>
38531
38532         Fix compilation failure on mingw.
38533         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
38534
38535 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
38536
38537         * doc/c-strtod.texi: Mention a couple of restrictions.
38538
38539 2009-01-20  Jim Meyering  <meyering@redhat.com>
38540
38541         gettimeofday: move more declarations out of functions
38542         * lib/gettimeofday.c: Move extern declarations of tzset and
38543         gmtime out of containing functions.  Prompted by Bruno Haible.
38544
38545 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
38546
38547         regex: do not depend on obsolete modules.
38548         * modules/regex: Remove memcmp and memmove.
38549
38550 2009-01-19  Bruno Haible  <bruno@clisp.org>
38551
38552         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
38553         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
38554         gl_BIGENDIAN, not AC_C_BIGENDIAN.
38555         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
38556         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
38557
38558 2009-01-19  Bruno Haible  <bruno@clisp.org>
38559
38560         * tests/test-link.c: Include <errno.h>.
38561         (main): Exit with code 77 when a hard link cannot be created due to
38562         the file system.
38563         * tests/test-link.sh: Skip test when a hard link cannot be created due
38564         to the file system.
38565         Suggested by Eric Blake.
38566
38567 2009-01-19  Martin Lambers  <marlam@marlam.de>
38568
38569         * modules/link-tests: New file.
38570         * tests/test-link.sh: New file.
38571         * tests/test-link.c: New file.
38572
38573 2009-01-19  Eric Blake  <ebb9@byu.net>
38574
38575         doc: mention another function added in cygwin 1.7.0
38576         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
38577         Another new function in cygwin 1.7.
38578
38579 2009-01-19  Bruno Haible  <bruno@clisp.org>
38580
38581         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
38582         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
38583         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
38584         gl_BIGENDIAN, not AC_C_BIGENDIAN.
38585         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
38586         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
38587         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
38588         * m4/md4.m4 (gl_MD4): Likewise.
38589         * m4/md5.m4 (gl_MD5): Likewise.
38590         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
38591         * m4/sha1.m4 (gl_SHA1): Likewise.
38592         * m4/sha256.m4 (gl_SHA256): Likewise.
38593         * m4/sha512.m4 (gl_SHA512): Likewise.
38594
38595 2009-01-19  Bruno Haible  <bruno@clisp.org>
38596
38597         * modules/uniname/uniname-tests (Depends-on): Add progname.
38598         * tests/uniname/test-uninames.c: Include progname.h.
38599         (main): Call set_program_name.
38600
38601         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
38602         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
38603         (main): Call set_program_name.
38604
38605         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
38606         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
38607         (main): Call set_program_name.
38608
38609         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
38610         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
38611         (main): Call set_program_name.
38612
38613         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
38614         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
38615         (main): Call set_program_name.
38616
38617         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
38618         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
38619         (main): Call set_program_name.
38620
38621         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
38622         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
38623         (main): Call set_program_name.
38624
38625         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
38626         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
38627         (main): Call set_program_name.
38628
38629         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
38630         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
38631         (main): Call set_program_name.
38632
38633 2009-01-19  Eric Blake  <ebb9@byu.net>
38634
38635         test-unistd: test previous patch
38636         * tests/test-unistd.c: Test *_FILENO macros.
38637
38638         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
38639         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
38640         Guarantee a definition.
38641         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
38642         * modules/unistd-safer (Depends-on): Add dependency on unistd.
38643         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
38644         * lib/dup-safer.c (STDERR_FILENO): Likewise.
38645         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
38646         Likewise.
38647         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
38648         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
38649         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
38650         Likewise.
38651         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
38652         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
38653         (STDERR_FILENO): Likewise.
38654         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
38655         (STDERR_FILENO): Likewise.
38656         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
38657         (STDERR_FILENO): Likewise.
38658         Reported by Elbert Pol.
38659
38660 2009-01-19  Eric Blake  <ebb9@byu.net>
38661
38662         doc: mention more functions added in cygwin 1.7.0
38663         * doc/posix-functions/abort.texi (abort): Update wording related
38664         to cygwin.
38665         * doc/posix-functions/daylight.texi (daylight): Likewise.
38666         * doc/posix-functions/optarg.texi (optarg): Likewise.
38667         * doc/posix-functions/optarg.texi (opterr): Likewise.
38668         * doc/posix-functions/optarg.texi (optind): Likewise.
38669         * doc/posix-functions/optarg.texi (optopt): Likewise.
38670         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
38671         worked in 1.5.x, and was withdrawn in 1.7.
38672         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
38673         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
38674         cygwin versions.
38675         * doc/posix-functions/perror.texi (perror): Likewise.
38676         * doc/posix-functions/printf.texi (printf): Likewise.
38677         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
38678         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
38679         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
38680         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
38681         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
38682         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
38683         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
38684         Likewise.
38685         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
38686         Likewise.
38687         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
38688         this function.
38689         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
38690         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
38691         Likewise.
38692         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
38693         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
38694         * doc/posix-functions/confstr.texi (confstr): Likewise.
38695         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
38696         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
38697         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
38698         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
38699         * doc/posix-functions/fputws.texi (fputws): Likewise.
38700         * doc/posix-functions/fwide.texi (fwide): Likewise.
38701         * doc/posix-functions/getwc.texi (getwc): Likewise.
38702         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
38703         * doc/posix-functions/putwc.texi (putwc): Likewise.
38704         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
38705         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
38706         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
38707         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
38708         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
38709         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
38710         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
38711         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
38712         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
38713         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
38714         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
38715
38716 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
38717
38718         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
38719         * lib/ioctl.c: Include <sys/ioctl.h>.
38720
38721 2009-01-19  Simon Josefsson  <simon@josefsson.org>
38722
38723         * modules/getdate-tests (Depends-on): Add progname.
38724         * tests/test-getdate.c: Use progname module, to avoid link errors
38725         on non-glibc systems.
38726
38727 2009-01-18  Simon Josefsson  <simon@josefsson.org>
38728
38729         * modules/filenamecat-tests (Depends-on): Add progname.
38730         * modules/fstrcmp-tests (Depends-on): Likewise.
38731
38732         * tests/test-filenamecat.c: Use progname module, to avoid link
38733         errors on non-glibc systems.
38734         * tests/test-fstrcmp.c: Likewise.
38735
38736 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
38737
38738         gettimeofday: avoid warning: nested extern declaration of 'localtime'
38739         * lib/gettimeofday.c: Move extern declaration out of function.
38740
38741 2009-01-18  Bruno Haible  <bruno@clisp.org>
38742
38743         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
38744         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
38745         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
38746
38747 2009-01-18  Bruno Haible  <bruno@clisp.org>
38748
38749         * lib/strftime.c (MEMPCPY): Remove unused macro.
38750         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
38751
38752 2009-01-18  Martin Lambers  <marlam@marlam.de>
38753
38754         New module 'link'.
38755         * lib/unistd.in.h (link): New declaration.
38756         * lib/link.c: New file.
38757         * m4/link.m4: New file.
38758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
38759         HAVE_LINK.
38760         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
38761         * modules/link: New file.
38762         * doc/posix-functions/link.texi: Mention the new module.
38763
38764 2009-01-18  Bruno Haible  <bruno@clisp.org>
38765
38766         * tests/test-avltree_list.c (main): Call set_program_name.
38767         * tests/test-avltree_oset.c (main): Likewise.
38768         * tests/test-obstack-printf.c: Include progname.h.
38769         (main): Call set_program_name.
38770         * tests/test-quotearg.c: Include progname.h.
38771         (main): Call set_program_name.
38772         * tests/test-xmemdup0.c: Include progname.h.
38773         (main): Call set_program_name.
38774
38775 2009-01-18  Bruno Haible  <bruno@clisp.org>
38776
38777         New module 'alphasort'.
38778         * lib/dirent.in.h (alphasort): New declaration.
38779         * lib/alphasort.c: New file, from glibc with modifications.
38780         * m4/alphasort.m4: New file.
38781         * modules/alphasort: New file.
38782         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
38783         HAVE_ALPHASORT.
38784         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
38785         HAVE_ALPHASORT.
38786         * doc/posix-functions/alphasort.texi: Mention the new module and the
38787         portability problems.
38788
38789 2009-01-18  Bruno Haible  <bruno@clisp.org>
38790
38791         New module 'scandir'.
38792         * lib/dirent.in.h (scandir): New declaration.
38793         * lib/scandir.c: New file, from glibc with modifications.
38794         * m4/scandir.m4: New file.
38795         * modules/scandir: New file.
38796         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
38797         HAVE_SCANDIR.
38798         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
38799         HAVE_SCANDIR.
38800         * doc/posix-functions/scandir.texi: Mention the new module and the
38801         portability problems.
38802
38803 2009-01-17  Bruno Haible  <bruno@clisp.org>
38804
38805         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
38806         Update documentation.
38807         (func_remove_suffix): Escape all dots in the suffix. Update
38808         documentation.
38809         (func_filter_filelist): Update documentation.
38810         Reported by Ralf Wildenhues.
38811
38812 2009-01-17  Bruno Haible  <bruno@clisp.org>
38813
38814         * modules/dprintf-posix-tests: New file.
38815         * tests/test-dprintf-posix.sh: New file.
38816         * tests/test-dprintf-posix.c: New file.
38817
38818         New modules 'dprintf', 'dprintf-posix'.
38819         * lib/stdio.in.h (dprintf): New declaration.
38820         * lib/dprintf.c: New file.
38821         * m4/dprintf.m4: New file.
38822         * m4/dprintf-posix.m4: New file.
38823         * modules/dprintf: New file.
38824         * modules/dprintf-posix: New file.
38825         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
38826         HAVE_DPRINTF, REPLACE_DPRINTF.
38827         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
38828         HAVE_DPRINTF, REPLACE_DPRINTF.
38829         * doc/posix-functions/dprintf.texi: Mention the new modules.
38830
38831 2009-01-17  Bruno Haible  <bruno@clisp.org>
38832
38833         * modules/vdprintf-posix-tests: New file.
38834         * tests/test-vdprintf-posix.sh: New file.
38835         * tests/test-vdprintf-posix.c: New file.
38836
38837         New modules 'vdprintf', 'vdprintf-posix'.
38838         * lib/stdio.in.h (vdprintf): New declaration.
38839         * lib/vdprintf.c: New file.
38840         * m4/vdprintf.m4: New file.
38841         * m4/vdprintf-posix.m4: New file.
38842         * modules/vdprintf: New file.
38843         * modules/vdprintf-posix: New file.
38844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
38845         HAVE_VDPRINTF, REPLACE_VDPRINTF.
38846         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
38847         HAVE_VDPRINTF, REPLACE_VDPRINTF.
38848         * doc/posix-functions/vdprintf.texi: Mention the new modules.
38849
38850 2009-01-17  Bruno Haible  <bruno@clisp.org>
38851
38852         Fix replacement of fopen on mingw.
38853         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
38854         mingw.
38855
38856 2009-01-17  Bruno Haible  <bruno@clisp.org>
38857
38858         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
38859         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
38860
38861 2009-01-17  Bruno Haible  <bruno@clisp.org>
38862
38863         Avoid test-fflush2.sh failure on mingw.
38864         * tests/test-fflush2.c: Include binary-io.h.
38865         (main): Put standard input into binary mode.
38866         * modules/fflush-tests (Depends-on): Add binary-io.
38867
38868 2009-01-17  Bruno Haible  <bruno@clisp.org>
38869
38870         * lib/wchar.in.h: In another particular situation, include only the
38871         system's <wchar.h> file.
38872         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
38873         Reported by Albert Chin-A-Young <china@thewrittenword.com>
38874         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
38875
38876 2009-01-17  Bruno Haible  <bruno@clisp.org>
38877
38878         Support for stripping executables in --enable-relocatable.
38879         * build-aux/install-reloc: Expect one more argument, or an environment
38880         variable RELOC_STRIP_PROG. If set, strip the destination program and
38881         its wrapper.
38882         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
38883         RELOC_STRIP_PROG.
38884         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
38885         to set RELOCATABLE_STRIP.
38886         * NEWS: Mention the new Makefile requirement.
38887
38888 2009-01-17  Bruno Haible  <bruno@clisp.org>
38889
38890         * build-aux/install-reloc: Remove debugging information left over by
38891         C compiler on MacOS X.
38892
38893 2009-01-17  Bruno Haible  <bruno@clisp.org>
38894
38895         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
38896         * lib/progreloc.c (find_executable): Fix type of pointer passed to
38897         _NSGetExecutablePath.
38898
38899 2009-01-16  Jim Meyering  <meyering@redhat.com>
38900
38901         strerror: avoid warnings about discarding "const"
38902         * lib/strerror.c (rpl_strerror): Instead of returning a const
38903         string from each and every "case", use a variable, and add a single
38904         cast after the switch.
38905
38906 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
38907
38908         * lib/arpa_inet.in.h: Add extern "C" block for C++.
38909
38910 2009-01-16  Bruno Haible  <bruno@clisp.org>
38911
38912         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
38913         array initializer syntax that also works in C++ mode.
38914         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38915
38916 2009-01-16  Jim Meyering  <meyering@redhat.com>
38917
38918         poll: suppress a warning
38919         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
38920         to ignore "...unsigned expression < 0 is always false" warnings.
38921
38922 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
38923
38924         poll: remove declarations of unused variables
38925         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
38926         sockbuf and optlen.
38927
38928 2009-01-15  Bruno Haible  <bruno@clisp.org>
38929
38930         Make fflush-after-ungetc POSIX compliant on BSD systems.
38931         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
38932         (clear_ungetc_buffer): Implement also for other systems.
38933         (rpl_fflush): On glibc systems, invoke
38934         clear_ungetc_buffer_preserving_position. Otherwise, invoke
38935         clear_ungetc_buffer after fetching the stream's position, not before.
38936
38937 2009-01-15  Bruno Haible  <bruno@clisp.org>
38938
38939         Make fflush-after-ungetc POSIX compliant on glibc systems.
38940         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
38941         after ungetc.
38942         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
38943         (rpl_fflush): On glibc systems, simply call the system's fflush
38944         function after clearing the ungetc buffer.
38945         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
38946         Instead, lseek only to the end of file, then use the system's fseeko
38947         for the rest. On glibc systems, reset the EOF indicator bit.
38948
38949 2009-01-15  Jim Meyering  <meyering@redhat.com>
38950
38951         openmp.m4: revert quote-adding change, for portability to older autoconf
38952         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
38953         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
38954         Simon Josefsson noticed the problem when using autoconf-2.61.
38955
38956 2009-01-15  Bruno Haible  <bruno@clisp.org>
38957
38958         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
38959         * tests/test-fflush2.c (ASSERT): Always fail.
38960         (main): Add two tests for fflush() after ungetc(), taking into account
38961         the Austin Group's clarification.
38962         Suggested by Eric Blake.
38963
38964 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
38965
38966         mktime.m4: remove K&R-style function prototypes
38967         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
38968         for the Sun C++ compiler.
38969
38970 2009-01-14  Bruno Haible  <bruno@clisp.org>
38971
38972         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
38973         while including <wchar.h>.
38974         * lib/wchar.in.h: In two particular situations on HP-UX, include only
38975         the system's <wchar.h> file.
38976         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38977
38978 2009-01-14  Bruno Haible  <bruno@clisp.org>
38979
38980         * m4/csharp.m4: Don't mention gettext on the serial number line.
38981         * m4/csharpexec.m4: Likewise.
38982         * m4/eaccess.m4: Likewise.
38983         * m4/javaexec.m4: Likewise.
38984         * m4/sig_atomic_t.m4: Likewise.
38985         * m4/tmpdir.m4: Likewise.
38986         * m4/intldir.m4: Bump gettext version.
38987         * m4/lib-ld.m4: Likewise.
38988
38989 2009-01-14  Bruno Haible  <bruno@clisp.org>
38990
38991         * lib/progname.c (set_program_name): Add more comments.
38992         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38993
38994 2009-01-14  Simon Josefsson  <simon@josefsson.org>
38995
38996         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
38997         were sys/stat.h does not define it.
38998
38999 2009-01-14  Jim Meyering  <meyering@redhat.com>
39000
39001         many *.m4 files: improve m4 quoting
39002         99% of this change was performed by running the following commands:
39003         git ls-files | grep '\.m4$' | xargs perl -pi \
39004           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
39005           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
39006           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
39007           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
39008         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
39009         The remainder were to add Copyright dates, increment serial numbers,
39010         undo some changes in comments, exclude m4/intl.m4, and add quotes
39011         around the "1" in ",1" where the unusual spacing prohibited the
39012         above regexps from doing the job.  For more details, see
39013         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
39014         * m4/acl.m4: Modified.
39015         * m4/afs.m4: Likewise.
39016         * m4/alloca.m4: Likewise.
39017         * m4/argp.m4: Likewise.
39018         * m4/argz.m4: Likewise.
39019         * m4/atexit.m4: Likewise.
39020         * m4/bison-i18n.m4: Likewise.
39021         * m4/bison.m4: Likewise.
39022         * m4/byteswap.m4: Likewise.
39023         * m4/c-stack.m4: Likewise.
39024         * m4/c-strtod.m4: Likewise.
39025         * m4/calloc.m4: Likewise.
39026         * m4/canonicalize-lgpl.m4: Likewise.
39027         * m4/chown.m4: Likewise.
39028         * m4/clock_time.m4: Likewise.
39029         * m4/codeset.m4: Likewise.
39030         * m4/copy-file.m4: Likewise.
39031         * m4/csharp.m4: Likewise.
39032         * m4/csharpcomp.m4: Likewise.
39033         * m4/csharpexec.m4: Likewise.
39034         * m4/d-ino.m4: Likewise.
39035         * m4/d-type.m4: Likewise.
39036         * m4/dirfd.m4: Likewise.
39037         * m4/double-slash-root.m4: Likewise.
39038         * m4/eaccess.m4: Likewise.
39039         * m4/eealloc.m4: Likewise.
39040         * m4/environ.m4: Likewise.
39041         * m4/errno_h.m4: Likewise.
39042         * m4/euidaccess.m4: Likewise.
39043         * m4/execute.m4: Likewise.
39044         * m4/fatal-signal.m4: Likewise.
39045         * m4/fchdir.m4: Likewise.
39046         * m4/fcntl_h.m4: Likewise.
39047         * m4/fileblocks.m4: Likewise.
39048         * m4/filenamecat.m4: Likewise.
39049         * m4/findprog.m4: Likewise.
39050         * m4/flexmember.m4: Likewise.
39051         * m4/fnmatch.m4: Likewise.
39052         * m4/fopen.m4: Likewise.
39053         * m4/fpending.m4: Likewise.
39054         * m4/fprintf-posix.m4: Likewise.
39055         * m4/free.m4: Likewise.
39056         * m4/frexp.m4: Likewise.
39057         * m4/frexpl.m4: Likewise.
39058         * m4/fsusage.m4: Likewise.
39059         * m4/ftruncate.m4: Likewise.
39060         * m4/gc-camellia.m4: Likewise.
39061         * m4/gc-random.m4: Likewise.
39062         * m4/gc.m4: Likewise.
39063         * m4/getaddrinfo.m4: Likewise.
39064         * m4/getcwd-abort-bug.m4: Likewise.
39065         * m4/getcwd-path-max.m4: Likewise.
39066         * m4/getdate.m4: Likewise.
39067         * m4/getdomainname.m4: Likewise.
39068         * m4/getgroups.m4: Likewise.
39069         * m4/gethostname.m4: Likewise.
39070         * m4/gethrxtime.m4: Likewise.
39071         * m4/getline.m4: Likewise.
39072         * m4/getloadavg.m4: Likewise.
39073         * m4/getndelim2.m4: Likewise.
39074         * m4/getpass.m4: Likewise.
39075         * m4/gettext.m4: Likewise.
39076         * m4/gettime.m4: Likewise.
39077         * m4/gettimeofday.m4: Likewise.
39078         * m4/gnulib-common.m4: Likewise.
39079         * m4/group-member.m4: Likewise.
39080         * m4/host-os.m4: Likewise.
39081         * m4/iconv.m4: Likewise.
39082         * m4/iconv_open.m4: Likewise.
39083         * m4/inet_ntop.m4: Likewise.
39084         * m4/inet_pton.m4: Likewise.
39085         * m4/inline.m4: Likewise.
39086         * m4/intldir.m4: Likewise.
39087         * m4/intlmacosx.m4: Likewise.
39088         * m4/intmax.m4: Likewise.
39089         * m4/intmax_t.m4: Likewise.
39090         * m4/inttypes.m4: Likewise.
39091         * m4/inttypes_h.m4: Likewise.
39092         * m4/inttypes-pri.m4: Likewise.
39093         * m4/isapipe.m4: Likewise.
39094         * m4/isnand.m4: Likewise.
39095         * m4/isnanf.m4: Likewise.
39096         * m4/isnanl.m4: Likewise.
39097         * m4/javacomp.m4: Likewise.
39098         * m4/javaexec.m4: Likewise.
39099         * m4/jm-winsz1.m4: Likewise.
39100         * m4/jm-winsz2.m4: Likewise.
39101         * m4/lchown.m4: Likewise.
39102         * m4/lcmessage.m4: Likewise.
39103         * m4/ldexpl.m4: Likewise.
39104         * m4/lib-ld.m4: Likewise.
39105         * m4/lib-link.m4: Likewise.
39106         * m4/libsigsegv.m4: Likewise.
39107         * m4/link-follow.m4: Likewise.
39108         * m4/localcharset.m4: Likewise.
39109         * m4/locale-fr.m4: Likewise.
39110         * m4/locale-ja.m4: Likewise.
39111         * m4/locale-tr.m4: Likewise.
39112         * m4/locale-zh.m4: Likewise.
39113         * m4/lock.m4: Likewise.
39114         * m4/longlong.m4: Likewise.
39115         * m4/ls-mntd-fs.m4: Likewise.
39116         * m4/lstat.m4: Likewise.
39117         * m4/malloc.m4: Likewise.
39118         * m4/mathl.m4: Likewise.
39119         * m4/mbrtowc.m4: Likewise.
39120         * m4/mbstate_t.m4: Likewise.
39121         * m4/mbswidth.m4: Likewise.
39122         * m4/memchr.m4: Likewise.
39123         * m4/memcmp.m4: Likewise.
39124         * m4/memcpy.m4: Likewise.
39125         * m4/memmem.m4: Likewise.
39126         * m4/memmove.m4: Likewise.
39127         * m4/mempcpy.m4: Likewise.
39128         * m4/memrchr.m4: Likewise.
39129         * m4/memset.m4: Likewise.
39130         * m4/minmax.m4: Likewise.
39131         * m4/mkdir-slash.m4: Likewise.
39132         * m4/mkdtemp.m4: Likewise.
39133         * m4/mktime.m4: Likewise.
39134         * m4/mmap-anon.m4: Likewise.
39135         * m4/mountlist.m4: Likewise.
39136         * m4/nanosleep.m4: Likewise.
39137         * m4/nls.m4: Likewise.
39138         * m4/nocrash.m4: Likewise.
39139         * m4/open.m4: Likewise.
39140         * m4/openat.m4: Likewise.
39141         * m4/openmp.m4: Likewise.
39142         * m4/pathmax.m4: Likewise.
39143         * m4/perl.m4: Likewise.
39144         * m4/physmem.m4: Likewise.
39145         * m4/pipe.m4: Likewise.
39146         * m4/po.m4: Likewise.
39147         * m4/poll.m4: Likewise.
39148         * m4/posixtm.m4: Likewise.
39149         * m4/posixver.m4: Likewise.
39150         * m4/printf-frexp.m4: Likewise.
39151         * m4/printf-frexpl.m4: Likewise.
39152         * m4/printf-posix.m4: Likewise.
39153         * m4/printf-posix-rpl.m4: Likewise.
39154         * m4/printf.m4: Likewise.
39155         * m4/progtest.m4: Likewise.
39156         * m4/putenv.m4: Likewise.
39157         * m4/readline.m4: Likewise.
39158         * m4/readlink.m4: Likewise.
39159         * m4/readutmp.m4: Likewise.
39160         * m4/realloc.m4: Likewise.
39161         * m4/regex.m4: Likewise.
39162         * m4/relocatable.m4: Likewise.
39163         * m4/relocatable-lib.m4: Likewise.
39164         * m4/rename-dest-slash.m4: Likewise.
39165         * m4/rename.m4: Likewise.
39166         * m4/rmdir-errno.m4: Likewise.
39167         * m4/rmdir.m4: Likewise.
39168         * m4/roundf.m4: Likewise.
39169         * m4/roundl.m4: Likewise.
39170         * m4/rpmatch.m4: Likewise.
39171         * m4/save-cwd.m4: Likewise.
39172         * m4/selinux-selinux-h.m4: Likewise.
39173         * m4/setenv.m4: Likewise.
39174         * m4/settime.m4: Likewise.
39175         * m4/sig2str.m4: Likewise.
39176         * m4/sig_atomic_t.m4: Likewise.
39177         * m4/signalblocking.m4: Likewise.
39178         * m4/signbit.m4: Likewise.
39179         * m4/sigpipe.m4: Likewise.
39180         * m4/sockets.m4: Likewise.
39181         * m4/sockpfaf.m4: Likewise.
39182         * m4/st_dm_mode.m4: Likewise.
39183         * m4/stat-time.m4: Likewise.
39184         * m4/stdbool.m4: Likewise.
39185         * m4/stdint.m4: Likewise.
39186         * m4/stdint_h.m4: Likewise.
39187         * m4/stpcpy.m4: Likewise.
39188         * m4/stpncpy.m4: Likewise.
39189         * m4/strcase.m4: Likewise.
39190         * m4/strchrnul.m4: Likewise.
39191         * m4/strcspn.m4: Likewise.
39192         * m4/strdup.m4: Likewise.
39193         * m4/strftime.m4: Likewise.
39194         * m4/strndup.m4: Likewise.
39195         * m4/strnlen.m4: Likewise.
39196         * m4/strpbrk.m4: Likewise.
39197         * m4/strptime.m4: Likewise.
39198         * m4/strsep.m4: Likewise.
39199         * m4/strtod.m4: Likewise.
39200         * m4/strtoimax.m4: Likewise.
39201         * m4/strtok_r.m4: Likewise.
39202         * m4/strtol.m4: Likewise.
39203         * m4/strtoll.m4: Likewise.
39204         * m4/strtoul.m4: Likewise.
39205         * m4/strtoull.m4: Likewise.
39206         * m4/strtoumax.m4: Likewise.
39207         * m4/strverscmp.m4: Likewise.
39208         * m4/threadlib.m4: Likewise.
39209         * m4/timegm.m4: Likewise.
39210         * m4/tm_gmtoff.m4: Likewise.
39211         * m4/tmpdir.m4: Likewise.
39212         * m4/tmpfile.m4: Likewise.
39213         * m4/tzset.m4: Likewise.
39214         * m4/uintmax_t.m4: Likewise.
39215         * m4/unlinkdir.m4: Likewise.
39216         * m4/unlocked-io.m4: Likewise.
39217         * m4/uptime.m4: Likewise.
39218         * m4/userspec.m4: Likewise.
39219         * m4/utimbuf.m4: Likewise.
39220         * m4/utime.m4: Likewise.
39221         * m4/utimes-null.m4: Likewise.
39222         * m4/utimes.m4: Likewise.
39223         * m4/vararrays.m4: Likewise.
39224         * m4/vasnprintf.m4: Likewise.
39225         * m4/vfprintf-posix.m4: Likewise.
39226         * m4/vprintf-posix.m4: Likewise.
39227         * m4/wait-process.m4: Likewise.
39228         * m4/wchar_t.m4: Likewise.
39229         * m4/wint_t.m4: Likewise.
39230         * m4/write-any-file.m4: Likewise.
39231         * m4/yield.m4: Likewise.
39232
39233 2009-01-13  Bruno Haible  <bruno@clisp.org>
39234
39235         Avoid test-copy-file.sh failures when ACL support insufficient.
39236         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
39237         TESTS_ENVIRONMENT.
39238         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
39239         Reported by Jim Meyering.
39240
39241 2009-01-13  Bruno Haible  <bruno@clisp.org>
39242
39243         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
39244         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
39245         * modules/unistdio/u8-printf-parse (Files): Likewise.
39246         * modules/unistdio/u32-printf-parse (Files): Likewise.
39247         * modules/unistdio/ulc-printf-parse (Files): Likewise.
39248
39249 2009-01-13  Simon Josefsson  <simon@josefsson.org>
39250
39251         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
39252         and m4/inttypes_h.m4 too.
39253
39254 2009-01-12  Eric Blake  <ebb9@byu.net>
39255
39256         tests: IRIX 6.2 cc can't compile -0.0 into .data
39257         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
39258         rather than at compile-time.
39259         * tests/test-floorl.c (minus_zero): Likewise.
39260         * tests/test-frexpl.c (minus_zero): Likewise.
39261         * tests/test-isnan.c (minus_zerol): Likewise.
39262         * tests/test-isnanl.h (minus_zero): Likewise.
39263         * tests/test-ldexpl.c (minus_zero): Likewise.
39264         * tests/test-roundl.c (minus_zero): Likewise.
39265         * tests/test-signbit.c (minus_zerol): Likewise.
39266         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
39267         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
39268         * tests/test-truncl.c (minus_zero): Likewise.
39269         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
39270         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
39271         Reported by Tom G. Christensen and Nelson H. F. Beebe.
39272
39273 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
39274
39275         regex: fix glibc bug 9697
39276         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
39277         handling.
39278
39279 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
39280
39281         regex: fix glibc bug 697
39282         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
39283         being NULL also if there are no backreferences.
39284
39285 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
39286
39287         regex: merge glibc changes
39288         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
39289         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
39290         re_string_skip_chars, re_string_reconstruct): Likewise.
39291         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
39292
39293 2009-01-07  Jim Meyering  <meyering@redhat.com>
39294
39295         poll: filter through cppi
39296         * lib/poll.c: Indent cpp directives to reflect nesting.
39297
39298 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
39299
39300         poll: don't return uninitialized
39301         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
39302
39303 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
39304
39305         avoid compile failure on AIX 6.1
39306         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
39307         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
39308
39309 2009-01-04  Jim Meyering  <meyering@redhat.com>
39310
39311         remove duplicate inclusion of <stdio.h>
39312         * tests/test-fprintf-posix.c: Likewise.
39313         * tests/test-printf-posix.c: Likewise.
39314         * tests/test-snprintf-posix.c: Likewise.
39315         * tests/test-sprintf-posix.c: Likewise.
39316         * tests/test-vasprintf-posix.c: Likewise.
39317         * tests/test-vfprintf-posix.c: Likewise.
39318         * tests/test-vprintf-posix.c: Likewise.
39319         * tests/test-vsnprintf-posix.c: Likewise.
39320         * tests/test-vsprintf-posix.c: Likewise.
39321
39322 2009-01-03  Jim Meyering  <meyering@redhat.com>
39323
39324         gnulib-tool: fix sed-based filtering
39325         * gnulib-tool (func_filter_filelist): Remove extra backslash
39326         in sed_fff_filter definition.
39327
39328 2009-01-02  Jim Meyering  <meyering@redhat.com>
39329
39330         strftime: avoid compilation failure on Solaris 2.6
39331         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
39332         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
39333         Don't #define mbrlen or mbsinit, since now they're guaranteed to
39334         be available.  Reported by Tom G. Christensen.  Details in
39335         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
39336
39337 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39338             Bruno Haible  <bruno@clisp.org>
39339
39340         Speed up gnulib-tool by doing more string processing through shell
39341         built-ins.
39342         * gnulib-tool (fast_func_append): New variable.
39343         (func_remove_prefix, func_remove_suffix): New functions.
39344         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
39345         (func_filter_filelist): New function.
39346         (func_get_dependencies): Use func_remove_suffix instead of sed.
39347         (func_get_automake_snippet): Use func_filter_filelist instead of a
39348         subshell and sed invocation.
39349
39350 2009-01-01  Bruno Haible  <bruno@clisp.org>
39351
39352         Fix a security bug.
39353         * gnulib-tool (func_import, import, update): Don't allow the characters
39354         '"', '$', '`', '\' in macro arguments that become part of commands that
39355         are evaluated.
39356
39357 2009-01-01  Bruno Haible  <bruno@clisp.org>
39358
39359         * gnulib-tool (func_reset_sigpipe): Add more comments.
39360
39361 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39362
39363         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
39364         func_emit_tests_Makefile_am, func_import): Abort loops early if we
39365         already know the answer.
39366
39367 2009-01-01  Jim Meyering  <meyering@redhat.com>
39368
39369         * lib/version-etc.c (version_etc_va): Update copyright year.
39370
39371 2008-12-30  Bruno Haible  <bruno@clisp.org>
39372
39373         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
39374         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
39375         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
39376
39377 2008-12-29  Eric Blake  <ebb9@byu.net>
39378
39379         multiarch: avoid autoconf AC_REQUIRE bug
39380         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
39381         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
39382         2.63 and older.
39383         Reported by Bruno Haible, and analyzed in
39384         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
39385
39386 2008-12-29  Bruno Haible  <bruno@clisp.org>
39387
39388         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
39389         files in subdirectories correctly.
39390         Reported by Ralf Wildenhues.
39391
39392 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39393
39394         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
39395         rather than 'join FILE -', for Solaris join.
39396
39397 2008-12-29  Bruno Haible  <bruno@clisp.org>
39398
39399         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
39400         quoting.
39401         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
39402         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
39403         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
39404         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
39405         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
39406         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
39407         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
39408         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
39409         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
39410         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
39411         * m4/nls.m4 (AM_NLS): Likewise.
39412         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
39413         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
39414         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
39415         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
39416         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
39417         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
39418         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
39419         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
39420         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
39421         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
39422         * m4/xsize.m4 (gl_XSIZE): Likewise.
39423         Suggested by Jim Meyering.
39424
39425 2008-11-17  Bruce Korb  <bkorb@gnu.org>
39426
39427         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
39428         * lib/parse-duration.c: use a switch instead of cascading if's.
39429
39430 2008-12-29  Eric Blake  <ebb9@byu.net>
39431
39432         wchar.h: supply WEOF on Irix 5.3
39433         * lib/wchar.in.h (wint_t): Also supply WEOF.
39434         * lib/wctype.in.h (wint_t): Likewise.
39435         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
39436         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
39437         Reported by Tom G. Christensen.
39438
39439 2008-12-26  Bruno Haible  <bruno@clisp.org>
39440
39441         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
39442         i486, i586, i686.
39443
39444 2008-12-26  Bruno Haible  <bruno@clisp.org>
39445
39446         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
39447
39448 2008-12-26  Bruno Haible  <bruno@clisp.org>
39449
39450         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
39451         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
39452         not __STDC_CONSTANT_MACROS.
39453         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
39454
39455 2008-12-25  Bruno Haible  <bruno@clisp.org>
39456
39457         Add support for universal builds to vasnprintf.
39458         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
39459         universal builds, guess no.
39460         * modules/vasnprintf-posix (Depends-on): Add multiarch.
39461         * modules/vasprintf-posix (Depends-on): Likewise.
39462         * modules/fprintf-posix (Depends-on): Likewise.
39463         * modules/vfprintf-posix (Depends-on): Likewise.
39464         * modules/snprintf-posix (Depends-on): Likewise.
39465         * modules/vsnprintf-posix (Depends-on): Likewise.
39466         * modules/sprintf-posix (Depends-on): Likewise.
39467         * modules/vsprintf-posix (Depends-on): Likewise.
39468         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
39469         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39470         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39471         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39472         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
39473         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39474         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
39475
39476         Add support for universal builds to <inttypes.h>.
39477         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
39478         _SCNu64_PREFIX): In Apple
39479         universal builds, define directly, using _LP64.
39480         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
39481         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
39482         * modules/inttypes (Depends-on): Add multiarch.
39483         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
39484
39485         Add support for universal builds to <stdint.h>.
39486         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
39487         universal builds, define directly, using _LP64.
39488         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
39489         Apple universal builds, don't test for the size and suffix of ptrdiff_t
39490         and size_t.
39491         * modules/stdint (Depends-on): Add multiarch.
39492         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
39493
39494         New module 'multiarch'.
39495         * modules/multiarch: New file.
39496         * m4/multiarch.m4: New file.
39497
39498 2008-12-25  Bruno Haible  <bruno@clisp.org>
39499
39500         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
39501
39502 2008-12-25  Bruno Haible  <bruno@clisp.org>
39503
39504         * modules/btowc (License): Relicense under LGPLv2+.
39505         * modules/mbsinit (License): Likewise.
39506         * modules/mbrtowc (License): Likewise.
39507         * modules/wcrtomb (License): Likewise.
39508         * modules/streq (License): Likewise.
39509         Reported by David Lutterkort <lutter@redhat.com>.
39510
39511 2008-12-23  Bruno Haible  <bruno@clisp.org>
39512
39513         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
39514
39515 2008-12-23  Bruno Haible  <bruno@clisp.org>
39516
39517         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
39518         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
39519         GETADDRINFO_LIB, not in LIBS.
39520         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
39521         * modules/canon-host (Link): Likewise.
39522         * NEWS: Mention the change.
39523         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
39524         GETADDRINFO_LIB.
39525
39526 2008-12-22  Bruno Haible  <bruno@clisp.org>
39527
39528         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
39529         * doc/posix-functions/iswalpha_l.texi: Likewise.
39530         * doc/posix-functions/iswblank_l.texi: Likewise.
39531         * doc/posix-functions/iswcntrl_l.texi: Likewise.
39532         * doc/posix-functions/iswctype_l.texi: Likewise.
39533         * doc/posix-functions/iswdigit_l.texi: Likewise.
39534         * doc/posix-functions/iswgraph_l.texi: Likewise.
39535         * doc/posix-functions/iswlower_l.texi: Likewise.
39536         * doc/posix-functions/iswprint_l.texi: Likewise.
39537         * doc/posix-functions/iswpunct_l.texi: Likewise.
39538         * doc/posix-functions/iswspace_l.texi: Likewise.
39539         * doc/posix-functions/iswupper_l.texi: Likewise.
39540         * doc/posix-functions/iswxdigit_l.texi: Likewise.
39541         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
39542         * doc/posix-functions/open_wmemstream.texi: Likewise.
39543         * doc/posix-functions/swscanf.texi: Likewise.
39544         * doc/posix-functions/towctrans_l.texi: Likewise.
39545         * doc/posix-functions/towlower.texi: Likewise.
39546         * doc/posix-functions/towlower_l.texi: Likewise.
39547         * doc/posix-functions/towupper.texi: Likewise.
39548         * doc/posix-functions/towupper_l.texi: Likewise.
39549         * doc/posix-functions/vfwprintf.texi: Likewise.
39550         * doc/posix-functions/vfwscanf.texi: Likewise.
39551         * doc/posix-functions/vswscanf.texi: Likewise.
39552         * doc/posix-functions/vwprintf.texi: Likewise.
39553         * doc/posix-functions/vwscanf.texi: Likewise.
39554         * doc/posix-functions/wcpcpy.texi: Likewise.
39555         * doc/posix-functions/wcpncpy.texi: Likewise.
39556         * doc/posix-functions/wcscasecmp.texi: Likewise.
39557         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
39558         * doc/posix-functions/wcscoll_l.texi: Likewise.
39559         * doc/posix-functions/wcsdup.texi: Likewise.
39560         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39561         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
39562         * doc/posix-functions/wcsnlen.texi: Likewise.
39563         * doc/posix-functions/wcsnrtombs.texi: Likewise.
39564         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39565         * doc/posix-functions/wctrans_l.texi: Likewise.
39566         * doc/posix-functions/wctype_l.texi: Likewise.
39567         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
39568         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
39569         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
39570         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
39571         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
39572         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
39573         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
39574         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
39575         * doc/glibc-functions/wcschrnul.texi: Likewise.
39576         * doc/glibc-functions/wcsftime_l.texi: Likewise.
39577         * doc/glibc-functions/wcstod_l.texi: Likewise.
39578         * doc/glibc-functions/wcstof_l.texi: Likewise.
39579         * doc/glibc-functions/wcstol_l.texi: Likewise.
39580         * doc/glibc-functions/wcstold_l.texi: Likewise.
39581         * doc/glibc-functions/wcstoll_l.texi: Likewise.
39582         * doc/glibc-functions/wcstoq.texi: Likewise.
39583         * doc/glibc-functions/wcstoul_l.texi: Likewise.
39584         * doc/glibc-functions/wcstoull_l.texi: Likewise.
39585         * doc/glibc-functions/wcstouq.texi: Likewise.
39586         * doc/glibc-functions/wmempcpy.texi: Likewise.
39587
39588 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
39589             Eric Blake  <ebb9@byu.net>
39590             Paolo Bonzini  <bonzini@gnu.org>
39591             Bruno Haible  <bruno@clisp.org>
39592
39593         Make c-stack work on Haiku.
39594         * lib/c-stack.c (SA_ONSTACK): Define fallback.
39595         (c_stack_action): Use SA_ONSTACK flag.
39596
39597 2008-12-22  Bruno Haible  <bruno@clisp.org>
39598
39599         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
39600
39601 2008-12-22  Bruno Haible  <bruno@clisp.org>
39602
39603         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
39604         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
39605         being overridden.
39606         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
39607         New macros.
39608         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
39609         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
39610         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
39611         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
39612
39613 2008-12-22  Bruno Haible  <bruno@clisp.org>
39614
39615         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
39616         from test code.
39617
39618 2008-12-22  Eric Blake  <ebb9@byu.net>
39619
39620         Avoid gcc warnings on cygwin.
39621         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
39622         Avoid unused variable.
39623         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
39624         Likewise.
39625
39626 2008-12-22  Bruno Haible  <bruno@clisp.org>
39627
39628         Remove HAVE_MBRTOWC conditionals.
39629         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
39630         (mbscasecmp): Assume mbrtowc function.
39631         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
39632         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
39633         * lib/mbschr.c: Include mbuiter.h unconditionally.
39634         (mbschr): Assume mbrtowc function.
39635         * lib/mbscspn.c: Include mbuiter.h unconditionally.
39636         (mbscspn): Assume mbrtowc function.
39637         * lib/mbslen.c: Include mbuiter.h unconditionally.
39638         (mbslen): Assume mbrtowc function.
39639         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
39640         (mbsncasecmp): Assume mbrtowc function.
39641         * lib/mbsnlen.c: Include mbiter.h unconditionally.
39642         (mbsnlen): Assume mbrtowc function.
39643         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
39644         (mbspbrk): Assume mbrtowc function.
39645         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
39646         (mbspcasecmp): Assume mbrtowc function.
39647         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
39648         (mbsrchr): Assume mbrtowc function.
39649         * lib/mbssep.c: Include mbuiter.h unconditionally.
39650         (mbssep): Assume mbrtowc function.
39651         * lib/mbsspn.c: Include mbuiter.h unconditionally.
39652         (mbsspn): Assume mbrtowc function.
39653         * lib/mbsstr.c: Include mbuiter.h unconditionally.
39654         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
39655         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
39656         (mbstok_r): Assume mbrtowc function.
39657         * lib/propername.c: Include mbuiter.h unconditionally.
39658         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
39659         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
39660         (trim2): Assume mbrtowc function.
39661         * lib/mbswidth.c (mbsinit): Remove fallback definition.
39662         (mbsnwidth): Assume mbrtowc function.
39663         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
39664         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
39665         fallback definitions.
39666         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
39667
39668 2008-12-22  Bruno Haible  <bruno@clisp.org>
39669
39670         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
39671
39672 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
39673
39674         * modules/regex: Request emulations for the mb*/wc* functions we need.
39675         * m4/regex.m4: Don't look for those functions here.
39676         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
39677
39678 2008-12-22  Bruno Haible  <bruno@clisp.org>
39679
39680         * modules/fnmatch (Depends-on): Remove duplicated dependency.
39681
39682 2008-12-21  Bruno Haible  <bruno@clisp.org>
39683
39684         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
39685         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
39686         (Include): Remove conditionalization.
39687         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
39688         (Include): Remove conditionalization.
39689         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
39690         (Include): Remove conditionalization.
39691         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
39692         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39693         * NEWS: Mention the change.
39694         Reported by Alan Hourihane <alanh@fairlite.co.uk>
39695         via Sergey Poznyakoff <gray@gnu.org.ua>.
39696
39697 2008-12-21  Bruno Haible  <bruno@clisp.org>
39698
39699         * MODULES.html.sh (Extended multibyte and wide character utilities
39700         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
39701         wcrtomb, wcsrtombs.
39702         (Support for systems lacking POSIX:2008): Add accept, bind, close,
39703         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
39704         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
39705         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
39706
39707 2008-12-21  Bruno Haible  <bruno@clisp.org>
39708
39709         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
39710
39711 2008-12-21  Bruno Haible  <bruno@clisp.org>
39712
39713         * modules/wcsnrtombs-tests: New file.
39714         * tests/test-wcsnrtombs1.sh: New file.
39715         * tests/test-wcsnrtombs2.sh: New file.
39716         * tests/test-wcsnrtombs3.sh: New file.
39717         * tests/test-wcsnrtombs4.sh: New file.
39718         * tests/test-wcsnrtombs.c: New file.
39719
39720         New module 'wcsnrtombs'.
39721         * lib/wchar.in.h (wcsnrtombs): New declaration.
39722         * lib/wcsnrtombs.c: New file.
39723         * lib/wcsrtombs-state.c: New file.
39724         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
39725         (internal_state): Remove variable.
39726         * m4/wcsnrtombs.m4: New file.
39727         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
39728         compilation units.
39729         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
39730         HAVE_WCSNRTOMBS.
39731         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
39732         HAVE_WCSNRTOMBS.
39733         * modules/wcsnrtombs: New file.
39734         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
39735         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
39736
39737 2008-12-21  Bruno Haible  <bruno@clisp.org>
39738
39739         * modules/wcsrtombs-tests: New file.
39740         * tests/test-wcsrtombs1.sh: New file.
39741         * tests/test-wcsrtombs2.sh: New file.
39742         * tests/test-wcsrtombs3.sh: New file.
39743         * tests/test-wcsrtombs4.sh: New file.
39744         * tests/test-wcsrtombs.c: New file.
39745
39746         New module 'wcsrtombs'.
39747         * lib/wchar.in.h (wcsrtombs): New declaration.
39748         * lib/wcsrtombs.c: New file.
39749         * m4/wcsrtombs.m4: New file.
39750         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
39751         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
39752         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
39753         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
39754         * modules/wcsrtombs: New file.
39755         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
39756         bugs.
39757
39758 2008-12-21  Bruno Haible  <bruno@clisp.org>
39759
39760         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
39761         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
39762         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
39763         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
39764         if not correct.
39765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
39766         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
39767         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
39768         m4/locale-zh.m4, m4/codeset.m4.
39769         * doc/posix-functions/wcrtomb.texi: Document the bug.
39770
39771 2008-12-21  Bruno Haible  <bruno@clisp.org>
39772
39773         Work around a btowc() bug on IRIX 6.5.
39774         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
39775         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
39776         REPLACE_WTOBC if not.
39777         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
39778         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
39779         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
39780
39781 2008-12-21  Bruno Haible  <bruno@clisp.org>
39782
39783         * modules/wcrtomb-tests: New file.
39784         * tests/test-wcrtomb.sh: New file.
39785         * tests/test-wcrtomb.c: New file.
39786
39787         New module 'wcrtomb'.
39788         * lib/wchar.in.h (wcrtomb): New declaration.
39789         * lib/wcrtomb.c: New file.
39790         * m4/wcrtomb.m4: New file.
39791         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
39792         HAVE_WCRTOMB.
39793         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
39794         HAVE_WCRTOMB.
39795         * modules/wcrtomb: New file.
39796         * doc/posix-functions/wcrtomb.texi: Mention the new module.
39797
39798 2008-12-21  Bruno Haible  <bruno@clisp.org>
39799
39800         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
39801         * modules/mbsrtowcs (Files): Likewise.
39802         * modules/wctob (Files): Likewise.
39803         * modules/c-strcase-tests (Files): Likewise.
39804         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
39805         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
39806         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
39807         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
39808         * modules/vasnprintf-posix-tests (Files): Likewise.
39809
39810 2008-12-21  William Pursell  <bill.pursell@gmail.com>
39811
39812         gitlog-to-changelog: pass all command-line arguments to git-log
39813         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
39814         it is sometimes convenient to filter the commits in various ways.
39815         gitlog-to-changelog only allows --since to specify a start date,
39816         but git-log itself supports many other filtering mechanisms.
39817         At the moment, I want to filter by branch name.  Rather than
39818         adding a --branch option to gitlog-to-changelog, it seems more
39819         flexible to simply pass all options directly to git-log and let
39820         git do the work.  Notice that this effectively makes --since a
39821         redundant option for gitlog-to-changelog, but removing it would
39822         require current usage to change since calls would then require
39823         an additional '--'.
39824
39825 2008-12-21  Bruno Haible  <bruno@clisp.org>
39826
39827         * modules/mbsnrtowcs-tests: New file.
39828         * tests/test-mbsnrtowcs1.sh: New file.
39829         * tests/test-mbsnrtowcs2.sh: New file.
39830         * tests/test-mbsnrtowcs3.sh: New file.
39831         * tests/test-mbsnrtowcs4.sh: New file.
39832         * tests/test-mbsnrtowcs.c: New file.
39833
39834         New module 'mbsnrtowcs'.
39835         * lib/wchar.in.h (mbsnrtowcs): New declaration.
39836         * lib/mbsnrtowcs.c: New file.
39837         * lib/mbsrtowcs-state.c: New file.
39838         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
39839         (internal_state): Remove variable.
39840         * m4/mbsnrtowcs.m4: New file.
39841         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
39842         compilation units.
39843         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
39844         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
39845         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
39846         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
39847         * modules/mbsnrtowcs: New file.
39848         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
39849         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
39850         portability problem.
39851
39852 2008-12-21  Bruno Haible  <bruno@clisp.org>
39853
39854         Work around mbsrtowcs bug.
39855         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
39856         (gl_FUNC_MBSRTOWCS): Invoke it.
39857         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
39858         m4/locale-zh.m4.
39859         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
39860
39861 2008-12-21  Bruno Haible  <bruno@clisp.org>
39862
39863         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
39864
39865 2008-12-21  Bruno Haible  <bruno@clisp.org>
39866
39867         Update doc for AIX.
39868         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
39869         16-bit wchar_t type.
39870         * doc/posix-functions/btowc.texi: Likewise.
39871         * doc/posix-functions/fgetwc.texi: Likewise.
39872         * doc/posix-functions/fgetws.texi: Likewise.
39873         * doc/posix-functions/fputwc.texi: Likewise.
39874         * doc/posix-functions/fputws.texi: Likewise.
39875         * doc/posix-functions/fwide.texi: Likewise.
39876         * doc/posix-functions/fwprintf.texi: Likewise.
39877         * doc/posix-functions/fwscanf.texi: Likewise.
39878         * doc/posix-functions/getwchar.texi: Likewise.
39879         * doc/posix-functions/getwc.texi: Likewise.
39880         * doc/posix-functions/iswalnum.texi: Likewise.
39881         * doc/posix-functions/iswalpha.texi: Likewise.
39882         * doc/posix-functions/iswblank.texi: Likewise.
39883         * doc/posix-functions/iswcntrl.texi: Likewise.
39884         * doc/posix-functions/iswctype.texi: Likewise.
39885         * doc/posix-functions/iswdigit.texi: Likewise.
39886         * doc/posix-functions/iswgraph.texi: Likewise.
39887         * doc/posix-functions/iswlower.texi: Likewise.
39888         * doc/posix-functions/iswprint.texi: Likewise.
39889         * doc/posix-functions/iswpunct.texi: Likewise.
39890         * doc/posix-functions/iswspace.texi: Likewise.
39891         * doc/posix-functions/iswupper.texi: Likewise.
39892         * doc/posix-functions/iswxdigit.texi: Likewise.
39893         * doc/posix-functions/mbrtowc.texi: Likewise.
39894         * doc/posix-functions/mbsrtowcs.texi: Likewise.
39895         * doc/posix-functions/mbstowcs.texi: Likewise.
39896         * doc/posix-functions/mbtowc.texi: Likewise.
39897         * doc/posix-functions/putwchar.texi: Likewise.
39898         * doc/posix-functions/putwc.texi: Likewise.
39899         * doc/posix-functions/swprintf.texi: Likewise.
39900         * doc/posix-functions/tolower.texi: Likewise.
39901         * doc/posix-functions/toupper.texi: Likewise.
39902         * doc/posix-functions/towctrans.texi: Likewise.
39903         * doc/posix-functions/ungetwc.texi: Likewise.
39904         * doc/posix-functions/vswprintf.texi: Likewise.
39905         * doc/posix-functions/wcrtomb.texi: Likewise.
39906         * doc/posix-functions/wcscat.texi: Likewise.
39907         * doc/posix-functions/wcschr.texi: Likewise.
39908         * doc/posix-functions/wcscmp.texi: Likewise.
39909         * doc/posix-functions/wcscoll.texi: Likewise.
39910         * doc/posix-functions/wcscpy.texi: Likewise.
39911         * doc/posix-functions/wcscspn.texi: Likewise.
39912         * doc/posix-functions/wcsftime.texi: Likewise.
39913         * doc/posix-functions/wcslen.texi: Likewise.
39914         * doc/posix-functions/wcsncat.texi: Likewise.
39915         * doc/posix-functions/wcsncmp.texi: Likewise.
39916         * doc/posix-functions/wcsncpy.texi: Likewise.
39917         * doc/posix-functions/wcspbrk.texi: Likewise.
39918         * doc/posix-functions/wcsrchr.texi: Likewise.
39919         * doc/posix-functions/wcsrtombs.texi: Likewise.
39920         * doc/posix-functions/wcsspn.texi: Likewise.
39921         * doc/posix-functions/wcsstr.texi: Likewise.
39922         * doc/posix-functions/wcstod.texi: Likewise.
39923         * doc/posix-functions/wcstof.texi: Likewise.
39924         * doc/posix-functions/wcstoimax.texi: Likewise.
39925         * doc/posix-functions/wcstok.texi: Likewise.
39926         * doc/posix-functions/wcstold.texi: Likewise.
39927         * doc/posix-functions/wcstoll.texi: Likewise.
39928         * doc/posix-functions/wcstol.texi: Likewise.
39929         * doc/posix-functions/wcstombs.texi: Likewise.
39930         * doc/posix-functions/wcstoull.texi: Likewise.
39931         * doc/posix-functions/wcstoul.texi: Likewise.
39932         * doc/posix-functions/wcstoumax.texi: Likewise.
39933         * doc/posix-functions/wcswidth.texi: Likewise.
39934         * doc/posix-functions/wcsxfrm.texi: Likewise.
39935         * doc/posix-functions/wctob.texi: Likewise.
39936         * doc/posix-functions/wctomb.texi: Likewise.
39937         * doc/posix-functions/wctrans.texi: Likewise.
39938         * doc/posix-functions/wctype.texi: Likewise.
39939         * doc/posix-functions/wcwidth.texi: Likewise.
39940         * doc/posix-functions/wmemchr.texi: Likewise.
39941         * doc/posix-functions/wmemcmp.texi: Likewise.
39942         * doc/posix-functions/wmemcpy.texi: Likewise.
39943         * doc/posix-functions/wmemmove.texi: Likewise.
39944         * doc/posix-functions/wmemset.texi: Likewise.
39945         * doc/posix-functions/wprintf.texi: Likewise.
39946         * doc/posix-functions/wscanf.texi: Likewise.
39947
39948 2008-12-21  Bruno Haible  <bruno@clisp.org>
39949
39950         Update doc for HP-UX 11.11.
39951         * doc/posix-functions/btowc.texi: Clarify that the function is missing
39952         in HP-UX version 11.00, not in all versions of HP-UX 11.
39953         * doc/posix-functions/fwide.texi: Likewise.
39954         * doc/posix-functions/fwprintf.texi: Likewise.
39955         * doc/posix-functions/fwscanf.texi: Likewise.
39956         * doc/posix-functions/inet_ntop.texi: Likewise.
39957         * doc/posix-functions/inet_pton.texi: Likewise.
39958         * doc/posix-functions/mbrlen.texi: Likewise.
39959         * doc/posix-functions/mbrtowc.texi: Likewise.
39960         * doc/posix-functions/mbsinit.texi: Likewise.
39961         * doc/posix-functions/mbsrtowcs.texi: Likewise.
39962         * doc/posix-functions/swprintf.texi: Likewise.
39963         * doc/posix-functions/swscanf.texi: Likewise.
39964         * doc/posix-functions/towctrans.texi: Likewise.
39965         * doc/posix-functions/vfwprintf.texi: Likewise.
39966         * doc/posix-functions/vswprintf.texi: Likewise.
39967         * doc/posix-functions/vwprintf.texi: Likewise.
39968         * doc/posix-functions/wcrtomb.texi: Likewise.
39969         * doc/posix-functions/wcsrtombs.texi: Likewise.
39970         * doc/posix-functions/wcsstr.texi: Likewise.
39971         * doc/posix-functions/wctob.texi: Likewise.
39972         * doc/posix-functions/wctrans.texi: Likewise.
39973         * doc/posix-functions/wmemchr.texi: Likewise.
39974         * doc/posix-functions/wmemcmp.texi: Likewise.
39975         * doc/posix-functions/wmemcpy.texi: Likewise.
39976         * doc/posix-functions/wmemmove.texi: Likewise.
39977         * doc/posix-functions/wmemset.texi: Likewise.
39978         * doc/posix-functions/wprintf.texi: Likewise.
39979         * doc/posix-functions/wscanf.texi: Likewise.
39980
39981 2008-12-21  Bruno Haible  <bruno@clisp.org>
39982
39983         Work around a portability problem.
39984         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
39985         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
39986
39987 2008-12-20  Bruno Haible  <bruno@clisp.org>
39988
39989         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
39990         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
39991         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
39992         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
39993         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
39994
39995         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
39996         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
39997         set.
39998         (GNULIB_defined_mbstate_t): New macro.
39999         (mbsinit): Redefine if REPLACE_MBSINIT is set.
40000         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
40001         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
40002         reuses the system's mbrtowc function but works around the bugs.
40003         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
40004         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
40005         macros.
40006         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
40007         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
40008         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
40009         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
40010         REPLACE_MBSINIT if mbsinit needs to be overridden.
40011         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
40012         REPLACE_MBSINIT, REPLACE_MBRTOWC.
40013         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
40014         REPLACE_MBSINIT, REPLACE_MBRTOWC.
40015         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
40016         m4/locale-zh.m4.
40017         (Depends): Add mbsinit.
40018         * modules/mbsinit (Depends): Add mbrtowc.
40019         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
40020
40021 2008-12-20  Bruno Haible  <bruno@clisp.org>
40022
40023         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
40024         so that there are no conversion errors on AIX.
40025         * tests/test-mbsrtowcs.c (main): LIkewise.
40026
40027 2008-12-20  Bruno Haible  <bruno@clisp.org>
40028
40029         Work around wctob bug on Solaris <= 9.
40030         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
40031         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
40032         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
40033         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
40034         * modules/wctob (Files): Add m4/locale-fr.m4.
40035         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
40036
40037 2008-12-20  Bruno Haible  <bruno@clisp.org>
40038
40039         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
40040         /dev/null.
40041         * tests/test-select-in.sh: Likewise.
40042         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40043
40044 2008-12-20  Bruno Haible  <bruno@clisp.org>
40045
40046         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
40047         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
40048         Cygwin 1.5.x.
40049
40050 2008-12-20  Bruno Haible  <bruno@clisp.org>
40051
40052         Ensure mbstate_t is defined on HP-UX 11.11.
40053         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
40054         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
40055         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
40056         AC_USE_SYSTEM_EXTENSIONS.
40057         * modules/fnmatch (Depends-on): Add extensions.
40058         * modules/mbrlen (Depends-on): Likewise.
40059         * modules/mbrtowc (Depends-on): Likewise.
40060         * modules/mbsinit (Depends-on): Likewise.
40061         * modules/mbsrtowcs (Depends-on): Likewise.
40062         * modules/mbswidth (Depends-on): Likewise.
40063         * modules/quotearg (Depends-on): Likewise.
40064         * modules/strftime (Depends-on): Likewise.
40065
40066 2008-12-20  Bruno Haible  <bruno@clisp.org>
40067
40068         Ensure wctob is declared on IRIX 6.5.
40069         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
40070         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
40071         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
40072         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
40073         of HAVE_WCTOB.
40074         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
40075         HAVE_WCTOB.
40076         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
40077
40078 2008-12-19  Bruno Haible  <bruno@clisp.org>
40079
40080         * modules/mbsrtowcs-tests: New file.
40081         * tests/test-mbsrtowcs1.sh: New file.
40082         * tests/test-mbsrtowcs2.sh: New file.
40083         * tests/test-mbsrtowcs3.sh: New file.
40084         * tests/test-mbsrtowcs4.sh: New file.
40085         * tests/test-mbsrtowcs.c: New file.
40086
40087         New module 'mbsrtowcs'.
40088         * lib/wchar.in.h (mbsrtowcs): New declaration.
40089         * lib/mbsrtowcs.c: New file.
40090         * m4/mbsrtowcs.m4: New file.
40091         * modules/mbsrtowcs: New file.
40092         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
40093         HAVE_MBSRTOWCS.
40094         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
40095         HAVE_MBSRTOWCS.
40096         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
40097
40098 2008-12-19  Bruno Haible  <bruno@clisp.org>
40099
40100         New module 'mbrlen'.
40101         * lib/wchar.in.h (mbrlen): New declaration.
40102         * lib/mbrlen.c: New file.
40103         * m4/mbrlen.m4: New file.
40104         * modules/mbrlen: New file.
40105         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
40106         HAVE_MBRLEN.
40107         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
40108         HAVE_MBRLEN.
40109         * doc/posix-functions/mbrlen.texi: Document the new module.
40110
40111 2008-12-19  Bruno Haible  <bruno@clisp.org>
40112
40113         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
40114         * modules/mbrtowc (Depends-on): Add verify.
40115         Suggested by Paul Eggert.
40116
40117 2008-12-18  Bruno Haible  <bruno@clisp.org>
40118
40119         * modules/mbsinit-tests: New file.
40120         * tests/test-mbsinit.sh: New file.
40121         * tests/test-mbsinit.c: New file.
40122
40123 2008-12-18  Bruno Haible  <bruno@clisp.org>
40124
40125         * modules/mbrtowc-tests: New file.
40126         * tests/test-mbrtowc1.sh: New file.
40127         * tests/test-mbrtowc2.sh: New file.
40128         * tests/test-mbrtowc3.sh: New file.
40129         * tests/test-mbrtowc4.sh: New file.
40130         * tests/test-mbrtowc.c: New file.
40131
40132         New module 'mbrtowc'.
40133         * lib/wchar.in.h (mbstate_t): Override when the system does not have
40134         mbsinit and mbrtowc.
40135         (mbrtowc): New declaration.
40136         * lib/mbrtowc.c: New file.
40137         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
40138         * modules/mbrtowc: New file.
40139         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
40140         HAVE_MBRTOWC.
40141         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
40142         HAVE_MBRTOWC.
40143         * doc/posix-functions/mbrtowc.texi: Document the new module.
40144
40145 2008-12-18  Bruno Haible  <bruno@clisp.org>
40146
40147         New module 'wctob'.
40148         * lib/wchar.in.h (wctob): New declaration.
40149         * lib/wctob.c: New file.
40150         * m4/wctob.m4: New file.
40151         * modules/wctob: New file.
40152         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
40153         HAVE_WCTOB.
40154         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
40155         * doc/posix-functions/wctob.texi: Document the new module.
40156
40157 2008-12-18  Bruno Haible  <bruno@clisp.org>
40158
40159         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
40160         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
40161
40162 2008-12-18  Simon Josefsson  <simon@josefsson.org>
40163
40164         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
40165         G. Christensen" <tgc@jupiterrise.com>.
40166
40167         * lib/flock.c: Need to include errno.h.  Reported by "Tom
40168         G. Christensen" <tgc@jupiterrise.com>.
40169
40170         * lib/flock.c: Need to include string.h.  Reported by "Tom
40171         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
40172         <ebb9@byu.net>.
40173
40174 2008-12-18  Bruno Haible  <bruno@clisp.org>
40175
40176         * m4/locale-ja.m4: New file, from GNU gettext.
40177
40178 2008-12-17  Bruno Haible  <bruno@clisp.org>
40179
40180         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
40181         Suggested by Eric Blake.
40182
40183 2008-12-17  Bruno Haible  <bruno@clisp.org>
40184
40185         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
40186
40187 2008-12-17  Bruno Haible  <bruno@clisp.org>
40188
40189         * lib/mbsinit.c: Include verify.h. Verify an assumption.
40190         * modules/mbsinit (Depends-on): Add verify.
40191         Suggested by Paul Eggert.
40192
40193 2008-12-17  Bruno Haible  <bruno@clisp.org>
40194
40195         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
40196         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
40197         gl_FUNC_MBRTOWC.
40198         * m4/mbiter.m4 (gl_MBITER): LIkewise.
40199         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
40200         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
40201         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
40202         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
40203         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
40204         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
40205         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
40206         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
40207         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
40208         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
40209         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
40210         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
40211         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
40212         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
40213         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
40214         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
40215         * modules/trim (configure.ac): Likewise.
40216
40217 2008-12-17  Bruno Haible  <bruno@clisp.org>
40218
40219         * modules/btowc-tests: New file.
40220         * tests/test-btowc1.sh: New file.
40221         * tests/test-btowc2.sh: New file.
40222         * tests/test-btowc.c: New file.
40223
40224         New module 'btowc'.
40225         * lib/wchar.in.h (btowc): New declaration.
40226         * lib/btowc.c: New file.
40227         * m4/btowc.m4: New file.
40228         * modules/btowc: New file.
40229         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
40230         HAVE_BTOWC.
40231         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
40232         * doc/posix-functions/btowc.texi: Document the new module.
40233
40234 2008-12-17  Bruno Haible  <bruno@clisp.org>
40235
40236         New module 'mbsinit'.
40237         * lib/wchar.in.h (mbsinit): New declaration.
40238         * lib/mbsinit.c: New file.
40239         * m4/mbsinit.m4: New file.
40240         * modules/mbsinit: New file.
40241         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
40242         HAVE_MBSINIT.
40243         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
40244         HAVE_MBSINIT.
40245         * doc/posix-functions/mbsinit.texi: Document the new module.
40246
40247 2008-12-16  Bruno Haible  <bruno@clisp.org>
40248
40249         * lib/unistd.in.h: Add comment.
40250         * tests/test-environ.c: Don't include <stdlib.h>.
40251
40252 2008-12-16  Bruno Haible  <bruno@clisp.org>
40253
40254         * lib/parse-duration.h (parse_duration): Document return value
40255         convention.
40256         * lib/parse-duration.c: Include specification header first. Add
40257         comments.
40258         (_): Remove macro.
40259         (parse_year_month_day, parse_hour_minute_second): Move side effects
40260         outside of strchr call.
40261         (parse_non_iso8601): Move side effects outside of isspace call.
40262         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
40263         call.
40264
40265 2008-12-16  Bruno Haible  <bruno@clisp.org>
40266
40267         * tests/test-parse-duration.sh: Produce no output when the test
40268         succeeds.
40269
40270 2008-12-16  Bruno Haible  <bruno@clisp.org>
40271
40272         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
40273         expressions.
40274
40275 2008-12-15  Bruno Haible  <bruno@clisp.org>
40276
40277         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
40278         * doc/glibc-functions/flistxattr.texi: Likewise.
40279         * doc/glibc-functions/fopencookie.texi: Likewise.
40280         * doc/glibc-functions/fremovexattr.texi: Likewise.
40281         * doc/glibc-functions/fsetxattr.texi: Likewise.
40282         * doc/glibc-functions/getxattr.texi: Likewise.
40283         * doc/glibc-functions/lgetxattr.texi: Likewise.
40284         * doc/glibc-functions/listxattr.texi: Likewise.
40285         * doc/glibc-functions/llistxattr.texi: Likewise.
40286         * doc/glibc-functions/lremovexattr.texi: Likewise.
40287         * doc/glibc-functions/lsetxattr.texi: Likewise.
40288         * doc/glibc-functions/removexattr.texi: Likewise.
40289         * doc/glibc-functions/setxattr.texi: Likewise.
40290         * doc/posix-functions/open_memstream.texi: Likewise.
40291
40292 2008-12-15  Eric Blake  <ebb9@byu.net>
40293
40294         Update doc for cygwin 1.7.
40295         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
40296         functions.
40297         * doc/posix-functions/fchmodat.texi: Likewise.
40298         * doc/posix-functions/fchownat.texi: Likewise.
40299         * doc/posix-functions/fdopendir.texi: Likewise.
40300         * doc/posix-functions/fmemopen.texi: Likewise.
40301         * doc/posix-functions/freeaddrinfo.texi: Likewise.
40302         * doc/posix-functions/fstatat.texi: Likewise.
40303         * doc/posix-functions/futimens.texi: Likewise.
40304         * doc/posix-functions/gai_strerror.texi: Likewise.
40305         * doc/posix-functions/getaddrinfo.texi: Likewise.
40306         * doc/posix-functions/getnameinfo.texi: Likewise.
40307         * doc/posix-functions/if_freenameindex.texi: Likewise.
40308         * doc/posix-functions/if_indextoname.texi: Likewise.
40309         * doc/posix-functions/if_nameindex.texi: Likewise.
40310         * doc/posix-functions/if_nametoindex.texi: Likewise.
40311         * doc/posix-functions/insque.texi: Likewise.
40312         * doc/posix-functions/linkat.texi: Likewise.
40313         * doc/posix-functions/llrint.texi: Likewise.
40314         * doc/posix-functions/llrintf.texi: Likewise.
40315         * doc/posix-functions/llrintl.texi: Likewise.
40316         * doc/posix-functions/lockf.texi: Likewise.
40317         * doc/posix-functions/lrintl.texi: Likewise.
40318         * doc/posix-functions/mkdirat.texi: Likewise.
40319         * doc/posix-functions/mkfifoat.texi: Likewise.
40320         * doc/posix-functions/mknodat.texi: Likewise.
40321         * doc/posix-functions/mq_close.texi: Likewise.
40322         * doc/posix-functions/mq_getattr.texi: Likewise.
40323         * doc/posix-functions/mq_notify.texi: Likewise.
40324         * doc/posix-functions/mq_open.texi: Likewise.
40325         * doc/posix-functions/mq_receive.texi: Likewise.
40326         * doc/posix-functions/mq_send.texi: Likewise.
40327         * doc/posix-functions/mq_setattr.texi: Likewise.
40328         * doc/posix-functions/mq_timedreceive.texi: Likewise.
40329         * doc/posix-functions/mq_timedsend.texi: Likewise.
40330         * doc/posix-functions/mq_unlink.texi: Likewise.
40331         * doc/posix-functions/open_memstream.texi: Likewise.
40332         * doc/posix-functions/openat.texi: Likewise.
40333         * doc/posix-functions/posix_fadvise.texi: Likewise.
40334         * doc/posix-functions/posix_fallocate.texi: Likewise.
40335         * doc/posix-functions/posix_madvise.texi: Likewise.
40336         * doc/posix-functions/posix_memalign.texi: Likewise.
40337         * doc/posix-functions/posix_openpt.texi: Likewise.
40338         * doc/posix-functions/readlinkat.texi: Likewise.
40339         * doc/posix-functions/remque.texi: Likewise.
40340         * doc/posix-functions/renameat.texi: Likewise.
40341         * doc/posix-functions/rintl.texi: Likewise.
40342         * doc/posix-functions/sem_unlink.texi: Likewise.
40343         * doc/posix-functions/shm_open.texi: Likewise.
40344         * doc/posix-functions/shm_unlink.texi: Likewise.
40345         * doc/posix-functions/signgam.texi: Likewise.
40346         * doc/posix-functions/sigset.texi: Likewise.
40347         * doc/posix-functions/stpcpy.texi: Likewise.
40348         * doc/posix-functions/stpncpy.texi: Likewise.
40349         * doc/posix-functions/strerror.texi: Likewise.
40350         * doc/posix-functions/strtod.texi: Likewise.
40351         * doc/posix-functions/symlinkat.texi: Likewise.
40352         * doc/posix-functions/unlinkat.texi: Likewise.
40353         * doc/posix-functions/utimensat.texi: Likewise.
40354         * doc/glibc-functions/bindresvport.texi: Likewise.
40355         * doc/glibc-functions/dn_expand.texi: Likewise.
40356         * doc/glibc-functions/exp10.texi: Likewise.
40357         * doc/glibc-functions/exp10f.texi: Likewise.
40358         * doc/glibc-functions/fgetxattr.texi: Likewise.
40359         * doc/glibc-functions/flistxattr.texi: Likewise.
40360         * doc/glibc-functions/fopencookie.texi: Likewise.
40361         * doc/glibc-functions/freeifaddrs.texi: Likewise.
40362         * doc/glibc-functions/fremovexattr.texi: Likewise.
40363         * doc/glibc-functions/fsetxattr.texi: Likewise.
40364         * doc/glibc-functions/getifaddrs.texi: Likewise.
40365         * doc/glibc-functions/getxattr.texi: Likewise.
40366         * doc/glibc-functions/lgetxattr.texi: Likewise.
40367         * doc/glibc-functions/listxattr.texi: Likewise.
40368         * doc/glibc-functions/llistxattr.texi: Likewise.
40369         * doc/glibc-functions/lremovexattr.texi: Likewise.
40370         * doc/glibc-functions/lsetxattr.texi: Likewise.
40371         * doc/glibc-functions/pow10.texi: Likewise.
40372         * doc/glibc-functions/pow10f.texi: Likewise.
40373         * doc/glibc-functions/rcmd_af.texi: Likewise.
40374         * doc/glibc-functions/removexattr.texi: Likewise.
40375         * doc/glibc-functions/res_init.texi: Likewise.
40376         * doc/glibc-functions/res_mkquery.texi: Likewise.
40377         * doc/glibc-functions/res_query.texi: Likewise.
40378         * doc/glibc-functions/res_querydomain.texi: Likewise.
40379         * doc/glibc-functions/res_send.texi: Likewise.
40380         * doc/glibc-functions/rresvport_af.texi: Likewise.
40381         * doc/glibc-functions/setxattr.texi: Likewise.
40382         * doc/glibc-functions/strcasestr.texi: Likewise.
40383
40384 2008-12-15  Bruno Haible  <bruno@clisp.org>
40385
40386         Fix compilation error on OSF/1 4.0.
40387         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
40388         <sys/time.h>, simply delegate to the system header.
40389         Reported by Daniel Richard G. <oss@teragram.com>.
40390
40391 2008-12-15  Bruno Haible  <bruno@clisp.org>
40392
40393         * doc/posix-functions/openat.texi: Mention the 'openat' module.
40394         * doc/posix-functions/fchmodat.texi: Likewise.
40395         * doc/posix-functions/fchownat.texi: Likewise.
40396         * doc/posix-functions/fdopendir.texi: Likewise.
40397         * doc/posix-functions/fstatat.texi: Likewise.
40398         * doc/posix-functions/mkdirat.texi: Likewise.
40399         * doc/posix-functions/unlinkat.texi: Likewise.
40400
40401 2008-12-14  Bruno Haible  <bruno@clisp.org>
40402
40403         Update doc for POSIX:2008.
40404         * doc/posix-functions/faccessat.texi: New file.
40405         * doc/posix-functions/fchmodat.texi: New file.
40406         * doc/posix-functions/fchownat.texi: New file.
40407         * doc/posix-functions/fdopendir.texi: New file.
40408         * doc/posix-functions/fstatat.texi: New file.
40409         * doc/posix-functions/futimens.texi: New file.
40410         * doc/posix-functions/linkat.texi: New file.
40411         * doc/posix-functions/mkdirat.texi: New file.
40412         * doc/posix-functions/mkfifoat.texi: New file.
40413         * doc/posix-functions/mknodat.texi: New file.
40414         * doc/posix-functions/open_wmemstream.texi: New file.
40415         * doc/posix-functions/openat.texi: New file.
40416         * doc/posix-functions/psiginfo.texi: New file.
40417         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
40418         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
40419         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
40420         * doc/posix-functions/readlinkat.texi: New file.
40421         * doc/posix-functions/renameat.texi: New file.
40422         * doc/posix-functions/strerror_l.texi: New file.
40423         * doc/posix-functions/symlinkat.texi: New file.
40424         * doc/posix-functions/unlinkat.texi: New file.
40425         * doc/posix-functions/utimensat.texi: New file.
40426         * doc/gnulib.texi (Function Substitutes): Add these subsections.
40427
40428 2008-12-14  Bruno Haible  <bruno@clisp.org>
40429
40430         Update doc for POSIX:2008.
40431         * doc/posix-functions/alphasort.texi: Renamed from
40432         doc/glibc-functions/alphasort.texi.
40433         * doc/posix-functions/dirfd.texi: Renamed from
40434         doc/glibc-functions/dirfd.texi.
40435         * doc/posix-functions/dprintf.texi: Renamed from
40436         doc/glibc-functions/dprintf.texi.
40437         * doc/posix-functions/duplocale.texi: Renamed from
40438         doc/glibc-functions/duplocale.texi.
40439         * doc/posix-functions/fexecve.texi: Renamed from
40440         doc/glibc-functions/fexecve.texi.
40441         * doc/posix-functions/fmemopen.texi: Renamed from
40442         doc/glibc-functions/fmemopen.texi.
40443         * doc/posix-functions/freelocale.texi: Renamed from
40444         doc/glibc-functions/freelocale.texi.
40445         * doc/posix-functions/getdate_err.texi: Renamed from
40446         doc/glibc-functions/getdate_err.texi.
40447         * doc/posix-functions/isalnum_l.texi: Renamed from
40448         doc/glibc-functions/isalnum_l.texi.
40449         * doc/posix-functions/isalpha_l.texi: Renamed from
40450         doc/glibc-functions/isalpha_l.texi.
40451         * doc/posix-functions/isblank_l.texi: Renamed from
40452         doc/glibc-functions/isblank_l.texi.
40453         * doc/posix-functions/iscntrl_l.texi: Renamed from
40454         doc/glibc-functions/iscntrl_l.texi.
40455         * doc/posix-functions/isdigit_l.texi: Renamed from
40456         doc/glibc-functions/isdigit_l.texi.
40457         * doc/posix-functions/isgraph_l.texi: Renamed from
40458         doc/glibc-functions/isgraph_l.texi.
40459         * doc/posix-functions/islower_l.texi: Renamed from
40460         doc/glibc-functions/islower_l.texi.
40461         * doc/posix-functions/isprint_l.texi: Renamed from
40462         doc/glibc-functions/isprint_l.texi.
40463         * doc/posix-functions/ispunct_l.texi: Renamed from
40464         doc/glibc-functions/ispunct_l.texi.
40465         * doc/posix-functions/isspace_l.texi: Renamed from
40466         doc/glibc-functions/isspace_l.texi.
40467         * doc/posix-functions/isupper_l.texi: Renamed from
40468         doc/glibc-functions/isupper_l.texi.
40469         * doc/posix-functions/iswalnum_l.texi: Renamed from
40470         doc/glibc-functions/iswalnum_l.texi.
40471         * doc/posix-functions/iswalpha_l.texi: Renamed from
40472         doc/glibc-functions/iswalpha_l.texi.
40473         * doc/posix-functions/iswblank_l.texi: Renamed from
40474         doc/glibc-functions/iswblank_l.texi.
40475         * doc/posix-functions/iswcntrl_l.texi: Renamed from
40476         doc/glibc-functions/iswcntrl_l.texi.
40477         * doc/posix-functions/iswctype_l.texi: Renamed from
40478         doc/glibc-functions/iswctype_l.texi.
40479         * doc/posix-functions/iswdigit_l.texi: Renamed from
40480         doc/glibc-functions/iswdigit_l.texi.
40481         * doc/posix-functions/iswgraph_l.texi: Renamed from
40482         doc/glibc-functions/iswgraph_l.texi.
40483         * doc/posix-functions/iswlower_l.texi: Renamed from
40484         doc/glibc-functions/iswlower_l.texi.
40485         * doc/posix-functions/iswprint_l.texi: Renamed from
40486         doc/glibc-functions/iswprint_l.texi.
40487         * doc/posix-functions/iswpunct_l.texi: Renamed from
40488         doc/glibc-functions/iswpunct_l.texi.
40489         * doc/posix-functions/iswspace_l.texi: Renamed from
40490         doc/glibc-functions/iswspace_l.texi.
40491         * doc/posix-functions/iswupper_l.texi: Renamed from
40492         doc/glibc-functions/iswupper_l.texi.
40493         * doc/posix-functions/iswxdigit_l.texi: Renamed from
40494         doc/glibc-functions/iswxdigit_l.texi.
40495         * doc/posix-functions/isxdigit_l.texi: Renamed from
40496         doc/glibc-functions/isxdigit_l.texi.
40497         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
40498         doc/glibc-functions/mbsnrtowcs.texi.
40499         * doc/posix-functions/mkdtemp.texi: Renamed from
40500         doc/glibc-functions/mkdtemp.texi.
40501         * doc/posix-functions/newlocale.texi: Renamed from
40502         doc/glibc-functions/newlocale.texi.
40503         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
40504         doc/glibc-functions/nl_langinfo_l.texi.
40505         * doc/posix-functions/open_memstream.texi: Renamed from
40506         doc/glibc-functions/open_memstream.texi.
40507         * doc/posix-functions/opterr.texi: Renamed from
40508         doc/glibc-functions/opterr.texi.
40509         * doc/posix-functions/optind.texi: Renamed from
40510         doc/glibc-functions/optind.texi.
40511         * doc/posix-functions/optopt.texi: Renamed from
40512         doc/glibc-functions/optopt.texi.
40513         * doc/posix-functions/psignal.texi: Renamed from
40514         doc/glibc-functions/psignal.texi.
40515         * doc/posix-functions/scandir.texi: Renamed from
40516         doc/glibc-functions/scandir.texi.
40517         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
40518         doc/glibc-functions/sched_get_priority_min.texi.
40519         * doc/posix-functions/signgam.texi: Renamed from
40520         doc/glibc-functions/signgam.texi.
40521         * doc/posix-functions/stpcpy.texi: Renamed from
40522         doc/glibc-functions/stpcpy.texi.
40523         * doc/posix-functions/stpncpy.texi: Renamed from
40524         doc/glibc-functions/stpncpy.texi.
40525         * doc/posix-functions/strcasecmp_l.texi: Renamed from
40526         doc/glibc-functions/strcasecmp_l.texi.
40527         * doc/posix-functions/strcoll_l.texi: Renamed from
40528         doc/glibc-functions/strcoll_l.texi.
40529         * doc/posix-functions/strfmon_l.texi: Renamed from
40530         doc/glibc-functions/strfmon_l.texi.
40531         * doc/posix-functions/strftime_l.texi: Renamed from
40532         doc/glibc-functions/strftime_l.texi.
40533         * doc/posix-functions/strncasecmp_l.texi: Renamed from
40534         doc/glibc-functions/strncasecmp_l.texi.
40535         * doc/posix-functions/strndup.texi: Renamed from
40536         doc/glibc-functions/strndup.texi.
40537         * doc/posix-functions/strnlen.texi: Renamed from
40538         doc/glibc-functions/strnlen.texi.
40539         * doc/posix-functions/strsignal.texi: Renamed from
40540         doc/glibc-functions/strsignal.texi.
40541         * doc/posix-functions/strxfrm_l.texi: Renamed from
40542         doc/glibc-functions/strxfrm_l.texi.
40543         * doc/posix-functions/timer_gettime.texi: Renamed from
40544         doc/glibc-functions/timer_gettime.texi.
40545         * doc/posix-functions/tolower_l.texi: Renamed from
40546         doc/glibc-functions/tolower_l.texi.
40547         * doc/posix-functions/toupper_l.texi: Renamed from
40548         doc/glibc-functions/toupper_l.texi.
40549         * doc/posix-functions/towctrans_l.texi: Renamed from
40550         doc/glibc-functions/towctrans_l.texi.
40551         * doc/posix-functions/towlower_l.texi: Renamed from
40552         doc/glibc-functions/towlower_l.texi.
40553         * doc/posix-functions/towupper_l.texi: Renamed from
40554         doc/glibc-functions/towupper_l.texi.
40555         * doc/posix-functions/uselocale.texi: Renamed from
40556         doc/glibc-functions/uselocale.texi.
40557         * doc/posix-functions/vdprintf.texi: Renamed from
40558         doc/glibc-functions/vdprintf.texi.
40559         * doc/posix-functions/wcpcpy.texi:
40560         Renamed from doc/glibc-functions/wcpcpy.texi.
40561         * doc/posix-functions/wcpncpy.texi: Renamed from
40562         doc/glibc-functions/wcpncpy.texi.
40563         * doc/posix-functions/wcscasecmp.texi: Renamed from
40564         doc/glibc-functions/wcscasecmp.texi.
40565         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
40566         doc/glibc-functions/wcscasecmp_l.texi.
40567         * doc/posix-functions/wcscoll_l.texi: Renamed from
40568         doc/glibc-functions/wcscoll_l.texi.
40569         * doc/posix-functions/wcsdup.texi: Renamed from
40570         doc/glibc-functions/wcsdup.texi.
40571         * doc/posix-functions/wcsncasecmp.texi: Renamed from
40572         doc/glibc-functions/wcsncasecmp.texi.
40573         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
40574         doc/glibc-functions/wcsncasecmp_l.texi.
40575         * doc/posix-functions/wcsnlen.texi: Renamed from
40576         doc/glibc-functions/wcsnlen.texi.
40577         * doc/posix-functions/wcsnrtombs.texi: Renamed from
40578         doc/glibc-functions/wcsnrtombs.texi.
40579         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
40580         doc/glibc-functions/wcsxfrm_l.texi.
40581         * doc/posix-functions/wctrans_l.texi: Renamed from
40582         doc/glibc-functions/wctrans_l.texi.
40583         * doc/posix-functions/wctype_l.texi: Renamed from
40584         doc/glibc-functions/wctype_l.texi.
40585         * doc/gnulib.texi (Function Substitutes): Add these subsections.
40586         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
40587         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
40588         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
40589         these subsections.
40590         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
40591         Remove sections.
40592
40593 2008-12-14  Bruno Haible  <bruno@clisp.org>
40594
40595         Update doc for POSIX:2008.
40596         * doc/posix-functions/*.texi: Update URL of POSIX specification.
40597
40598 2008-12-14  Bruno Haible  <bruno@clisp.org>
40599
40600         Update doc for POSIX:2008.
40601         * doc/pastposix-functions/bcmp.texi: Renamed from
40602         doc/posix-functions/bcmp.texi.
40603         * doc/pastposix-functions/bcopy.texi: Renamed from
40604         doc/posix-functions/bcopy.texi.
40605         * doc/pastposix-functions/bsd_signal.texi: Renamed from
40606         doc/posix-functions/bsd_signal.texi.
40607         * doc/pastposix-functions/bzero.texi: Renamed from
40608         doc/posix-functions/bzero.texi.
40609         * doc/pastposix-functions/ecvt.texi: Renamed from
40610         doc/posix-functions/ecvt.texi.
40611         * doc/pastposix-functions/fcvt.texi: Renamed from
40612         doc/posix-functions/fcvt.texi.
40613         * doc/pastposix-functions/ftime.texi: Renamed from
40614         doc/posix-functions/ftime.texi.
40615         * doc/pastposix-functions/gcvt.texi: Renamed from
40616         doc/posix-functions/gcvt.texi.
40617         * doc/pastposix-functions/getcontext.texi: Renamed from
40618         doc/posix-functions/getcontext.texi.
40619         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
40620         doc/posix-functions/gethostbyaddr.texi.
40621         * doc/pastposix-functions/gethostbyname.texi: Renamed from
40622         doc/posix-functions/gethostbyname.texi.
40623         * doc/pastposix-functions/getwd.texi: Renamed from
40624         doc/posix-functions/getwd.texi.
40625         * doc/pastposix-functions/h_errno.texi: Renamed from
40626         doc/posix-functions/h_errno.texi.
40627         * doc/pastposix-functions/index.texi: Renamed from
40628         doc/posix-functions/index.texi.
40629         * doc/pastposix-functions/makecontext.texi: Renamed from
40630         doc/posix-functions/makecontext.texi.
40631         * doc/pastposix-functions/mktemp.texi: Renamed from
40632         doc/posix-functions/mktemp.texi.
40633         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
40634         doc/posix-functions/pthread_attr_getstackaddr.texi.
40635         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
40636         doc/posix-functions/pthread_attr_setstackaddr.texi.
40637         * doc/pastposix-functions/rindex.texi: Renamed from
40638         doc/posix-functions/rindex.texi.
40639         * doc/pastposix-functions/scalb.texi: Renamed from
40640         doc/posix-functions/scalb.texi.
40641         * doc/pastposix-functions/setcontext.texi: Renamed from
40642         doc/posix-functions/setcontext.texi.
40643         * doc/pastposix-functions/swapcontext.texi: Renamed from
40644         doc/posix-functions/swapcontext.texi.
40645         * doc/pastposix-functions/ualarm.texi: Renamed from
40646         doc/posix-functions/ualarm.texi.
40647         * doc/pastposix-functions/usleep.texi: Renamed from
40648         doc/posix-functions/usleep.texi.
40649         * doc/pastposix-functions/vfork.texi: Renamed from
40650         doc/posix-functions/vfork.texi.
40651         * doc/pastposix-functions/wcswcs.texi: Renamed from
40652         doc/posix-functions/wcswcs.texi.
40653         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
40654         (Function Substitutes): Update.
40655
40656 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40657
40658         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
40659         m4/strerror.m4.
40660
40661 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40662             Bruno Haible  <bruno@clisp.org>
40663
40664         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
40665
40666 2008-12-13  Bruno Haible  <bruno@clisp.org>
40667
40668         * modules/strtoull (Depends-on): Remove unistd.
40669
40670 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40671
40672         * modules/strtoull (Depends-on): Add stdlib.
40673
40674 2008-12-11  Simon Josefsson  <simon@josefsson.org>
40675
40676         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
40677
40678 2008-12-10  Jim Meyering  <meyering@redhat.com>
40679
40680         gl_ASSERT: don't say assertions are disabled when they're not
40681         * m4/assert.m4 (gl_ASSERT): Do not make configure report
40682         "checking whether to enable assertions... no", when they are in
40683         fact enabled.  This is solely a bug in the output of configure.
40684         In spite of saying "no", NDEBUG was not defined in that case.
40685         Also, as noted by Eric Blake, leave assertions enabled upon
40686         --enable-assert=INVALID.
40687
40688 2008-12-10  Bruno Haible  <bruno@clisp.org>
40689
40690         Change MODULES.html to refer to POSIX:2008 where possible.
40691         * MODULES.html.sh (POSIX2008_URL): New variable.
40692         (posix_headers): Remove sys/timeb, ucontext.
40693         (posix2001_headers): New variable.
40694         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
40695         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
40696         index, makecontext, mktemp, pthread_attr_getstackaddr,
40697         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
40698         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
40699         (posix2001_functions): New variable.
40700         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
40701         otherwise.
40702
40703 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40704
40705         add missing include to parse-duration.c
40706         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
40707         * modules/parse-duration (Depends-on): Add xalloc.
40708
40709         fix sed script reading maint.mk
40710         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
40711         (syntax-check-rules): Use it.
40712
40713 2008-12-09  Bruno Haible  <bruno@clisp.org>
40714
40715         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
40716         MacOS X 10.4/PowerPC.
40717         Reported by Simon Josefsson.
40718
40719 2008-12-08  Jim Meyering  <meyering@redhat.com>
40720
40721         work around mingw's lack of some S_IF definitions
40722         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
40723         Reported by Simon Josefsson.
40724
40725 2008-12-08  Bruno Haible  <bruno@clisp.org>
40726
40727         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
40728         applied to variables. Needed on MacOS X 10.4/PowerPC.
40729         Reported by Simon Josefsson.
40730
40731 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
40732         and Eric Blake  <ebb9@byu.net>
40733
40734         assert: honor --enable-assert
40735         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
40736         order to honor --enable-assert, rather than treating it as a
40737         synonym for --disable-assert.
40738
40739 2008-12-08  Jim Meyering  <meyering@redhat.com>
40740
40741         * lib/posixtm.c: Remove now-useless declaration of mktime.
40742
40743         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
40744
40745 2008-12-07  Bruno Haible  <bruno@clisp.org>
40746
40747         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
40748         test_once): Mark functions as static.
40749         * tests/test-tls.c (test_tls): Likewise.
40750
40751 2008-12-07  Bruno Haible  <bruno@clisp.org>
40752
40753         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
40754         iconv_register_autodetect.
40755
40756 2008-12-07  Jim Meyering  <meyering@redhat.com>
40757
40758         posixtm.c: avoid a warning
40759         * lib/posixtm.c (posixtime): Don't initialize tm0.
40760         It's no longer needed to placate gcc4's -Wuninitialized,
40761         and the attempt to placate would elicit a new warning.
40762
40763         unicodeio.c: mark unused parameters
40764         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
40765         (fallback_failure_callback): Likewise.
40766
40767 2008-12-07  Bruno Haible  <bruno@clisp.org>
40768
40769         * gnulib-tool (func_create_testdir): When building the tests
40770         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
40771         Reported by Simon Josefsson.
40772
40773 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40774
40775         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
40776
40777 2008-12-06  Bruno Haible  <bruno@clisp.org>
40778
40779         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
40780         Suggested by Eric Blake.
40781
40782 2008-12-06  Bruno Haible  <bruno@clisp.org>
40783
40784         Fix a c-stack test failure on MacOS X.
40785         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
40786         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
40787         handler for SIGBUS as well.
40788         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
40789         install a signal handler for SIGBUS as well.
40790         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
40791
40792 2008-12-06  Bruno Haible  <bruno@clisp.org>
40793
40794         Advocacy documentation.
40795         * doc/gnulib-intro.texi (Benefits): New section.
40796         * doc/gnulib.texi: Update.
40797
40798 2008-12-06  Bruno Haible  <bruno@clisp.org>
40799
40800         Document the 'manywarnings' module.
40801         * doc/manywarnings.texi: New file.
40802         * doc/gnulib.texi: Include it.
40803
40804 2008-12-05  Eric Blake  <ebb9@byu.net>
40805
40806         tests: silence some gcc warnings
40807         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
40808         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
40809         type mismatches.
40810
40811 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40812             Bruno Haible  <bruno@clisp.org>
40813
40814         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
40815
40816 2008-11-29  Jim Meyering  <meyering@redhat.com>
40817
40818         unicodeio.c: mark unused parameters
40819         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
40820         (fallback_failure_callback): Likewise.
40821
40822         fts: fix a thinko
40823         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
40824         (set_stat_type): Return S_IF*-valued "type" directly.
40825         Prompted by James Youngman's spotting a related bug.
40826         Confirmed by further testing through find.
40827
40828         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
40829         * lib/fts.c (D_TYPE): Define.
40830         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
40831         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
40832         (s_ifmt_shift_bits): New function.
40833         (set_stat_type): New function.
40834         (fts_build): When not calling fts_stat, call set_stat_type
40835         to propagate dirent.d_type info to fts_read caller.
40836         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
40837         fts_statp->st_mode type information may be valid.
40838
40839 2008-11-28  Simon Josefsson  <simon@josefsson.org>
40840
40841         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
40842         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
40843         <sds@gnu.org>.
40844
40845 2008-11-20  Bruno Haible  <bruno@clisp.org>
40846
40847         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
40848         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
40849         INCLUDE_NEXT.
40850         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
40851         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
40852         * modules/math (Makefile.am): Substitute
40853         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
40854         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40855
40856 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
40857             Bruno Haible  <bruno@clisp.org>
40858
40859         * lib/stdint.in.h: Define all type macros so that their expansion is
40860         a single typedef'ed token. Fixes a compilation failure in Boost which
40861         does "using ::int8_t;".
40862
40863 2008-11-18  Simon Josefsson  <simon@josefsson.org>
40864
40865         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
40866         gl_MANYWARN_ALL_GCC.
40867         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
40868         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
40869         * modules/manywarnings: New file.
40870         * MODULES.html.sh: Mention manywarnings module.
40871
40872 2008-11-18  Bruno Haible  <bruno@clisp.org>
40873
40874         * doc/gnulib-tool.texi (Unit tests): New section.
40875
40876 2008-11-18  Simon Josefsson  <simon@josefsson.org>
40877
40878         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
40879         paths like 'lib/po/foo.po'.
40880
40881 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40882
40883         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
40884         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
40885
40886 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40887
40888         * m4/warnings.m4: Use CPPFLAGS to really check whether the
40889         parameter works.
40890
40891 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40892
40893         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
40894
40895 2008-11-17  Bruce Korb  <bkorb@gnu.org>
40896
40897         * modules/parse-duration-tests: New file.
40898         * tests/test-parse-duration.sh: New file.
40899         * tests/test-parse-duration.c: New file.
40900
40901         New module 'parse-duration'.
40902         * lib/parse-duration.h: New file.
40903         * lib/parse-duration.c: New file.
40904         * modules/parse-duration: New file.
40905
40906 2008-11-17  Bruno Haible  <bruno@clisp.org>
40907
40908         * tests/test-select-out.sh: Comment out the first pipe test.
40909         Reported by Simon Josefsson.
40910
40911 2008-11-17  Bruno Haible  <bruno@clisp.org>
40912
40913         * modules/getaddrinfo (Depends-on): Add servent, hostent.
40914         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
40915         gl_HOSTENT.
40916
40917 2008-11-17  Bruno Haible  <bruno@clisp.org>
40918
40919         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
40920         -lnetwork and -lnet. Needed for Haiku and BeOS.
40921
40922 2008-11-16  Bruno Haible  <bruno@clisp.org>
40923
40924         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
40925
40926 2008-11-16  Bruno Haible  <bruno@clisp.org>
40927
40928         Avoid test failure on Haiku.
40929         * tests/test-fsync.c: Include <errno.h>.
40930         (main): Don't require that fsync (0) fails.
40931
40932 2008-11-15  Bruno Haible  <bruno@clisp.org>
40933
40934         New module 'hostent'.
40935         * modules/hostent: New file.
40936         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
40937
40938 2008-11-15  Bruno Haible  <bruno@clisp.org>
40939
40940         New module 'servent'.
40941         * modules/servent: New file.
40942         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
40943
40944 2008-11-15  Bruno Haible  <bruno@clisp.org>
40945
40946         Avoid generating same test program with two different rules.
40947         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
40948         test-frexp to test-frexp-nolibm.
40949         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
40950         test-frexpl to test-frexpl-nolibm.
40951
40952 2008-11-15  Bruno Haible  <bruno@clisp.org>
40953
40954         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
40955         $(FREXPL_LIBM).
40956
40957 2008-11-15  Bruno Haible  <bruno@clisp.org>
40958
40959         * lib/netdb.in.h: Activate the definitions also when the system's
40960         <netdb.h> has 'struct addrinfo'.
40961         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
40962         EAI_OVERFLOW or AI_NUMERICSERV.
40963         * doc/posix-headers/netdb.texi: Document the problem.
40964
40965 2008-11-15  Bruno Haible  <bruno@clisp.org>
40966
40967         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
40968
40969         Make the 'sched' module work on platforms where <sched.h> exists but
40970         is incomplete (such as Haiku).
40971         * lib/sched.in.h; Include the system's <sched.h> if it exists.
40972         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
40973         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
40974         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
40975         HAVE_STRUCT_SCHED_PARAM.
40976         * modules/sched (Depends-on): Add include_next.
40977         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
40978         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
40979         * doc/posix-headers/sched.texi: Document the issue.
40980
40981 2008-11-13  Jim Meyering  <meyering@redhat.com>
40982
40983         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
40984         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
40985         test would fail due to the difference in the Report bugs to ...
40986         line.  The expected address is empty, "<>", while the actual
40987         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
40988
40989 2008-11-12  Bruno Haible  <bruno@clisp.org>
40990
40991         lstat: don't compile lstat.c on systems lacking lstat
40992         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
40993         which don't have lstat; this is handled by lib/sys_stat.in.h already.
40994         Reported by Daniel P. Berrange via Jim Meyering.
40995
40996 2008-11-12  Jim Meyering  <meyering@redhat.com>
40997
40998         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
40999
41000 2008-11-12  Simon Josefsson  <simon@josefsson.org>
41001
41002         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
41003         instead.
41004
41005 2008-11-12  Bruno Haible  <bruno@clisp.org>
41006
41007         * lib/unicodeio.c: Include unistr.h.
41008         (utf8_wctomb): Remove function.
41009         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
41010
41011 2008-11-12  Simon Josefsson  <simon@josefsson.org>
41012
41013         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
41014         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
41015         <bruno@clisp.org>.
41016         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
41017
41018 2008-11-12  Simon Josefsson  <simon@josefsson.org>
41019
41020         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
41021         * doc/gnulib.texi: Add section for warnings.
41022
41023 2008-11-11  Bruno Haible  <bruno@clisp.org>
41024
41025         * lib/sockets.h: Add a comment.
41026
41027 2008-11-11  Karl Berry  <karl@gnu.org>
41028
41029         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
41030
41031 2008-11-11  Eric Blake  <ebb9@byu.net>
41032
41033         fdl.texi: avoid git symlinks
41034         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
41035
41036 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
41037
41038         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
41039
41040 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
41041
41042         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
41043         (gl_WARN_ADD): Substitute $2 if literal.
41044
41045 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
41046
41047         * m4/warning.m4: Remove.
41048
41049 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
41050
41051         * m4/warnings.m4: Almost complete rewrite. :-)
41052
41053 2008-11-10  Simon Josefsson  <simon@josefsson.org>
41054
41055         * modules/warnings: New module.
41056         * m4/warnings.m4: New file.
41057         * MODULES.html.sh: Mention warnings module.
41058         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
41059         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41060
41061 2008-11-10  Eric Blake  <ebb9@byu.net>
41062
41063         fdl.texi: make a symlink to the latest version
41064         * doc/standards.texi: Revert today's earlier change.
41065         * doc/fdl-1.2.texi: Rename from old fdl.texi...
41066         * doc/fdl.texi: ...and replace this with a symlink to the newer
41067         fdl-1.3.texi.
41068
41069 2008-11-10  Bruno Haible  <bruno@clisp.org>
41070
41071         * tests/test-select-fd.c (main): Accept the result file name as fourth
41072         argument.
41073         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
41074         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
41075
41076 2008-11-10  Bruno Haible  <bruno@clisp.org>
41077
41078         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
41079         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
41080         as autoconf-substituted macros.
41081         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
41082         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
41083         gl_NETDB_H_DEFAULTS. Set these variables.
41084         * modules/netdb (Makefile.am): Substitute these variables.
41085
41086 2008-11-10  Eric Blake  <ebb9@byu.net>
41087
41088         standards.texi: include correct file for FDL 1.3
41089         * doc/standards.texi (GNU Free Documentation License): Change
41090         include file to pull in FDL 1.3, not 1.2.
41091
41092         fdl.texi: revert accidental change to license
41093         * doc/fdl.texi: This is FDL 1.2, not 1.3.
41094
41095 2008-11-10  Bruno Haible  <bruno@clisp.org>
41096
41097         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
41098         cross-compiling guesses also when the native compile gives no result.
41099
41100 2008-11-10  Bruno Haible  <bruno@clisp.org>
41101
41102         * lib/spawni.c (__spawni): Force variable into the stack.
41103
41104 2008-11-10  Bruno Haible  <bruno@clisp.org>
41105
41106         Add support for Haiku.
41107         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
41108         glibc and BeOS, but also on Haiku.
41109         * lib/fpurge.c (fpurge): Likewise.
41110         * lib/freadable.c (freadable): Likewise.
41111         * lib/freadahead.c (freadahead): Likewise.
41112         * lib/freading.c (freading): Likewise.
41113         * lib/freadptr.c (freadptr): Likewise.
41114         * lib/freadseek.c (freadptrinc): Likewise.
41115         * lib/fseeko.c (rpl_fseeko): Likewise.
41116         * lib/fseterr.c (fseterr): Likewise.
41117         * lib/fwritable.c (fwritable): Likewise.
41118         * lib/fwriting.c (fwriting): Likewise.
41119         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
41120
41121 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
41122
41123         * lib/config.charset: Treat Haiku like BeOS.
41124
41125 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
41126
41127         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
41128         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
41129
41130 2008-11-08  Bruno Haible  <bruno@clisp.org>
41131
41132         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
41133         AC_CACHE_CHECK.
41134
41135 2008-11-08  Bruno Haible  <bruno@clisp.org>
41136
41137         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
41138
41139 2008-11-08  Bruno Haible  <bruno@clisp.org>
41140
41141         * tests/test-select-fd.c: New file.
41142         * tests/test-select-in.sh: New file.
41143         * tests/test-select-out.sh: New file.
41144         * tests/test-select-stdin.c: New file.
41145         * modules/select-tests (Files): Add the new files.
41146         (Depends-on): Add gettimeofday.
41147         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
41148         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
41149         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
41150
41151 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
41152             Bruno Haible  <bruno@clisp.org>
41153
41154         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
41155
41156 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
41157
41158         * build-aux/pmccabe2html: Added support for C++ source files.
41159
41160 2008-11-05  Ben Pfaff  <blp@gnu.org>
41161
41162         Fix lib/close.c build on Windows.
41163         * modules/close (Files): Add lib/w32sock.h.
41164
41165 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
41166
41167         Accept Bison's NEWS format.
41168         * build-aux/announce-gen (print_news_deltas): Tweak
41169         $re_prefix.
41170
41171 2008-11-04  Bruno Haible  <bruno@clisp.org>
41172
41173         * modules/random_r (Maintainer): Add glibc.
41174
41175 2008-11-04  Simon Josefsson  <simon@josefsson.org>
41176
41177         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
41178         by karl@freefriends.org (Karl Berry).
41179         * doc/alloca.texi: Likewise.
41180         * doc/c-ctype.texi: Likewise.
41181         * doc/c-strcase.texi: Likewise.
41182         * doc/c-strcaseeq.texi: Likewise.
41183         * doc/c-strcasestr.texi: Likewise.
41184         * doc/c-strstr.texi: Likewise.
41185         * doc/c-strtod.texi: Likewise.
41186         * doc/c-strtold.texi: Likewise.
41187         * doc/ctime.texi: Likewise.
41188         * doc/error.texi: Likewise.
41189         * doc/fdl.texi: Likewise.
41190         * doc/gcd.texi: Likewise.
41191         * doc/getdate.texi: Likewise.
41192         * doc/gnulib-intro.texi: Likewise.
41193         * doc/gnulib-tool.texi: Likewise.
41194         * doc/gnulib.texi: Likewise.
41195         * doc/inet_ntoa.texi: Likewise.
41196         * doc/maintain.texi: Likewise.
41197         * doc/make-stds.texi: Likewise.
41198         * doc/quote.texi: Likewise.
41199         * doc/regexprops-generic.texi: Likewise.
41200         * doc/standards.texi: Likewise.
41201         * doc/verify.texi: Likewise.
41202         * doc/visibility.texi: Likewise.
41203         * doc/gnulib.texi (GNU Free Documentation License): Include
41204         fdl-1.3.texi instead of fdl.texi.
41205
41206 2008-11-04  Simon Josefsson  <simon@josefsson.org>
41207
41208         * doc/fdl-1.3.texi: New file, from
41209         <http://www.gnu.org/licenses/fdl-1.3.texi>.
41210         * modules/fdl-1.3: Add.
41211         * MODULES.html.sh: Add fdl-1.3.
41212
41213 2008-11-03  Bruno Haible  <bruno@clisp.org>
41214
41215         Make determination of absolute name of header file work with AIX xlc.
41216         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
41217         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
41218         preprocessing.
41219         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41220         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
41221
41222 2008-11-03  Simon Josefsson  <simon@josefsson.org>
41223
41224         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
41225         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
41226         <ludo@gnu.org>.
41227
41228 2008-11-02  Bruno Haible  <bruno@clisp.org>
41229
41230         Mark 'strpbrk' obsolete.
41231         * modules/strpbrk (Status, Notice): New sections.
41232         * modules/strtok_r (Depends-on): Add strpbrk.
41233
41234 2008-11-02  Bruno Haible  <bruno@clisp.org>
41235
41236         Mark 'strdup' obsolete.
41237         * modules/strdup (Status, Notice): New sections.
41238         * modules/findprog (Depends-on): Add strdup.
41239         * modules/getaddrinfo (Depends-on): Likewise.
41240         * modules/localename (Depends-on): Likewise.
41241         * modules/relocatable-lib (Depends-on): Likewise.
41242         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
41243         * modules/relocatable-prog (Depends-on): Likewise.
41244         * modules/trim (Depends-on): Likewise.
41245         * modules/unictype/gen-ctype (Depends-on): Likewise.
41246         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
41247
41248 2008-11-02  Bruno Haible  <bruno@clisp.org>
41249
41250         Mark 'strcspn' obsolete.
41251         * modules/strcspn (Status, Notice): New sections.
41252
41253 2008-11-02  Bruno Haible  <bruno@clisp.org>
41254
41255         Mark 'rmdir' obsolete.
41256         * modules/rmdir (Status, Notice): New sections.
41257         * modules/clean-temp (Depends-on): Add rmdir.
41258         * modules/openat (Depends-on): Likewise.
41259
41260 2008-11-02  Bruno Haible  <bruno@clisp.org>
41261
41262         Mark 'raise' obsolete.
41263         * modules/raise (Status, Notice): New sections.
41264         (Include): Specify <signal.h>.
41265         * modules/stdio (Depends-on): Add raise.
41266         * modules/write (Depends-on): Likewise.
41267
41268 2008-11-02  Bruno Haible  <bruno@clisp.org>
41269
41270         Mark 'memset' obsolete.
41271         * modules/memset (Status, Notice): New sections.
41272
41273 2008-11-02  Bruno Haible  <bruno@clisp.org>
41274
41275         Mark 'memmove' obsolete.
41276         * modules/memmove (Status, Notice): New sections.
41277         * modules/argp (Depends-on): Add memmove.
41278         * modules/argz (Depends-on): Likewise.
41279         * modules/canonicalize (Depends-on): Likewise.
41280         * modules/canonicalize-lgpl (Depends-on): Likewise.
41281         * modules/fts (Depends-on): Likewise.
41282         * modules/getcwd (Depends-on): Likewise.
41283         * modules/human (Depends-on): Likewise.
41284         * modules/regex (Depends-on): Likewise.
41285         * modules/striconveh (Depends-on): Likewise.
41286         * modules/trim (Depends-on): Likewise.
41287         * modules/unistr/u8-move (Depends-on): Likewise.
41288         * modules/unistr/u16-move (Depends-on): Likewise.
41289         * modules/unistr/u32-move (Depends-on): Likewise.
41290
41291 2008-11-02  Bruno Haible  <bruno@clisp.org>
41292
41293         Mark 'memcpy' obsolete.
41294         * modules/memcpy (Status, Notice): New sections.
41295
41296 2008-11-02  Bruno Haible  <bruno@clisp.org>
41297
41298         Mark 'memcmp' obsolete.
41299         * modules/memcmp (Status, Notice): New sections.
41300         * modules/argmatch (Depends-on): Add memchr.
41301         * modules/backupfile (Depends-on): Likewise.
41302         * modules/c-strcasestr (Depends-on): Likewise.
41303         * modules/crypto/des (Depends-on): Likewise.
41304         * modules/csharpcomp (Depends-on): Likewise.
41305         * modules/fnmatch (Depends-on): Likewise.
41306         * modules/git-merge-changelog (Depends-on): Likewise.
41307         * modules/isnand (Depends-on): Likewise.
41308         * modules/isnand-nolibm (Depends-on): Likewise.
41309         * modules/isnanf (Depends-on): Likewise.
41310         * modules/isnanf-nolibm (Depends-on): Likewise.
41311         * modules/isnanl (Depends-on): Likewise.
41312         * modules/isnanl-nolibm (Depends-on): Likewise.
41313         * modules/mbchar (Depends-on): Likewise.
41314         * modules/memcoll (Depends-on): Likewise.
41315         * modules/quotearg (Depends-on): Likewise.
41316         * modules/regex (Depends-on): Likewise.
41317         * modules/relocatable-prog (Depends-on): Likewise.
41318         * modules/same (Depends-on): Likewise.
41319         * modules/signbit (Depends-on): Likewise.
41320         * modules/strcasestr-simple (Depends-on): Likewise.
41321         * modules/unictype/gen-ctype (Depends-on): Likewise.
41322         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
41323         * modules/uniname/uniname (Depends-on): Likewise.
41324         * modules/unistr/u8-cmp (Depends-on): Likewise.
41325
41326 2008-11-02  Bruno Haible  <bruno@clisp.org>
41327
41328         Mark 'memchr' obsolete.
41329         * modules/memchr (Status, Notice): New sections.
41330         * modules/argp (Depends-on): Add memchr.
41331         * modules/base64 (Depends-on): Likewise.
41332         * modules/c-strcasestr (Depends-on): Likewise.
41333         * modules/chdir-long (Depends-on): Likewise.
41334         * modules/fnmatch (Depends-on): Likewise.
41335         * modules/getsubopt (Depends-on): Likewise.
41336         * modules/git-merge-changelog (Depends-on): Likewise.
41337         * modules/glob (Depends-on): Likewise.
41338         * modules/strcasestr-simple (Depends-on): Likewise.
41339         * modules/strnlen (Depends-on): Likewise.
41340
41341 2008-11-02  Bruno Haible  <bruno@clisp.org>
41342
41343         Mark 'atexit' obsolete.
41344         * modules/atexit (Status, Notice): New sections.
41345         * modules/chdir-long (Depends-on): Add atexit.
41346         * modules/wait-process (Depends-on): Likewise.
41347
41348 2008-11-02  Bruno Haible  <bruno@clisp.org>
41349
41350         * gnulib-tool: New option --with-obsolete.
41351         (func_usage): Document it.
41352         (func_modules_transitive_closure): Drop obsolete dependencies if
41353         incobsolete is not true.
41354         (func_import): Read and save the incobsolete variable to the cache.
41355
41356 2008-11-02  Bruno Haible  <bruno@clisp.org>
41357
41358         * modules/TEMPLATE-EXTENDED: New field 'Status'.
41359         * gnulib-tool: New option --extract-status.
41360         (func_usage): Document it.
41361         (sed_extract_prog): Recognize it.
41362         (func_get_status): New function.
41363
41364 2008-10-30  Simon Josefsson  <simon@josefsson.org>
41365
41366         * modules/sockets (License): Change from LGPL to LGPLv2+.
41367
41368 2008-10-28  Simon Josefsson  <simon@josefsson.org>
41369
41370         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
41371
41372 2008-10-28  Simon Josefsson  <simon@josefsson.org>
41373
41374         * MODULES.html.sh (Support for systems lacking POSIX:2001):
41375         Mention times and sys_times.
41376         * modules/sys_times, modules/sys_times-tests: New modules.
41377         * modules/times, modules/times-tests: Likewise
41378         * m4/sys_times_h.m4: New file.
41379         * lib/sys_times.in.h: Likewise
41380         * lib/times.c: Likewise.
41381         * tests/test-sys_times.c: Likewise.
41382         * tests/test-times.c: Likewise.
41383         * doc/posix-headers/sys_times.texi: Update.
41384         * doc/posix-functions/times.texi: Update.
41385
41386 2008-10-28  Jim Meyering  <meyering@redhat.com>
41387
41388         * modules/tempname (Depends-on): Add lstat.
41389
41390         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
41391
41392 2008-10-28  Simon Josefsson  <simon@josefsson.org>
41393
41394         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
41395         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
41396         using idiom used elsewhere in gnulib.
41397
41398 2008-10-27  Jim Meyering  <meyering@redhat.com>
41399
41400         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
41401
41402 2008-10-27  Simon Josefsson  <simon@josefsson.org>
41403
41404         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
41405         TESTS_ENVIRONMENT, for shell scripts that needs to call built
41406         programs.
41407         * tests/test-argp-2.sh: Use $EXEEXT when needed.
41408
41409 2008-10-27  Simon Josefsson  <simon@josefsson.org>
41410
41411         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
41412
41413 2008-10-27  Bruno Haible  <bruno@clisp.org>
41414
41415         * tests/test-lstat.c: Include <stdio.h>.
41416
41417 2008-10-27  Simon Josefsson  <simon@josefsson.org>
41418
41419         * modules/lstat-tests: New module.
41420         * tests/test-lstat.c: New file.
41421
41422 2008-10-26  Jim Meyering  <meyering@redhat.com>
41423
41424         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
41425
41426 2008-10-26  Simon Josefsson  <simon@josefsson.org>
41427             Bruno Haible  <bruno@clisp.org>
41428
41429         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
41430         * modules/configmake (Include): Add a note that the include must come
41431         after all system headers.
41432         * lib/javaversion.c: Include configmake.h after all other includes.
41433
41434 2008-10-26  Bruno Haible  <bruno@clisp.org>
41435
41436         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
41437         HAVE_STRUCT_RANDOM_DATA to 1.
41438         (gl_STDLIB_H): Simplify.
41439
41440 2008-10-26  Simon Josefsson  <simon@josefsson.org>
41441
41442         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
41443         substitute HAVE_STRUCT_RANDOM_DATA.
41444         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
41445         random_data.
41446         * modules/stdlib (Makefile.am): Substitute
41447         HAVE_STRUCT_RANDOM_DATA.
41448
41449 2008-10-26  Simon Josefsson  <simon@josefsson.org>
41450
41451         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
41452         * doc/gnulib-intro.texi (Copyright): Likewise.
41453
41454 2008-10-26  Simon Josefsson  <simon@josefsson.org>
41455
41456         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
41457         findings.
41458
41459 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
41460             Bruno Haible  <bruno@clisp.org>
41461
41462         * lib/unistd.in.h: Include <winsock2.h>.
41463         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
41464         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
41465         Provide dummy declarations.
41466         (gethostname): Override.
41467         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
41468         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
41469         gl_PREREQ_SYS_H_WINSOCK2.
41470         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
41471         * doc/posix-functions/gethostname.texi: More details.
41472
41473 2008-10-25  Bruno Haible  <bruno@clisp.org>
41474
41475         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
41476         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
41477         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
41478
41479         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
41480         here ...
41481         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
41482         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
41483         gl_UNISTD_H_DEFAULTS.
41484
41485 2008-10-25  Eric Blake  <ebb9@byu.net>
41486
41487         signbit: avoid spurious compiler failure
41488         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
41489         declarations inside function.
41490
41491 2008-10-24  Simon Josefsson  <simon@josefsson.org>
41492             Bruno Haible  <bruno@clisp.org>
41493
41494         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
41495         * modules/random_r (Depends-on): Add stdint.
41496
41497 2008-10-24  Bruno Haible  <bruno@clisp.org>
41498
41499         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
41500         Eggert.
41501         * modules/strerror (License): Likewise.
41502
41503 2008-10-24  Jim Meyering  <meyering@redhat.com>
41504
41505         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
41506         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
41507
41508 2008-10-24  Eric Blake  <ebb9@byu.net>
41509
41510         getgroups: fix compilation when getgroups is available
41511         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
41512         but with <config.h> override of getgroups disabled.
41513
41514 2008-10-24  Simon Josefsson  <simon@josefsson.org>
41515
41516         * doc/gnulib.texi (Header files): Add note about C++ problems.
41517         Explained by Bruno Haible <bruno@clisp.org>.
41518
41519 2008-10-23  Bruno Haible  <bruno@clisp.org>
41520
41521         Define a dummy SA_NODEFER macro on Interix.
41522         * lib/signal.in.h (SA_NODEFER): Define fallback.
41523         Reported by Aleksey Cheusov <cheusov@tut.by> via
41524         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
41525
41526 2008-10-23  Bruno Haible  <bruno@clisp.org>
41527
41528         * modules/freadahead (License): Change to LGPLv2+.
41529         Suggested by Simon Josefsson.
41530
41531 2008-10-23  Jim Meyering  <meyering@redhat.com>
41532
41533         random_r: new module
41534         * modules/random_r: New file.
41535         * m4/random_r.m4: New file.
41536         * lib/random_r.c: New file, from glibc.
41537         * modules/random_r-tests: New file.
41538         * tests/test-random_r.c: New file.
41539         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
41540          Declare.
41541         (RAND_MAX): Define.
41542         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
41543         * modules/stdlib: Substitute them, too.
41544         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
41545         * doc/glibc-functions/initstate_r.texi: Mention the new module.
41546         * doc/glibc-functions/random_r.texi: Likewise.
41547         * doc/glibc-functions/setstate_r.texi: Likewise.
41548         * doc/glibc-functions/srandom_r.texi: Likewise.
41549         * config/srclist.txt: Mention it.
41550
41551 2008-10-23  David Lutterkort  <lutter@redhat.com>
41552
41553         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
41554         link requirement
41555
41556 2008-10-23  Jim Meyering  <meyering@redhat.com>
41557
41558         selinux-h: mark parameters of stub functions as intentionally unused
41559         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
41560         * lib/se-context.in.h: Likewise.
41561
41562 2008-10-22  Simon Josefsson  <simon@josefsson.org>
41563
41564         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
41565
41566 2008-10-22  Simon Josefsson  <simon@josefsson.org>
41567
41568         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
41569
41570 2008-10-22  Eric Blake  <ebb9@byu.net>
41571
41572         glthread/thread: avoid compiler warning
41573         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
41574         Add unreachable abort to silence compiler.
41575
41576 2008-10-22  Eric Blake  <ebb9@byu.net>
41577
41578         netdb: also supply struct addrinfo for cygwin 1.5.x
41579         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
41580         older cygwin.
41581         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
41582         cygwin.
41583         * doc/posix-headers/netdb.texi (netdb.h): Document this.
41584
41585 2008-10-22  Bruno Haible  <bruno@clisp.org>
41586
41587         * users.txt: Update entry about pspp.
41588
41589 2008-10-21  Bruno Haible  <bruno@clisp.org>
41590
41591         Simplification.
41592         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
41593         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
41594
41595         Simplification.
41596         * lib/ioctl.c (ioctl): Don't undefine.
41597         * lib/socket.c (socket): Don't undefine.
41598
41599         Remove unused module indicator macros.
41600         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
41601         GNULIB_$1 as a C macro.
41602
41603         * doc/posix-functions/close.texi: Undo last change.
41604         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
41605         Windows platforms.
41606
41607 2008-10-21  Bruno Haible  <bruno@clisp.org>
41608
41609         Add gethostname() declaration to <unistd.h>.
41610         * lib/unistd.in.h (gethostname): New declaration.
41611         * lib/gethostname.c: Include <unistd.h>.
41612         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
41613         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
41614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
41615         and HAVE_GETHOSTNAME.
41616         * modules/gethostname (Depends-on): Add unistd.
41617         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41618         (Include): Specify <unistd.h>.
41619         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
41620         HAVE_GETHOSTNAME.
41621         * tests/test-gethostname.c: Include <unistd.h> first.
41622
41623 2008-10-21  Bruno Haible  <bruno@clisp.org>
41624
41625         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
41626         * modules/select-tests (Depends-on): Likewise.
41627         Reported by Simon Josefsson.
41628
41629 2008-10-21  Simon Josefsson  <simon@josefsson.org>
41630
41631         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
41632         * lib/accept.c: New file, based on winsock.c.
41633         * lib/bind.c: New file, based on winsock.c.
41634         * lib/connect.c: New file, based on winsock.c.
41635         * lib/getpeername.c: New file, based on winsock.c.
41636         * lib/getsockname.c: New file, based on winsock.c.
41637         * lib/getsockopt.c: New file, based on winsock.c.
41638         * lib/ioctl.c: New file, based on winsock.c.
41639         * lib/listen.c: New file, based on winsock.c.
41640         * lib/recv.c: New file, based on winsock.c.
41641         * lib/recvfrom.c: New file, based on winsock.c.
41642         * lib/send.c: New file, based on winsock.c.
41643         * lib/sendto.c: New file, based on winsock.c.
41644         * lib/setsockopt.c: New file, based on winsock.c.
41645         * lib/shutdown.c: New file, based on winsock.c.
41646         * lib/socket.c: New file, based on winsock.c.
41647         * lib/w32sock.h: New file, based on winsock.c.
41648         * lib/winsock.c: Remove file.
41649         * modules/accept: Likewise.
41650         * modules/bind: Likewise.
41651         * modules/connect: Likewise.
41652         * modules/getpeername: Likewise.
41653         * modules/getsockname: Likewise.
41654         * modules/getsockopt: Likewise.
41655         * modules/ioctl: Likewise.
41656         * modules/listen: Likewise.
41657         * modules/recv: Likewise.
41658         * modules/recvfrom: Likewise.
41659         * modules/send: Likewise.
41660         * modules/sendto: Likewise.
41661         * modules/setsockopt: Likewise.
41662         * modules/shutdown: Likewise.
41663         * modules/socket: Use socket.c instead of winsock.c.
41664         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
41665         * doc/posix-functions/accept.texi: Doc fix.
41666         * doc/posix-functions/bind.texi: Doc fix.
41667         * doc/posix-functions/close.texi: Doc fix.
41668         * doc/posix-functions/connect.texi: Doc fix.
41669         * doc/posix-functions/getpeername.texi: Doc fix.
41670         * doc/posix-functions/getsockname.texi: Doc fix.
41671         * doc/posix-functions/getsockopt.texi: Doc fix.
41672         * doc/posix-functions/ioctl.texi: Doc fix.
41673         * doc/posix-functions/listen.texi: Doc fix.
41674         * doc/posix-functions/recv.texi: Doc fix.
41675         * doc/posix-functions/recvfrom.texi: Doc fix.
41676         * doc/posix-functions/send.texi: Doc fix.
41677         * doc/posix-functions/sendto.texi: Doc fix.
41678         * doc/posix-functions/setsockopt.texi: Doc fix.
41679         * doc/posix-functions/shutdown.texi: Doc fix.
41680         * doc/posix-functions/socket.texi: Doc fix.
41681
41682 2008-10-20  Bruno Haible  <bruno@clisp.org>
41683
41684         Take into account the role of SIGABRT_COMPAT on Windows 2008.
41685         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
41686         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
41687         as an alias for SIGABRT.
41688         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
41689         (sigaction): Map it to SIGABRT.
41690         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
41691
41692 2008-10-20  Bruno Haible  <bruno@clisp.org>
41693
41694         * lib/fts.c: Don't include lstat.h.
41695         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
41696
41697         Move the lstat() declaration to <sys/stat.h>.
41698         * lib/lstat.h: Remove file.
41699         * lib/sys_stat.in.h: Add special invocation convention.
41700         (lstat): New declaration.
41701         * lib/lstat.c (orig_lstat): New function.
41702         (rpl_lstat): Use orig_lstat instead of lstat.
41703         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
41704         AC_C_INLINE. Set REPLACE_LSTAT.
41705         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
41706         and REPLACE_LSTAT.
41707         * modules/lstat (Files): Remove lib/lstat.h.
41708         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
41709         (Include): Specify <sys/stat.h> instead of lstat.h.
41710         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
41711         REPLACE_LSTAT.
41712         * NEWS: Mention the change.
41713
41714 2008-10-20  Bruno Haible  <bruno@clisp.org>
41715
41716         * modules/posix_spawn-tests: New file.
41717         * tests/test-posix_spawn3.c: New file.
41718
41719 2008-10-20  Bruno Haible  <bruno@clisp.org>
41720
41721         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
41722         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
41723         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
41724         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
41725         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
41726
41727 2008-10-20  Bruno Haible  <bruno@clisp.org>
41728
41729         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
41730         of posix_spawn on AIX 5.3.
41731
41732 2008-10-20  Bruno Haible  <bruno@clisp.org>
41733
41734         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
41735
41736 2008-10-20  Bruno Haible  <bruno@clisp.org>
41737
41738         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
41739         of AC_LANG_PROGRAM.
41740
41741 2008-10-20  Simon Josefsson  <simon@josefsson.org>
41742
41743         * lib/netdb.in.h: Don't define GNU specific constants until they
41744         are supported or needed.  Reported by Bruno Haible
41745         <bruno@clisp.org>.
41746
41747 2008-10-20  Simon Josefsson  <simon@josefsson.org>
41748
41749         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
41750
41751 2008-10-20  Simon Josefsson  <simon@josefsson.org>
41752
41753         * lib/getaddrinfo.h: Remove file.
41754         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
41755         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
41756         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
41757         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
41758         * modules/netdb: Substitute GNULIB_GETADDRINFO.
41759         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
41760         * tests/test-getaddrinfo.c: Likewise.
41761         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
41762         * NEWS: Mention change.
41763
41764 2008-10-19  Bruno Haible  <bruno@clisp.org>
41765
41766         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
41767
41768 2008-10-19  Bruno Haible  <bruno@clisp.org>
41769
41770         * lib/wait-process.c: Include simply <sys/wait.h>.
41771         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
41772         WIFSTOPPED): Remove fallback definitions.
41773         * modules/wait-process (Depends-on): Add sys_wait.
41774
41775         New module 'sys_wait'.
41776         * modules/sys_wait: New file.
41777         * lib/sys_wait.in.h: New file, partially copied from
41778         lib/wait-process.c.
41779         * m4/sys_wait_h.m4: New file.
41780         * doc/posix-headers/sys_wait.texi: Mention the new module.
41781
41782 2008-10-19  Bruno Haible  <bruno@clisp.org>
41783
41784         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
41785
41786 2008-10-19  Bruno Haible  <bruno@clisp.org>
41787
41788         Assume that waitpid() fills an 'int' status, not a 'union wait'.
41789         * lib/wait-process.c (WAIT_T): Remove type.
41790         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
41791         (wait_subprocess): Update.
41792
41793 2008-10-19  Bruno Haible  <bruno@clisp.org>
41794
41795         New module 'atoll'.
41796         * modules/atoll: New file.
41797         * lib/stdlib.in.h (atoll): New declaration.
41798         * lib/atoll.c: New file, from glibc with modifications.
41799         * m4/atoll.m4: New file.
41800         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
41801         HAVE_ATOLL.
41802         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
41803         * doc/posix-functions/atoll.texi: Mention the new module.
41804
41805 2008-10-19  Bruno Haible  <bruno@clisp.org>
41806
41807         Add strtoull() declaration to <stdlib.h>.
41808         * lib/stdlib.in.h (strtoull): New declaration.
41809         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
41810         Set HAVE_STRTOULL.
41811         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
41812         HAVE_STRTOULL.
41813         * modules/strtoull (Depends-on): Add stdlib.
41814         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41815         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
41816         HAVE_STRTOULL.
41817
41818 2008-10-19  Bruno Haible  <bruno@clisp.org>
41819
41820         Add strtoll() declaration to <stdlib.h>.
41821         * lib/stdlib.in.h (strtoll): New declaration.
41822         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
41823         Set HAVE_STRTOLL.
41824         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
41825         HAVE_STRTOLL.
41826         * modules/strtoll (Depends-on): Add stdlib.
41827         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41828         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
41829
41830 2008-10-19  Bruno Haible  <bruno@clisp.org>
41831
41832         * modules/bcopy (Depends-on): Add strings.
41833         (Include): Specify <strings.h>.
41834
41835 2008-10-19  Bruno Haible  <bruno@clisp.org>
41836
41837         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
41838
41839 2008-10-19  Bruno Haible  <bruno@clisp.org>
41840
41841         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
41842         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
41843         mingw.
41844
41845 2008-10-19  Bruno Haible  <bruno@clisp.org>
41846
41847         * lib/atanl.c: Don't include isnanl.h.
41848         * lib/cosl.c: Likewise.
41849         * lib/ldexpl.c: Likewise.
41850         * lib/logl.c: Likewise.
41851         * lib/sinl.c: Likewise.
41852         * lib/sqrtl.c: Likewise.
41853         * lib/tanl.c: Likewise.
41854
41855         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
41856         * lib/isnanf.h: Remove file.
41857         * lib/isnand.h: Remove file.
41858         * lib/isnanl.h: Remove file.
41859         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
41860         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
41861         macros.
41862         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
41863         HAVE_ISNANF, don't define it as a C macro.
41864         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
41865         HAVE_ISNAND, don't define it as a C macro.
41866         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
41867         HAVE_ISNANL, don't define it as a C macro.
41868         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
41869         HAVE_ISNAN[FDL].
41870         * modules/isnanf (Files): Remove lib/isnanf.h.
41871         (Depends-on): Add math.
41872         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41873         (Include): Specify <math.h> instead of isnanf.h.
41874         * modules/isnand (Files): Remove lib/isnand.h.
41875         (Depends-on): Add math.
41876         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41877         (Include): Specify <math.h> instead of isnand.h.
41878         * modules/isnanl (Files): Remove lib/isnanl.h.
41879         (Depends-on): Add math.
41880         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41881         (Include): Specify <math.h> instead of isnanl.h.
41882         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
41883         HAVE_ISNAN[FDL].
41884         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
41885         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
41886         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
41887         * NEWS: Mention the change.
41888
41889 2008-10-18  Bruno Haible  <bruno@clisp.org>
41890
41891         Add getusershell(), setusershell(), endusershell() declarations to
41892         <unistd.h>.
41893         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
41894         declarations.
41895         * lib/getusershell.c: Include unistd.h.
41896         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
41897         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
41898         HAVE_GETUSERSHELL.
41899         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
41900         and HAVE_GETUSERSHELL.
41901         * modules/getusershell (Depends-on): Add unistd, extensions.
41902         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41903         (Include): Specify <unistd.h>.
41904         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
41905         HAVE_GETUSERSHELL.
41906
41907 2008-10-18  Bruno Haible  <bruno@clisp.org>
41908
41909         Add a getloadavg() declaration to <stdlib.h>.
41910         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
41911         getloadavg declaration.
41912         (getloadavg): New declaration.
41913         * lib/getloadavg.c: Include <stdlib.h> first.
41914         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
41915         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
41916         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
41917         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
41918         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
41919         * modules/getloadavg (Depends-on): Add stdlib, extensions.
41920         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41921         (Include): Specify <stdlib.h>.
41922         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
41923         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
41924
41925 2008-10-18  Bruno Haible  <bruno@clisp.org>
41926
41927         * lib/dirchownmod.c: Don't include lchmod.h.
41928
41929         Move the lchmod() declaration to <sys/stat.h>.
41930         * lib/lchmod.h: Remove file.
41931         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
41932         (lchmod): New declaration, moved here from lib/lchown.h.
41933         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
41934         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
41935         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
41936         and HAVE_LCHMOD.
41937         * modules/lchmod (Files): Remove lib/lchmod.h.
41938         (Depends-on): Add sys_stat, extensions.
41939         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
41940         (Include): Specify <sys/stat.h> instead of lchmod.h.
41941         * modules/sys_stat (Depends-on): Add link-warning.
41942         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
41943         definition of GL_LINK_WARNING.
41944         * NEWS: Mention the change.
41945
41946 2008-10-18  Bruno Haible  <bruno@clisp.org>
41947
41948         * lib/fchdir.c: Don't include dirfd.h.
41949         * lib/fts.c: Likewise.
41950         * lib/getcwd.c: Likewise.
41951         * lib/glob.c: Likewise.
41952
41953         Move the dirfd() declaration to <dirent.h>.
41954         * lib/dirfd.h: Remove file.
41955         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
41956         (dirfd): New declaration.
41957         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
41958         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
41959         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
41960         HAVE_DECL_DIRFD.
41961         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
41962         HAVE_DECL_DIRFD.
41963         * modules/dirfd (Files): Remove lib/dirfd.h.
41964         (Depends-on): Add dirent, extensions.
41965         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
41966         (Include): Specify <dirent.h> instead of dirfd.h.
41967         * modules/dirent (Depends-on): Add link-warning.
41968         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
41969         definition of GL_LINK_WARNING.
41970         * NEWS: Mention the change.
41971
41972 2008-10-18  Bruno Haible  <bruno@clisp.org>
41973
41974         Move the euidaccess() declaration to <unistd.h>.
41975         * lib/euidaccess.h: Remove file.
41976         * lib/unistd.in.h (euidaccess): New declaration.
41977         * lib/euidaccess.c: Don't include euidaccess.h.
41978         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
41979         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
41980         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
41981         and HAVE_EUIDACCESS.
41982         * modules/euidaccess (Files): Remove lib/euidaccess.h.
41983         (Depends-on): Add unistd.
41984         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41985         (Include): Specify <unistd.h> instead of euidaccess.h.
41986         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
41987         HAVE_EUIDACCESS.
41988         * NEWS: Mention the change.
41989
41990 2008-10-18  Bruno Haible  <bruno@clisp.org>
41991
41992         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
41993
41994         Move the getdomainname() declaration to <unistd.h>.
41995         * lib/getdomainname.h: Remove file.
41996         * lib/unistd.in.h (getdomainname): New declaration.
41997         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
41998         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
41999         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
42000         HAVE_GETDOMAINNAME.
42001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42002         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
42003         * modules/getdomainname (Files): Remove lib/getdomainname.h.
42004         (Depends-on): Add unistd, extensions.
42005         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42006         (Includes): Specify <unistd.h> instead of getdomainname.h.
42007         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
42008         HAVE_GETDOMAINNAME.
42009         * NEWS: Mention the change.
42010
42011 2008-10-18  Bruno Haible  <bruno@clisp.org>
42012
42013         * modules/dirent: New file.
42014         * m4/dirent_h.m4: New file.
42015         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
42016         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
42017         * modules/fchdir (Files): Remove lib/dirent.in.h.
42018         (Depends-on): Add dirent.
42019         (Makefile.am): Move rules to modules/dirent.
42020         * doc/posix-headers/dirent.texi: Mention the new module.
42021
42022 2008-10-18  Bruno Haible  <bruno@clisp.org>
42023
42024         Avoid -Wunused-parameter warnings in public gnulib header files.
42025         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
42026         macro.
42027         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
42028
42029 2008-10-18  Bruno Haible  <bruno@clisp.org>
42030
42031         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
42032         * doc/glibc-functions/error.texi: Mention the module 'error'.
42033         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
42034         * doc/glibc-functions/getdomainname.texi: Mention the module
42035         'getdomainname'.
42036         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
42037         * doc/glibc-functions/getpagesize.texi: Mention the module
42038         'getpagesize'.
42039         * doc/glibc-functions/getusershell.texi: Mention the module
42040         'getusershell'.
42041         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
42042         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
42043         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
42044         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
42045         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
42046         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
42047         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
42048         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
42049         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
42050         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
42051         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
42052         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
42053         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
42054         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
42055
42056 2008-10-17  Bruno Haible  <bruno@clisp.org>
42057
42058         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
42059         HP-UX and IRIX, use -0.0L.
42060         * tests/test-ceill.c (minus_zero): Likewise.
42061         * tests/test-floorl.c (minus_zero): Likewise.
42062         * tests/test-frexpl.c (minus_zero): Likewise.
42063         * tests/test-isnan.c (minus_zerol): Likewise.
42064         * tests/test-isnanl.h (minus_zero): Likewise.
42065         * tests/test-ldexpl.c (minus_zero): Likewise.
42066         * tests/test-roundl.c (minus_zero): Likewise.
42067         * tests/test-signbit.c (minus_zerol): Likewise.
42068         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42069         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42070         * tests/test-truncl.c (minus_zero): Likewise.
42071         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42072         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42073         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
42074         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42075
42076 2008-10-17  Bruno Haible  <bruno@clisp.org>
42077
42078         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
42079         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
42080         that it gets activated only for gcc >= 3.0.
42081         * lib/dirent.in.h: Likewise.
42082         * lib/errno.in.h: Likewise.
42083         * lib/fcntl.in.h: Likewise.
42084         * lib/float.in.h: Likewise.
42085         * lib/iconv.in.h: Likewise.
42086         * lib/inttypes.in.h: Likewise.
42087         * lib/locale.in.h: Likewise.
42088         * lib/math.in.h: Likewise.
42089         * lib/netdb.in.h: Likewise.
42090         * lib/netinet_in.in.h: Likewise.
42091         * lib/search.in.h: Likewise.
42092         * lib/signal.in.h: Likewise.
42093         * lib/spawn.in.h: Likewise.
42094         * lib/stdarg.in.h: Likewise.
42095         * lib/stdint.in.h: Likewise.
42096         * lib/stdio.in.h: Likewise.
42097         * lib/stdlib.in.h: Likewise.
42098         * lib/string.in.h: Likewise.
42099         * lib/strings.in.h: Likewise.
42100         * lib/sys_file.in.h: Likewise.
42101         * lib/sys_ioctl.in.h: Likewise.
42102         * lib/sys_select.in.h: Likewise.
42103         * lib/sys_socket.in.h: Likewise.
42104         * lib/sys_stat.in.h: Likewise.
42105         * lib/sys_time.in.h: Likewise.
42106         * lib/sysexits.in.h: Likewise.
42107         * lib/time.in.h: Likewise.
42108         * lib/unistd.in.h: Likewise.
42109         * lib/wchar.in.h: Likewise.
42110         * lib/wctype.in.h: Likewise.
42111         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42112
42113 2008-10-17  Jim Meyering  <meyering@redhat.com>
42114
42115         ignore-value: don't depend on inline module
42116         * modules/ignore-value (Depends-on): Remove 'inline'.
42117         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
42118         Suggestion from Bruno Haible.
42119
42120 2008-10-17  Bruno Haible  <bruno@clisp.org>
42121
42122         New implementation of condition variables for Win32.
42123         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
42124         (gl_linked_waitqueue_t): New type.
42125         (gl_cond_t): Use it.
42126         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
42127         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
42128         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
42129         (glthread_cond_init_func, glthread_cond_wait_func,
42130         glthread_cond_timedwait_func, glthread_cond_signal_func,
42131         glthread_cond_broadcast_func, glthread_cond_destroy_func):
42132         Reimplemented on the basis of gl_linked_waitqueue_t.
42133         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
42134         gl_waitqueue_t.
42135         (gl_rwlock_t): Update.
42136         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
42137
42138 2008-10-17  Simon Josefsson  <simon@josefsson.org>
42139
42140         * modules/recvfrom (Depends-on): Add dependency on getpeername.
42141         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
42142
42143 2008-10-17  Jim Meyering  <meyering@redhat.com>
42144
42145         ignore-value: new module
42146         * modules/ignore-value: New file.
42147         * lib/ignore-value.h: New file.
42148         * MODULES.html.sh (Compiler warning management): New section,
42149         just for this module.  More to come.
42150
42151 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42152
42153         open-safer.c: avoid 'signed and unsigned in conditional...' warning
42154         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
42155         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
42156
42157 2008-10-16  Jim Meyering  <meyering@redhat.com>
42158
42159         openat-die.c: avoid 'no previous prototype' warning
42160         * lib/openat-die.c: Include "openat.h".
42161         Reported by Reuben Thomas <rrt@sc3d.org>.
42162
42163 2008-10-16  Simon Josefsson  <simon@josefsson.org>
42164
42165         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
42166         * lib/netdb.in.h: Fix typo.
42167         Reported by Bruno Haible  <bruno@clisp.org>
42168
42169         * lib/netdb.in.h: Include sys/socket.h for platforms without
42170         netdb.h, to get structures like hostent on MinGW.
42171         * modules/netdb (Depends-on): Add sys_socket.
42172
42173 2008-10-15  Simon Josefsson  <simon@josefsson.org>
42174
42175         * modules/netdb, modules/netdb-tests: New file.
42176         * m4/netdb_h.m4: New file.
42177         * lib/netdb.in.h: Add, currently just an empty file pending
42178         definitions.
42179         * tests/test-netdb.c: New file.
42180         * doc/posix-headers/netdb.texi: Mention that we replace it if
42181         needed.
42182         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42183         netdb.
42184
42185 2008-10-15  Simon Josefsson  <simon@josefsson.org>
42186
42187         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
42188         with code.
42189
42190 2008-10-13  Bruno Haible  <bruno@clisp.org>
42191
42192         * lib/glthread/cond.c (glthread_cond_wait_func,
42193         glthread_cond_timedwait_func): Add a comment.
42194
42195 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42196
42197         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
42198         * tests/test-select.c: Likewise,
42199
42200 2008-10-13  Bruno Haible  <bruno@clisp.org>
42201
42202         * lib/glthread/cond.c (glthread_cond_wait_func,
42203         glthread_cond_timedwait_func): Fix variable name.
42204         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
42205
42206 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
42207
42208         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
42209         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
42210         struct sockaddr.sa_len.
42211         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
42212
42213 2008-10-13  Simon Josefsson  <simon@josefsson.org>
42214
42215         * build-aux/pmccabe2html: Add css and css_url parameters.
42216
42217 2008-10-12  Bruno Haible  <bruno@clisp.org>
42218
42219         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
42220         calling aclx_get.
42221         Reported by Rainer Tammer <tammer@tammer.net>.
42222
42223 2008-10-12  Bruno Haible  <bruno@clisp.org>
42224
42225         Use msvcrt aware primitives for creation/termination of Win32 threads.
42226         * lib/glthread/thread.c: Include <process.h>.
42227         (glthread_create_func): Use _beginthreadex instead of CreateThread.
42228         (wrapper_func): Update signature.
42229         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
42230
42231 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42232             Bruno Haible  <bruno@clisp.org>
42233
42234         Provide a Win32 implementation of the 'cond' module.
42235         * lib/glthread/cond.h [USE_WIN32]: New implementation.
42236         * lib/glthread/cond.c (glthread_cond_init_func,
42237         glthread_cond_wait_func, glthread_cond_timedwait_func,
42238         glthread_cond_signal_func, glthread_cond_broadcast_func,
42239         glthread_cond_destroy_func) [USE_WIN32]: New functions.
42240         * modules/cond (Dependencies): Add gettimeofday.
42241
42242 2008-10-11  Bruno Haible  <bruno@clisp.org>
42243
42244         Make sleep work on older versions of mingw.
42245         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
42246         only whether it exists.
42247         * doc/posix-functions/sleep.texi: Mention the problem with older
42248         versions of mingw.
42249
42250 2008-10-11  Bruno Haible  <bruno@clisp.org>
42251
42252         New module 'shutdown'.
42253         * modules/shutdown: New file.
42254         * lib/sys_socket.in.h (shutdown): New declaration.
42255         * lib/winsock.c (shutdown): New function.
42256         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42257         GNULIB_SHUTDOWN.
42258         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
42259         * doc/posix-functions/shutdown.texi: Document the new module.
42260
42261 2008-10-11  Jim Meyering  <meyering@redhat.com>
42262
42263         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
42264
42265 2008-10-11  Bruno Haible  <bruno@clisp.org>
42266
42267         New module 'fclose'.
42268         * modules/fclose: New file.
42269         * lib/stdio.in.h (fclose): New declaration.
42270         * lib/fclose.c: New file.
42271         * m4/fclose.m4: New file.
42272         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
42273         REPLACE_FCLOSE.
42274         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
42275         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
42276         REPLACE_FCLOSE.
42277         * modules/close (Depends-on): fclose.
42278         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
42279
42280 2008-10-11  Bruno Haible  <bruno@clisp.org>
42281
42282         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
42283         set errno and don't call _close.
42284
42285 2008-10-10  Bruno Haible  <bruno@clisp.org>
42286
42287         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
42288         ACL, not afterwards. Fixes test failure on Cygwin.
42289
42290 2008-10-09  Ben Pfaff  <blp@gnu.org>
42291
42292         * build-aux/announce-gen: Fix gnulib version related part of usage
42293         message.  Die with a useful error message if no tarballs are
42294         found.
42295
42296 2008-10-10  Jim Meyering  <meyering@redhat.com>
42297
42298         bootstrap: use git's --depth=N option only if it's supported
42299         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
42300         recognize the --depth option.  Reported by Pádraig Brady.
42301
42302 2008-10-09  Bruno Haible  <bruno@clisp.org>
42303
42304         New module 'ioctl'.
42305         * modules/ioctl: New file.
42306         * lib/sys_socket.in.h (ioctl): Remove declaration.
42307         * lib/winsock.c: Include <sys/ioctl.h>.
42308         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
42309         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
42310         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
42311         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
42312         * doc/posix-functions/ioctl.texi: Mention the new module.
42313
42314 2008-10-09  Bruno Haible  <bruno@clisp.org>
42315
42316         New module 'sys_ioctl'.
42317         * lib/sys_ioctl.in.h: New file.
42318         * m4/sys_ioctl_h.m4: New file.
42319         * modules/sys_ioctl: New file.
42320         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
42321
42322 2008-10-09  Bruno Haible  <bruno@clisp.org>
42323
42324         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
42325         * lib/winsock.c: Include <stdarg.h>.
42326         (rpl_ioctl): Change to second argument 'int' and then varargs.
42327
42328 2008-10-09  Bruno Haible  <bruno@clisp.org>
42329
42330         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
42331         when the sys_socket module is present and the system has <winsock2.h>.
42332
42333 2008-10-09  Bruno Haible  <bruno@clisp.org>
42334
42335         * doc/posix-functions/close.texi: Mention module 'close' instead of
42336         module 'sys_socket'.
42337
42338 2008-10-09  Bruno Haible  <bruno@clisp.org>
42339
42340         * doc/glibc-headers/sys_ioctl.texi: New file.
42341         * doc/gnulib.texi: Include it.
42342
42343 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
42344             Bruno Haible  <bruno@clisp.org>
42345
42346         Combine the two replacements of 'close'.
42347         * lib/sys_socket.in.h (close): Define to a reminder to include
42348         <unistd.h>.
42349         (_gl_close_fd_maybe_socket): New declaration.
42350         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
42351         * lib/winsock.c (close): Remove undefinition.
42352         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
42353         needed for the gnulib module 'close'.
42354         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
42355         define to an error symbol or to a warning, if suitable.
42356         * lib/close.c: Include <sys/socket.h>.
42357         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
42358         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
42359         UNISTD_H_HAVE_WINSOCK2_H.
42360         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
42361         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42362         UNISTD_H_HAVE_WINSOCK2_H.
42363         * modules/sys_socket (Files): Add m4/unistd_h.m4.
42364         (configure.ac): Set a module indicator.
42365         (Makefile.am): Substitute GNULIB_CLOSE.
42366         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
42367         * modules/poll-tests (Depends-on): Add close.
42368         * modules/select-tests (Depends-on): Likewise.
42369
42370 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
42371             Bruno Haible  <bruno@clisp.org>
42372
42373         New module 'close'.
42374         * modules/close: New file.
42375         * lib/unistd.in.h (close): Move declaration out of the
42376         FCHDIR_REPLACEMENT scope.
42377         (_gl_unregister_fd): New declaration.
42378         * lib/close.c: New file.
42379         * lib/fchdir.c (rpl_close): Remove function.
42380         * m4/close.m4: New file.
42381         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
42382         close.
42383         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
42384         REPLACE_CLOSE.
42385         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
42386         REPLACE_CLOSE.
42387         * modules/fchdir (Depends-on): Add close.
42388
42389 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
42390             Bruno Haible  <bruno@clisp.org>
42391
42392         * lib/fcntl.in.h (open): Simplify conditionals.
42393         (_gl_register_fd): New declaration.
42394         * lib/fchdir.c (rpl_open): Remove function.
42395         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
42396         also.
42397         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
42398         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
42399         open.
42400
42401 2008-10-09  Jim Meyering  <meyering@redhat.com>
42402
42403         GNUmakefile: use the more name-space-friendly "_version"
42404         * top/GNUmakefile (_dummy): Update.
42405         (_version): Rename from "version".
42406
42407 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
42408             Bruno Haible  <bruno@clisp.org>
42409
42410         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
42411         rpl_close.
42412         (_gl_register_fd): New function, extracted from rpl_open.
42413         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
42414         (rpl_open, rpl_opendir): Use _gl_register_fd.
42415
42416 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
42417
42418         Fix organization of 'open' replacement.
42419         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
42420         (gl_FUNC_OPEN): Use it.
42421         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
42422
42423 2008-10-08  Bruno Haible  <bruno@clisp.org>
42424
42425         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
42426
42427 2008-10-08  Simon Josefsson  <simon@josefsson.org>
42428
42429         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
42430         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
42431         listen).
42432
42433 2008-10-08  Eric Blake  <ebb9@byu.net>
42434
42435         GNUmakefile: add 'make version' target
42436         * top/GNUmakefile (_curr-ver): Split version update rules...
42437         (version): ...into a target.
42438
42439 2008-10-07  Bruno Haible  <bruno@clisp.org>
42440
42441         Use a more portable replacement expression for -0.0L.
42442         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
42443         instead of -0.0L. Fix m4 quotation.
42444
42445         * tests/test-signbit.c: Include <float.h>.
42446         (minus_zero): New variable.
42447         (test_signbitl): Use minus_zero instead of -zero.
42448         * modules/signbit-tests (Depends-on): Add float.
42449
42450         * tests/test-ceill.c: Include <float.h>.
42451         (zero): Remove variable.
42452         (minus_zero): New variable.
42453         (main): Use minus_zero instead of -zero.
42454         * modules/ceill-tests (Depends-on): Add float.
42455
42456         * tests/test-floorl.c: Include <float.h>.
42457         (zero): Remove variable.
42458         (minus_zero): New variable.
42459         (main): Use minus_zero instead of -zero.
42460         * modules/floorl-tests (Depends-on): Add float.
42461
42462         * tests/test-roundl.c: Include <float.h>.
42463         (zero): Remove variable.
42464         (minus_zero): New variable.
42465         (main): Use minus_zero instead of -zero.
42466         * modules/roundl-tests (Depends-on): Add float.
42467
42468         * tests/test-truncl.c: Include <float.h>.
42469         (zero): Remove variable.
42470         (minus_zero): New variable.
42471         (main): Use minus_zero instead of -zero.
42472         * modules/truncl-tests (Depends-on): Add float.
42473
42474         * tests/test-frexpl.c (zero): Remove variable.
42475         (minus_zero): New variable.
42476         (main): Use minus_zero instead of -zero.
42477         * modules/frexpl-tests (Depends-on): Add float.
42478
42479         * tests/test-isnan.c (zerol): Remove variable.
42480         (minus_zerol): New variable.
42481         (test_long_double): Use minus_zerol instead of -zerol.
42482         * modules/isnan-tests (Depends-on): Add float.
42483
42484         * tests/test-isnanl.h (zero): Remove variable.
42485         (minus_zero): New variable.
42486         (main): Use minus_zero instead of -zero.
42487         * modules/isnanl-nolibm-tests (Depends-on): Add float.
42488         * modules/isnanl-tests (Depends-on): Add float.
42489
42490         * tests/test-ldexpl.c (zero): Remove variable.
42491         (minus_zero): New variable.
42492         (main): Use minus_zero instead of -zero.
42493         * modules/ldexpl-tests (Depends-on): Add float.
42494
42495         * tests/test-snprintf-posix.h (zerol): Remove variable.
42496         (minus_zerol): New variable.
42497         (test_function): Use minus_zerol instead of -zerol.
42498         * modules/snprintf-posix-tests (Depends-on): Add float.
42499         * modules/vsnprintf-posix-tests (Depends-on): Add float.
42500
42501         * tests/test-sprintf-posix.h (zerol): Remove variable.
42502         (minus_zerol): New variable.
42503         (test_function): Use minus_zerol instead of -zerol.
42504         * modules/sprintf-posix-tests (Depends-on): Add float.
42505         * modules/vsprintf-posix-tests (Depends-on): Add float.
42506
42507         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
42508         (minus_zerol): New variable.
42509         (test_function): Use minus_zerol instead of -zerol.
42510         * modules/vasnprintf-posix-tests (Depends-on): Add float.
42511
42512         * tests/test-vasprintf-posix.c (zerol): Remove variable.
42513         (minus_zerol): New variable.
42514         (test_function): Use minus_zerol instead of -zerol.
42515         * modules/vasprintf-posix-tests (Depends-on): Add float.
42516
42517 2008-10-07  Simon Josefsson  <simon@josefsson.org>
42518
42519         * MODULES.html.sh (Support for building documentation): Mention
42520         pmccabe2html.  Sort entries.
42521
42522         Add pmccabe2html module, from gnupdf.
42523         * build-aux/pmccabe.css: New file.
42524         * build-aux/pmccabe2html: New file.
42525         * m4/pmccabe2html.m4: New file.
42526         * modules/pmccabe2html: New file.
42527
42528 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
42529
42530         flock: new module
42531         * MODULES.html.sh: Add to list of modules.
42532         * lib/flock.c: flock implementation for Windows and Unix systems
42533         which have fcntl.
42534         * doc/glibc-functions/flock.texi: Update documentation.
42535         * lib/sys_file.in.h: <sys/file.h> header file.
42536         * m4/flock.m4: M4 macros.
42537         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
42538         * modules/flock: flock module.
42539         * modules/flock-tests: flock tests module.
42540         * modules/sys_file: sys/file.h module.
42541         * tests/test-flock.c: test suite for flock.
42542
42543 2008-10-06  Jim Meyering  <meyering@redhat.com>
42544
42545         bootstrap: check for LT_INIT more portably still ;-)
42546         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
42547         Spotted by Bruno Haible.
42548
42549 2008-10-06  Eric Blake  <ebb9@byu.net>
42550
42551         test-signbit: avoid tripping Irix cc bug on -0.0L
42552         * tests/test-signbit.c (minus_zerol): Delete, and replace with
42553         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
42554         entire testsuite consistent and avoids an Irix 6.2 bug.
42555
42556 2008-10-05  Bruno Haible  <bruno@clisp.org>
42557             Jim Meyering  <jim@meyering.net>
42558
42559         Add an option for ignoring EPIPE during close_stdout.
42560         * lib/closeout.h: Include <stdbool.h>.
42561         (close_stdout_set_ignore_EPIPE): New declaration.
42562         * lib/closeout.c: Include <stdbool.h>.
42563         (ignore_EPIPE): New variable.
42564         (close_stdout_set_ignore_EPIPE): New function.
42565         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
42566         * lib/close-stream.c (close_stream): Mention the possible EPIPE
42567         failure.
42568         * modules/closeout (Depends-on): Add stdbool.
42569
42570 2008-10-05  Bruno Haible  <bruno@clisp.org>
42571
42572         * modules/accept: New file.
42573         * modules/bind: New file.
42574         * modules/connect: New file.
42575         * modules/getpeername: New file.
42576         * modules/getsockname: New file.
42577         * modules/getsockopt: New file.
42578         * modules/listen: New file.
42579         * modules/recv: New file.
42580         * modules/recvfrom: New file.
42581         * modules/send: New file.
42582         * modules/sendto: New file.
42583         * modules/setsockopt: New file.
42584         * modules/socket: New file.
42585         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
42586         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
42587         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
42588         the particular module is requested. Add a link warning when the
42589         particular module is not requested.
42590         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
42591         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
42592         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
42593         the particular module is requested.
42594         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
42595         gl_SYS_SOCKET_H_DEFAULTS): New macros.
42596         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
42597         * modules/sys_socket (Depends-on): Add link-warning.
42598         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
42599         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
42600         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
42601         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
42602         GL_LINK_WARNING.
42603         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
42604         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
42605         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
42606         * doc/posix-functions/getpeername.texi: Mention the new module
42607         'getpeername'.
42608         * doc/posix-functions/getsockname.texi: Mention the new module
42609         'getsockname'.
42610         * doc/posix-functions/getsockopt.texi: Mention the new module
42611         'getsockopt'.
42612         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
42613         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
42614         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
42615         * doc/posix-functions/send.texi: Mention the new module 'send'.
42616         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
42617         * doc/posix-functions/setsockopt.texi: Mention the new module
42618         'setsockopt'.
42619         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
42620         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
42621         listen, connect, accept.
42622         * modules/select-tests (Depends-on): Likewise.
42623
42624 2008-10-05  Bruno Haible  <bruno@clisp.org>
42625
42626         * lib/winsock.c (strerror): Remove unused #undef.
42627         (rpl_close): Remove unused local variable.
42628
42629         * modules/sys_socket (Depends-on); Add errno.
42630
42631 2008-10-05  Bruno Haible  <bruno@clisp.org>
42632
42633         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
42634         (select): Add a link warning when the 'select' module is not used.
42635         * modules/sys_select (Depends-on): Add link-warning.
42636         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
42637         Suggested by Paolo Bonzini.
42638
42639 2008-10-05  Jim Meyering  <meyering@redhat.com>
42640
42641         bootstrap: check for LT_INIT more portably
42642         * build-aux/bootstrap: Avoid using grep -E, since it's not
42643         portable enough.  Suggestion from Bruno Haible.
42644
42645 2008-10-05  Bruno Haible  <bruno@clisp.org>
42646
42647         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
42648         as being fixed by gnulib.
42649
42650 2008-10-05  Bruno Haible  <bruno@clisp.org>
42651
42652         * modules/select-tests: New file, mostly copied from
42653         modules/sys_select-tests.
42654         * tests/test-select.c: New file, mostly copied from
42655         tests/test-sys_select.c.
42656         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
42657         * modules/sys_select-tests (Depends-on): Remove all dependencies.
42658         (Makefile.am): Remove test_sys_select_LDADD.
42659
42660         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
42661         to an undefined symbol, for an error message.
42662         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
42663         (gl_SYS_SELECT_H_DEFAULTS): New macro.
42664         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
42665         winsock-select.c here.
42666         * modules/sys_select (Files): Remove lib/winsock-select.c.
42667         (Depends-on): Remove alloca.
42668         (Makefile.am): Substitute GNULIB_SELECT.
42669         * modules/select: New file.
42670         * doc/posix-functions/select.texi: Update.
42671
42672 2008-10-05  Bruno Haible  <bruno@clisp.org>
42673
42674         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
42675         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
42676         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
42677         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
42678         getdtablesize.
42679         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
42680         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
42681
42682 2008-10-05  Bruno Haible  <bruno@clisp.org>
42683
42684         * modules/getdtablesize-tests: New file.
42685         * tests/test-getdtablesize.c: New file.
42686
42687         New module 'getdtablesize'.
42688         * lib/unistd.in.h (getdtablesize): New declaration.
42689         * lib/getdtablesize.c: New file.
42690         * m4/getdtablesize.m4: New file.
42691         * modules/getdtablesize: New file.
42692         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42693         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
42694         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
42695         HAVE_GETDTABLESIZE.
42696         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
42697
42698 2008-10-05  Bruno Haible  <bruno@clisp.org>
42699
42700         * modules/sched (Makefile.am): Fix typo.
42701         Reported by Simon Josefsson.
42702
42703 2008-10-05  Jim Meyering  <meyering@redhat.com>
42704
42705         bootstrap: check for LT_INIT, too
42706         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
42707         are deprecated.  Suggestion from Ralf Wildenhues.
42708
42709 2008-10-05  Bruno Haible  <bruno@clisp.org>
42710
42711         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
42712         overriding them by ours.
42713         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
42714
42715 2008-10-05  Jim Meyering  <meyering@redhat.com>
42716
42717         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
42718         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
42719         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
42720
42721 2008-10-04  Bruno Haible  <bruno@clisp.org>
42722
42723         * modules/dup2 (License): Change to LGPLv2+.
42724         * modules/sleep (License): Likewise.
42725         * modules/perror (License): Likewise.
42726         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
42727         Blake.
42728         * modules/signal (License): Likewise.
42729         * modules/sigprocmask (License): Likewise.
42730         * modules/raise (License): Change to LGPLv2+, with approval by Jim
42731         Meyering.
42732
42733 2008-10-04  Bruno Haible  <bruno@clisp.org>
42734
42735         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
42736         Reported by Rainer Tammer <tammer@tammer.net>.
42737
42738 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
42739             Bruno Haible  <bruno@clisp.org>
42740
42741         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
42742         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
42743         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
42744
42745 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
42746
42747         filevercmp: new module
42748         * lib/filevercmp.h: New function filevercmp comparing version strings.
42749         * lib/filevercmp.c: Implementation of filevercmp function.
42750         * modules/filevercmp: Module metadata.
42751         * tests/test-filevercmp.c: Unit test for new module.
42752         * modules/filevercmp-tests: Unit test metadata.
42753         * MODULES.html.sh: Add filevercmp module.
42754
42755 2008-10-03  Bruno Haible  <bruno@clisp.org>
42756
42757         * lib/c-ctype.h: Add comment.
42758         Reported by Jim Meyering.
42759
42760 2008-10-02  Bruno Haible  <bruno@clisp.org>
42761
42762         * modules/posix_spawn-internal (Depends-on): Add 'open'.
42763
42764 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
42765
42766         * build-aux/bootstrap: Allow renaming bootstrap, and change the
42767         name of bootstrap.conf accordingly.
42768
42769 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
42770
42771         * build-aux/bootstrap: Install git-merge-changelog configuration
42772         items into .gitconfig if needed.
42773
42774 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
42775
42776         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
42777         git repository, and initialize/update it accordingly.
42778
42779 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
42780
42781         * modules/fsync-tests: New file.
42782         * tests/test-fsync.c: New file.
42783
42784         New module 'fsync'.
42785         * lib/fsync.c: New file.
42786         * m4/fsync.m4: New file.
42787         * modules/fsync: New file.
42788         * lib/unistd.in.h (fsync): New declaration.
42789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
42790         GNULIB_FSYNC and HAVE_FSYNC.
42791         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
42792         * MODULES.html.sh (posix_functions): Add fsync.
42793         * doc/posix-functions/fsync.texi: Mention the new module.
42794
42795 2008-10-02  Jim Meyering  <meyering@redhat.com>
42796
42797         fts.c: sync with similar code from coreutils' remove.c
42798         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
42799         Guard also with "#if defined __linux__", since for now at least,
42800         this code is Linux-kernel-specific.
42801
42802 2008-10-02  Jim Meyering  <meyering@redhat.com>
42803
42804         fts: bug fixes
42805         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
42806         Include <sys/vfs.h>, not <sys/statfs.h>.
42807
42808         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
42809         Include <sys/vfs.h>, not <sys/statfs.h>.
42810
42811 2008-10-01  Bruno Haible  <bruno@clisp.org>
42812
42813         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
42814         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
42815         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
42816         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
42817         * doc/posix-functions/posix_spawnp.texi: Likewise.
42818         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
42819         whether posix_spawn actually works.
42820         * m4/pipe.m4 (gl_PIPE): Likewise.
42821         * modules/execute (Files): Add m4/posix_spawn.m4.
42822         * modules/pipe (Files): Add m4/posix_spawn.m4.
42823         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
42824
42825 2008-10-01  Jim Meyering  <meyering@redhat.com>
42826
42827         remove trailing spaces
42828         * NEWS: Likewise.
42829         * lib/poll.c (poll): Likewise.
42830         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
42831         * lib/winsock.c (rpl_close): Likewise.
42832         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
42833         * modules/yield: Likewise.
42834         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
42835         * tests/test-sys_select.c (connect_to_socket): Likewise.
42836
42837         fts.c: adjust a new interface to be more generally useful
42838         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
42839         (fts_build): Adjust caller.
42840
42841 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42842
42843         * modules/cond-tests: New file.
42844         * tests/test-cond.c: New file.
42845
42846 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42847             Bruno Haible  <bruno@clisp.org>
42848
42849         * modules/cond (Dependencies): Add errno, time.
42850         * lib/glthread/cond.h: Include <time.h>.
42851         (gl_cond_define, gl_cond_define_initialized): Use the same definition
42852         across platforms.
42853
42854 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42855             Bruno Haible  <bruno@clisp.org>
42856
42857         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
42858
42859 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42860             Bruno Haible  <bruno@clisp.org>
42861
42862         * modules/tls-tests (Depends-on): Add thread, yield.
42863         (configure.ac): Remove all checks.
42864         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
42865         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
42866         gl_thread_self): Remove definitions. Include glthread/thread.h and
42867         glthread/yield.h instead.
42868         (test_tls): Pass an additional NULL argument to gl_thread_join.
42869
42870 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42871             Bruno Haible  <bruno@clisp.org>
42872
42873         * modules/lock-tests (Depends-on): Add thread, yield.
42874         (configure.ac): Remove all checks.
42875         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
42876         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
42877         gl_thread_self): Remove definitions. Include glthread/thread.h and
42878         glthread/yield.h instead.
42879         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
42880         additional NULL argument to gl_thread_join.
42881
42882 2008-09-30  Bruno Haible  <bruno@clisp.org>
42883
42884         Fix the Win32 implementation of the 'thread' module.
42885         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
42886         pointer type.
42887         (gl_thread_self): Invoke gl_thread_self_func.
42888         (gl_thread_self_func): New declaration.
42889         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
42890         (do_init_self_key, init_self_key): New functions.
42891         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
42892         Remove some fields.
42893         (running_threads, running_lock): Remove variables.
42894         (get_current_thread_handle): New function.
42895         (gl_thread_self_func, wrapper_func, glthread_create_func,
42896         glthread_join_func, gl_thread_exit_func): Largely rewritten and
42897         simplified.
42898
42899 2008-09-30  Bruno Haible  <bruno@clisp.org>
42900
42901         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
42902         files.
42903
42904 2008-09-30  Jim Meyering  <meyering@redhat.com>
42905
42906         fts.m4: correct the test for statfs.f_type
42907         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
42908         when checking for statfs.f_type.
42909
42910 2008-09-15  Simon Josefsson  <simon@josefsson.org>
42911
42912         tests: avoid some compiler warnings
42913         * tests/test-memchr.c (main): Pass NULL indirectly.
42914         * tests/test-getdate.c (main): Remove unused variable 'ret'.
42915
42916 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
42917
42918         getdate.y: disallow countable dayshifts like "4 yesterday ago"
42919         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
42920         exactly specified dayshifts.
42921         (dayshift): New rule.
42922         (rel): Add dayshift.
42923         (relative_time_table) [tomorrow, yesterday, today, now]:
42924         Use tDAY_SHIFT in place of tDAY_UNIT.
42925         * tests/test-getdate.c: Add tests for now-disallowed countable
42926         dayshifts, e.g., "4 yesterday ago".
42927
42928 2008-09-29  Bruno Haible  <bruno@clisp.org>
42929
42930         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
42931         * tests/test-posix_spawn1.in.sh: Renamed from
42932         tests/test-posix_spawn.in.sh.
42933         * tests/test-posix_spawn2.c: New file.
42934         * tests/test-posix_spawn2.in.sh: New file.
42935         * modules/posix_spawnp-tests (Files): Update.
42936         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
42937
42938 2008-09-29  Bruno Haible  <bruno@clisp.org>
42939
42940         Propagate effects of putenv/setenv/unsetenv to child processes.
42941         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
42942         * lib/pipe.c (create_pipe): Likewise.
42943
42944 2008-09-29  Bruno Haible  <bruno@clisp.org>
42945
42946         Enable use of shell scripts as executables in mingw.
42947         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
42948         run the program as a shell script.
42949         * lib/pipe.c (create_pipe): Likewise.
42950         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
42951         resulting array.
42952
42953 2008-09-29  Eric Blake  <ebb9@byu.net>
42954
42955         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
42956
42957 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
42958
42959         * doc/posix-functions/accept.texi: Update mingw problems.
42960         * doc/posix-functions/bind.texi: Update mingw problems.
42961         * doc/posix-functions/close.texi: Update mingw problems.
42962         * doc/posix-functions/connect.texi: Update mingw problems.
42963         * doc/posix-functions/getpeername.texi: Update mingw problems.
42964         * doc/posix-functions/getsockname.texi: Update mingw problems.
42965         * doc/posix-functions/getsockopt.texi: Update mingw problems.
42966         * doc/posix-functions/ioctl.texi: Update mingw problems.
42967         * doc/posix-functions/listen.texi: Update mingw problems.
42968         * doc/posix-functions/recv.texi: Update mingw problems.
42969         * doc/posix-functions/recvfrom.texi: Update mingw problems.
42970         * doc/posix-functions/select.texi: Update mingw problems.
42971         * doc/posix-functions/send.texi: Update mingw problems.
42972         * doc/posix-functions/sendto.texi: Update mingw problems.
42973         * doc/posix-functions/setsockopt.texi: Update mingw problems.
42974         * doc/posix-functions/socket.texi: Update mingw problems.
42975
42976 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
42977             Bruno Haible  <bruno@clisp.org>
42978
42979         * lib/sys_select.in.h: Include sys/time.h.
42980         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
42981         * modules/sys_select: Depend on sys_time.
42982         * tests/test-sys_select.c: Test that sys/select.h defines struct
42983         timeval fully.
42984
42985 2008-09-29  Bruno Haible  <bruno@clisp.org>
42986
42987         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
42988         * lib/sys_select.in.h: Likewise.
42989
42990 2008-09-29  Bruno Haible  <bruno@clisp.org>
42991
42992         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
42993
42994 2008-09-29  Bruno Haible  <bruno@clisp.org>
42995
42996         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
42997         Set LIBSOCKET instead of augmenting LIBS.
42998         * modules/sockets (Link): New section.
42999         * modules/sockets-tests (test_sockets_LDADD): New variable.
43000         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
43001         * modules/poll-tests (test_poll_LDADD): New variable.
43002         * NEWS: Document the change.
43003
43004 2008-09-29  Bruno Haible  <bruno@clisp.org>
43005
43006         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
43007         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
43008         ARPA_INET_H directly.
43009         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43010
43011 2008-09-28  Bruno Haible  <bruno@clisp.org>
43012
43013         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
43014         from gl_HEADER_SYS_SOCKET.
43015         (gl_HEADER_SYS_SOCKET): Invoke it.
43016         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43017
43018 2008-09-28  Bruno Haible  <bruno@clisp.org>
43019
43020         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
43021         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
43022         Needed on OSF/1 4.0.
43023
43024 2008-09-28  Bruno Haible  <bruno@clisp.org>
43025
43026         Override open more carefully.
43027         * lib/open.c (orig_open): New function.
43028         (rpl_open): Use orig_open instead of open.
43029         * lib/fcntl.in.h: Add special invocation convention.
43030         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
43031         (gl_FUNC_OPEN): Invoke it.
43032
43033         Override freopen more carefully.
43034         * lib/freopen.c (orig_freopen): New function.
43035         (rpl_freopen): Use orig_freopen instead of freopen.
43036         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
43037         (gl_FUNC_FREOPEN): Invoke it.
43038
43039         Override fopen more carefully.
43040         * lib/fopen.c (orig_fopen): New function.
43041         (rpl_fopen): Use orig_fopen instead of fopen.
43042         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
43043         (gl_FUNC_FOPEN): Invoke it.
43044         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
43045
43046 2008-09-28  Bruno Haible  <bruno@clisp.org>
43047
43048         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
43049         SIGPIPE.
43050
43051 2008-09-28  Bruno Haible  <bruno@clisp.org>
43052
43053         * tests/test-sigaction.c (handler, main): Disable the check whether
43054         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
43055         glibc systems with LinuxThreads.
43056
43057 2008-09-28  Bruno Haible  <bruno@clisp.org>
43058
43059         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
43060
43061         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
43062         with AIX xlc.
43063         * lib/fcntl.in.h (open): Likewise.
43064         Reported by Rainer Tammer <tammer@tammer.net>.
43065
43066 2008-09-28  Bruno Haible  <bruno@clisp.org>
43067
43068         * modules/posix_spawnp-tests: New file.
43069         * tests/test-posix_spawn.c: New file.
43070         * tests/test-posix_spawn.in.sh: New file.
43071
43072         New module 'posix_spawnp'.
43073         * modules/posix_spawnp: New file.
43074         * lib/spawnp.c: New file, from GNU libc with modifications.
43075         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
43076
43077         New module 'posix_spawn'.
43078         * modules/posix_spawn: New file.
43079         * lib/spawn.c: New file, from GNU libc with modifications.
43080         * doc/posix-functions/posix_spawn.texi: Mention the new module.
43081
43082         New module 'posix_spawnattr_destroy'.
43083         * modules/posix_spawnattr_destroy: New file.
43084         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
43085         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
43086         module.
43087
43088         New module 'posix_spawnattr_setsigmask'.
43089         * modules/posix_spawnattr_setsigmask: New file.
43090         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
43091         modifications.
43092         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
43093         new module.
43094
43095         New module 'posix_spawnattr_getsigmask'.
43096         * modules/posix_spawnattr_getsigmask: New file.
43097         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
43098         modifications.
43099         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
43100         new module.
43101
43102         New module 'posix_spawnattr_setsigdefault'.
43103         * modules/posix_spawnattr_setsigdefault: New file.
43104         * lib/spawnattr_setdefault.c: New file, from GNU libc with
43105         modifications.
43106         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
43107         new module.
43108
43109         New module 'posix_spawnattr_getsigdefault'.
43110         * modules/posix_spawnattr_getsigdefault: New file.
43111         * lib/spawnattr_getdefault.c: New file, from GNU libc with
43112         modifications.
43113         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
43114         new module.
43115
43116         New module 'posix_spawnattr_setschedpolicy'.
43117         * modules/posix_spawnattr_setschedpolicy: New file.
43118         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
43119         modifications.
43120         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
43121         new module.
43122
43123         New module 'posix_spawnattr_getschedpolicy'.
43124         * modules/posix_spawnattr_getschedpolicy: New file.
43125         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
43126         modifications.
43127         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
43128         new module.
43129
43130         New module 'posix_spawnattr_setschedparam'.
43131         * modules/posix_spawnattr_setschedparam: New file.
43132         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
43133         modifications.
43134         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
43135         new module.
43136
43137         New module 'posix_spawnattr_getschedparam'.
43138         * modules/posix_spawnattr_getschedparam: New file.
43139         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
43140         modifications.
43141         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
43142         new module.
43143
43144         New module 'posix_spawnattr_setpgroup'.
43145         * modules/posix_spawnattr_setpgroup: New file.
43146         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
43147         modifications.
43148         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
43149         module.
43150
43151         New module 'posix_spawnattr_getpgroup'.
43152         * modules/posix_spawnattr_getpgroup: New file.
43153         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
43154         modifications.
43155         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
43156         module.
43157
43158         New module 'posix_spawnattr_setflags'.
43159         * modules/posix_spawnattr_setflags: New file.
43160         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
43161         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
43162         module.
43163
43164         New module 'posix_spawnattr_getflags'.
43165         * modules/posix_spawnattr_getflags: New file.
43166         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
43167         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
43168         module.
43169
43170         New module 'posix_spawnattr_init'.
43171         * modules/posix_spawnattr_init: New file.
43172         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
43173         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
43174         module.
43175
43176         New module 'posix_spawn_file_actions_destroy'.
43177         * modules/posix_spawn_file_actions_destroy: New file.
43178         * lib/spawn_faction_destroy.c: New file, from GNU libc with
43179         modifications.
43180         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
43181         the new module.
43182
43183         New module 'posix_spawn_file_actions_addopen'.
43184         * modules/posix_spawn_file_actions_addopen: New file.
43185         * lib/spawn_faction_addopen.c: New file, from GNU libc with
43186         modifications.
43187         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
43188         the new module.
43189
43190         New module 'posix_spawn_file_actions_adddup2'.
43191         * modules/posix_spawn_file_actions_adddup2: New file.
43192         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
43193         modifications.
43194         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
43195         the new module.
43196
43197         New module 'posix_spawn_file_actions_addclose'.
43198         * modules/posix_spawn_file_actions_addclose: New file.
43199         * lib/spawn_faction_addclose.c: New file, from GNU libc with
43200         modifications.
43201         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
43202         the new module.
43203
43204         New module 'posix_spawn_file_actions_init'.
43205         * modules/posix_spawn_file_actions_init: New file.
43206         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
43207         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
43208         new module.
43209
43210         New module 'posix_spawn-internal'.
43211         * modules/posix_spawn-internal: New file.
43212         * lib/spawn_int.h: New file, from GNU libc with modifications.
43213         * lib/spawni.c: New file, from GNU libc with modifications.
43214         * m4/posix_spawn.m4: New file.
43215
43216         New module 'spawn'.
43217         * modules/spawn: New file.
43218         * lib/spawn.in.h: New file, from GNU libc with modifications.
43219         * m4/spawn_h.m4: New file.
43220         * doc/posix-headers/spawn.texi: Mention the new module.
43221
43222 2008-09-28  Bruno Haible  <bruno@clisp.org>
43223
43224         * modules/sched-tests: New file.
43225         * tests/test-sched.c: New file.
43226
43227         New module 'sched'.
43228         * modules/sched: New file.
43229         * lib/sched.in.h: New file.
43230         * m4/sched_h.m4: New file.
43231         * doc/posix-headers/sched.texi: Mention the new module.
43232
43233 2008-09-27  Eric Blake  <ebb9@byu.net>
43234
43235         Fix previous patch, and tweak references to $0.
43236         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
43237         (func_version, func_gnulib_dir): Don't call this program
43238         gnulib-tool.
43239         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
43240         with using $0 in function.
43241         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
43242         (func_fatal_error): Reuse the name the user invoked us with.
43243
43244 2008-09-27  Bruno Haible  <bruno@clisp.org>
43245
43246         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
43247         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
43248         (gl_ICONV_H): Not here.
43249         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
43250         instead of assigning ICONV_H directly.
43251
43252         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
43253         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
43254         WCHAR_H directly.
43255
43256 2008-09-27  Bruno Haible  <bruno@clisp.org>
43257
43258         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
43259         * modules/arpa_inet (Depends-on): Add link-warning.
43260         (Makefile.am): Insert the definition of GL_LINK-WARNING.
43261         * modules/unistd (Makefile.am): Likewise.
43262
43263 2008-09-26  Bruno Haible  <bruno@clisp.org>
43264
43265         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
43266         variables.
43267         (func_version): Essentially copied from gnulib-tool.
43268         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
43269         func_readlink): Copied from gnulib-tool.
43270
43271 2008-09-26  Bruno Haible  <bruno@clisp.org>
43272
43273         * gnulib-tool (func_version): Change directory to $gnulib_dir before
43274         invoking git-version-gen.
43275
43276 2008-09-26  Bruno Haible  <bruno@clisp.org>
43277
43278         * posix-modules: Update to directory names changed on 2008-01-19.
43279         Remove commas in output before splitting into words. No more need to
43280         avoid 'ftruncate' since 2007-02-19.
43281
43282 2008-09-26  Bruno Haible  <bruno@clisp.org>
43283
43284         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
43285
43286 2008-09-26  Bruno Haible  <bruno@clisp.org>
43287
43288         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
43289         * modules/fwriteerror (Depends-on): Add errno.
43290
43291 2008-09-26  Bruno Haible  <bruno@clisp.org>
43292
43293         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
43294         * tests/test-vc-list-files-cvs.sh: Likewise.
43295
43296 2008-09-26  Bruno Haible  <bruno@clisp.org>
43297
43298         * doc/posix-headers/sys_resource.texi: Reorder items.
43299
43300 2008-09-26  Jim Meyering  <meyering@redhat.com>
43301
43302         fts: tweak inode comparison function
43303         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
43304         inode numbers, as documented.
43305
43306         fts: sort dirent entries on inode number before traversing
43307         This avoids a quadratic, seek-related performance penalty when
43308         operating on a directory containing many entries (measurable at 10k;
43309         3.5 hours at 2 million entries with a cold cache) on certain types
43310         of file systems, including ext3 and ext4, but not tmpfs.
43311         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
43312         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
43313         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
43314         (fs_handles_readdir_ordered_dirents_efficiently): New function.
43315         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
43316         (fts_build): Set the stat.st_ino member from D_INO.
43317         If it is likely to be useful, sort dirent entries on inode number.
43318
43319         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
43320         and the struct statfs.f_type member.
43321         * modules/fts (Depends-on): Add d-ino.
43322
43323 2008-09-26  Bruno Haible  <bruno@clisp.org>
43324
43325         * modules/sigpipe-die (Depends-on): Add sigpipe.
43326
43327         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
43328         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
43329         and GNULIB_STDIO_H_SIGPIPE are set.
43330         * lib/stdio-write.c: New file.
43331         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
43332         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
43333         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
43334         REPLACE_STDIO_WRITE_FUNCS.
43335         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
43336         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
43337         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
43338         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
43339         * modules/stdio (Files): Add lib/stdio-write.c.
43340         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
43341         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
43342         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
43343         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
43344         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
43345         REPLACE_FPRINTF_POSIX.
43346         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
43347         REPLACE_PRINTF_POSIX.
43348         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
43349         REPLACE_VFPRINTF_POSIX.
43350         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
43351         REPLACE_VPRINTF_POSIX.
43352         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
43353         SIGPIPE issue.
43354         * doc/posix-functions/fputc.texi: Likewise.
43355         * doc/posix-functions/fputs.texi: Likewise.
43356         * doc/posix-functions/fwrite.texi: Likewise.
43357         * doc/posix-functions/printf.texi: Likewise.
43358         * doc/posix-functions/putc.texi: Likewise.
43359         * doc/posix-functions/putchar.texi: Likewise.
43360         * doc/posix-functions/puts.texi: Likewise.
43361         * doc/posix-functions/vfprintf.texi: Likewise.
43362         * doc/posix-functions/vprintf.texi: Likewise.
43363
43364         * modules/safe-write (Depends-on): Add write.
43365
43366         * modules/sigpipe-tests: New file.
43367         * tests/test-sigpipe.c: New file.
43368         * tests/test-sigpipe.sh: New file.
43369
43370         * modules/write: New file.
43371         * lib/unistd.in.h: Include <sys/types.h>.
43372         (write): New declaration.
43373         * lib/write.c: New file.
43374         * m4/write.m4: New file.
43375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43376         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
43377         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
43378         GNULIB_WRITE, REPLACE_WRITE.
43379         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
43380         and the SIGPIPE issue.
43381
43382         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
43383         (raise): New declaration.
43384         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
43385         (ext_signal): New function.
43386         (rpl_raise): New function.
43387         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
43388         GNULIB_SIGNAL_H_SIGPIPE.
43389         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
43390         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
43391
43392         * modules/sigpipe: New file.
43393         * m4/sigpipe.m4: New file.
43394
43395 2008-09-25  Derek Price  <derek@ximbiot.com>
43396             Bruno Haible  <bruno@clisp.org>
43397
43398         * gnulib-tool (func_import): Report all license incompatibilities, not
43399         just the first one.
43400
43401 2008-09-25  Bruno Haible  <bruno@clisp.org>
43402
43403         * gnulib-tool (func_import): When computing the edits, consider not
43404         only the Makefile.ams that exist but also those that will be generated.
43405
43406 2008-09-25  Simon Josefsson  <simon@josefsson.org>
43407
43408         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
43409         fixes gnulib-tool --test warning about duplicate dependency.
43410
43411 2008-09-25  Bruno Haible  <bruno@clisp.org>
43412
43413         * gnulib-tool: Don't ask the user to perform edits in the generated
43414         Makefile.ams.
43415         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
43416         apply to the Makefile.am being generated.
43417         (func_emit_tests_Makefile_am): Execute edits that apply to the
43418         Makefile.am being generated.
43419         (func_import): Setup list of Makefile.am edits before emitting the
43420         Makefile.ams, not at the end.
43421         (func_create_testdir): Update.
43422         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43423
43424 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43425
43426         * gnulib-tool (func_import): Store the --tests-base option in the
43427         comment in gnulib-cache.m4.
43428
43429 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
43430
43431         * NEWS: Document increased portability that sys_select now provides.
43432
43433         * lib/sys_select.in.h: Install select wrapper.
43434         * lib/sys_socket.in.h: Use more descriptive name when there is no
43435         select wrapper.
43436         * lib/winsock-select.c: New.
43437         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
43438         Require gl_HEADER_SYS_SOCKET.
43439         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
43440         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
43441         * tests/test-sys_select.c: Add functional tests.
43442
43443 2008-09-24  Eric Blake  <ebb9@byu.net>
43444
43445         open, fopen: close fd leak in last patch
43446         * lib/open.c (rpl_open): Close fd before returning error.
43447         * lib/fopen.c (rpl_fopen): Close fd before returning error.
43448         * doc/posix-functions/open.texi (open): Document that Irix also
43449         has the bug.
43450         * doc/posix-functions/fopen.texi (fopen): Likewise.
43451         Reported by Paolo Bonzini.
43452
43453 2008-09-24  Bruno Haible  <bruno@clisp.org>
43454
43455         Ensure that a filename ending in a slash cannot be used to access a
43456         non-directory.
43457         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
43458         to check whether it's really a directory.
43459         * lib/fopen.c: Include fcntl.h, unistd.h.
43460         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
43461         and fdopen().
43462         * modules/fopen (Depends-on): Add unistd.
43463         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
43464         * tests/test-fopen.c (main): Likewise.
43465         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
43466         * doc/posix-functions/fopen.texi: Likewise.
43467         Reported by Eric Blake.
43468
43469 2008-09-23  Eric Blake  <ebb9@byu.net>
43470
43471         c-stack: avoid compiler optimizations when provoking overflow
43472         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
43473         recursion harder to optimize, to ensure a stack overflow occurs.
43474         * tests/test-c-stack.c (recurse): Likewise.
43475         Borrowed from libsigsegv.
43476
43477         c-stack: work around Irix sigaltstack bug
43478         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
43479         whether sigaltstack uses wrong end of stack_t (copied in part from
43480         libsigsegv).
43481         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
43482         Irix bug, without requiring an over-allocation.
43483         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
43484         bug.
43485
43486         fopen: document mingw bug on directories
43487         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
43488         not allowing a stream visiting a directory, even though reading
43489         from such a stream is not portable.
43490
43491 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
43492
43493         * lib/poll.c: Rewrite.
43494         * modules/poll: Depend on alloca.
43495
43496 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
43497
43498         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
43499         instead define prototypes for a full set of wrappers.  Ensure
43500         that Cygwin does not use the compatibility code, which is only
43501         for MinGW.
43502         * lib/winsock.c: New.
43503         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
43504         * modules/sys_socket: Add lib/winsock.c.
43505
43506         * modules/poll-tests: Add errno and perror.
43507         * tests/test-poll.c: Use ioctl, not ioctlsocket.
43508
43509 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
43510
43511         * tests/test-poll.c: Downgrade minimum needed Winsock version.
43512
43513 2008-09-23  Bruno Haible  <bruno@clisp.org>
43514
43515         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
43516         * doc/glibc-functions/*: Likewise.
43517
43518 2008-09-23  Simon Josefsson  <simon@josefsson.org>
43519
43520         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
43521         success.
43522
43523 2008-09-22  Eric Blake  <ebb9@byu.net>
43524             Bruno Haible  <bruno@clisp.org>
43525
43526         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
43527         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
43528         supply %A but mishandle pseudo-NaN.
43529         Reported by Simon Josefsson.
43530
43531 2008-09-21  Bruno Haible  <bruno@clisp.org>
43532
43533         * tests/test-lock.c (main): Tweak skip message.
43534         * tests/test-tls.c (main): Likewise.
43535
43536 2008-09-21  Bruno Haible  <bruno@clisp.org>
43537
43538         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
43539         whether 'struct sigaction' has sa_sigaction here...
43540         (gl_PREREQ_SIG_HANDLER_H): ... not here.
43541         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
43542
43543 2008-09-21  Bruno Haible  <bruno@clisp.org>
43544
43545         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
43546         section.
43547         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
43548         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
43549         the new section.
43550         (Support for obsolete systems lacking POSIX:2001): New section.
43551         (String handling <string.h>): Move strdup to the new section.
43552         Suggested by Simon Josefsson and Paolo Bonzini.
43553
43554 2008-09-21  Bruno Haible  <bruno@clisp.org>
43555
43556         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
43557         exponents in %e and %g results on 'long double'. Needed for mingw's
43558         improved *printf functions.
43559         * tests/test-vasprintf-posix.c (test_function): Likewise.
43560         * tests/test-snprintf-posix.h (test_function): Likewise.
43561         * tests/test-sprintf-posix.h (test_function): Likewise.
43562         Reported by Eric Blake.
43563
43564 2008-09-21  Bruno Haible  <bruno@clisp.org>
43565
43566         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
43567         * tests/test-sprintf-posix.h (test_function): Likewise.
43568
43569 2008-09-21  Bruno Haible  <bruno@clisp.org>
43570
43571         * modules/getpass (Depends-on): Add strdup-posix.
43572
43573         New module 'strdup-posix'.
43574         * modules/strdup-posix: New file.
43575         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
43576         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
43577         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43578         REPLACE_STRDUP.
43579         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
43580         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
43581         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43582         strdup-posix.
43583
43584         * modules/strdup (Depends-on): Remove malloc-posix.
43585
43586 2008-09-20  Bruno Haible  <bruno@clisp.org>
43587
43588         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
43589         Wildenhues.
43590
43591 2008-09-20  Bruno Haible  <bruno@clisp.org>
43592
43593         Ensure that wint_t gets defined on IRIX 5.3.
43594         * lib/wchar.in.h (wint_t): Define if not defined by the system.
43595         * lib/wctype.in.h (wint_t): Likewise.
43596         (__wctype_wint_t): Remove type.
43597         (isw*): Use wint_t instead of __wctype_wint_t.
43598         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
43599         * modules/wchar (Files): Add m4/wint_t.m4.
43600         (Makefile.am): Substitute HAVE_WINT_T.
43601         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
43602         * tests/test-wctype.c: Check that wint_t is defined.
43603         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
43604         * doc/posix-headers/wctype.texi: Likewise.
43605         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43606
43607 2008-09-18  Bruno Haible  <bruno@clisp.org>
43608
43609         * gnulib-tool (func_exit): Update comment.
43610
43611 2008-09-18  Simon Josefsson  <simon@josefsson.org>
43612
43613         * modules/getaddrinfo (Depends-on): Remove strdup, this module
43614         assumes strdup exists and does not depend on strdup to return
43615         ENOMEM on out of memory conditions.
43616
43617 2008-09-18  Bruno Haible  <bruno@clisp.org>
43618
43619         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
43620         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
43621         digits for the exponent.
43622
43623 2008-09-18  Jim Meyering  <meyering@redhat.com>
43624             Bruno Haible  <bruno@clisp.org>
43625
43626         * lib/vasnprintf.c (decimal_point_char): Define also if
43627         NEED_PRINTF_INFINITE_LONG_DOUBLE.
43628
43629 2008-09-16  Bruno Haible  <bruno@clisp.org>
43630         and Eric Blake  <ebb9@byu.net>
43631
43632         vasnprintf: support Irix 5.3
43633         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
43634         that mishandle long double infinity.
43635         Reported by Tom G. Christensen.
43636
43637 2008-09-16  Bruno Haible  <bruno@clisp.org>
43638
43639         * doc/glibc-functions/scandir.texi: Mention the function is missing on
43640         Solaris 9.
43641         * doc/glibc-functions/alphasort.texi: Likewise.
43642         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
43643
43644 2008-09-16  Jim Meyering  <meyering@redhat.com>
43645
43646         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
43647         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
43648         a umask modification leak out of a subshell.  Otherwise, the
43649         opensolaris /bin/sh would be accepted and thus cause unwarranted
43650         failures in the coreutils test suite.
43651
43652 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
43653
43654         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
43655         to succeed.
43656
43657 2008-09-16  Jim Meyering  <meyering@redhat.com>
43658
43659         avoid spurious test failure when library is built without ACL support
43660         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
43661         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
43662         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
43663         * tests/test-copy-acl.sh: Likewise.
43664
43665 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43666
43667         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
43668         based on character occurrence counts.
43669
43670 2008-09-15  Eric Blake  <ebb9@byu.net>
43671
43672         tests: avoid some compiler warnings
43673         * tests/test-memchr.c (main): Pass NULL indirectly.
43674         * tests/test-closein.c (main): Avoid unused variable.
43675
43676 2008-09-15  Bruno Haible  <bruno@clisp.org>
43677
43678         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
43679         are missing on OpenBSD 4.0 individually.
43680         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43681
43682 2008-09-15  Bruno Haible  <bruno@clisp.org>
43683
43684         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
43685         * doc/posix-functions/strerror.texi: Mention also Cygwin.
43686         * doc/posix-functions/perror.texi: Likewise.
43687         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
43688         is missing.
43689         Reported by Eric Blake.
43690
43691         * lib/errno.in.h: Use replacement values >= 2000.
43692         Reported by Eric Blake.
43693
43694 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43695
43696         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
43697         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
43698         limit.
43699         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
43700         compareseq was aborted.
43701
43702 2008-09-14  Bruno Haible  <bruno@clisp.org>
43703
43704         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
43705         yvec_edit_count.
43706         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
43707         (fstrcmp_bounded): Simplify result computation accordingly.
43708
43709 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43710
43711         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
43712         (fstrcmp): Define in terms of fstrcmp_bounded.
43713         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
43714         lower_bound argument.
43715         Return quickly if the result is certainly < lower_bound.
43716         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
43717
43718 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43719
43720         * lib/diffseq.h (EARLY_ABORT): New macro.
43721         (compareseq): Change return type to bool. Return true when EARLY_ABORT
43722         evaluates to true.
43723
43724 2008-09-14  Bruno Haible  <bruno@clisp.org>
43725
43726         * modules/perror-tests: New file.
43727         * tests/test-perror.sh: New file.
43728         * tests/test-perror.c: New file.
43729
43730         New module 'perror'.
43731         * lib/stdio.in.h (perror): New declaration.
43732         * lib/perror.c: New file.
43733         * m4/perror.m4: New file.
43734         * modules/perror: New file.
43735         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
43736         * doc/posix-functions/perror.texi: Mention the perror module.
43737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
43738         REPLACE_PERROR.
43739         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
43740         REPLACE_PERROR.
43741
43742 2008-09-14  Bruno Haible  <bruno@clisp.org>
43743
43744         * modules/stdio (Makefile.am): Reorder to match the order in
43745         lib/stdio.in.h.
43746         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43747
43748 2008-09-13  Bruno Haible  <bruno@clisp.org>
43749
43750         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
43751
43752 2008-09-13  Bruno Haible  <bruno@clisp.org>
43753
43754         Extend strerror to cover the added errno values.
43755         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
43756         (rpl_strerror): Provide error messages for the added errno values and
43757         for the WSA* values.
43758         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
43759         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
43760         strerror.
43761         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
43762         * modules/strerror (Depends-on): Add errno.
43763         * doc/posix-functions/strerror.texi: Document the change.
43764         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
43765         and EOVERFLOW.
43766
43767 2008-09-13  Bruno Haible  <bruno@clisp.org>
43768
43769         * modules/EOVERFLOW: Remove file.
43770         * m4/eoverflow.m4: Remove file.
43771         * modules/EOVERFLOW-tests: Remove file.
43772         * tests/test-EOVERFLOW.c: Remove file.
43773         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
43774         * modules/ftell (Depends-on): Likewise.
43775         * modules/getdelim (Depends-on): Likewise.
43776         * modules/getugroups (Depends-on): Likewise.
43777         * modules/poll (Depends-on): Likewise.
43778         * modules/snprintf (Depends-on): Likewise.
43779         * modules/sprintf-posix (Depends-on): Likewise.
43780         * modules/vasnprintf (Depends-on): Likewise.
43781         * modules/vasprintf (Depends-on): Likewise.
43782         * modules/vfprintf-posix (Depends-on): Likewise.
43783         * modules/vsnprintf (Depends-on): Likewise.
43784         * modules/vsprintf-posix (Depends-on): Likewise.
43785         * modules/xvasprintf (Depends-on): Likewise.
43786         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43787         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
43788         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
43789         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
43790         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43791         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
43792         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
43793         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
43794         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43795         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
43796         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
43797         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
43798         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43799         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
43800         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
43801         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
43802         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43803         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
43804         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
43805         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
43806         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43807         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
43808         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
43809         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
43810         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
43811         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43812         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
43813         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
43814         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
43815         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
43816         * MODULES.html.sh: Remove EOVERFLOW.
43817         * NEWS: Mention the change.
43818
43819 2008-09-13  Bruno Haible  <bruno@clisp.org>
43820
43821         * modules/errno-tests: New file.
43822         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
43823
43824         * lib/errno.in.h: New file.
43825         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
43826         * modules/errno: New file.
43827         * doc/posix-headers/errno.texi: Update documentation.
43828         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
43829
43830 2008-09-13  Bruno Haible  <bruno@clisp.org>
43831
43832         * tests/test-poll.c: Use #if for native Windows, rather than testing
43833         __MSVCRT__.
43834
43835 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43836             Bruno Haible  <bruno@clisp.org>
43837
43838         * lib/glob.c: Don't include <pwd.h> on native Windows.
43839         (WINDOWS32): New macro.
43840         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
43841
43842 2008-09-13  Bruno Haible  <bruno@clisp.org>
43843
43844         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
43845         (ETIMEDOUT): Remove macro.
43846         (glthread_cond_timedwait_multithreaded): New declaration.
43847         (glthread_cond_timedwait): Use it.
43848         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
43849         (glthread_cond_timedwait_multithreaded): New function.
43850
43851 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43852
43853         * modules/poll-tests: Do not check for io.h.
43854         * tests/test-poll.c: Check for __MSVCRT__ instead.
43855
43856 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43857
43858         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
43859         * modules/poll-tests: Add inet_pton, stdbool, sockets.
43860         * tests/test-poll.c: Use them.  Use _pipe on Windows.
43861
43862 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43863
43864         * modules/poll-tests: New.
43865         * tests/test-poll.c: New.
43866
43867 2008-09-12  Eric Blake  <ebb9@byu.net>
43868
43869         frexp: test for NetBSD failure on -0.0
43870         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
43871         not all, bugs from NetBSD 3.0 have been fixed.
43872         * doc/posix-functions/frexp.texi (frexp): Document bug.
43873         Reported by Thomas Klausner.
43874
43875         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
43876         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
43877         literal -0.0.
43878         Reported by Jonathan C. Patschke <jp@centtech.com>.
43879
43880 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43881
43882         * lib/glthread/cond.h: Use dummy implementation also if
43883         USE_WIN32_THREADS.
43884
43885 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43886
43887         * modules/fnmatch-posix (License): Change to LGPLv2+.
43888         * modules/fnmatch-gnu (License): Likewise.
43889
43890 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43891
43892         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
43893
43894 2008-09-11  Jim Meyering  <meyering@redhat.com>
43895
43896         * users.txt: Add gtk-vnc.
43897
43898 2008-09-08  Simon Josefsson  <simon@josefsson.org>
43899
43900         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
43901         rotate amounts.
43902
43903         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
43904         required for 16-bit and 8-bit rotates.
43905         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
43906         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
43907         UINT8_MAX instead of hard-coded constants.
43908         Suggested by Paul Eggert.
43909
43910 2008-09-07  Bruno Haible  <bruno@clisp.org>
43911
43912         * tests/test-striconveh.c (main): Check behaviour when converting from
43913         UTF-7.
43914
43915         Make striconveh work better with stateful encodings.
43916         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
43917         that iconv does not increment the inptr when returning -1/EINVAL.
43918
43919 2008-09-07  Bruno Haible  <bruno@clisp.org>
43920
43921         * build-aux/config.rpath: Update according to libtool-2.2.6.
43922         * build-aux/config.libpath: Likewise.
43923
43924 2008-09-06  Bruno Haible  <bruno@clisp.org>
43925
43926         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
43927         * lib/freadptr.c (freadptr): Likewise.
43928         * lib/freadseek.c (freadptrinc): Likewise.
43929         Reported by Simon Josefsson.
43930
43931 2008-09-06  Bruno Haible  <bruno@clisp.org>
43932
43933         * modules/freadptr (License): Change to LGPLv2+.
43934         * modules/freadseek (License): Likewise.
43935         Suggested by Eric Blake.
43936
43937         * modules/memchr2 (License): Change to LGPLv2+.
43938         Approved by Eric Blake.
43939
43940 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43941             Bruno Haible  <bruno@clisp.org>
43942
43943         Make gnulib-tool work with native 'sed' on AIX.
43944         * gnulib-tool (sed_noop): New variable.
43945         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
43946         func_add_or_update, func_create_testdir): Use it to initialize sed
43947         script variables.
43948         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43949
43950 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
43951             Bruno Haible  <bruno@clisp.org>
43952
43953         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
43954         also works after #include directives.
43955
43956 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
43957
43958         getdate.y: reject an out-of-range timezone value
43959         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
43960         the range [-24...+24].  When specified with only one or two digits,
43961         * tests/test-getdate.c: Tests for the fix.
43962         * doc/getdate.texi: Document this change.
43963
43964 2008-09-03  Bruno Haible  <bruno@clisp.org>
43965
43966         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
43967
43968 2008-09-02  Simon Josefsson  <simon@josefsson.org>
43969
43970         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
43971         <bruce.korb@gmail.com> with ideas from Ben Pfaff
43972         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
43973         Blake <ebb9@byu.net>.
43974
43975         * tests/test-bitrotate.c: Add more test vectors.
43976
43977 2008-09-02  Eric Blake  <ebb9@byu.net>
43978
43979         vasnprintf-posix: handle large precision via %.*d
43980         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
43981         when handling it ourselves.
43982         * tests/test-vasnprintf-posix.c (test_function): Add test.
43983         * tests/test-snprintf-posix.h (test_function): Likewise.
43984         * tests/test-sprintf-posix.h (test_function): Likewise.
43985         * tests/test-vasprintf-posix.c (test_function): Likewise.
43986         Reported by Alain Guibert.
43987
43988 2008-09-01  Eric Blake  <ebb9@byu.net>
43989
43990         c-stack: make configure-time check more robust
43991         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
43992         successful sigaction call.
43993         Reported by Tom G. Christensen.
43994
43995 2008-09-01  Bruno Haible  <bruno@clisp.org>
43996
43997         New module 'findprog-lgpl'.
43998         * modules/findprog-lgpl: New file.
43999         * lib/findprog-lgpl.c: New file.
44000         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
44001         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
44002         to decide whether to use strdup or xstrdup, concatenated_filename or
44003         xconcatenated_filename.
44004
44005 2008-09-01  Bruno Haible  <bruno@clisp.org>
44006
44007         Split module 'concat-filename' into 'concat-filename' (LGPL) and
44008         'xconcat-filename' (GPL).
44009         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
44010         (License): Change to LGPLv2+.
44011         * modules/xconcat-filename: New file.
44012         * lib/concat-filename.h (concatenated_filename): Change specification.
44013         (xconcatenated_filename): New declaration.
44014         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
44015         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
44016         memory situations.
44017         * lib/xconcat-filename.c: New file.
44018         * NEWS: Mention the change.
44019         * lib/findprog.c: Include concat-filename.h, not filename.h.
44020         (find_in_path): Use xconcatenated_filename instead of
44021         concatenated_filename.
44022         * lib/javacomp.c: Include concat-filename.h, not filename.h.
44023         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
44024         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
44025         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
44026         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
44027         instead of concatenated_filename.
44028         * lib/javaexec.c: Include concat-filename.h, not filename.h.
44029         (execute_java_class): Use xconcatenated_filename instead of
44030         concatenated_filename.
44031         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
44032         * modules/javacomp (Depends-on): Likewise.
44033         * modules/javaexec (Depends-on): Likewise.
44034
44035 2008-09-01  Bruno Haible  <bruno@clisp.org>
44036
44037         Split module 'filename' into 'filename' and 'concat-filename'.
44038         * modules/filename: Keep only lib/filename.h.
44039         (License): Change to LGPLv2+.
44040         * modules/concat-filename: New file, extracted from modules/filename.
44041         * lib/filename.h (concatenated_filename): Remove declaration.
44042         * lib/concat-filename.h: New file, extracted from lib/filename.h.
44043         * lib/concat-filename.c: Include concat-filename.h.
44044         * NEWS: Mention the change.
44045
44046 2008-09-01  Simon Josefsson  <simon@josefsson.org>
44047
44048         * lib/bitrotate.h (rotl8, rotr8): Add.
44049
44050         * modules/bitrotate (configure.ac): Need
44051         AC_REQUIRE([AC_C_INLINE]).
44052         (Description): Mention stdint.h.  Reported by Bruno Haible
44053         <bruno@clisp.org>.
44054
44055         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
44056         Paolo Bonzini <bonzini@gnu.org>.
44057
44058 2008-08-31  Bruno Haible  <bruno@clisp.org>
44059
44060         Assume Solaris specific bi-arch conventions on Solaris systems.
44061         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
44062         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
44063         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
44064         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
44065         like acl_libdirstem.
44066         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
44067         acl_libdirstem.
44068         * NEWS: Mention the change.
44069         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
44070
44071 2008-08-31  Jim Meyering  <meyering@redhat.com>
44072
44073         * lib/strftime.h: Add comments describing the two added arguments.
44074
44075         remove duplicate #include directives
44076         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
44077         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
44078
44079 2008-08-31  Bruno Haible  <bruno@clisp.org>
44080
44081         New module 'sigpipe-die'.
44082         * modules/sigpipe-die: New file.
44083         * lib/sigpipe-die.h: New file.
44084         * lib/sigpipe-die.c: New file.
44085         * MODULES.html.sh (Signal handling): Add sigpipe-die.
44086
44087 2008-08-31  Bruno Haible  <bruno@clisp.org>
44088
44089         Don't override previously installed signal handlers.
44090         * lib/fatal-signal.c (saved_sigactions): New variable.
44091         (uninstall_handlers): Reset the signal to the saved handler, not
44092         to SIG_DFL (except when ignored).
44093         (install_handlers): Save the previous handlers.
44094
44095 2008-08-30  Bruno Haible  <bruno@clisp.org>
44096
44097         * gnulib-tool (func_reset_sigpipe): New function.
44098         (func_get_automake_snippet, func_modules_transitive_closure,
44099         func_import): Invoke it before a join command that reads from stdin,
44100         to avoid "echo: write error: Broken pipe" error messages on stderr.
44101         Reported by Sam Steingold <sds@gnu.org>.
44102
44103 2008-08-30  Bruno Haible  <bruno@clisp.org>
44104
44105         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
44106         Code copied from m4/open.m4.
44107         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
44108         access and the filename ends in a slash. Code copied from lib/open.c.
44109         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
44110         * tests/test-fopen.c (main): Check against bug with trailing slash.
44111
44112 2008-08-29  Bruno Haible  <bruno@clisp.org>
44113
44114         Avoid some "gcc -pedantic" warnings.
44115         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
44116         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
44117         * lib/dirent.in.h: Likewise.
44118         * lib/fcntl.in.h: Likewise.
44119         * lib/float.in.h: Likewise.
44120         * lib/iconv.in.h: Likewise.
44121         * lib/inttypes.in.h: Likewise.
44122         * lib/locale.in.h: Likewise.
44123         * lib/math.in.h: Likewise.
44124         * lib/netinet_in.in.h: Likewise.
44125         * lib/search.in.h: Likewise.
44126         * lib/signal.in.h: Likewise.
44127         * lib/stdarg.in.h: Likewise.
44128         * lib/stdint.in.h: Likewise.
44129         * lib/stdio.in.h: Likewise.
44130         * lib/stdlib.in.h: Likewise.
44131         * lib/string.in.h: Likewise.
44132         * lib/strings.in.h: Likewise.
44133         * lib/sys_select.in.h: Likewise.
44134         * lib/sys_socket.in.h: Likewise.
44135         * lib/sys_stat.in.h: Likewise.
44136         * lib/sys_time.in.h: Likewise.
44137         * lib/sysexits.in.h: Likewise.
44138         * lib/time.in.h: Likewise.
44139         * lib/unistd.in.h: Likewise.
44140         * lib/wchar.in.h: Likewise.
44141         * lib/wctype.in.h: Likewise.
44142         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
44143         * modules/fchdir (Makefile.am): Likewise.
44144         * modules/fcntl (Makefile.am): Likewise.
44145         * modules/float (Makefile.am): Likewise.
44146         * modules/iconv_open (Makefile.am): Likewise.
44147         * modules/inttypes (Makefile.am): Likewise.
44148         * modules/locale (Makefile.am): Likewise.
44149         * modules/math (Makefile.am): Likewise.
44150         * modules/netinet_in (Makefile.am): Likewise.
44151         * modules/search (Makefile.am): Likewise.
44152         * modules/signal (Makefile.am): Likewise.
44153         * modules/stdarg (Makefile.am): Likewise.
44154         * modules/stdint (Makefile.am): Likewise.
44155         * modules/stdio (Makefile.am): Likewise.
44156         * modules/stdlib (Makefile.am): Likewise.
44157         * modules/string (Makefile.am): Likewise.
44158         * modules/strings (Makefile.am): Likewise.
44159         * modules/sys_select (Makefile.am): Likewise.
44160         * modules/sys_socket (Makefile.am): Likewise.
44161         * modules/sys_stat (Makefile.am): Likewise.
44162         * modules/sys_time (Makefile.am): Likewise.
44163         * modules/sysexits (Makefile.am): Likewise.
44164         * modules/time (Makefile.am): Likewise.
44165         * modules/unistd (Makefile.am): Likewise.
44166         * modules/wchar (Makefile.am): Likewise.
44167         * modules/wctype (Makefile.am): Likewise.
44168         Reported by Reuben Thomas <rrt@sc3d.org>.
44169
44170 2008-08-29  Bruno Haible  <bruno@clisp.org>
44171
44172         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
44173         any more.
44174
44175 2008-08-29  Simon Josefsson  <simon@josefsson.org>
44176
44177         * MODULES.html.sh (Misc): Add bitrotate.
44178
44179         * modules/bitrotate: New file.
44180
44181         * lib/bitrotate.h: New file.
44182
44183         * modules/bitrotate-tests: New file.
44184
44185         * tests/test-bitrotate.c: New file.
44186
44187         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
44188         on the bitrotate module.
44189
44190         * lib/arctwo.c: Use new bitrotate module.
44191
44192 2008-08-29  Jim Meyering  <meyering@redhat.com>
44193
44194         bootstrap: merge changes from coreutils
44195         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
44196         of copied files.  Remove a kludge, now that this is fixed.
44197         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
44198         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
44199         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
44200
44201 2008-08-29  Bruno Haible  <bruno@clisp.org>
44202
44203         * MODULES.html.sh: Remove --cvs-urls option.
44204
44205 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
44206
44207         maint.mk: adjust to file name change
44208         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
44209
44210 2008-08-28  Jim Meyering  <meyering@redhat.com>
44211
44212         * modules/getndelim2 (License): Relicense to LGPLv2+.
44213         Approved by Richard Stallman for the version of 1995, and by
44214         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
44215
44216 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
44217
44218         * lib/getdelim.c (flockfile, funlockfile): Make all of them
44219         dummy if one is not available.  Do not touch them if
44220         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
44221         (getc_maybe_unlocked): New.
44222         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
44223
44224 2008-08-26  Eric Blake  <ebb9@byu.net>
44225
44226         doc/INSTALL: resync from autoconf
44227         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
44228         (INSTALL_PRELUDE): Delete; this is done more efficiently by
44229         moving...
44230         * install.texi [!autoconf]: ...here.  Resync from autoconf.
44231         * INSTALL: Regenerate.
44232         * INSTALL.ISO: New file.
44233         * INSTALL.UTF-8: Likewise.
44234
44235 2008-08-26  Jim Meyering  <meyering@redhat.com>
44236
44237         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
44238         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
44239         these definitions conditional, so that they may be overridden, too.
44240
44241 2008-08-26  Bruno Haible  <bruno@clisp.org>
44242
44243         Generate INSTALL file variants with prettier quotes.
44244         * doc/Makefile (INSTALL_PRELUDE): New macro.
44245         (INSTALL): Use it.
44246         (INSTALL.ISO, INSTALL.UTF-8): New rules.
44247
44248 2008-08-26  Bruno Haible  <bruno@clisp.org>
44249
44250         Run makeinfo in an English locale.
44251         * doc/Makefile (MAKEINFO): New variable.
44252
44253 2008-08-26  Bruno Haible  <bruno@clisp.org>
44254
44255         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
44256         Suggested by Eric Blake.
44257
44258 2008-08-25  Bruno Haible  <bruno@clisp.org>
44259
44260         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
44261
44262 2008-08-25  Eric Blake  <ebb9@byu.net>
44263
44264         c-stack: test that stack overflow can be caught
44265         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
44266         that platform allows handling stack overflow; at least OS/2 EMX
44267         has sigaltstack, but crashes before transferring control to
44268         handler on stack overflow.
44269         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
44270         check for HAVE_STACK_OVERFLOW_HANDLING.
44271         Reported by Elbert Pol.
44272
44273 2008-08-25  Bruno Haible  <bruno@clisp.org>
44274
44275         * doc/posix-functions/strftime.texi: Fix description of strftime
44276         module.
44277
44278 2008-08-24  Bruno Haible  <bruno@clisp.org>
44279
44280         * tests/uniwidth/test-uc_width2.c: New file.
44281         * tests/uniwidth/test-uc_width2.sh: New file.
44282         * modules/uniwidth/width-tests (Files): Add the new files.
44283         (TESTS): Add uniwidth/test-uc_width2.sh.
44284         (TESTS_ENVIRONMENT): New variable.
44285         (check_PROGRAMS): Add test-uc_width2.
44286         (test_uc_width2_SOURCES): New variable.
44287
44288         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
44289         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
44290         not 0x00AB.
44291         Reported by Alexander V. Lukyanov <lav@netis.ru>.
44292
44293 2008-08-22  Eric Blake  <ebb9@byu.net>
44294
44295         test-lock, test-tls: mention why a test is skipped
44296         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
44297         skipped.
44298         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
44299
44300         count-one-bits: relax license
44301         * modules/count-one-bits (License): Relicense to LGPLv2+.
44302         Suggested by Ludovic Courtès, approved by Ben Pfaff.
44303
44304 2008-08-22  Andreas Schwab  <schwab@suse.de>
44305
44306         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
44307         Remove spurious space in assignment.
44308
44309 2008-08-21  Simon Josefsson  <simon@josefsson.org>
44310
44311         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
44312         Paul Eggert <eggert@CS.UCLA.EDU>.
44313
44314 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
44315
44316         * modules/gettext: Add m4/threadlib.m4.
44317
44318 2008-08-19  Eric Blake  <ebb9@byu.net>
44319
44320         test-c-stack: fix compilation failure on FreeBSD 5.0
44321         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
44322         headers before <sys/resource.h>.
44323         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
44324         the bug.
44325         Reported by Nelson H. F. Beebe.
44326
44327         strverscmp: migrate from "strverscmp.h" to <string.h>
44328         * modules/string (Makefile.am): Add new hooks.
44329         * modules/strverscmp (Files): Remove strverscmp.h.
44330         (Depends-on): Add string.
44331         (configure.ac): Add indicator.
44332         (Include): Mention new header.
44333         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
44334         defaults.
44335         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
44336         results.
44337         * lib/strverscmp.h: Delete.
44338         * lib/string.in.h (strverscmp): Provide declaration, when needed.
44339         * tests/test-strverscmp.c (includes): Adjust client.
44340         * lib/check-version.c (includes): Likewise.
44341         * NEWS: Document the change.
44342
44343         strverscmp: add unit test
44344         * modules/strverscmp-tests: New file.
44345         * tests/test-strverscmp.c: Likewise.
44346
44347 2008-08-19  Simon Josefsson  <simon@josefsson.org>
44348
44349         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
44350         regarding Windows crypto stuff, from Mono.
44351
44352 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
44353
44354         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
44355         if present, for intel RND.  Return error on failures.
44356
44357 2008-08-18  Ben Pfaff  <blp@gnu.org>
44358
44359         gitlog-to-changelog: give better diagnostic for failed pipe-open
44360         * build-aux/gitlog-to-changelog: Improve error message: suggest
44361         that the version of Git may be too old.
44362
44363 2008-08-18  Simon Josefsson  <simon@josefsson.org>
44364
44365         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
44366         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
44367
44368 2008-08-18  Bruno Haible  <bruno@clisp.org>
44369
44370         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
44371         pthread_in_use().
44372
44373 2008-08-18  Bruno Haible  <bruno@clisp.org>
44374
44375         * lib/glthread/threadlib.c: Include <pthread.h>.
44376
44377 2008-08-18  Bruno Haible  <bruno@clisp.org>
44378
44379         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
44380         glthread_recursive_lock_* macros.
44381         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
44382         Fix syntax error.
44383
44384 2008-08-18  Bruno Haible  <bruno@clisp.org>
44385
44386         * lib/glthread/thread.c: Avoid forcing a context switch right after
44387         thread creation.
44388
44389 2008-08-17  Bruno Haible  <bruno@clisp.org>
44390
44391         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
44392         * lib/glthread/thread.h: Provide Win32 specific implementation.
44393         * modules/thread (Files): Add lib/glthread/thread.c.
44394         (Depends-on): Add lock.
44395         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
44396
44397 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44398
44399         New module 'yield'.
44400         * modules/yield: New file.
44401         * lib/glthread/yield.h: New file.
44402         * m4/yield.m4: New file.
44403         * MODULES.html.sh (Multithreading): Add yield.
44404
44405 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44406
44407         New module 'thread'.
44408         * modules/thread: New file.
44409         * lib/glthread/thread.h: New file.
44410         * m4/thread.m4: New file.
44411         * MODULES.html.sh (Multithreading): Add thread.
44412
44413 2008-08-17  Bruno Haible  <bruno@clisp.org>
44414
44415         * lib/glthread/lock.h: Include <stdlib.h> always.
44416         * lib/glthread/tls.h: Likewise.
44417         * lib/glthread/cond.h: Likewise.
44418
44419 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44420
44421         New module 'cond'.
44422         * modules/cond: New file.
44423         * lib/glthread/cond.h: New file.
44424         * lib/glthread/cond.c: New file.
44425         * m4/cond.m4: New file.
44426         * MODULES.html.sh (Multithreading): Add cond.
44427
44428 2008-08-16  Eric Blake  <ebb9@byu.net>
44429
44430         c-stack: fix regression on Irix 5.3 from 2008-06-21
44431         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
44432         sa_sigaction...
44433         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
44434         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
44435         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
44436         * modules/signal (Makefile.am): Use the value.
44437         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
44438         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
44439         * doc/posix-headers/signal.texi (signal.h): Document this
44440         portability issue.
44441         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
44442         Reported by Tom G. Christensen.
44443
44444 2008-08-17  Bruno Haible  <bruno@clisp.org>
44445
44446         New module 'threadlib'.
44447         * modules/threadlib: New file.
44448         * lib/glthread/threadlib.c: New file, extracted from
44449         lib/glthread/lock.c.
44450         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
44451         functions.
44452         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
44453         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
44454         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
44455         macros.
44456         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
44457         (gl_DISABLE_THREADS): Remove macro.
44458         * modules/lock (Files): Remove build-aux/config.rpath.
44459         (Depends-on): Remove havelib. Add threadlib.
44460         (configure.ac-early): Remove section.
44461         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
44462         * modules/tls (Depends-on): Remove lock. Add threadlib.
44463         (Link): New section, copied from threadlib.
44464         * MODULES.html.sh (Multithreading): Add threadlib.
44465
44466 2008-08-14  Bruno Haible  <bruno@clisp.org>
44467
44468         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
44469         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
44470         glthread_rwlock_unlock, glthread_rwlock_destroy,
44471         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
44472         glthread_recursive_lock_destroy): Define as macros always.
44473         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
44474         glthread_lock_lock.
44475         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
44476         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
44477         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
44478         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
44479         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
44480         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
44481         (glthread_recursive_lock_lock_func): Renamed from
44482         glthread_recursive_lock_lock.
44483         (glthread_recursive_lock_unlock_func): Renamed from
44484         glthread_recursive_lock_unlock.
44485         (glthread_recursive_lock_destroy_func): Renamed from
44486         glthread_recursive_lock_destroy.
44487
44488 2008-08-14  Bruno Haible  <bruno@clisp.org>
44489
44490         * lib/glthread/lock.h: Renamed from lib/lock.h.
44491         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
44492         * lib/glthread/tls.h: Renamed from lib/tls.h.
44493         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
44494         * lib/fstrcmp.c: Update includes.
44495         * lib/strsignal.c: Update includes.
44496         * modules/lock (Files, Makefile.am): Update.
44497         (Include): Change to "glthread/lock.h".
44498         * modules/tls (Files, Makefile.am): Update.
44499         (Include): Change to "glthread/tls.h".
44500         * tests/test-lock.c: Update includes.
44501         * tests/test-tls.c: Update includes.
44502         * NEWS: Mention the renamed header files.
44503
44504 2008-08-11  Jim Meyering  <meyering@redhat.com>
44505
44506         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
44507
44508 2008-08-11  Eric Blake  <ebb9@byu.net>
44509
44510         test-c-stack: avoid C99-ism
44511         * tests/test-c-stack.c (main): Fix whitespace, move declaration
44512         before statement.
44513         Reported by Alain Guibert.
44514
44515 2008-08-10  Jim Meyering  <meyering@redhat.com>
44516
44517         ensure that return value of uinttostr et al are not ignored
44518         * lib/inttostr.h (__GNUC_PREREQ): Define.
44519         (__attribute_warn_unused_result__): Define.
44520         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
44521
44522 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
44523
44524         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
44525         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
44526
44527 2008-08-07  Jim Meyering  <meyering@redhat.com>
44528
44529         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
44530
44531         * modules/mkstemp (License): Relicense under LGPLv2+.
44532         * modules/tempname (License): Likewise.
44533
44534 2008-08-06  Bruno Haible  <bruno@clisp.org>
44535
44536         * lib/poll.c (poll): Further micro-optimization.
44537
44538 2008-08-06  Jim Meyering  <meyering@redhat.com>
44539
44540         inet_pton.c: use locale-independent tolower
44541         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
44542         (inet_pton6): Use c_tolower rather than tolower.
44543         * modules/inet_pton (Depends-on): Add c-ctype.
44544
44545 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
44546
44547         * lib/poll.c (poll): Avoid division when timeout is 0, cache
44548         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
44549
44550 2008-08-06  Jim Meyering  <meyering@redhat.com>
44551
44552         * modules/inet_pton (License): Relicense under LGPLv2+.
44553
44554 2008-08-03  Bruno Haible  <bruno@clisp.org>
44555
44556         Additional non-aborting API for lock and tls.
44557         * lib/lock.h: Include <errno.h>.
44558         (glthread_lock_init): New macro/function.
44559         (gl_lock_init): Define as wrapper around glthread_lock_init.
44560         (glthread_lock_lock): New macro/function.
44561         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
44562         (glthread_lock_unlock): New macro/function.
44563         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
44564         (glthread_lock_destroy): New macro/function.
44565         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
44566         (glthread_rwlock_init): New macro/function.
44567         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
44568         (glthread_rwlock_rdlock): New macro/function.
44569         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
44570         (glthread_rwlock_wrlock): New macro/function.
44571         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
44572         (glthread_rwlock_unlock): New macro/function.
44573         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
44574         (glthread_rwlock_destroy): New macro/function.
44575         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
44576         (glthread_recursive_lock_init): New macro/function.
44577         (gl_recursive_lock_init): Define as wrapper around
44578         glthread_recursive_lock_init.
44579         (glthread_recursive_lock_lock): New macro/function.
44580         (gl_recursive_lock_lock): Define as wrapper around
44581         glthread_recursive_lock_lock.
44582         (glthread_recursive_lock_unlock): New macro/function.
44583         (gl_recursive_lock_unlock): Define as wrapper around
44584         glthread_recursive_lock_unlock.
44585         (glthread_recursive_lock_destroy): New macro/function.
44586         (gl_recursive_lock_destroy): Define as wrapper around
44587         glthread_recursive_lock_destroy.
44588         (glthread_once): New macro/function.
44589         (gl_once): Define as wrapper around glthread_once.
44590         Update function declarations.
44591         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
44592         glthread_rwlock_init. Return error code.
44593         (glthread_rwlock_rdlock_multithreaded): Renamed from
44594         glthread_rwlock_rdlock. Return error code.
44595         (glthread_rwlock_wrlock_multithreaded): Renamed from
44596         glthread_rwlock_wrlock. Return error code.
44597         (glthread_rwlock_unlock_multithreaded): Renamed from
44598         glthread_rwlock_unlock. Return error code.
44599         (glthread_rwlock_destroy_multithreaded): Renamed from
44600         glthread_rwlock_destroy. Return error code.
44601         (glthread_recursive_lock_init_multithreaded): Renamed from
44602         glthread_recursive_lock_init. Return error code.
44603         (glthread_recursive_lock_lock_multithreaded): Renamed from
44604         glthread_recursive_lock_lock. Return error code.
44605         (glthread_recursive_lock_unlock_multithreaded): Renamed from
44606         glthread_recursive_lock_unlock. Return error code.
44607         (glthread_recursive_lock_destroy_multithreaded): Renamed from
44608         glthread_recursive_lock_destroy. Return error code.
44609         (glthread_once_call): Make static.
44610         (glthread_once_multithreaded): Renamed from glthread_once.
44611         * lib/tls.h: Include <errno.h>.
44612         (glthread_tls_key_init): New macro/function.
44613         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
44614         (glthread_tls_set): New macro/function.
44615         (gl_tls_set): Define as wrapper around glthread_tls_set.
44616         (glthread_tls_key_destroy): New macro/function.
44617         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
44618         Update function declarations.
44619         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
44620         glthread_tls_get.
44621         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44622
44623 2008-08-04  Eric Blake  <ebb9@byu.net>
44624
44625         gnumakefile: use space, not TAB, outside of targets
44626         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
44627
44628 2008-08-02  Jim Meyering  <meyering@redhat.com>
44629
44630         getdate.y: avoid locale-dependent date parsing failure
44631         In Turkish locales, getdate would fail to recognize keywords
44632         containing a lowercase "i".  The solution is not to rely on
44633         locale-sensitive case-conversion.
44634         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
44635         (lookup_word): Use c_toupper in place of toupper.
44636         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
44637         Reported by Vefa Bicakci <bicave@superonline.com> in
44638         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
44639         * modules/getdate (Depends-on): Add c-ctype.
44640
44641 2008-08-02  Bruno Haible  <bruno@clisp.org>
44642
44643         * gnulib-tool (func_import): When updating or creating a .gitignore
44644         file, prepend each added line with a slash, and ignore leading slashes
44645         from the existing lines.
44646         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
44647
44648 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44649
44650         Portability fix for GNU make 3.79.1.
44651         * top/GNUmakefile: Avoid 'else COND', which older GNU make
44652         versions do not understand.
44653
44654 2008-08-01  Bruno Haible  <bruno@clisp.org>
44655
44656         Work around bug of HP-UX 10.20 cc with -0.0 literal.
44657         * tests/test-isnanf.h (zero): New variable.
44658         (main): Avoid literal -0.0f.
44659         * tests/test-isnand.h (zero): New variable.
44660         (main): Avoid literal -0.0.
44661         * tests/test-isnanl.h (zero): New variable.
44662         (main): Avoid literal -0.0L.
44663         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
44664         (test_float, test_double, test_long_double): Avoid literals -0.0f,
44665         -0.0, -0.0L.
44666         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
44667         (test_signbitd): Avoid literal -0.0.
44668         (test_signbitl): Avoid literal -0.0L.
44669         * tests/test-ceilf1.c (zero): New variable.
44670         (main): Avoid literal -0.0f.
44671         * tests/test-ceill.c (zero): New variable.
44672         (main): Avoid literal -0.0L.
44673         * tests/test-floorf1.c (zero): New variable.
44674         (main): Avoid literal -0.0f.
44675         * tests/test-floorl.c (zero): New variable.
44676         (main): Avoid literal -0.0L.
44677         * tests/test-roundf1.c (zero): New variable.
44678         (main): Avoid literal -0.0f.
44679         * tests/test-round1.c (zero): New variable.
44680         (main): Avoid literal -0.0.
44681         * tests/test-roundl.c (zero): New variable.
44682         (main): Avoid literal -0.0L.
44683         * tests/test-truncf1.c (zero): New variable.
44684         (main): Avoid literal -0.0f.
44685         * tests/test-trunc1.c (zero): New variable.
44686         (main): Avoid literal -0.0.
44687         * tests/test-truncl.c (zero): New variable.
44688         (main): Avoid literal -0.0L.
44689         * tests/test-frexp.c (zero): New variable.
44690         (main): Avoid literal -0.0.
44691         * tests/test-frexpl.c (zero): New variable.
44692         (main): Avoid literal -0.0L.
44693         * tests/test-ldexpl.c (zero): New variable.
44694         (main): Avoid literal -0.0L.
44695         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
44696         (zerod, zerol): New variables.
44697         (test_function): Avoid literals -0.0, -0.0L.
44698         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
44699         (zerod, zerol): New variables.
44700         (test_function): Avoid literals -0.0, -0.0L.
44701         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
44702         (zerod, zerol): New variables.
44703         (test_function): Avoid literals -0.0, -0.0L.
44704         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
44705         (zerod, zerol): New variables.
44706         (test_function): Avoid literals -0.0, -0.0L.
44707         * tests/test-strtod.c (zero): New variable.
44708         (main): Avoid literal -0.0.
44709         Reported by Jonathan C. Patschke <jp@centtech.com>.
44710
44711 2008-07-31  Jim Meyering  <meyering@redhat.com>
44712
44713         sha256.h: correct definition of SHA224_DIGEST_SIZE
44714         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
44715         Reported by Paulie Pena IV <paulie4@gmail.com>.
44716         Define as 224 / 8, rather than as a literal.
44717         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
44718         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
44719         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
44720
44721 2008-07-31  Bruno Haible  <bruno@clisp.org>
44722
44723         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
44724         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
44725         Reported by Jonathan Patschke <jp@centtech.com>.
44726
44727 2008-07-31  Bruno Haible  <bruno@clisp.org>
44728
44729         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
44730         Reported by Paolo Bonzini <bonzini@gnu.org>.
44731
44732 2008-07-30  Eric Blake  <ebb9@byu.net>
44733
44734         test-strtod: allow compilation without -lm
44735         * tests/test-strtod.c (main): Avoid link dependence on fabs.
44736         Reported by Dennis Clarke <blastwave@gmail.com>.
44737
44738 2008-07-28  Jim Meyering  <meyering@redhat.com>
44739
44740         bootstrap: work also when there are no .po files in po/
44741         * build-aux/bootstrap (update_po_files): Complete the change
44742         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
44743
44744 2008-07-27  Jim Meyering  <meyering@redhat.com>
44745
44746         * users.txt: Add zile.
44747
44748 2008-07-26  Ben Pfaff  <blp@gnu.org>
44749
44750         Add missing dependencies on new m4/exponent[fdl].m4 files.
44751         * modules/isnanf-nolibm: Add m4/exponentf.m4.
44752         * modules/isnand-nolibm: Add m4/exponentd.m4.
44753         * modules/isnanl-nolibm: Add m4/exponentl.m4.
44754         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
44755         m4/isnan[fdl].m4, because the macros actually used moved.
44756         Reported by Jim Meyering.
44757
44758 2008-07-14  Ben Pfaff  <blp@gnu.org>
44759
44760         Add isinf module.
44761         * lib/isinf.c: New file.
44762         * lib/math.in.h: Define isinf macro if we have decided to replace
44763         it.
44764         * m4/isinf.m4: New file.
44765         * m4/math_h.m4: Initialize and substitute variables for isinf
44766         module.
44767         * modules/isinf: New file.
44768         * modules/isinf-tests: New file.
44769         * modules/math: Add substitutions for new module.
44770         * tests/test-isinf.c: New file.
44771         * doc/posix-functions/isinf.texi: Mention new module.
44772         * MODULES.html.sh: Mention new module.
44773
44774 2008-07-14  Ben Pfaff  <blp@gnu.org>
44775
44776         Factor out some macros for use by additional modules.
44777         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
44778         exponentf.m4.
44779         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
44780         exponentd.m4.
44781         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
44782         file exponentl.m4.
44783         * m4/exponentf.m4: New file.
44784         * m4/exponentd.m4: New file.
44785         * m4/exponentl.m4: New file.
44786         * modules/isnanf: Use new file m4/exponentf.m4.
44787         * modules/isnand: Use new file m4/exponentd.m4.
44788         * modules/isnanl: Use new file m4/exponentl.m4.
44789
44790 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
44791
44792         mktime.c: normalize tp->tm_isdst value to -1/0/1.
44793         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
44794         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
44795         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
44796
44797         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
44798         readlink on platforms without PATH_MAX.
44799
44800 2008-07-21  Eric Blake  <ebb9@byu.net>
44801
44802         Warn, not fail, on stale version.
44803         * top/GNUmakefile (_curr-ver): Tone down previous patch.
44804
44805         Don't allow installation with stale devel version number.
44806         * top/GNUmakefile (_is-install-target): New macro.
44807         (_curr-ver): Forbid installation with stale version number.
44808
44809 2008-07-20  Bruno Haible  <bruno@clisp.org>
44810
44811         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
44812         TESTS_ENVIRONMENT.
44813         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
44814
44815 2008-07-20  Bruno Haible  <bruno@clisp.org>
44816
44817         * lib/c-stack.h (c_stack_action): Add documentation.
44818         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
44819
44820 2008-07-20  Bruno Haible  <bruno@clisp.org>
44821
44822         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
44823         * modules/readlink (License): Likewise.
44824
44825 2008-07-17  Eric Blake  <ebb9@byu.net>
44826
44827         * modules/c-stack (Link): Fix typo.
44828
44829         Make c-stack use libsigsegv, when available.
44830         * modules/c-stack (Depends-on): Add libsigsegv.
44831         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
44832         needed.
44833         * lib/c-stack.c (SIGSTKSZ): Define fallback.
44834         (segv_handler, overflow_handler, c_stack_action)
44835         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
44836         implementation when libsigsegv is available, but only when using
44837         the library is necessary.
44838         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
44839         comment, explaining why XSI check fails on Linux.
44840         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
44841         * tests/test-c-stack2.sh: Tweak skip message.
44842         * NEWS: Document new link-time requirements.
44843
44844 2008-07-16  Eric Blake  <ebb9@byu.net>
44845
44846         c-stack: Expose false positives when not using libsigsegv.
44847         * modules/c-stack-tests (Files): Expand test.
44848         * tests/test-c-stack.c (main): Add means to conditionally trigger
44849         non-overflow SIGSEGV.
44850         * tests/test-c-stack2.sh: New file.
44851
44852 2008-07-14  Bruno Haible  <bruno@clisp.org>
44853
44854         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
44855         Reported by Eric Blake.
44856
44857 2008-07-14  Sam Steingold  <sds@gnu.org>
44858             Bruno Haible  <bruno@clisp.org>
44859
44860         New module libsigsegv.
44861         * modules/libsigsegv: New file.
44862         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
44863         modifications.
44864         * MODULES.html.sh (Signal handling): New section.
44865
44866 2008-07-14  Bruno Haible  <bruno@clisp.org>
44867
44868         * modules/unictype/ctype-* (Description): Add the word "function".
44869         Improves the resulting doc in MODULES.html.
44870
44871 2008-07-12  Ben Pfaff  <blp@gnu.org>
44872
44873         Add longlong module.
44874         * modules/longlong: New file.
44875
44876 2008-07-12  Bruno Haible  <bruno@clisp.org>
44877
44878         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
44879         to empty.
44880
44881 2008-07-10  Ben Pfaff  <blp@gnu.org>
44882
44883         Add isnan module.
44884         * doc/posix-functions/isnan.texi: Mention new module.
44885         * lib/math.in.h: Define isnan macro if we have decided to replace
44886         it.
44887         * m4/isnan.m4: New file.
44888         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
44889         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
44890         also.
44891         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
44892         redundancy.
44893         * m4/math_h.m4: Initialize and substitute variables for isnan
44894         module.
44895         * modules/isnan: New file.
44896         * modules/isnan-tests: New file.
44897         * modules/math: Add substitutions for new module.
44898         * tests/test-isnan.c: New file.
44899         * MODULES.html.sh: Mention new module.
44900
44901 2008-07-10  Ben Pfaff  <blp@gnu.org>
44902
44903         Add isnanf module.
44904         * lib/isnanf.m4: New file.
44905         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
44906         (gl_HAVE_ISNANF_IN_LIBM): New macro.
44907         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
44908         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
44909         * modules/isnanf: New file.
44910         * modules/isnanf-tests: New file.
44911         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
44912         files.
44913         * tests/test-isnanf-nolibm.c: factored most of its contents into
44914         new file tests/test-isnanf.h.
44915         * tests/test-isnanf.h: New file.
44916         * tests/test-isnanf.c: New file.
44917         * MODULES.html.sh: Mention new module.
44918         * doc/glibc-functions/isnanf.texi: Mention new module.
44919
44920 2008-07-10  Ben Pfaff  <blp@gnu.org>
44921
44922         Add isnand module.
44923         * lib/isnand.h: New file.
44924         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
44925         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
44926         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
44927         functionality also.
44928         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
44929         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
44930         (gl_HAVE_ISNAND_IN_LIBM): New macro.
44931         * modules/isnand: New file.
44932         * modules/isnand-tests: New file.
44933         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
44934         files.
44935         * tests/test-isnand-nolibm.c: factored most of its contents into
44936         new file tests/test-isnand.h.
44937         * tests/test-isnand.h: New file.
44938         * tests/test-isnand.c: New file.
44939         * MODULES.html.sh: Mention new module.
44940
44941 2008-07-10  Ben Pfaff  <blp@gnu.org>
44942
44943         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
44944         * lib/isnand.h: Rename lib/isnand-nolibm.h.
44945         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
44946         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
44947         * modules/isnanf-nolibm: Update references to renamed files.
44948         * modules/isnand-nolibm: Likewise.
44949         * modules/isnanf-nolibm-tests: Likewise.
44950         * modules/isnand-nolibm-tests: Likewise.
44951         * lib/frexp.c: Likewise.
44952         * lib/isfinite.c: Likewise.
44953         * lib/signbitd.c: Likewise.
44954         * lib/signbitf.c: Likewise.
44955         * lib/vasnprintf.c: Likewise.
44956         * tests/test-ceilf1.c: Likewise.
44957         * tests/test-ceilf2.c: Likewise.
44958         * tests/test-floorf1.c: Likewise.
44959         * tests/test-floorf2.c: Likewise.
44960         * tests/test-frexp.c: Likewise.
44961         * tests/test-round1.c: Likewise.
44962         * tests/test-round2.c: Likewise.
44963         * tests/test-roundf1.c: Likewise.
44964         * tests/test-strtod.c: Likewise.
44965         * tests/test-trunc1.c: Likewise.
44966         * tests/test-trunc2.c: Likewise.
44967         * tests/test-truncf1.c: Likewise.
44968         * tests/test-truncf2.c: Likewise.
44969         * NEWS: Mention the renamed header files.
44970
44971 2008-07-11  Jim Meyering  <meyering@redhat.com>
44972
44973         vc-list-files: make the last-resort awk code more portable
44974         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
44975         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
44976         does not support it.
44977
44978 2008-07-10  Eric Blake  <ebb9@byu.net>
44979
44980         Work with tar's bootstrap.
44981         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
44982         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
44983         an m4 comment.
44984
44985 2008-07-09  Jim Meyering  <meyering@redhat.com>
44986
44987         posix-shell.m4: fix typo that made this test malfunction
44988         * m4/posix-shell.m4: Remove capitalization in variable name.
44989
44990 2008-07-08  Bruno Haible  <bruno@clisp.org>
44991
44992         * m4/onceonly.m4: Update comments.
44993         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44994
44995 2008-07-04  Jim Meyering  <meyering@redhat.com>
44996
44997         * users.txt: Add vc-dwim.
44998         (bison, coreutils): Use the gitweb URL.
44999
45000 2008-07-03  Jim Meyering  <meyering@redhat.com>
45001
45002         * users.txt: Add libffcall.  From Sam Steingold.
45003
45004 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
45005
45006         getdate.y: do not ignore TZ with relative day, month or year offset
45007         * lib/getdate.y (get_date): Move the tz-handling block to follow the
45008         relative-date-handling, since otherwise, the latter would clobber the
45009         sole output (an updated Start value) of the tz-handling block.
45010         * tests/test-getdate.c: Tests for the fix
45011
45012 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45013
45014         Recognize 'foo_LIBRARIES += libgnu.a'.
45015         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
45016         makefile snippet has already specified an installation location,
45017         also using '+='.
45018
45019 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
45020
45021         getdate.y: factor out common actions
45022         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
45023         Use them in place of open-coded actions.
45024
45025 2008-07-01  Simon Josefsson  <simon@josefsson.org>
45026
45027         Add self-test for getdate module.
45028         * modules/getdate-tests: New file.
45029         * tests/test-getdate.c: New file.
45030
45031 2008-06-29  Bruno Haible  <bruno@clisp.org>
45032
45033         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
45034         .gitignore.
45035         Reported by Sylvain Beucler <beuc@beuc.net>.
45036
45037 2008-06-29  Bruno Haible  <bruno@clisp.org>
45038
45039         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
45040         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
45041
45042 2008-06-29  Bruno Haible  <bruno@clisp.org>
45043
45044         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
45045         EXTRA_DIST.
45046         Reported by Sylvain Beucler <beuc@beuc.net>.
45047
45048 2008-06-26  Jim Meyering  <meyering@redhat.com>
45049
45050         make several modules depend on the "open" module
45051         This provides slightly increased consistency when opening-for-write
45052         the name of a non-directory spelled with a trailing slash.
45053         * modules/chdir-safer: Likewise.
45054         * modules/chown: Likewise.
45055         * modules/clean-temp: Likewise.
45056         * modules/copy-file: Likewise.
45057         * modules/fchdir: Likewise.
45058         * modules/fcntl-safer: Likewise.
45059         * modules/pipe: Likewise.
45060         * modules/utime: Likewise.
45061         Prompted by Eric Blake and Bruno Haible.
45062
45063 2008-06-24  Andreas Schwab  <schwab@suse.de>
45064
45065         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
45066         literals can be used as initializers for global variables.
45067
45068 2008-06-23  Eric Blake  <ebb9@byu.net>
45069
45070         Make gnulib-cache.m4 easier to diff.
45071         * gnulib-tool (func_import): Allow newlines when reading cached
45072         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
45073
45074 2008-06-23  Bruno Haible  <bruno@clisp.org>
45075
45076         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
45077         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
45078         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
45079         m4/signalblocking.m4.
45080         (gl_PREREQ_SIGACTION): Don't invoke it.
45081         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
45082         gl_PREREQ_SIG_HANDLER_H.
45083         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
45084         Don't check for sigaction here.
45085
45086 2008-06-23  Bruno Haible  <bruno@clisp.org>
45087
45088         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
45089         (install_handlers): Don't set the SA_RESETHAND flag.
45090
45091 2008-06-23  Bruno Haible  <bruno@clisp.org>
45092
45093         * m4/sigaction.m4: Comment fixes.
45094         * lib/signal.in.h: Likewise.
45095
45096 2008-06-23  Eric Blake  <ebb9@byu.net>
45097
45098         Fix typo.
45099         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
45100
45101         Avoid SA_ namespace.
45102         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
45103         Reported by Ralf Wildenhues.
45104
45105         Avoid test failure due to SA_RESTORER.
45106         * tests/test-sigaction.c (SA_MASK): New macro.
45107         (main): Avoid failing due to extension flags being set.
45108         Reported by Jim Meyering.
45109
45110         Revert use of sig-handler.h in sigprocmask.c.
45111         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
45112         it requires the existence of struct sigaction.
45113         * lib/sigprocmask.c (handler_t): Restore typedef.
45114         (rpl_signal, old_handlers): Use local type.
45115
45116 2008-06-22  Bruno Haible  <bruno@clisp.org>
45117
45118         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
45119         conditionally.
45120         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45121
45122 2008-06-22  Bruno Haible  <bruno@clisp.org>
45123
45124         * doc/posix-functions/siginterrupt.texi: Move note.
45125
45126         * lib/signal.in.h (SA_RESTART): New macro.
45127         * lib/sigaction.c: Update comment.
45128
45129         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
45130
45131         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
45132         (gl_PREREQ_SIGPROCMASK): Invoke it.
45133         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
45134
45135         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
45136
45137         * lib/sigprocmask.c: Update a comment.
45138
45139 2008-06-21  Eric Blake  <ebb9@byu.net>
45140
45141         Use sigaction module rather than signal().
45142         * modules/c-stack (Depends-on): Add sigaction.
45143         * modules/fatal-signal (Depends-on): Likewise.
45144         * modules/nanosleep (Depends-on): Likewise.
45145         * modules/sigprocmask (Files): Add sig-handler.h.
45146         * modules/sigaction (Files): Likewise.
45147         * lib/sig-handler.h (get_handler): New file, suggested by Paul
45148         Eggert.
45149         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
45150         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
45151         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
45152         (init_fatal_signals): Likewise.
45153         * lib/nanosleep.c (rpl_nanosleep): Likewise.
45154         (siginterrupt): Delete fallback.
45155         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
45156         instead.
45157         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
45158         siginterrupt.
45159
45160         New module sigaction, for mingw.
45161         * modules/sigaction: New module...
45162         * modules/sigaction-tests: ...and its test.
45163         * m4/sigaction.m4: New file.
45164         * lib/sigaction.c: Likewise.
45165         * tests/test-sigaction.c: Likewise.
45166         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
45167         * modules/signal (Makefile.am): Likewise.
45168         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
45169         needed.
45170         * doc/posix-headers/signal.texi (signal.h): Mention provided
45171         types.
45172         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
45173         that sigaction is preferable.
45174         * doc/posix-functions/sigaction.texi (sigaction): Mention new
45175         module.
45176         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45177         sigaction.
45178
45179         Improve robustness of sigprocmask by overriding signal.
45180         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
45181         is in use.
45182         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
45183         (SIGKILL, SIGSTOP): Provide fallbacks.
45184         (rpl_signal): Implement.
45185         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
45186         signal can be called inside handlers.
45187
45188         Fix nanosleep module on mingw.
45189         * modules/nanosleep (Depends-on): Add sys_select.
45190         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
45191
45192         Fix licensing of sigprocmask.
45193         * modules/raise (License): Relicense as LGPL.
45194
45195 2008-06-21  Bruno Haible  <bruno@clisp.org>
45196
45197         * lib/propername.c (proper_name_utf8): Don't use the transliterated
45198         result if it contains question marks.
45199         Reported by Michael Geng <linux@michaelgeng.de>.
45200
45201 2008-06-19  Bruno Haible  <bruno@clisp.org>
45202
45203         Fix CVS-ism.
45204         * doc/gnulib.texi: Include updated-stamp.texi.
45205         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
45206         (updated-stamp.texi): New rule.
45207         (gnulib.info): Depend on it.
45208         * doc/.gitignore: Add updated-stamp.texi.
45209         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
45210
45211 2008-06-19  Bruno Haible  <bruno@clisp.org>
45212
45213         * doc/Makefile (gnulib.info): Update and simplify dependencies.
45214         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
45215
45216 2008-06-19  Eric Blake  <ebb9@byu.net>
45217
45218         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
45219         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
45220         Reported by Stepan Kasal.
45221
45222 2008-06-18  Bruno Haible  <bruno@clisp.org>
45223
45224         * lib/fatal-signal.c (init_fatal_signals): Add comment.
45225         Reported by Eric Blake.
45226
45227 2008-06-18  Eric Blake  <ebb9@byu.net>
45228
45229         Work around cygwin 1.5.25 strsignal bug.
45230         * tests/test-strsignal.c: Allow for const char *.
45231         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
45232
45233 2008-06-18  Simon Josefsson  <simon@josefsson.org>
45234
45235         * users.txt: Update URL to article and add author/date
45236         information.
45237
45238 2008-06-17  Bruno Haible  <bruno@clisp.org>
45239
45240         New macro gl_DISABLE_THREADS.
45241         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
45242         if the user did not pass --enable-threads or --disable-threads option.
45243         (gl_DISABLE_THREADS): New macro.
45244         Reported by Eric Blake <ebb9@byu.net>.
45245
45246 2008-06-17  Bruno Haible  <bruno@clisp.org>
45247
45248         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
45249         when the macro ignores it.
45250         Based on a patch by Eric Blake <ebb9@byu.net>.
45251
45252 2008-06-17  Bruno Haible  <bruno@clisp.org>
45253
45254         * modules/tls (License): Change to LGPLv2+.
45255         Reported by Eric Blake.
45256
45257 2008-06-17  Eric Blake  <ebb9@byu.net>
45258
45259         Simplify c-stack prerequisites.
45260         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
45261         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
45262         no longer requires <ucontext.h> to exist.  Optimize setrlimit
45263         check.
45264         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
45265         <sys/resource.h>.
45266
45267         Move c-stack test into testsuite.
45268         * modules/c-stack-tests: New file.
45269         * lib/c-stack.c [DEBUG]: Move test program...
45270         * tests/test-c-stack.c: ...into this new file.  Skip rather than
45271         fail test if sigaltstack is lacking.
45272         * tests/test-c-stack.sh: New driver file.
45273
45274 2008-06-16  Eric Blake  <ebb9@byu.net>
45275
45276         Use raise module consistently.
45277         * modules/fatal-signal (Depends-on): Add raise.
45278         * modules/sigprocmask (Depends-on): Likewise.
45279         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
45280         * lib/sigprocmask.c (sigprocmask): Likewise.
45281         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
45282         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
45283
45284         Fix compliance bug in sigpending.
45285         * lib/sigprocmask.c (sigpending): Return pending array via
45286         parameter, not return value.
45287
45288 2008-06-14  Eric Blake  <ebb9@byu.net>
45289
45290         Improve obstack-printf test code.
45291         * tests/test-obstack-printf.c (test_function): Fix comment, and
45292         simplify usage of obstack_* in macros.  Add a test for coverage.
45293         Reported by Bruno Haible.
45294
45295 2008-06-14  Bruno Haible  <bruno@clisp.org>
45296
45297         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
45298         array size as a constant, not as a const variable.
45299         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
45300         AC_USE_SYSTEM_EXTENSIONS.
45301         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
45302         Test whether the obstack_printf function actually exists.
45303         * modules/obstack-printf (Depends-on): Add extensions.
45304         (Include): Remove obstack.h.
45305         * modules/obstack-printf-posix (Depends-on): Add extensions.
45306         (Include): Remove obstack.h.
45307
45308 2008-06-13  Eric Blake  <ebb9@byu.net>
45309
45310         Add obstack-printf and obstack-printf-posix modules.
45311         * modules/obstack-printf: New file.
45312         * modules/obstack-printf-posix: Likewise.
45313         * MODULES.html.sh (Misc): Mention them.
45314         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
45315         Likewise.
45316         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
45317         Likewise.
45318         * modules/stdio (Makefile.am): Accomodate new modules.
45319         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45320         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
45321         Declare.
45322         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
45323         functions.
45324         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
45325         (gl_REPLACE_OBSTACK_PRINTF): New macros
45326         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
45327         * tests/test-obstack-printf.c: New file.
45328         * modules/obstack-printf-tests: Likewise.
45329         * modules/obstack-printf-posix-tests: Likewise.
45330
45331 2008-06-11  Bruno Haible  <bruno@clisp.org>
45332
45333         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
45334         * lib/open.c: Include errno.h.
45335         (open): Fail when attempting to write to a file that has a trailing
45336         slash.
45337         * tests/test-open.c (main): Test against trailing slash bug.
45338         * doc/posix-functions/open.texi: Mention the trailing slash bug.
45339
45340 2008-06-10  Bruno Haible  <bruno@clisp.org>
45341
45342         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
45343         for $? to work inside the trap command, with various /bin/sh-s.
45344         * tests/test-vc-list-files-cvs.sh: Likewise.
45345
45346 2008-06-10  Bruno Haible  <bruno@clisp.org>
45347
45348         * lib/acl-internal.h: Don't include gettext.h here.
45349         * lib/set-mode-acl.c: Include gettext.h here.
45350         * lib/copy-acl.c: Likewise.
45351
45352 2008-06-10  Bruno Haible  <bruno@clisp.org>
45353
45354         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
45355         * lib/wait-process.c (wait_subprocess): Likewise.
45356         * lib/execute.h (execute): Add termsigp argument.
45357         * lib/execute.c (execute): Likewise.
45358         * lib/csharpcomp.c (compile_csharp_using_pnet,
45359         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
45360         * lib/csharpexec.c (execute_csharp_using_pnet,
45361         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
45362         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
45363         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
45364         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
45365         is_jikes_present): Update.
45366         * lib/javaexec.c (execute_java_class): Update.
45367         * lib/javaversion.c (execute_and_read_line): Update.
45368         * NEWS: Document the changes.
45369         Reported by Eric Blake.
45370
45371 2008-06-10  Eric Blake  <ebb9@byu.net>
45372
45373         Add missing include.
45374         * tests/test-strstr.c (includes): Add <signal.h>.
45375         * tests/test-strcasestr.c (includes): Likewise.
45376         * tests/test-memmem.c (includes): Likewise.
45377
45378 2008-06-10  Bruno Haible  <bruno@clisp.org>
45379
45380         * lib/wait-process.c (wait_subprocess): Add an assertion.
45381
45382 2008-06-10  Bruno Haible  <bruno@clisp.org>
45383
45384         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
45385
45386 2008-06-10  Bruno Haible  <bruno@clisp.org>
45387
45388         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
45389         using alarm().
45390         * tests/test-strcasestr.c (main): Likewise.
45391         * tests/test-strstr.c (main): Likewise.
45392
45393 2008-06-09  Bruno Haible  <bruno@clisp.org>
45394
45395         Work around the Solaris 10 ACE ACLs ABI change.
45396         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
45397         declare if ACL_NO_TRIVIAL is present.
45398         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
45399         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
45400         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
45401         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
45402         define if ACL_NO_TRIVIAL is present.
45403         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
45404         and use the current ABI.
45405         (file_has_acl): Use same #if condition as elsewhere.
45406         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
45407         in use, and use the current ABI.
45408         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
45409         Reported by Jim Meyering.
45410
45411 2008-06-09  Eric Blake  <ebb9@byu.net>
45412
45413         Work around environments that (stupidly) ignore SIGALRM.
45414         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
45415         before using alarm().
45416         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45417         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45418         Reported by Ian Beckwith <ianb@erislabs.net>.
45419
45420         Produce autobuild blurb earlier in log.
45421         * modules/autobuild (configure.ac-early): Move AB_INIT here.
45422
45423 2008-06-09  Jim Meyering  <meyering@redhat.com>
45424         and OndÅ™ej Vašík  <ovasik@redhat.com>
45425
45426         utimens.c: correct kernel bug work-around
45427         OndÅ™ej Vašík found that the invalid return value of 280 indicates
45428         failure, not success, and the kernel bug we're trying to work
45429         around affects not just the utimensat call, but also the fallback
45430         futimens call.
45431         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
45432         not success.
45433         [HAVE_FUTIMENS]: Use the same work-around, here.
45434
45435 2008-06-09  Jim Meyering  <meyering@redhat.com>
45436
45437         add more guards around definition of ACE_-related code
45438         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
45439         ALLOW and ACE_OWNER are also defined.
45440
45441 2008-06-08  Bruno Haible  <bruno@clisp.org>
45442
45443         * lib/acl-internal.h: Add me as co-author.
45444         * lib/file-has-acl.c: Likewise.
45445         * lib/set-mode-acl.c: Likewise.
45446         * lib/copy-acl.c: Likewise.
45447
45448 2008-06-08  Bruno Haible  <bruno@clisp.org>
45449
45450         Add support for AIX ACLs.
45451         * lib/acl-internal.h (acl_nontrivial): New declaration.
45452         * lib/file-has-acl.c (acl_nontrivial): New function.
45453         (file_has_acl): Add implementation using AIX 4 ACL API.
45454         * lib/set-mode-acl.c (qset_acl): Likewise.
45455         * lib/copy-acl.c (qcopy_acl): Likewise.
45456
45457 2008-06-08  Bruno Haible  <bruno@clisp.org>
45458
45459         Add support for HP-UX ACLs.
45460         * lib/acl-internal.h (acl_nontrivial): New declaration.
45461         * lib/file-has-acl.c (acl_nontrivial): New function.
45462         (file_has_acl): Add implementation using HP-UX 11 ACL API.
45463         * lib/set-mode-acl.c (qset_acl): Likewise.
45464         * lib/copy-acl.c (qcopy_acl): Likewise.
45465
45466 2008-06-08  Bruno Haible  <bruno@clisp.org>
45467
45468         Add support for Cygwin ACLs.
45469         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
45470         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
45471         the chmod_or_fchmod call.
45472         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
45473
45474 2008-06-08  Bruno Haible  <bruno@clisp.org>
45475
45476         Fix bug with setuid modes in Solaris 10+ code.
45477         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
45478         succeeded, when the mode contains some special bits.
45479
45480 2008-06-08  Bruno Haible  <bruno@clisp.org>
45481
45482         Add support for Solaris 7..10 ACLs.
45483         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
45484         declarations.
45485         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
45486         functions.
45487         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
45488         * lib/set-mode-acl.c (qset_acl): Likewise.
45489         * lib/copy-acl.c (qcopy_acl): Likewise.
45490
45491 2008-06-08  Bruno Haible  <bruno@clisp.org>
45492
45493         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
45494         declaration.
45495         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
45496         (acl_access_nontrivial): Remove MacOS X case.
45497         (file_has_acl): Use acl_extended_nontrivial.
45498         * lib/copy-acl.c (qcopy_acl): Likewise.
45499
45500 2008-06-08  Bruno Haible  <bruno@clisp.org>
45501
45502         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
45503
45504 2008-06-08  Jim Meyering  <meyering@redhat.com>
45505
45506         * modules/acl (Maintainer): Add Bruno Haible.
45507
45508 2008-06-07  Bruno Haible  <bruno@clisp.org>
45509
45510         Improve support for Tru64 ACLs.
45511         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
45512         ACL on OSF/1.
45513
45514 2008-06-07  Bruno Haible  <bruno@clisp.org>
45515
45516         Add support for MacOS X ACLs.
45517         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
45518         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
45519         * lib/set-mode-acl.c (qset_acl): Likewise.
45520         * lib/copy-acl.c (qcopy_acl): Likewise.
45521
45522 2008-06-07  Bruno Haible  <bruno@clisp.org>
45523
45524         Fix memory leak introduced on 2008-05-22.
45525         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
45526         use.
45527
45528 2008-06-07  Bruno Haible  <bruno@clisp.org>
45529
45530         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
45531         to construct an empty ACL.
45532
45533 2008-06-07  Bruno Haible  <bruno@clisp.org>
45534
45535         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
45536         precisely.
45537         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
45538
45539 2008-06-07  Bruno Haible  <bruno@clisp.org>
45540
45541         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
45542         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
45543
45544 2008-06-07  Bruno Haible  <bruno@clisp.org>
45545
45546         * doc/posix-functions/_setjmp.texi: Explain the use of this function
45547         regardless of POSIX.
45548         * doc/posix-functions/_longjmp.texi: Likewise.
45549         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
45550         SystemV platform in this case.
45551
45552 2008-06-06  Eric Blake  <ebb9@byu.net>
45553
45554         Document abort() bugs.
45555         * doc/posix-functions/abort.texi (abort): Mention anomalies.
45556
45557         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
45558         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
45559         sigsetjmp.
45560         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
45561         siglongjmp, but only as a macro.
45562         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
45563         is obsolete.
45564         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
45565
45566         Tweak documentation to cover cygwin argz bugs.
45567         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
45568         argz bug fix; no code change needed since no cygwin releases
45569         occurred between the last fix and the bug being tested.
45570         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
45571         module and recently fixed cygwin bugs.
45572         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
45573         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
45574         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
45575         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
45576         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
45577         Likewise.
45578         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
45579         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
45580         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
45581         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
45582         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
45583         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
45584         Likewise.
45585
45586         Avoid gcc warning on cygwin.
45587         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
45588         !ACL_NO_TRIVIAL]: Avoid unused variable.
45589
45590 2008-06-05  Eric Blake  <ebb9@byu.net>
45591
45592         Be tolerant of UNKNOWN version in gnulib-tool test dir.
45593         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
45594         git-version-gen fails to come up with a version.
45595         Reported by Simon Josefsson.
45596
45597 2008-06-05  Jim Meyering  <meyering@redhat.com>
45598             Paul Eggert  <eggert@cs.ucla.edu>
45599
45600         utimens.c: work around a probable Linux kernel bug
45601         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
45602         appears to be a kernel bug that causes utimensat to return 280
45603         instead of 0, indicating success.
45604
45605 2008-06-04  Bruno Haible  <bruno@clisp.org>
45606
45607         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
45608         2008-06-01 commit.
45609
45610 2008-06-04  Bruno Haible  <bruno@clisp.org>
45611
45612         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
45613         * lib/file-has-acl.c (acl_access_nontrivial): New function.
45614         (file_has_acl): Use it. Save errno afterwards.
45615         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
45616
45617 2008-06-03  Bruno Haible  <bruno@clisp.org>
45618
45619         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
45620         draft code. Simplify #ifs.
45621         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
45622         Put Solaris code after POSIX-draft code. Fix comments regarding
45623         Solaris 10, HP-UX. Mention Cygwin.
45624         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
45625
45626 2008-06-03  Eric Blake  <ebb9@byu.net>
45627
45628         Provide fallback for older kernels.
45629         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
45630         Provide runtime fallback if kernel lacks support.
45631         Reported by Mike Frysinger.
45632
45633 2008-06-02  Bruno Haible  <bruno@clisp.org>
45634
45635         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
45636         it exists.
45637
45638 2008-06-02  Bruno Haible  <bruno@clisp.org>
45639
45640         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
45641         * lib/copy-acl.c (qcopy_acl): Update comment.
45642
45643 2008-06-02  Bruno Haible  <bruno@clisp.org>
45644
45645         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
45646         like ACL APIs.
45647
45648 2008-06-02  Bruno Haible  <bruno@clisp.org>
45649
45650         * tests/test-file-has-acl.sh: Use different code for Cygwin.
45651         * tests/test-set-mode-acl.sh: Likewise.
45652         * tests/test-copy-acl.sh: Likewise.
45653         * tests/test-copy-file.sh: Likewise.
45654
45655 2008-06-02  Bruno Haible  <bruno@clisp.org>
45656
45657         * tests/test-file-has-acl.sh: Remove unused code.
45658
45659 2008-06-01  Bruno Haible  <bruno@clisp.org>
45660
45661         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
45662         (copy_acl): Just a wrapper around qcopy_acl that emits the error
45663         messages.
45664         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
45665
45666 2008-06-01  Bruno Haible  <bruno@clisp.org>
45667
45668         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
45669         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
45670         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
45671         APIs.
45672         * modules/acl-tests (configure.ac): Remove tests now contained in
45673         m4/acl.m4.
45674
45675 2008-06-02  Jim Meyering  <meyering@redhat.com>
45676
45677         announce-gen: use a better key-server host name
45678         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
45679         it may be more consistently reliable.  Suggested by Werner Koch
45680         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
45681
45682 2008-06-01  Bruno Haible  <bruno@clisp.org>
45683
45684         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
45685         Reported by Voroskoi Andras <voroskoi@gmail.com>.
45686
45687 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
45688
45689         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
45690
45691 2008-06-01  Bruno Haible  <bruno@clisp.org>
45692
45693         New ACL tests.
45694         * tests/test-file-has-acl.sh: New file.
45695         * tests/test-file-has-acl.c: New file.
45696         * tests/test-set-mode-acl.sh: New file.
45697         * tests/test-set-mode-acl.c: New file.
45698         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
45699         * tests/test-copy-acl.c: New file.
45700         * modules/acl-tests: New file, based on modules/copy-file-tests.
45701         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
45702         (Depends-on): Add acl-tests.
45703         (configure.ac): Remove checks.
45704         (Makefile.am): Don't create test-sameacls program here any more.
45705
45706 2008-06-01  Bruno Haible  <bruno@clisp.org>
45707
45708         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
45709         * tests/test-sameacls.c: Include progname.h.
45710         (main): Invoke set_program_name. Portability fixes for MacOS X,
45711         Solaris, HP-UX.
45712
45713 2008-06-01  Bruno Haible  <bruno@clisp.org>
45714
45715         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
45716         function.
45717         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
45718
45719 2008-06-01  Bruno Haible  <bruno@clisp.org>
45720
45721         * modules/rpmatch (Depends-on): Add strdup.
45722
45723 2008-06-01  Bruno Haible  <bruno@clisp.org>
45724
45725         * lib/pipe.c: Include unistd-safer.h.
45726         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
45727         * modules/pipe (Depends-on): Add unistd-safer.
45728
45729 2008-05-30  Simon Josefsson  <simon@josefsson.org>
45730
45731         * modules/autobuild (configure.ac): Call AB_INIT.
45732
45733 2008-05-30  Simon Josefsson  <simon@josefsson.org>
45734
45735         * tests/test-getaddrinfo.c: Don't print debug messages by default.
45736         Suggested by Bruno Haible <bruno@clisp.org>.
45737
45738 2008-05-30  Simon Josefsson  <simon@josefsson.org>
45739
45740         * tests/test-base64.c: Cast size_t to unsigned long when invoking
45741         printf.  Use %lu instead of %d.  Reported by Bruno Haible
45742         <bruno@clisp.org>.
45743
45744 2008-05-29  Eric Blake  <ebb9@byu.net>
45745
45746         Prefer new POSIX 200x interfaces over futimesat.
45747         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
45748         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
45749         when available.
45750         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
45751
45752 2008-05-28  Bruno Haible  <bruno@clisp.org>
45753
45754         * modules/stpcpy (License): Change to LGPLv2+.
45755         Requested by David Lutterkort <dlutter@redhat.com>.
45756
45757 2008-05-27  Bruno Haible  <bruno@clisp.org>
45758
45759         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
45760         current mingw.
45761         Reported by Jose E. Marchesi <jemarch@gnu.org>.
45762
45763 2008-05-27  Bruno Haible  <bruno@clisp.org>
45764
45765         * modules/iconv_open (Link): New section, from module 'iconv'.
45766         * modules/striconv (Link): Likewise.
45767         * modules/striconveh (Link): Likewise.
45768         * modules/xstriconv (Link): Likewise.
45769         * modules/unicodeio (Link): Likewise.
45770         * modules/propername (Link): Likewise.
45771         Reported by Jim Meyering.
45772
45773 2008-05-26  Jim Meyering  <meyering@redhat.com>
45774
45775         sha256: do not artificially restrict buffer length to be < 2^32
45776         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
45777         uint32_t to size_t.
45778         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
45779         to match.
45780
45781         avoid unaligned access errors, e.g., on sparc
45782         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
45783         direct access through a possibly-unaligned uint64* pointer.
45784         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
45785         direct access through a possibly-unaligned uint32* pointer.
45786         Prompted by this patch from Tom "spot" Callaway:
45787         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
45788
45789         sha512.c: fix typo in comment
45790         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
45791
45792 2008-05-25  Bruno Haible  <bruno@clisp.org>
45793
45794         * lib/set-mode-acl.c: Renamed from lib/acl.c.
45795         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
45796         (Makefile.am): Update lib_SOURCES.
45797
45798 2008-05-25  Bruno Haible  <bruno@clisp.org>
45799
45800         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
45801
45802 2008-05-25  Jim Meyering  <meyering@redhat.com>
45803
45804         useless-if-before-free: freed expr may have white-space differences
45805         * build-aux/useless-if-before-free: Recognize cases in which the
45806         freed expression differs from the tested one in embedded white
45807         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
45808         $1 was used, so we can't make any regexp shy.  Improved tests now
45809         detect this.
45810
45811         useless-if-before-free: accept white space in the expression.
45812         * build-aux/useless-if-before-free: For now, any white space
45813         in the expression must be identical in the free argument.
45814
45815         useless-if-before-free: efficiency tweak
45816         * build-aux/useless-if-before-free: Make the expression-matching
45817         regexp "shy".
45818         Make the *outer* regexp shy, not the expr-matching one.
45819
45820         update code-in-comment to accept cast of free arg
45821         * build-aux/useless-if-before-free: Update regexp.
45822
45823 2008-05-25  Bruno Haible  <bruno@clisp.org>
45824
45825         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
45826         * modules/copy-file-tests (Files, Makefile.am): Update.
45827         * tests/test-copy-file.c (func_test_copy): Update.
45828
45829 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
45830
45831         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
45832
45833 2008-05-23  Bruno Haible  <bruno@clisp.org>
45834
45835         Improve support for ACLs on OSF/1.
45836         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
45837         Remove fallback for unknown flavors of ACLs.
45838
45839 2008-05-22  Bruno Haible  <bruno@clisp.org>
45840
45841         Add support for ACLs on OSF/1.
45842         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
45843         replacements.
45844         (acl_free_text): New macro fallback.
45845         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
45846         acl_free.
45847         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
45848         acl_free_text function. Require AC_C_INLINE.
45849
45850 2008-05-22  Bruno Haible  <bruno@clisp.org>
45851
45852         Make copy_acl work on MacOS X 10.5.
45853         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
45854         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
45855         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
45856         If MODE_INSIDE_ACL, don't assume that every system has the same text
45857         representation for ACLs as FreeBSD.
45858         * lib/copy-acl.c (copy_acl): Add support for platforms with
45859         !MODE_INSIDE_ACL.
45860         * lib/file-has-acl.c (file_has_acl): Likewise.
45861         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
45862         FreeBSD, MacOS X, or IRIX, respectively.
45863
45864 2008-05-22  Bruno Haible  <bruno@clisp.org>
45865
45866         * lib/acl.h: Don't include <sys/acl.h>.
45867         (GETACLCNT): Move fallback to lib/acl-internal.h.
45868         * lib/acl-internal.h: Include <sys/acl.h> here.
45869         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
45870
45871 2008-05-22  Bruno Haible  <bruno@clisp.org>
45872
45873         Split off copy_acl function to separate file.
45874         * lib/copy-acl.c: New file, extracted from lib/acl.c.
45875         * lib/acl.c (copy_acl): Moved function to separate file.
45876         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
45877         * modules/acl (Files): Add lib/copy-acl.c.
45878         (Makefiles.am): Augment lib_SOURCES.
45879
45880 2008-05-22  Bruno Haible  <bruno@clisp.org>
45881
45882         * modules/copy-file-tests: New file.
45883         * tests/test-copy-file.sh: New file.
45884         * tests/test-copy-file.c: New file.
45885         * tests/test-copy-file-sameacls.c: New file.
45886
45887 2008-05-22  Eric Blake  <ebb9@byu.net>
45888
45889         Avoid gcc warning.
45890         * tests/test-memcmp.c (main): Pass NULL indirectly.
45891
45892 2008-05-21  Bruno Haible  <bruno@clisp.org>
45893
45894         Add reference doc about ACLs.
45895         * doc/acl-resources.txt: New file.
45896         * doc/acl-cygwin.txt: New file.
45897
45898 2008-05-21  Bruno Haible  <bruno@clisp.org>
45899
45900         Avoid one more warning from gcc.
45901         * lib/vasnprintf.c (IF_LINT): Update comments.
45902         (VASNPRINTF): Use it also for the 'prefix' array initializer.
45903
45904 2008-05-21  Jim Meyering  <meyering@redhat.com>
45905
45906         avoid a warning from gcc
45907         * lib/vasnprintf.c (IF_LINT): Define.
45908         (scale10_round_decimal_long_double):
45909         Use it to avoid a "may be used uninitialized" warning.
45910         (scale10_round_decimal_double): Likewise.
45911
45912 2008-05-21  Simon Josefsson  <simon@josefsson.org>
45913
45914         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
45915         declared.
45916
45917 2008-05-20  Bruno Haible  <bruno@clisp.org>
45918
45919         * tests/test-memcmp.c (main): Test also the sign of the result. Test
45920         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
45921
45922 2008-05-20  Simon Josefsson  <simon@josefsson.org>
45923
45924         * modules/memcmp-tests: New file.
45925         * tests/test-memcmp.c: New file.
45926
45927 2008-05-19  Bruno Haible  <bruno@clisp.org>
45928
45929         * modules/propername (Notice, configure.ac): Put quoted "..." into
45930         --keyword option.
45931         * lib/propername.h: Update comments accordingly.
45932         Reported by Eric Blake.
45933
45934 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
45935
45936         * modules/getpass-gnu (Depends-on): Add fseeko.
45937
45938 2008-05-19  Simon Josefsson  <simon@josefsson.org>
45939
45940         * modules/base64-tests: New file.
45941
45942 2008-05-19  Bo Borgerson <gigabo@gmail.com>
45943
45944         * lib/base64.c (base64_decode_ctx): If a decode context structure
45945         was passed in use it to ignore newlines.  If a context structure
45946         was _not_ passed in, continue to treat newlines as garbage (this
45947         is the historical behavior).  Formerly base64_decode.
45948         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
45949         takes a decode context structure.
45950         * lib/base64.h (base64_decode): Macro for four-argument calls.
45951         (base64_decode_alloc): Likewise.
45952         * lib/base64.c (base64_decode_ctx): If a decode context structure
45953         was passed in use it to ignore newlines.  If a context structure
45954         was _not_ passed in, continue to treat newlines as garbage (this
45955         is the historical behavior).  Formerly base64_decode.
45956         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
45957         takes a decode context structure.
45958         * lib/base64.h (base64_decode): Macro for four-argument calls.
45959         (base64_decode_alloc): Likewise.
45960
45961 2008-05-19  Jim Meyering  <meyering@redhat.com>
45962
45963         avoid a warning from gcc
45964         * lib/trim.c (IF_LINT): Define.
45965         (trim2): Use it to avoid a "may be used uninitialized" warning.
45966
45967         Fix doc typo.
45968         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
45969
45970 2008-05-19  Bruno Haible  <bruno@clisp.org>
45971
45972         * doc/glibc-functions/getpass.texi: Document limits of other
45973         implementations.
45974
45975 2008-05-19  Simon Josefsson  <simon@josefsson.org>
45976             Bruno Haible <bruno@clisp.org>
45977
45978         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
45979
45980 2008-05-18  Bruno Haible  <bruno@clisp.org>
45981
45982         * modules/propername: New file, from GNU gettext.
45983         * lib/propername.h: New file, from GNU gettext.
45984         * lib/propername.c: New file, from GNU gettext.
45985         * MODULES.html.sh (Internationalization functions): Add propername.
45986
45987 2008-05-16  Jim Meyering  <meyering@redhat.com>
45988             Bruno Haible  <bruno@clisp.org>
45989
45990         Avoid some warnings from "gcc -Wshadow".
45991         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
45992
45993 2008-05-15  Eric Blake  <ebb9@byu.net>
45994
45995         Extend previous patch to cygwin 1.7.0.
45996         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
45997         fast implementation in cygwin >= 1.7.0.
45998         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45999         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46000
46001 2008-05-15  Bruno Haible  <bruno@clisp.org>
46002
46003         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
46004         implementation in glibc >= 2.9.
46005         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46006         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46007
46008 2008-05-15  Bruno Haible  <bruno@clisp.org>
46009
46010         * MODULES.html.sh (Internationalization functions): Remove linebreak.
46011         (Unicode string functions): Add unilbrk/*.
46012         Reported by Karl Berry.
46013
46014 2008-05-15  Eric Blake  <ebb9@byu.net>
46015
46016         Fix violation of <stdbool.h> replacement in regex.
46017         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
46018         * lib/regexec.c (re_search_internal): Likewise.
46019         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
46020
46021 2008-05-15  Jim Meyering  <meyering@redhat.com>
46022
46023         avoid distracting test output when git or cvs is not found
46024         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
46025         * tests/test-vc-list-files-git.sh: Likewise.
46026
46027 2008-05-15  Eric Blake  <ebb9@byu.net>
46028
46029         Glibc finally accepted the memmem speedup code, bugzilla #5514.
46030         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
46031         glibc version.
46032         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
46033         * doc/posix-functions/strstr.texi (strstr): Likewise.
46034         * lib/str-two-way.h (MAX): Sychronize with glibc.
46035
46036 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
46037
46038         * lib/regcomp.c (optimize_utf8): Add a note on why we test
46039         opr.ctx_type.
46040         (calc_first): Initialize constraint field.
46041         (duplicate_node_closure): Use it instead of special casing ANCHORS.
46042         Fix grammar.
46043         (duplicate_node): Merge constraint field for all node types.
46044         (calc_eclosure_iter): Look at constraint field for all node types.
46045         * lib/regex_internal.c (create_cd_newstate): Don't look at
46046         opr.ctx_type.
46047
46048 2008-05-14  Bruno Haible  <bruno@clisp.org>
46049
46050         Help GCC to do better code generation.
46051         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
46052         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
46053         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
46054         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
46055         Declare with attribute 'malloc' if supported.
46056
46057 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
46058
46059         use "echo STR|wc -c" rather than unportable "expr length STR"
46060         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
46061         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
46062
46063 2008-05-14  Jim Meyering  <meyering@redhat.com>
46064
46065         use dd ibs=$n count=1 ... rather than less-portable head -c$n
46066         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
46067         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
46068         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
46069         via Collin Lasse.
46070
46071 2008-05-14  Eric Blake  <ebb9@byu.net>
46072
46073         Avoid quadratic growth in gl_LIBSOURCES.
46074         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
46075         Suggested by Bruno Haible.
46076
46077         Test xmemdup0.
46078         * modules/xmemdup0-tests: New file.
46079         * tests/test-xmemdup0.c: Likewise.
46080
46081 2008-05-13  Eric Blake  <ebb9@byu.net>
46082
46083         Split xmemdup0 into its own module.
46084         * modules/xmemdup0: New file.
46085         * lib/xmemdup0.h: Likewise.
46086         * lib/xmemdup0.c: Likewise.
46087         * MODULES.html.sh (Memory management functions): Add xmemdup0.
46088         * lib/xalloc.h (xmemdup0): Remove.
46089         * lib/xmalloc.c (xmemdup0): Likewise.
46090
46091 2008-05-13  Eric Blake  <ebb9@byu.net>
46092             Bruno Haible  <bruno@clisp.org>
46093
46094         Reduce number of forks required during autoconf.
46095         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
46096         and gl_LIBSOURCES_DIR.
46097         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
46098         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
46099         m4_syscmd per file.
46100         <m4_foreach_w>: Move...
46101         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
46102
46103 2008-05-13  Eric Blake  <ebb9@byu.net>
46104
46105         * gnulib-tool: Fix various comment typos.
46106
46107 2008-05-12  Bruno Haible  <bruno@clisp.org>
46108
46109         Tailor the linebreaking algorithm.
46110         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
46111
46112 2008-05-12  Bruno Haible  <bruno@clisp.org>
46113
46114         Update to Unicode 5.0.0.
46115         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
46116         LBP_JV, LBP_JT. Redistribute values.
46117         (unilbrk_table): Change size.
46118         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
46119         Unicode TR#14 rev. 22.
46120         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
46121         LBP_JV, LBP_JT. Redistribute values.
46122         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
46123         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
46124         Update.
46125         * lib/unilbrk/lbrkprop1.h: Regenerated.
46126         * lib/unilbrk/lbrkprop2.h: Regenerated.
46127         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
46128         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
46129         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
46130         Likewise.
46131         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
46132         Likewise.
46133         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
46134         result.
46135         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
46136         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
46137         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
46138         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
46139         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
46140         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
46141
46142 2008-05-11  Bruno Haible  <bruno@clisp.org>
46143
46144         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
46145
46146 2008-05-11  Bruno Haible  <bruno@clisp.org>
46147
46148         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
46149         * modules/unilbrk/gen-lbrk: New file.
46150
46151 2008-05-11  Bruno Haible  <bruno@clisp.org>
46152
46153         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
46154         * m4/sha512.m4 (gl_SHA512): Likewise.
46155
46156 2008-05-11  Jim Meyering  <meyering@redhat.com>
46157
46158         New modules: crypto/sha256, crypto/sha512 (from coreutils)
46159         * modules/crypto/sha256: New file.
46160         * modules/crypto/sha512: Likewise.
46161         * lib/sha256.c: Likewise.
46162         * lib/sha256.h: Likewise.
46163         * lib/sha512.c: Likewise.
46164         * lib/sha512.h: Likewise.
46165         * lib/u64.h: Likewise.
46166         * m4/sha256.m4: Likewise.
46167         * m4/sha512.m4: Likewise.
46168         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
46169
46170 2008-05-10  Bruno Haible  <bruno@clisp.org>
46171
46172         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
46173         (Input/Output <stdio.h>): Add xprintf.
46174         (Signal handling <signal.h>): Add strsignal.
46175         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
46176         (Core language properties): Add func.
46177         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
46178         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
46179         strings.
46180         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
46181         (Input/output): New section.
46182         (File system functions): Add openat-die, stat-macros.
46183         (Networking functions): Add sockets.
46184         (Unicode string functions): Add unictype/*.
46185         (Support for building libraries and executables): Add gperf.
46186         (Support for building documentation): Add agpl-3.0.
46187         (Misc): Add nocrash.
46188
46189 2008-05-10  Bruno Haible  <bruno@clisp.org>
46190
46191         * modules/unictype/gen-ctype: New file.
46192
46193 2008-05-10  Jim Meyering  <meyering@redhat.com>
46194
46195         Make chdir-safer.c more efficient on a system with no symlinks.
46196         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
46197         also if ELOOP is zero.  Suggested by Bruno Haible.
46198
46199         Make chdir-safer.c slightly safer.
46200         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
46201         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
46202
46203         Avoid compile failure on systems without ELOOP (like mingw).
46204         * lib/chdir-safer.c (ELOOP): Define if not already defined.
46205         Reported by Bruno Haible.
46206
46207 2008-05-10  Bruno Haible  <bruno@clisp.org>
46208
46209         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
46210         (is_utf8_encoding): Use a case-insensitive comparison.
46211         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
46212         streq.
46213
46214 2008-05-10  Bruno Haible  <bruno@clisp.org>
46215
46216         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
46217         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
46218         * lib/unilbrk/ulc-common.h (iconv_string_length,
46219         iconv_string_keeping_offsets): Remove declarations.
46220         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
46221         Don't include <iconv.h>, streq.h, xsize.h.
46222         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
46223         conversion.
46224         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
46225         <iconv.h>, streq.h, xsize.h.
46226         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
46227         conversion.
46228         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
46229         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
46230         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
46231         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
46232
46233 2008-05-10  Bruno Haible  <bruno@clisp.org>
46234
46235         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
46236         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
46237
46238         * modules/unilbrk/u32-width-linebreaks-tests: New file.
46239         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
46240
46241         * modules/unilbrk/u16-width-linebreaks-tests: New file.
46242         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
46243
46244         * modules/unilbrk/u8-width-linebreaks-tests: New file.
46245         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
46246
46247         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
46248         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
46249
46250         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
46251         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
46252
46253         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
46254         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
46255
46256         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
46257         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
46258
46259 2008-05-10  Bruno Haible  <bruno@clisp.org>
46260
46261         Split up 'linebreak' module.
46262         * lib/unilbrk.h: New file, based on lib/linebreak.h.
46263         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
46264         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
46265         modifications.
46266         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
46267         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
46268         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
46269         lib/linebreak.c.
46270         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
46271         lib/linebreak.c.
46272         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
46273         lib/linebreak.c.
46274         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
46275         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
46276         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
46277         lib/linebreak.c.
46278         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
46279         lib/linebreak.c.
46280         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
46281         lib/linebreak.c.
46282         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
46283         lib/linebreak.c.
46284         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
46285         lib/linebreak.c.
46286         * modules/unilbrk/base: New file.
46287         * modules/unilbrk/tables: New file.
46288         * modules/unilbrk/u8-possible-linebreaks: New file.
46289         * modules/unilbrk/u16-possible-linebreaks: New file.
46290         * modules/unilbrk/u32-possible-linebreaks: New file.
46291         * modules/unilbrk/ulc-common: New file.
46292         * modules/unilbrk/ulc-possible-linebreaks: New file.
46293         * modules/unilbrk/u8-width-linebreaks: New file.
46294         * modules/unilbrk/u16-width-linebreaks: New file.
46295         * modules/unilbrk/u32-width-linebreaks: New file.
46296         * modules/unilbrk/ulc-width-linebreaks: New file.
46297         * lib/linebreak.h: Remove file.
46298         * lib/linebreak.c: Remove file.
46299         * m4/linebreak.m4: Remove file.
46300         * modules/linebreak: Remove file.
46301         * NEWS: Mention the changes.
46302
46303 2008-05-09  Eric Blake  <ebb9@byu.net>
46304
46305         Add xmemdup0.
46306         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
46307         implementation.
46308         * lib/xmalloc.c (xmemdup0): New C implementation.
46309
46310 2008-05-08  Bruno Haible  <bruno@clisp.org>
46311
46312         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
46313
46314 2008-05-07  Eric Blake  <ebb9@byu.net>
46315
46316         Support cross-compilation of <wctype.h>.
46317         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
46318         AC_CACHE_CHECK.
46319
46320 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
46321
46322         * build-aux/vc-list-files: Add support for bzr.
46323
46324 2008-05-03  Jim Meyering  <meyering@redhat.com>
46325
46326         avoid failed assertion with tight malloc
46327         * tests/test-getndelim2.c: Correct an off-by-one assertion.
46328
46329 2008-05-03  Simon Josefsson  <simon@josefsson.org>
46330
46331         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
46332         are needed from arpa/inet.h.
46333         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
46334         Reported by Bruno Haible.
46335
46336 2008-05-02  Jim Meyering  <meyering@redhat.com>
46337
46338         avoid compilation error on FreeBSD 6
46339         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
46340
46341 2008-05-01  Jim Meyering  <meyering@redhat.com>
46342
46343         useless-if-before-free: correct --help's exit status description
46344         * build-aux/useless-if-before-free (usage): Like grep, exit 0
46345         for one or more matches, etc.  Reported by Bruno Haible.
46346
46347         vc-list-files: make the stand-alone gnulib test work
46348         * modules/vc-list-files-tests (configure.ac):
46349         Define and AC_SUBST abs_aux_dir.
46350         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
46351         $(abs_top_srcdir) to each script and having each of them
46352         duplicate the work of setting PATH, set PATH here, using
46353         the new variable, abs_aux_dir instead.
46354         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
46355         * tests/test-vc-list-files-git.sh: Likewise.
46356         Reported by Bruno Haible.
46357
46358 2008-05-01  Bruno Haible  <bruno@clisp.org>
46359
46360         * lib/getndelim2.c (getndelim2): Fix newsize computation during
46361         reallocation. Rename 'done' to 'found_delimiter'.
46362
46363 2008-05-01  Jim Meyering  <meyering@redhat.com>
46364
46365         vc-list-files: accommodate /bin/sh like the one from Solaris 10
46366         * build-aux/vc-list-files: Use `...`, not $(...).
46367
46368 2008-04-30  Jim Meyering  <meyering@redhat.com>
46369
46370         add tests for vc-list-files
46371         * modules/vc-list-files-tests: New module.
46372         * tests/test-vc-list-files-cvs.sh: New file.
46373         * tests/test-vc-list-files-git.sh: New file.
46374
46375         avoid a warning from gcc
46376         * lib/getndelim2.c (IF_LINT): Define.
46377         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
46378
46379         vc-list-files: work properly with build-aux/cvsu, too
46380         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
46381         to all cvs-based clauses.
46382
46383         vc-list-files: work properly in the CVS+awk case, too
46384         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
46385
46386         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
46387         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
46388         take more than one file argument, so .  Add quotes, just in case $dir
46389         ever contains a shell meta-character.  Prompted by Soren Hansen in
46390         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
46391
46392 2008-04-29  Eric Blake  <ebb9@byu.net>
46393
46394         Optimize getndelim2 to use block operations when possible.
46395         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
46396         freadseek, and memchr2.
46397         * lib/getndelim2.c (getndelim2): Use them for block reads.
46398
46399 2008-04-29  Bruno Haible  <bruno@clisp.org>
46400
46401         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
46402         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46403         * modules/inet_ntop (Depends-on): Add extensions.
46404         * modules/inet_pton (Depends-on): Likewise.
46405         Reported by Simon Josefsson.
46406
46407 2008-04-29  Jim Meyering  <meyering@redhat.com>
46408
46409         When the is more than one match in a block, match all of them.
46410         * build-aux/useless-if-before-free: Iterate through each block
46411         until there are no more matches.
46412
46413         Fix broken useless-if-before-free script.
46414         * build-aux/useless-if-before-free: Fix typo: missing "?" after
46415         the expression to match cast of argument to free-like function.
46416
46417 2008-04-29  Eric Blake  <ebb9@byu.net>
46418
46419         Use new header.
46420         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
46421
46422 2008-04-29  Jim Meyering  <meyering@redhat.com>
46423
46424         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
46425         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
46426         by gnulib to exist and to declare e.g., inet_ntop.
46427         Don't include "inet_ntop.h", now removed.
46428
46429         * m4/arpa_inet_h.m4: Remove trailing blanks.
46430
46431 2008-04-29  Eric Blake  <ebb9@byu.net>
46432
46433         Silence valgrind on safe reads beyond potential array bounds.
46434         * lib/rawmemchr.valgrind: New file.
46435         * lib/strchrnul.valgrind: Likewise.
46436         * modules/rawmemchr (Files): Distribute new file.
46437         * modules/strchrnul (Files): Likewise.
46438         Suggested by Bruno Haible.
46439
46440 2008-04-29  Bruno Haible  <bruno@clisp.org>
46441
46442         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
46443         (inet_ntop, inet_pton): Change portability warning's wording.
46444         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
46445         Invoke gl_CHECK_NEXT_HEADERS.
46446         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
46447         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
46448         set ARPA_INET_H.
46449         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46450         * modules/arpa_inet (Description): No longer only for systems that
46451         lack it.
46452         (Depends-on): Add include_next.
46453         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
46454         HAVE_ARPA_INET_H.
46455
46456 2008-04-29  Jim Meyering  <meyering@redhat.com>
46457
46458         * modules/mkdir (License): Re-license as LGPLv2+.
46459
46460 2008-04-29  Bruno Haible  <bruno@clisp.org>
46461
46462         * modules/rawmemchr (Maintainer): Set to Eric.
46463         * modules/strchrnul (Maintainer): Likewise.
46464
46465 2008-04-29  Simon Josefsson  <simon@josefsson.org>
46466
46467         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
46468         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
46469
46470         * modules/arpa_inet (arpa/inet.h): Use them.
46471
46472 2008-04-28  Eric Blake  <ebb9@byu.net>
46473
46474         Test getndelim2.
46475         * modules/getndelim2-tests: New file.
46476         * tests/test-getndelim2.c: Likewise.
46477         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
46478         stream.
46479         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
46480
46481         * MODULES.html.sh: Document new module.
46482
46483 2008-04-20  Bruno Haible  <bruno@clisp.org>
46484
46485         * lib/c-stack.c (die): Use raise.
46486         * modules/c-stack (Depends-on): Add raise.
46487
46488 2008-04-28  Bruno Haible  <bruno@clisp.org>
46489
46490         Expect rpmatch to be declared.
46491         * lib/yesno.c (rpmatch): Remove declaration.
46492
46493         Declare rpmatch.
46494         * lib/stdlib.in.h (rpmatch): New declaration.
46495         * lib/rpmatch.c: Include <stdlib.h> first.
46496         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
46497         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
46498         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
46499         HAVE_RPMATCH.
46500         * modules/rpmatch (Depends-on): Add stdlib, extensions.
46501         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46502         (Include): Set to <stdlib.h>.
46503         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
46504         HAVE_RPMATCH.
46505         * NEWS: Document the change.
46506
46507 2008-04-28  Bruno Haible  <bruno@clisp.org>
46508
46509         Change rpmatch to use nl_langinfo when appropriate.
46510         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
46511         (N_): New macro.
46512         (localized_pattern): New function/macro.
46513         (try): Remove match, nomatch arguments. Copy the pattern into safe
46514         memory before caching it.
46515         (rpmatch): Use localized_pattern. Add translator comments.
46516         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
46517         Suggested by Eric Blake.
46518         * modules/rpmatch (Depends-on): Add stdbool.
46519
46520 2008-04-28  Eric Blake  <ebb9@byu.net>
46521
46522         Add rawmemchr module, matching glibc.
46523         * modules/string (Makefile.am): New indicator.
46524         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
46525         * lib/string.in.h (rawmemchr): Declare when appropriate.
46526         * modules/rawmemchr: New file.
46527         * m4/rawmemchr.m4: Likewise.
46528         * lib/rawmemchr.c: Likewise.
46529         * modules/rawmemchr-tests: Likewise.
46530         * tests/test-rawmemchr.c: Likewise.
46531         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
46532         module.
46533         * modules/strchrnul (Depends-on): Add rawmemchr.
46534         * lib/strchrnul.c (strchrnul): Optimize a corner case.
46535
46536         Whitespace cleanup.
46537         * tests/test-strchrnul.c: Reindent.
46538         * lib/strchrnul.c: Likewise.
46539
46540         Optimize and test strchrnul.
46541         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
46542         * modules/strchrnul-tests: New file.
46543         * tests/test-strchrnul.c: Likewise.
46544
46545         Remove intprops dependency.
46546         * modules/memchr (Depends-on): Remove intprops.
46547         * modules/memrchr (Depends-on): Likewise.
46548         * modules/memchr2 (Depends-on): Likewise.
46549         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
46550         * lib/memrchr.c (__memrchr): Likewise.
46551         * lib/memrchr2.c (memchr2): Likewise.
46552         Reported by Simon Josefsson.
46553
46554 2008-04-28  Simon Josefsson  <simon@josefsson.org>
46555
46556         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
46557         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46558
46559 2008-04-28  Simon Josefsson  <simon@josefsson.org>
46560
46561         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
46562
46563         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
46564
46565         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
46566
46567         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
46568         declarations.
46569         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
46570
46571         * m4/inet_pton.m4: Don't check for header files.
46572
46573         * m4/inet_ntop.m4: Don't check for header files.
46574
46575 2008-04-28  Simon Josefsson  <simon@josefsson.org>
46576
46577         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
46578         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
46579         trigger for cygwin).
46580         Reported by Bruno Haible  <bruno@clisp.org>.
46581
46582 2008-04-28  Bruno Haible  <bruno@clisp.org>
46583
46584         * doc/posix-functions/strdup.texi: Mention mingw problem.
46585
46586 2008-04-27  Bruno Haible  <bruno@clisp.org>
46587
46588         * modules/stat-time-tests (Depends-on): Add sleep.
46589         * tests/test-stat-time.c (force_unlink): New function.
46590         (cleanup): Use it.
46591         (test_mtime): Remove the ctime related tests.
46592         (test_ctime): New function, containing the ctime related tests.
46593         (main): Call test_ctime, except on native Windows platforms.
46594
46595 2008-04-27  Bruno Haible  <bruno@clisp.org>
46596
46597         * lib/rpmatch.c (rpmatch): Add some comments.
46598         Reported by James Youngman <jay@gnu.org>.
46599
46600 2008-04-27  Bruno Haible  <bruno@clisp.org>
46601
46602         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
46603         quiet NaNs.
46604
46605 2008-04-27  Bruno Haible  <bruno@clisp.org>
46606
46607         Make test-yesno.sh work on mingw.
46608         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
46609         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
46610         (main): Set stdin to binary mode.
46611         * modules/yesno-tests (Depends-on): Add binary-io.
46612
46613 2008-04-27  Bruno Haible  <bruno@clisp.org>
46614
46615         Fix 'isfinite' on x86, x86_64, ia64 platforms.
46616         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
46617         argument that lie outside the IEEE 854 domain.
46618         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
46619         (gl_ISFINITE): Use it.
46620         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
46621
46622 2008-04-27  Bruno Haible  <bruno@clisp.org>
46623
46624         Allow local renaming in config.h.
46625         * lib/memrchr.c (memrchr): Don't undefine outside libc.
46626
46627 2008-04-27  Bruno Haible  <bruno@clisp.org>
46628
46629         * lib/memchr.c (__memchr): Change type of 'i'.
46630         * lib/memchr2.c (memchr2): Likewise.
46631
46632 2008-04-26  Eric Blake  <ebb9@byu.net>
46633         and Bruno Haible  <bruno@clisp.org>
46634
46635         Optimize and test memrchr.
46636         * modules/memrchr (Depends-on): Add intprops.
46637         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
46638         * modules/memrchr-tests: New file.
46639         * tests/test-memrchr.c: New file.
46640
46641 2008-04-26  Bruno Haible  <bruno@clisp.org>
46642
46643         Add tentative support for DragonFly BSD.
46644         * lib/stdio-impl.h: Add macros for DragonFly BSD.
46645         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
46646         fp.
46647         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
46648         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
46649         * lib/fpurge.c (fpurge): Likewise.
46650         * lib/freadable.c (freaadable): Likewise.
46651         * lib/freadahead.c (freadahead): Likewise.
46652         * lib/freading.c (freading): Likewise.
46653         * lib/freadptr.c (freadptr): Likewise.
46654         * lib/freadseek.c (freadptrinc): Likewise.
46655         * lib/fseeko.c (fseeko): Likewise.
46656         * lib/fseterr.c (fseterr): Likewise.
46657         * lib/fwritable.c (fwritable): Likewise.
46658         * lib/fwriting.c (fwriting): Likewise.
46659
46660 2008-04-26  Bruno Haible  <bruno@clisp.org>
46661
46662         * lib/stdio-impl.h: New file.
46663         * lib/fbufmode.c: Include stdio-impl.h.
46664         (fbufmode): Use fp_, remove redundant #defines.
46665         * lib/fflush.c: Include stdio-impl.h.
46666         (clear_ungetc_buffer): Remove redundant #defines.
46667         * lib/fpurge.c: Include stdio-impl.h.
46668         (fpurge): Remove redundant #defines.
46669         * lib/freadable.c: Include stdio-impl.h.
46670         (freadable): Remove redundant #defines.
46671         * lib/freadahead.c: Include stdio-impl.h.
46672         (freadahead): Remove redundant #defines.
46673         * lib/freading.c: Include stdio-impl.h.
46674         (freading): Remove redundant #defines.
46675         * lib/freadptr.c: Include stdio-impl.h.
46676         (freadptr): Remove redundant #defines.
46677         * lib/freadseek.c: Include stdio-impl.h.
46678         (freadptrinc): Remove redundant #defines.
46679         * lib/fseeko.c: Include stdio-impl.h.
46680         (rpl_fseeko): Remove redundant #defines.
46681         * lib/fseterr.c: Include stdio-impl.h.
46682         (fseterr): Remove redundant #defines.
46683         * lib/fwritable.c: Include stdio-impl.h.
46684         (fwritable: Remove redundant #defines.
46685         * lib/fwriting.c: Include stdio-impl.h.
46686         (fwriting): Remove redundant #defines.
46687         * modules/fbufmode (Files): Add lib/stdio-impl.h.
46688         * modules/fflush (Files): Likewise.
46689         * modules/fpurge (Files): Likewise.
46690         * modules/freadable (Files): Likewise.
46691         * modules/freadahead (Files): Likewise.
46692         * modules/freading (Files): Likewise.
46693         * modules/freadptr (Files): Likewise.
46694         * modules/freadseek (Files): Likewise.
46695         * modules/fseeko (Files): Likewise.
46696         * modules/fseterr (Files): Likewise.
46697         * modules/fwritable (Files): Likewise.
46698         * modules/fwriting (Files): Likewise.
46699
46700 2008-04-26  Bruno Haible  <bruno@clisp.org>
46701
46702         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
46703         restore_seek_optimization, update_fpos_cache): New functions, extracted
46704         from rpl_fflush.
46705         (rpl_fflush): Use them.
46706         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
46707         (gl_REPLACE_FFLUSH): Use it.
46708
46709 2008-04-26  Bruno Haible  <bruno@clisp.org>
46710
46711         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
46712         on Solaris.
46713         * tests/test-xstrtoimax.sh: Likewise.
46714         * tests/test-xstrtoumax.sh: Likewise.
46715         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46716
46717 2008-04-26  Bruno Haible  <bruno@clisp.org>
46718
46719         * modules/memchr-tests: New file.
46720         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
46721
46722 2008-04-26  Eric Blake  <ebb9@byu.net>
46723             Bruno Haible  <bruno@clisp.org>
46724
46725         * lib/memchr.c: Include intprops.h.
46726         (__memchr): Optimize parallel detection of matching bytes. Rename local
46727         variables. Add explanatory comments.
46728
46729 2008-04-26  Bruno Haible  <bruno@clisp.org>
46730
46731         Fix module 'memchr', broken since 2000-10-28.
46732         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
46733
46734 2008-04-26  Bruno Haible  <bruno@clisp.org>
46735
46736         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
46737         comments.
46738
46739 2008-04-25  Eric Blake  <ebb9@byu.net>
46740
46741         Use native fstatat on cygwin 1.7.0.
46742         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
46743         first.
46744
46745 2008-04-23  Eric Blake  <ebb9@byu.net>
46746
46747         Improve memchr2 performance.
46748         * lib/memchr2.c (memchr2): Further optimize parallel detection of
46749         NUL bytes.
46750         * modules/memchr2 (Depends-on): Use intprops.h.
46751
46752 2008-04-23  Simon Josefsson  <simon@josefsson.org>
46753
46754         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
46755         an inline function instead of a CPP macro.  Patch by Ben Pfaff
46756         <blp@cs.stanford.edu>.
46757
46758 2008-04-23  Simon Josefsson  <simon@josefsson.org>
46759
46760         * lib/arpa_inet.in.h: New file.
46761
46762         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
46763         (Makefile.am): Sed in substitute header file.
46764
46765         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
46766         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
46767
46768         * modules/inet_ntop (configure.ac): Use
46769         gl_ARPA_INET_MODULE_INDICATOR.
46770
46771         * modules/inet_pton (configure.ac): Use
46772         gl_ARPA_INET_MODULE_INDICATOR.
46773
46774 2008-04-22  Jim Meyering  <meyering@redhat.com>
46775
46776         * modules/verify (License): Re-license as LGPLv2+.
46777
46778 2008-04-22  Simon Josefsson  <simon@josefsson.org>
46779
46780         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
46781         parameter to void* as per POSIX standard (MinGW uses char*).
46782
46783 2008-04-21  Bruno Haible  <bruno@clisp.org>
46784
46785         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
46786         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
46787         Define to replacements if REPLACE_ISWCNTRL is 1.
46788         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
46789         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
46790         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
46791         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
46792         what it fixes.
46793         * doc/posix-functions/iswalpha.texi: Likewise.
46794         * doc/posix-functions/iswblank.texi: Likewise.
46795         * doc/posix-functions/iswcntrl.texi: Likewise.
46796         * doc/posix-functions/iswdigit.texi: Likewise.
46797         * doc/posix-functions/iswgraph.texi: Likewise.
46798         * doc/posix-functions/iswlower.texi: Likewise.
46799         * doc/posix-functions/iswprint.texi: Likewise.
46800         * doc/posix-functions/iswpunct.texi: Likewise.
46801         * doc/posix-functions/iswspace.texi: Likewise.
46802         * doc/posix-functions/iswupper.texi: Likewise.
46803         * doc/posix-functions/iswxdigit.texi: Likewise.
46804         Reported by Alain Guibert.
46805
46806 2008-04-21  Bruno Haible  <bruno@clisp.org>
46807
46808         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
46809         Patch by Alain Guibert.
46810
46811 2008-04-21  Bruno Haible  <bruno@clisp.org>
46812
46813         Fix test failures on mingw.
46814         * tests/test-xstrtol.c (print_no_progname): New function.
46815         (main): Install it in error_print_progname hook.
46816         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
46817         * tests/test-xstrtoimax.sh: Likewise.
46818         * tests/test-xstrtoumax.sh: Likewise.
46819
46820 2008-04-21  Bruno Haible  <bruno@clisp.org>
46821
46822         Fix test failure on mingw.
46823         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
46824
46825 2008-04-21  Bruno Haible  <bruno@clisp.org>
46826
46827         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
46828         Actually assign a value.
46829
46830 2008-04-20  Bruno Haible  <bruno@clisp.org>
46831
46832         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
46833         take 2.
46834         * lib/canonicalize.c (canonicalize_file_name): Elide if the
46835         'canonicalize-lgpl' module is also used.
46836         * lib/canonicalize-lgpl.c: Undo last change.
46837         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
46838
46839 2008-04-20  Bruno Haible  <bruno@clisp.org>
46840
46841         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
46842         config.h. Provide _mkdir based fallback for mingw.
46843         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
46844         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
46845         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
46846         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
46847         rather than defining mkdir in config.h.
46848         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
46849         (gl_SYS_STAT_H_DEFAULTS): New macro.
46850         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
46851         HAVE_IO_H any more.
46852         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
46853         HAVE_DECL_MKDIR and HAVE_IO_H.
46854
46855 2008-04-20  Bruno Haible  <bruno@clisp.org>
46856
46857         * lib/isapipe.c: Port to native Windows platforms.
46858
46859 2008-04-20  Bruno Haible  <bruno@clisp.org>
46860
46861         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
46862
46863 2008-04-21  Eric Blake  <ebb9@byu.net>
46864
46865         Work around preprocessors that don't handle UINTMAX_MAX.
46866         * lib/memchr2.c (memchr2): Avoid embedded #if.
46867         Reported by Alain Guibert, fix suggested by Bruno Haible.
46868
46869 2008-04-21  Simon Josefsson  <simon@josefsson.org>
46870
46871         * doc/posix-functions/strftime.texi (strftime): Explain better
46872         Windows incompatibility.  Suggested by Micah Cowan
46873         <micah@cowan.name>.
46874
46875 2008-04-20  Bruno Haible  <bruno@clisp.org>
46876
46877         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
46878         unistr/u8-mblen.
46879
46880 2008-04-20  Bruno Haible  <bruno@clisp.org>
46881
46882         Fix test failure on platforms with non-GNU iconv.
46883         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
46884         (U_TO_U8): Use it, rather than u16_to_u8.
46885         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
46886         units at the end of the input string.
46887         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
46888
46889 2008-04-20  Bruno Haible  <bruno@clisp.org>
46890
46891         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
46892         when the resulting length is 0.
46893         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
46894
46895 2008-04-20  Bruno Haible  <bruno@clisp.org>
46896
46897         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
46898         works.
46899         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
46900
46901 2008-04-20  Bruno Haible  <bruno@clisp.org>
46902
46903         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
46904         * modules/tsearch-tests (configure.ac): Test for initstate function.
46905
46906 2008-04-20  Bruno Haible  <bruno@clisp.org>
46907
46908         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
46909         for nlink_t if missing.
46910         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
46911
46912 2008-04-19  Bruno Haible  <bruno@clisp.org>
46913
46914         Work around snprintf bug on Linux libc5.
46915         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
46916         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
46917         gl_SNPRINTF_SIZE1.
46918         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46919         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
46920         that test failed.
46921         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
46922         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
46923         * modules/snprintf (Files): Add m4/printf.m4.
46924         * modules/vsnprintf (Files): Likewise.
46925         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
46926         * doc/posix-functions/vsnprintf.texi: Likewise.
46927
46928 2008-04-19  Bruno Haible  <bruno@clisp.org>
46929
46930         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
46931         from 0.0058 to less than 10^-7.
46932
46933 2008-04-19  Bruno Haible  <bruno@clisp.org>
46934
46935         Fix rounding when a precision is given.
46936         * lib/vasnprintf.c (is_borderline): New function.
46937         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
46938         9...9x.
46939         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
46940         %e, %g.
46941         * tests/test-vasprintf-posix.c (test_function): Likewise.
46942         * tests/test-snprintf-posix.h (test_function): Likewise.
46943         * tests/test-sprintf-posix.h (test_function): Likewise.
46944         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
46945         * tests/test-printf-posix.h (test_function): Likewise.
46946         * tests/test-printf-posix.output: Update.
46947         Reported by John Darrington <john@darrington.wattle.id.au> via
46948         Ben Pfaff <blp@cs.stanford.edu>.
46949
46950 2008-04-18  Simon Josefsson  <simon@josefsson.org>
46951
46952         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
46953         Suggested by Bruno Haible <bruno@clisp.org>.
46954
46955 2008-04-17  Bruno Haible  <bruno@clisp.org>
46956
46957         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
46958         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
46959         implementation.
46960         Patch by Bruce Merry <bmerry@gmail.com>.
46961
46962 2008-04-17  Simon Josefsson  <simon@josefsson.org>
46963
46964         * doc/posix-functions/strftime.texi (strftime): Mention that %e
46965         doesn't work under Windows.
46966
46967 2008-04-16  Bruno Haible  <bruno@clisp.org>
46968
46969         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
46970         New macros.
46971         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
46972         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
46973         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
46974         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
46975         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
46976         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
46977         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
46978         macros.
46979         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
46980         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
46981         Northern Sotho, Uighur.
46982
46983 2008-04-16  Bruno Haible  <bruno@clisp.org>
46984
46985         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
46986         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
46987         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
46988         Reported by Daniel Bergström <daniel@octocode.com>.
46989
46990 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
46991             Bruno Haible  <bruno@clisp.org>
46992
46993         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
46994         function.
46995         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
46996         New functions, mostly extracted from gl_locale_name_default.
46997         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
46998
46999 2008-04-16  Eric Blake  <ebb9@byu.net>
47000
47001         Adjust strtod detection to catch glibc 2.7 bug.
47002         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
47003         Reported by John Gatewood Ham.
47004
47005 2008-04-16  Bruno Haible  <bruno@clisp.org>
47006
47007         Add tentative support for Linux libc5.
47008         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
47009         * lib/fpurge.c (fpurge): Likewise.
47010         * lib/freadable.c (freadable): Likewise.
47011         * lib/freadahead.c (freadahead): Likewise.
47012         * lib/freading.c (freading): Likewise.
47013         * lib/freadptr.c (freadptr): Likewise.
47014         * lib/freadseek.c (freadptrinc): Likewise.
47015         * lib/fseeko.c (rpl_fseeko): Likewise.
47016         * lib/fseterr.c (fseterr): Likewise.
47017         * lib/fwritable.c (fwritable): Likewise.
47018         * lib/fwriting.c (fwriting): Likewise.
47019         Reported by Alain Guibert <alguibert+bts@free.fr>.
47020
47021 2008-04-15  Bruno Haible  <bruno@clisp.org>
47022
47023         * modules/mathl (configure.ac): Define module indicator.
47024
47025 2008-04-15  Bruno Haible  <bruno@clisp.org>
47026
47027         * lib/logl.c (logl): Remove unused variables.
47028
47029 2008-04-15  Bruno Haible  <bruno@clisp.org>
47030
47031         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
47032         fails.
47033
47034 2008-04-15  Bruno Haible  <bruno@clisp.org>
47035
47036         * lib/trim.c (trim2): Fix argument of isspace() macro.
47037
47038 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
47039
47040         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
47041         to 0.
47042         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
47043
47044 2008-04-14  Bruno Haible  <bruno@clisp.org>
47045
47046         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
47047         AC_LANG_PROGRAM argument.
47048         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
47049         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
47050         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
47051         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
47052         * m4/math_h.m4 (gl_MATH_H): Likewise.
47053         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
47054         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47055         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
47056         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
47057         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
47058         * m4/regex.m4 (gl_REGEX): Likewise.
47059         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
47060         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
47061         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47062         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
47063         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47064         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
47065         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
47066         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
47067
47068 2008-04-14  Jim Meyering  <meyering@redhat.com>
47069
47070         test-strtod: fix typos: s/abs/fabs/
47071         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
47072
47073 2008-04-13  Bruno Haible  <bruno@clisp.org>
47074
47075         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
47076         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
47077         module is also used and while not building the reloc-wrapper.
47078
47079 2008-04-13  Bruno Haible  <bruno@clisp.org>
47080
47081         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
47082
47083 2008-04-13  Bruno Haible  <bruno@clisp.org>
47084
47085         Fix AIX compilation failure introduced on 2008-04-02.
47086         * tests/test-frexp.c (exp): Undefine before redefining.
47087         * tests/test-frexpl.c (exp): Likewise.
47088
47089 2008-04-13  Bruno Haible  <bruno@clisp.org>
47090
47091         Work around a HP-UX stdio bug.
47092         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
47093         * tests/test-ftello.c (main): Likewise.
47094         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
47095         * doc/posix-functions/ftello.texi: Likewise.
47096
47097 2008-04-13  Bruno Haible  <bruno@clisp.org>
47098
47099         Make test-signbit pass on HP-UX/hppa.
47100         * tests/test-signbit.c (minus_zerol): New variable.
47101         (test_signbitl): Use it.
47102
47103 2008-04-13  Bruno Haible  <bruno@clisp.org>
47104
47105         Make truncl work on OSF/1 4.0.
47106         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
47107         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
47108         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
47109         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
47110         HAVE_DECL_TRUNCL.
47111         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
47112         HAVE_DECL_TRUNCL.
47113         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
47114
47115 2008-04-13  Bruno Haible  <bruno@clisp.org>
47116
47117         * lib/unictype.h: Remove trailing comma from enumeration definitions.
47118
47119 2008-04-13  Bruno Haible  <bruno@clisp.org>
47120
47121         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
47122         expression, so as to avoid HP-UX 11 cc compiler bug.
47123
47124 2008-04-13  Bruno Haible  <bruno@clisp.org>
47125
47126         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
47127
47128 2008-04-13  Bruno Haible  <bruno@clisp.org>
47129
47130         * lib/git-merge-changelog.c: Remove empty declaration outside of
47131         functions.
47132
47133 2008-04-13  Bruno Haible  <bruno@clisp.org>
47134
47135         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
47136
47137 2008-04-13  Bruno Haible  <bruno@clisp.org>
47138
47139         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
47140         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
47141         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
47142         also if it exists but lacks definitions of the SHUT_* macros.
47143         * modules/sys_socket (Description): Update.
47144         Reported by Elbert Pol <e.pol@chello.nl>.
47145
47146 2008-04-13  Bruno Haible  <bruno@clisp.org>
47147
47148         * lib/localcharset.c (OS2): Don't redefine if already defined.
47149         Reported by Elbert Pol <e.pol@chello.nl>.
47150
47151 2008-04-13  Bruno Haible  <bruno@clisp.org>
47152
47153         * lib/binary-io.h [__EMX__]: Include <io.h>.
47154         Reported by Elbert Pol <e.pol@chello.nl>.
47155
47156 2008-04-12  Bruno Haible  <bruno@clisp.org>
47157
47158         * lib/fpucw.h: Enable the definitions also for x86_64.
47159         Needed for NetBSD/x86_64.
47160         Reported by Thomas Klausner <tk@giga.or.at>.
47161
47162 2008-04-12  Bruno Haible  <bruno@clisp.org>
47163
47164         * tests/test-strtod.c: Include isnand.h.
47165         (main): Use isnand instead of isnan.
47166         Reported by Jim Meyering.
47167
47168 2008-04-12  Bruno Haible  <bruno@clisp.org>
47169
47170         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
47171         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
47172
47173 2008-04-12  Jim Meyering  <meyering@redhat.com>
47174
47175         * m4/math_h.m4 (gl_MATH_H): Fix typos.
47176
47177 2008-04-12  Bruno Haible  <bruno@clisp.org>
47178
47179         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
47180         Reported by Elbert Pol <e.pol@chello.nl>.
47181
47182 2008-04-12  Eric Blake  <ebb9@byu.net>
47183
47184         Work around Solaris 10 math.h bug.
47185         * m4/math_h.m4 (gl_MATH_H): Check for bug.
47186         (gl_MATH_H_DEFAULTS): Set up default.
47187         * modules/math (Makefile.am): Replace new indicators.
47188         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
47189         * tests/test-math.c (main): Test this.
47190         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
47191         * doc/posix-headers/math.texi (math.h): Mention bug.
47192         Reported by Nelson H. F. Beebe and Jim Meyering.
47193
47194 2008-04-11  Bruno Haible  <bruno@clisp.org>
47195
47196         Adapt to future versions of Apple GCC.
47197         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
47198         Reported by Peter O'Gorman <peter@pogma.com>.
47199
47200 2008-04-11  Bruno Haible  <bruno@clisp.org>
47201
47202         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
47203
47204 2008-04-11  Bruno Haible  <bruno@clisp.org>
47205
47206         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
47207
47208         * modules/getaddrinfo-tests (Makefile.am): Define
47209         test_getaddrinfo_LDADD.
47210
47211 2008-04-11  Bruno Haible  <bruno@clisp.org>
47212
47213         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
47214         (init): Fix syntax error.
47215         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
47216         is declared.
47217
47218 2008-04-11  Bruno Haible  <bruno@clisp.org>
47219
47220         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
47221         * modules/glob (Depends-on): Add stdbool.
47222
47223 2008-04-11  Bruno Haible  <bruno@clisp.org>
47224
47225         * lib/trim.c: Include <string.h>.
47226
47227 2008-04-11  Eric Blake  <ebb9@byu.net>
47228
47229         Avoid compile failure on OS/2.
47230         * lib/regex_internal.h (internal_function): Disable optimization
47231         on OS/2 (__EMX__), where it caused compiler error.
47232         Reported by Elbert Pol.
47233
47234 2008-04-11  Bruno Haible  <bruno@clisp.org>
47235
47236         Flush the standard error stream before aborting. Needed on mingw.
47237         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
47238         * tests/test-array_list.c (ASSERT): Likewise.
47239         * tests/test-array_oset.c (ASSERT): Likewise.
47240         * tests/test-avltree_list.c (ASSERT): Likewise.
47241         * tests/test-avltree_oset.c (ASSERT): Likewise.
47242         * tests/test-avltreehash_list.c (ASSERT): Likewise.
47243         * tests/test-binary-io.c (ASSERT): Likewise.
47244         * tests/test-byteswap.c (ASSERT): Likewise.
47245         * tests/test-c-ctype.c (ASSERT): Likewise.
47246         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
47247         * tests/test-c-strcasestr.c (ASSERT): Likewise.
47248         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
47249         * tests/test-c-strstr.c (ASSERT): Likewise.
47250         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
47251         * tests/test-canonicalize.c (ASSERT): Likewise.
47252         * tests/test-carray_list.c (ASSERT): Likewise.
47253         * tests/test-ceilf1.c (ASSERT): Likewise.
47254         * tests/test-ceilf2.c (ASSERT): Likewise.
47255         * tests/test-ceill.c (ASSERT): Likewise.
47256         * tests/test-count-one-bits.c (ASSERT): Likewise.
47257         * tests/test-fbufmode.c (ASSERT): Likewise.
47258         * tests/test-fflush2.c (ASSERT): Likewise.
47259         * tests/test-floorf1.c (ASSERT): Likewise.
47260         * tests/test-floorf2.c (ASSERT): Likewise.
47261         * tests/test-floorl.c (ASSERT): Likewise.
47262         * tests/test-fopen.c (ASSERT): Likewise.
47263         * tests/test-fpending.c (ASSERT): Likewise.
47264         * tests/test-fprintf-posix.c (ASSERT): Likewise.
47265         * tests/test-fpurge.c (ASSERT): Likewise.
47266         * tests/test-freadable.c (ASSERT): Likewise.
47267         * tests/test-freadahead.c (ASSERT): Likewise.
47268         * tests/test-freading.c (ASSERT): Likewise.
47269         * tests/test-freadptr.c (ASSERT): Likewise.
47270         * tests/test-freadptr2.c (ASSERT): Likewise.
47271         * tests/test-freadseek.c (ASSERT): Likewise.
47272         * tests/test-freopen.c (ASSERT): Likewise.
47273         * tests/test-frexp.c (ASSERT): Likewise.
47274         * tests/test-frexpl.c (ASSERT): Likewise.
47275         * tests/test-fseek.c (ASSERT): Likewise.
47276         * tests/test-fseeko.c (ASSERT): Likewise.
47277         * tests/test-fstrcmp.c (ASSERT): Likewise.
47278         * tests/test-ftell.c (ASSERT): Likewise.
47279         * tests/test-ftello.c (ASSERT): Likewise.
47280         * tests/test-func.c (ASSERT): Likewise.
47281         * tests/test-fwritable.c (ASSERT): Likewise.
47282         * tests/test-fwriting.c (ASSERT): Likewise.
47283         * tests/test-getdelim.c (ASSERT): Likewise.
47284         * tests/test-getline.c (ASSERT): Likewise.
47285         * tests/test-i-ring.c (ASSERT): Likewise.
47286         * tests/test-iconv-utf.c (ASSERT): Likewise.
47287         * tests/test-iconv.c (ASSERT): Likewise.
47288         * tests/test-isfinite.c (ASSERT): Likewise.
47289         * tests/test-isnand.c (ASSERT): Likewise.
47290         * tests/test-isnanf.c (ASSERT): Likewise.
47291         * tests/test-isnanl.h (ASSERT): Likewise.
47292         * tests/test-ldexpl.c (ASSERT): Likewise.
47293         * tests/test-linked_list.c (ASSERT): Likewise.
47294         * tests/test-linkedhash_list.c (ASSERT): Likewise.
47295         * tests/test-localename.c (ASSERT): Likewise.
47296         * tests/test-lseek.c (ASSERT): Likewise.
47297         * tests/test-mbscasecmp.c (ASSERT): Likewise.
47298         * tests/test-mbscasestr1.c (ASSERT): Likewise.
47299         * tests/test-mbscasestr2.c (ASSERT): Likewise.
47300         * tests/test-mbscasestr3.c (ASSERT): Likewise.
47301         * tests/test-mbscasestr4.c (ASSERT): Likewise.
47302         * tests/test-mbschr.c (ASSERT): Likewise.
47303         * tests/test-mbscspn.c (ASSERT): Likewise.
47304         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
47305         * tests/test-mbspbrk.c (ASSERT): Likewise.
47306         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
47307         * tests/test-mbsrchr.c (ASSERT): Likewise.
47308         * tests/test-mbsspn.c (ASSERT): Likewise.
47309         * tests/test-mbsstr1.c (ASSERT): Likewise.
47310         * tests/test-mbsstr2.c (ASSERT): Likewise.
47311         * tests/test-mbsstr3.c (ASSERT): Likewise.
47312         * tests/test-memchr2.c (ASSERT): Likewise.
47313         * tests/test-memmem.c (ASSERT): Likewise.
47314         * tests/test-open.c (ASSERT): Likewise.
47315         * tests/test-printf-frexp.c (ASSERT): Likewise.
47316         * tests/test-printf-frexpl.c (ASSERT): Likewise.
47317         * tests/test-printf-posix.c (ASSERT): Likewise.
47318         * tests/test-quotearg.c (ASSERT): Likewise.
47319         * tests/test-rbtree_list.c (ASSERT): Likewise.
47320         * tests/test-rbtree_oset.c (ASSERT): Likewise.
47321         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
47322         * tests/test-round1.c (ASSERT): Likewise.
47323         * tests/test-roundf1.c (ASSERT): Likewise.
47324         * tests/test-roundl.c (ASSERT): Likewise.
47325         * tests/test-signbit.c (ASSERT): Likewise.
47326         * tests/test-sleep.c (ASSERT): Likewise.
47327         * tests/test-snprintf-posix.c (ASSERT): Likewise.
47328         * tests/test-snprintf.c (ASSERT): Likewise.
47329         * tests/test-sprintf-posix.c (ASSERT): Likewise.
47330         * tests/test-stat-time.c (ASSERT): Likewise.
47331         * tests/test-strcasestr.c (ASSERT): Likewise.
47332         * tests/test-strerror.c (ASSERT): Likewise.
47333         * tests/test-striconv.c (ASSERT): Likewise.
47334         * tests/test-striconveh.c (ASSERT): Likewise.
47335         * tests/test-striconveha.c (ASSERT): Likewise.
47336         * tests/test-strsignal.c (ASSERT): Likewise.
47337         * tests/test-strstr.c (ASSERT): Likewise.
47338         * tests/test-strtod.c (ASSERT): Likewise.
47339         * tests/test-trunc1.c (ASSERT): Likewise.
47340         * tests/test-trunc2.c (ASSERT): Likewise.
47341         * tests/test-truncf1.c (ASSERT): Likewise.
47342         * tests/test-truncf2.c (ASSERT): Likewise.
47343         * tests/test-truncl.c (ASSERT): Likewise.
47344         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
47345         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
47346         * tests/test-vasnprintf.c (ASSERT): Likewise.
47347         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
47348         * tests/test-vasprintf.c (ASSERT): Likewise.
47349         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
47350         * tests/test-vprintf-posix.c (ASSERT): Likewise.
47351         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
47352         * tests/test-vsnprintf.c (ASSERT): Likewise.
47353         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
47354         * tests/test-wcwidth.c (ASSERT): Likewise.
47355         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
47356         * tests/test-xprintf-posix.c (ASSERT): Likewise.
47357         * tests/test-xvasprintf.c (ASSERT): Likewise.
47358         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
47359         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
47360         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
47361         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
47362         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
47363         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
47364         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
47365         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
47366         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
47367         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
47368         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
47369         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
47370         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
47371         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
47372         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
47373         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
47374         * tests/unictype/test-block_list.c (ASSERT): Likewise.
47375         * tests/unictype/test-block_of.c (ASSERT): Likewise.
47376         * tests/unictype/test-block_test.c (ASSERT): Likewise.
47377         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
47378         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
47379         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
47380         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
47381         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
47382         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
47383         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
47384         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
47385         * tests/unictype/test-combining.c (ASSERT): Likewise.
47386         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
47387         * tests/unictype/test-digit.c (ASSERT): Likewise.
47388         * tests/unictype/test-mirror.c (ASSERT): Likewise.
47389         * tests/unictype/test-numeric.c (ASSERT): Likewise.
47390         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
47391         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
47392         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
47393         * tests/unictype/test-scripts.c (ASSERT): Likewise.
47394         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
47395         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
47396         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
47397         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
47398         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
47399         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
47400         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
47401         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
47402         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
47403         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
47404         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
47405         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
47406         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
47407         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
47408         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
47409         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
47410         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
47411         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
47412         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
47413         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
47414         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
47415         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
47416         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
47417         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
47418         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
47419         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
47420         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
47421         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
47422         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
47423         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
47424         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
47425         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
47426         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
47427         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
47428         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
47429         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
47430         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
47431         Reported by Eric Blake.
47432
47433 2008-04-11  Bruno Haible  <bruno@clisp.org>
47434
47435         * lib/wchar.in.h: Tweak comment.
47436
47437 2008-04-11  Bruno Haible  <bruno@clisp.org>
47438
47439         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
47440         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
47441         gl_COMMON.
47442         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
47443
47444 2008-04-11  Bruno Haible  <bruno@clisp.org>
47445
47446         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
47447
47448 2008-04-11  Simon Josefsson  <simon@josefsson.org>
47449
47450         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
47451         of attempting to use non-existing /dev/*random.  Based on patch
47452         from Adam Strzelecki <ono@java.pl> in
47453         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
47454
47455 2008-04-08  Bruno Haible  <bruno@clisp.org>
47456
47457         Add tentative support for emx+gcc.
47458         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
47459         * lib/fpurge.c (fpurge): Likewise.
47460         * lib/freadable.c (freadable): Likewise.
47461         * lib/freadahead.c (freadahead): Likewise.
47462         * lib/freading.c (freading): Likewise.
47463         * lib/freadptr.c (freadptr): Likewise.
47464         * lib/freadseek.c (freadptrinc): Likewise.
47465         * lib/fseeko.c (rpl_fseeko): Likewise.
47466         * lib/fseterr.c (fseterr): Likewise.
47467         * lib/fwritable.c (fwritable): Likewise.
47468         * lib/fwriting.c (fwriting): Likewise.
47469         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
47470
47471 2008-04-09  Eric Blake  <ebb9@byu.net>
47472
47473         Avoid some autoconf warnings.
47474         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
47475         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
47476         * m4/afs.m4 (gl_AFS): Likewise.
47477         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
47478         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
47479         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47480         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
47481         (gl_INTEGER_TYPE_SUFFIX): Likewise.
47482         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
47483         (AC_CHECK_DECLS_ONCE): Likewise.
47484         Rename file...
47485         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
47486         gnulib-tool requires autoconf 2.59 or better.
47487         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
47488
47489 2008-04-08  Eric Blake  <ebb9@byu.net>
47490
47491         Use 'git describe --match' if present (added in git 1.5.5).
47492         * build-aux/git-version-gen: Limit result to tags that match 'v*'
47493         if possible.
47494
47495 2008-04-08  Bruno Haible  <bruno@clisp.org>
47496
47497         Add tentative support for OpenServer.
47498         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
47499         _ptr, _cnt.
47500         * lib/fpurge.c (fpurge): Likewise.
47501         * lib/freadable.c (freadable): Likewise.
47502         * lib/freadahead.c (freadahead): Likewise.
47503         * lib/freading.c (freading): Likewise.
47504         * lib/freadptr.c (freadptr): Likewise.
47505         * lib/freadseek.c (freadptrinc): Likewise.
47506         * lib/fseeko.c (rpl_fseeko): Likewise.
47507         * lib/fseterr.c (fseterr): Likewise.
47508         * lib/fwritable.c (fwritable): Likewise.
47509         * lib/fwriting.c (fwriting): Likewise.
47510         Reported by Roger Cornelius <rac@tenzing.org> and
47511         Brian K. White <brian@aljex.com>.
47512
47513 2008-04-06  Jim Meyering  <meyering@redhat.com>
47514
47515         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
47516
47517 2008-04-06  Bruno Haible  <bruno@clisp.org>
47518
47519         Avoid possible error with non-ASCII bytes in UTF-8 locales.
47520         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
47521         * tests/test-printf-posix.sh: Likewise.
47522         * tests/test-vfprintf-posix.sh: Likewise.
47523         * tests/test-vprintf-posix.sh: Likewise.
47524         * tests/test-xprintf-posix.sh: Likewise.
47525
47526 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47527
47528         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
47529         hide error from 'ls', needed on OS/2.
47530         Report by Elbert Pol <elbert.pol@gmail.com>.
47531
47532 2008-04-04  Eric Blake  <ebb9@byu.net>
47533
47534         Make test-fseeko.c failures meaningful.
47535         * tests/test-fseeko.c: Print line number on failure.
47536         * tests/test-fseek.c: Likewise.
47537         Reported by Nelson H. F. Beebe.
47538
47539         Improve strtod bug detection check.
47540         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
47541         required for Solaris 10.
47542         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
47543
47544 2008-04-04  Bruno Haible  <bruno@clisp.org>
47545
47546         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
47547         by m4/setenv.m4.
47548
47549 2008-04-03  Eric Blake  <ebb9@byu.net>
47550
47551         Ensure sane .version contents.
47552         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
47553         version string.
47554         * build-aux/git-version-gen: Improve documentation.
47555
47556         Make GNU make output nicer.
47557         * top/GNUmakefile [!_have-Makefile]: Add dependency on
47558         MAKECMDGOALS to enforce message for all command line targets.  Set
47559         srcdir for use in maint.mk.
47560
47561         Another maintainer tweak.
47562         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
47563         a target that regenerates version.
47564
47565 2008-04-03  Jim Meyering  <meyering@redhat.com>
47566
47567         vc-list-files: don't cause coreutils "make po-check" failure
47568         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
47569
47570 2008-04-03  Eric Blake  <ebb9@byu.net>
47571
47572         Allow VPATH usage of vc-list-files.
47573         * build-aux/vc-list-files (scriptversion): Add timestamp.
47574         (options): Add --help, --version, -C.
47575         (CVS): Support installed cvsu.
47576
47577 2008-04-02  Bruno Haible  <bruno@clisp.org>
47578
47579         Avoid some "statement with no effect" warnings from gcc.
47580         * tests/test-wctype.c (main): Explicitly ignore unused values.
47581         Reported by Jim Meyering.
47582
47583 2008-04-02  Jim Meyering  <meyering@redhat.com>
47584
47585         Avoid some warnings from "gcc -Wshadow".
47586         * tests/test-frexp.c (exp): Define to a different identifier.
47587         * tests/test-frexpl.c (exp): Likewise.
47588
47589 2008-04-03  Jim Meyering  <meyering@redhat.com>
47590
47591         bootstrap: remove dangling *.[ch] symlinks from lib
47592         * build-aux/bootstrap [dangling symlink removal]: Move find's
47593         -depth option to precede all others, to avoid a warning.
47594         Remove *.[ch] files too, and from "$source_base" (usually lib/).
47595
47596 2008-04-02  Bruno Haible  <bruno@clisp.org>
47597
47598         Avoid some warnings from "gcc -Wshadow".
47599         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
47600         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
47601         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
47602         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
47603         Reported by Jim Meyering.
47604
47605 2008-04-01  Bruno Haible  <bruno@clisp.org>
47606
47607         Fix test to work on IRIX 6.5 with cc.
47608         * tests/test-math.c (numeric_equal): New function.
47609         (main): Use it.
47610
47611 2008-04-01  Bruno Haible  <bruno@clisp.org>
47612
47613         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
47614
47615 2008-04-01  Bruno Haible  <bruno@clisp.org>
47616
47617         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
47618         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
47619         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
47620         (Depends-on): Remove math.
47621
47622         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
47623         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
47624         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
47625         (Depends-on): Remove math.
47626
47627         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
47628         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
47629         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
47630         (Depends-on): Remove math.
47631         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
47632         (Depends-on): Remove math.
47633
47634         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
47635         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
47636         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
47637         (Depends-on): Remove math.
47638         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
47639         (Depends-on): Remove math.
47640
47641         * tests/test-round1.c: Include nan.h.
47642         (main): Use NaNd instead of NAN.
47643         * modules/round-tests (Files): Add tests/nan.h.
47644
47645         * tests/test-trunc1.c: Include nan.h.
47646         (main): Use NaNd instead of NAN.
47647         * modules/trunc-tests (Files): Add tests/nan.h.
47648
47649         * tests/test-roundf1.c: Include nan.h.
47650         (main): Use NaNf instead of NAN.
47651         * modules/roundf-tests (Files): Add tests/nan.h.
47652
47653         * tests/test-truncf1.c: Include nan.h.
47654         (main): Use NaNf instead of NAN.
47655         * modules/truncf-tests (Files): Add tests/nan.h.
47656
47657         * tests/test-ceilf1.c: Include nan.h.
47658         (main): Use NaNf instead of NAN.
47659         * modules/ceilf-tests (Files): Add tests/nan.h.
47660
47661         * tests/test-floorf1.c: Include nan.h.
47662         (main): Use NaNf instead of NAN.
47663         * modules/floorf-tests (Files): Add tests/nan.h.
47664
47665         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
47666         (main): Use NaNf instead of NAN.
47667         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
47668
47669         * tests/test-isnand.c: Include nan.h instead of <math.h>.
47670         (main): Use NaNd instead of NAN.
47671         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
47672
47673         * tests/test-frexp.c: Include nan.h.
47674         (main): Use NaNd instead of NAN.
47675         * modules/frexp-tests (Files): Add tests/nan.h.
47676
47677         * lib/isnan.c: Don't include <math.h>.
47678         (FUNC): Don't use NAN macro.
47679         * modules/isnand-nolibm (Depends-on): Remove math.
47680         * modules/isnanf-nolibm (Depends-on): Remove math.
47681         * modules/isnanl (Depends-on): Remove math.
47682         * modules/isnanl-nolibm (Depends-on): Remove math.
47683
47684         * tests/nan.h: New file.
47685
47686 2008-04-01  Eric Blake  <ebb9@byu.net>
47687
47688         Fix typos.
47689         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
47690         values to be the right type.
47691
47692         For now, cater to gnulib strtod inaccuracies.
47693         * tests/test-strtod.c (main): Allow 1-ulp error on expected
47694         fractional results.  While not as nice from a QoI perspective, it
47695         is a quicker patch than correctly implementing decimal to binary
47696         rounding.
47697
47698 2008-03-31  Eric Blake  <ebb9@byu.net>
47699
47700         Guarantee a definition of NAN.
47701         * lib/math.in.h (NAN): Define if missing.
47702         * tests/test-math.c (main): Test it.
47703         * doc/posix-headers/math.texi (math.h): Document this.
47704         * lib/isnan.c (rpl_isnand): Use it.
47705         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
47706         * tests/test-floorf1.c (NaN): Likewise.
47707         * tests/test-frexp.c (NaN): Likewise.
47708         * tests/test-isnand.c (NaN): Likewise.
47709         * tests/test-isnanf.c (NaN): Likewise.
47710         * tests/test-round1.c (NaN): Likewise.
47711         * tests/test-roundf1.c (NaN): Likewise.
47712         * tests/test-snprintf-posix.h (NaN): Likewise.
47713         * tests/test-sprintf-posix.h (NaN): Likewise.
47714         * tests/test-trunc1.c (NaN): Likewise.
47715         * tests/test-truncf1.c (NaN): Likewise.
47716         * tests/test-vasnprintf-posix.c (NaN): Likewise.
47717         * tests/test-vasprintf-posix.c (NaN): Likewise.
47718         * modules/isnand-nolibm (Depends-on): Add math.
47719         * modules/isnanf-nolibm (Depends-on): Likewise.
47720         * modules/isnanl (Depends-on): Likewise.
47721         * modules/isnanl-nolibm (Depends-on): Likewise.
47722         * modules/snprintf-posix-tests (Depends-on): Likewise.
47723         * modules/sprintf-posix-tests (Depends-on): Likewise.
47724         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
47725         * modules/vsprintf-posix-tests (Depends-on): Likewise.
47726         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
47727         * modules/vasprintf-posix-tests (Depends-on): Likewise.
47728
47729 2008-03-31  Bruno Haible  <bruno@clisp.org>
47730
47731         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
47732         * doc/posix-functions/strtod.texi: Likewise.
47733
47734 2008-03-31  Bruno Haible  <bruno@clisp.org>
47735
47736         * tests/test-strtod.c (main): Don't use C99 syntax.
47737
47738 2008-03-31  Bruno Haible  <bruno@clisp.org>
47739
47740         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
47741         Reported by Eric Blake.
47742
47743 2008-03-31  Jim Meyering  <meyering@redhat.com>
47744
47745         Don't compare actual signbit return values.
47746         * tests/test-strtod.c (main): Rather, compare only their
47747         zero/non-zero nature.
47748
47749 2008-03-31  Eric Blake  <ebb9@byu.net>
47750
47751         More strtod documentation.
47752         * doc/posix-functions/strtod.texi (strtod): Interpret more test
47753         failures as distinct bugs.
47754
47755 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
47756
47757         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
47758         Problem reported by Erik Benada in
47759         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
47760
47761 2008-03-30  Bruno Haible  <bruno@clisp.org>
47762
47763         * tests/test-strtod.c: Add comments about which assertion fails on which
47764         platform.
47765         * doc/posix-functions/strtod.texi: Add info about many more platforms.
47766
47767 2008-03-30  Eric Blake  <ebb9@byu.net>
47768
47769         Test signbit behavior on zeros.
47770         * tests/test-signbit.c (test_signbitf): Add tests for zero.
47771         (test_signbitd, test_signbitl): Likewise.
47772
47773         More strtod touchups.
47774         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
47775         sign of negative underflow, for now.  Use .5, not .1.
47776         * doc/posix-functions/strtod.texi (strtod): Mention these
47777         limitations.
47778         Reported by Jim Meyering.
47779
47780 2008-03-30  Bruno Haible  <bruno@clisp.org>
47781
47782         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
47783         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
47784
47785 2008-03-30  Bruno Haible  <bruno@clisp.org>
47786
47787         Avoid failure when attempting to return empty iconv results on some
47788         platforms.
47789         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
47790         allocation, don't report ENOMEM when the resulting string is empty.
47791
47792 2008-03-30  Bruno Haible  <bruno@clisp.org>
47793
47794         Fix buffer overrun.
47795         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
47796         Don't consider the width for tmp_length. Check count against tmp_length
47797         before doing the padding. Ensure enough allocation during padding.
47798
47799 2008-03-30  Eric Blake  <ebb9@byu.net>
47800
47801         strtod touchups.
47802         * lib/strtod.c (strtod): Avoid compiler warnings.
47803         Reported by Jim Meyering.
47804
47805 2008-03-30  Bruno Haible  <bruno@clisp.org>
47806
47807         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
47808         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
47809         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
47810         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
47811         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
47812         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
47813         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
47814         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
47815
47816         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
47817         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
47818         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
47819         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
47820         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
47821         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
47822         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
47823         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
47824
47825         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
47826         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
47827         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
47828         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
47829         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
47830         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
47831         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
47832         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
47833
47834         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
47835         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
47836
47837         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
47838         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
47839
47840         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
47841         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
47842
47843         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
47844         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
47845         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
47846
47847         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
47848         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
47849         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
47850
47851         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
47852         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
47853         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
47854
47855         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
47856         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
47857         * modules/vasprintf (Depends-on): Add EOVERFLOW.
47858
47859         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
47860         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
47861         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
47862         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
47863         (Depends-on): Add EOVERFLOW.
47864         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
47865         (Depends-on): Add EOVERFLOW.
47866         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
47867         (Depends-on): Add EOVERFLOW.
47868         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
47869         (Depends-on): Add EOVERFLOW.
47870         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
47871         (Depends-on): Add EOVERFLOW.
47872         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
47873         (Depends-on): Add EOVERFLOW.
47874         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
47875         (Depends-on): Add EOVERFLOW.
47876         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
47877         (Depends-on): Add EOVERFLOW.
47878
47879         * lib/sprintf.c (EOVERFLOW): Remove fallback.
47880         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
47881         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
47882
47883         * lib/snprintf.c (EOVERFLOW): Remove fallback.
47884         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
47885         * modules/snprintf (Depends-on): Add EOVERFLOW.
47886
47887         * lib/poll.c (EOVERFLOW): Remove fallback.
47888         * modules/poll (Depends-on): Add EOVERFLOW.
47889
47890         * lib/getugroups.c (EOVERFLOW): Remove fallback.
47891         * modules/getugroups (Depends-on): Add EOVERFLOW.
47892
47893         * lib/getdelim.c (EOVERFLOW): Remove fallback.
47894         * modules/getdelim (Depends-on): Add EOVERFLOW.
47895
47896         * lib/ftell.c (EOVERFLOW): Remove fallback.
47897         * modules/ftell (Depends-on): Add EOVERFLOW.
47898
47899         * lib/fprintf.c (EOVERFLOW): Remove fallback.
47900         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
47901         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
47902
47903         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
47904
47905         * modules/EOVERFLOW-tests: New file.
47906         * tests/test-EOVERFLOW.c: New file.
47907
47908         * modules/EOVERFLOW: New file.
47909         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
47910
47911 2008-03-30  Bruno Haible  <bruno@clisp.org>
47912
47913         Fix bug introduced on 2007-06-10.
47914         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
47915         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
47916
47917 2008-03-30  Bruno Haible  <bruno@clisp.org>
47918
47919         Improve freadseek's efficiency after ungetc.
47920         * lib/freadseek.c: Include freadahead.h.
47921         (freadptrinc): New function, extracted from freadseek.
47922         (freadseek): Use it in a loop. Use freadahead to determine the number
47923         of loop iterations.
47924         * modules/freadseek (Depends-on): Add freadahead.
47925         (configure.ac): Require AC_C_INLINE.
47926
47927 2008-03-30  Bruno Haible  <bruno@clisp.org>
47928
47929         * lib/freadseek.c (freadseek): Don't ignore the return value of
47930         freadptr.
47931
47932 2008-03-29  Eric Blake  <ebb9@byu.net>
47933
47934         Add hex float support.
47935         * modules/strtod (Depends-on): Add c-ctype.
47936         (Link): Mention POW_LIB.
47937         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
47938         whitespace between 'e' and exponent.
47939         * tests/test-strtod.c (main): Enable hex float tests.
47940         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
47941         now provides.
47942
47943         Document various strtod bugs, with some fixes.
47944         * doc/posix-functions/strtod.texi (strtod): Document bugs with
47945         "-0x", "inf", "nan", and hex constants.
47946         * doc/posix-functions/atof.texi (atof): Likewise.
47947         * modules/stdlib (Makefile.am): Support strtod.
47948         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
47949         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
47950         detect additional strtod bugs.
47951         * lib/stdlib.in.h (rpl_strtod): Add declarations.
47952         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
47953         bool where appropriate.  Parse 'inf' and 'nan'.
47954         * tests/test-strtod.c: New file.
47955         * modules/strtod (Depends-on): Add stdbool, stdlib.
47956         (configure.ac): Turn on module indicator.
47957         * modules/strtod-tests: New module.
47958
47959 2008-03-29  Eric Blake  <ebb9@byu.net>
47960
47961         Fix ftell on mingw.
47962         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
47963         * modules/ftell-tests (Depends-on): Add binary-io.
47964         * modules/ftello-tests (Depends-on): Likewise.
47965         * tests/test-ftell.c (main): Enhance test to cover behavior after
47966         ungetc.  Enforce binary mode.
47967         * tests/test-ftello.c (main): Likewise.
47968
47969         Pass test-freadseek on cygwin.
47970         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
47971         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
47972         ungetc buffer.
47973
47974         * tests/test-fflush2.c (main): Fix typo.
47975
47976 2008-03-29  Bruno Haible  <bruno@clisp.org>
47977
47978         * tests/test-fflush2.c (main): Temporarily disable the contents of
47979         this test.
47980         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
47981         Reported by Eric Blake.
47982
47983 2008-03-28  Simon Josefsson  <simon@josefsson.org>
47984
47985         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
47986         (GC_SHA224_DIGEST_SIZE): Add.
47987
47988         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
47989         (gc_hash_digest_length): Likewise.
47990         (gc_hash_buffer): Likewise.
47991
47992 2008-03-25  Bruno Haible  <bruno@clisp.org>
47993
47994         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
47995         detail which gettext release to use.
47996         Reported by Simon Josefsson.
47997
47998 2008-03-26  Jim Meyering  <meyering@redhat.com>
47999
48000         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
48001         * modules/gnumakefile (clean-GNUmakefile): Also, use
48002         test ... && ... || : syntax rather than if-then ... fi.
48003
48004         gnumakefile: Don't double-quote-expand $(VPATH) value.
48005         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
48006
48007 2008-03-24  Eric Blake  <ebb9@byu.net>
48008
48009         Alter GNUmakefile to install into top directory.
48010         * modules/maintainer-makefile: Split, and add dependency...
48011         * modules/gnumakefile: to this new module.
48012         * build-aux/GNUmakefile: Move...
48013         * top/GNUmakefile: ...here.
48014         * build-aux/maint.mk: Move...
48015         * top/maint.mk: ...here.
48016         * MODULES.html.sh (Support for maintaining...): Document new
48017         module.
48018
48019 2008-03-23  Bruno Haible  <bruno@clisp.org>
48020
48021         * gnulib-tool: New options --vc-files, --no-vc-files.
48022         (func_usage): Document them.
48023         (vc_files): New variable.
48024         (func_import): Consider vc_files.
48025         (func_create_testdir): Set vc_files to empty.
48026         Suggested by Jim Meyering and Karl Berry.
48027
48028 2008-03-23  Bruno Haible  <bruno@clisp.org>
48029
48030         Fix regex compilation error on HP-UX 11.
48031         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
48032         * modules/regex (Files): Add m4/mbstate_t.m4.
48033         Reported by Ton Voon <ton.voon@altinity.com>.
48034
48035 2008-03-23  Bruno Haible  <bruno@clisp.org>
48036
48037         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
48038
48039 2008-03-23  Eric Blake  <ebb9@byu.net>
48040             Bruno Haible  <bruno@clisp.org>
48041
48042         Install files from top/ in the destination directory.
48043         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
48044         augmentation also for the files from top/.
48045         (func_import, func_create_testdir): Rewrite file names:
48046         top/filename -> filename.
48047
48048 2008-03-23  Bruno Haible  <bruno@clisp.org>
48049
48050         Tweak "gnulib --version" output.
48051         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
48052
48053 2008-03-23  Bruno Haible  <bruno@clisp.org>
48054
48055         Tweak "gnulib --version" output.
48056         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
48057         rather than contents of ChangeLog, when possible.
48058
48059 2008-03-21  Eric Blake  <ebb9@byu.net>
48060
48061         More --version tweaks.
48062         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
48063         date of last ChangeLog entry.
48064
48065 2008-03-21  Jim Meyering  <meyering@redhat.com>
48066
48067         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
48068
48069 2008-03-20  Eric Blake  <ebb9@byu.net>
48070
48071         VPATH fix.
48072         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
48073
48074 2008-03-20  Simon Josefsson  <simon@josefsson.org>
48075
48076         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
48077         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
48078
48079 2008-03-20  Eric Blake  <ebb9@byu.net>
48080
48081         Sync GNUmakefile with coreutils.
48082         * build-aux/GNUmakefile (have-Makefile): Rename...
48083         (_have-Makefile): ...to this, for namespace consideration.
48084         (GNUmakefile.cfg): Include, if present.
48085         (_autoreconf): Define a default.
48086         (_is-dist-target): New rule for rebuilds to pick up intra-release
48087         version.
48088         (maint-cfg.mk): Rename...
48089         (cfg.mk): ...to this.
48090
48091 2008-03-18  Jim Meyering  <meyering@redhat.com>
48092
48093         New script and module: mktempd
48094         * MODULES.html.sh (maint+release support): Add mktempd.
48095         * build-aux/mktempd: New file.
48096         * modules/mktempd: New file.
48097
48098 2008-03-15  Jim Meyering  <meyering@redhat.com>
48099
48100         Undo last change.
48101         * lib/sha1.c, lib/md5.c: 63 != ~63.
48102         Reported by Andreas Schwab.
48103
48104         sha1.c, md5.c: Hoist a redundant expression.
48105         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
48106         "ctx->buflen" only once, before calling *_process_block.
48107         * lib/md5.c (md5_process_bytes): Likewise.
48108
48109 2008-03-14  Eric Blake  <ebb9@byu.net>
48110
48111         Bump copyright year in files generated by gnulib-tool.
48112         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
48113         gnulib-tool, rather than hard-coding it.
48114
48115         Fix 'gnulib-tool --version' output to work with git.
48116         * gnulib-tool (func_gnulib_dir): New function, extracted from...
48117         (startup): ...here.
48118         (func_version): Use it to invoke git-version-gen, rather than
48119         relying on CVS keyword expansion.  Modernize wording.
48120         (cvsdatestamp, last_checkin_date, version): Kill unused
48121         variables.
48122
48123 2008-03-12  Jim Meyering  <meyering@redhat.com>
48124
48125         Recognize optional cast of the argument to free.
48126         * build-aux/useless-if-before-free: Update regexps.
48127
48128         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
48129
48130 2008-03-11  Bruno Haible  <bruno@clisp.org>
48131
48132         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
48133         by a single package.
48134         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
48135         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
48136         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
48137         Reported by Sam Steingold <sds@gnu.org>.
48138
48139 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
48140
48141         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
48142         repositories.
48143
48144 2008-03-11  Bruno Haible  <bruno@clisp.org>
48145
48146         Avoid conflicts between local macro definitions.
48147         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
48148         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
48149
48150 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
48151             Bruno Haible  <bruno@clisp.org>
48152
48153         Make va_copy work with some version of xlc on AIX 5.1.
48154         * lib/stdarg.in.h: New file.
48155         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
48156         On AIX, use a <stdarg.h> file substitute.
48157         * modules/stdarg (Files): Add lib/stdarg.in.h.
48158         (Depends-on): Add include_next.
48159         (Makefile.am): Build a stdarg.h substitute if requested.
48160         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
48161
48162 2008-03-10  Bruno Haible  <bruno@clisp.org>
48163
48164         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
48165         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48166         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
48167
48168 2008-03-10  Bruno Haible  <bruno@clisp.org>
48169
48170         * modules/stdlib (Depends-on): Add include_next, remove
48171         absolute-header.
48172
48173 2008-03-09  Bruno Haible  <bruno@clisp.org>
48174
48175         * lib/freadahead.h (freadahead): Document more precisely.
48176         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
48177         the sum of both buffer sizes.
48178         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
48179         * NEWS: Document the change.
48180
48181 2008-03-09  Bruno Haible  <bruno@clisp.org>
48182
48183         Extend freadptr to return also the buffer size.
48184         * lib/freadptr.h (freadptr): Add sizep argument.
48185         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
48186         (freadptr): Add sizep argument. Determine buffer size like freadahead
48187         does.
48188         * tests/test-freadptr.c: Don't include freadahead.h.
48189         (main): Adapt for new calling convention of freadptr.
48190         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
48191         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
48192         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
48193         tests/test-freadptr2.sh.
48194         (Depends): Remove freadahead.
48195         (TESTS): Add test-freadptr2.sh.
48196         (check_PROGRAMS): Add test-freadptr2.
48197
48198 2008-03-09  Bruno Haible  <bruno@clisp.org>
48199
48200         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
48201         Report and solution by Simon Josefsson.
48202
48203 2008-03-06  Bruno Haible  <bruno@clisp.org>
48204
48205         Make fflush after ungetc work on BSD platforms.
48206         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
48207         * tests/test-fflush2.c: New file.
48208         * tests/test-fflush2.sh: New file.
48209         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
48210         tests/test-fflush2.c.
48211         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
48212         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
48213
48214 2008-03-06  Eric Blake  <ebb9@byu.net>
48215
48216         Likewise for ftello.
48217         * modules/ftello (Dependencies): Add extensions.
48218         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
48219
48220 2008-03-06  Bruno Haible  <bruno@clisp.org>
48221
48222         * modules/fseeko (Dependencies): Add extensions.
48223         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
48224         Needed on glibc systems.
48225
48226 2008-03-06  Bruno Haible  <bruno@clisp.org>
48227
48228         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
48229         email address.
48230         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48231
48232 2008-03-06  Bruno Haible  <bruno@clisp.org>
48233
48234         * users.txt: Add libgnupdf.
48235
48236 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48237
48238         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
48239         (Header File Substitutes, Function Substitutes,
48240         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
48241         (Build robot for gnulib): Fix typo.
48242
48243 2008-03-06  Bruno Haible  <bruno@clisp.org>
48244
48245         * doc/gnulib-tool.texi (VCS Issues): Small updates.
48246         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48247
48248 2008-03-06  Bruno Haible  <bruno@clisp.org>
48249
48250         * doc/func.texi: New file, extracted from doc/gnulib.texi.
48251         * doc/gnulib.texi: Include it.
48252
48253 2008-03-06  Simon Josefsson  <simon@josefsson.org>
48254
48255         * modules/func (License): Change license to unlimited; there was
48256         no LGPL parts in the module anyway.
48257
48258 2008-03-06  Simon Josefsson  <simon@josefsson.org>
48259
48260         * modules/__func__: Renamed to modules/func.
48261         * modules/__func__-tests: Renamed to modules/func-tests.
48262         * tests/test-__func__.c: Renamed to tests/test-func.c.
48263         * m4/__func__.m4: Renamed to m4/func.m4.
48264         * doc/gnulib.texi (__func__): Section renamed to func.
48265         Suggested by Eric Blake <ebb9@byu.net>.
48266
48267 2008-03-06  Simon Josefsson  <simon@josefsson.org>
48268
48269         * doc/gnulib.texi (__func__): Use C99 terminology when talking
48270         about __func__.  Make example self-contained.  Suggested by Eric
48271         Blake <ebb9@byu.net>.
48272
48273         * tests/test-__func__.c (main): Avoid extraneous () around __func.
48274         Suggested by Eric Blake <ebb9@byu.net>.
48275
48276 2008-03-06  Simon Josefsson  <simon@josefsson.org>
48277
48278         * modules/__func__: New file.
48279         * modules/__func__-tests: New file.
48280         * tests/test-__func__.c: New file.
48281         * m4/__func__.m4: New file.
48282         * doc/gnulib.texi (__func__): Document __func__ module.
48283
48284 2008-03-05  Simon Josefsson  <simon@josefsson.org>
48285
48286         * modules/byteswap (License): Re-license as LGPLv2+.
48287
48288 2008-03-05  Simon Josefsson  <simon@josefsson.org>
48289
48290         * doc/Makefile: Add pdf target.
48291
48292 2008-03-05  Simon Josefsson  <simon@josefsson.org>
48293
48294         * modules/inline (License): Use 'unlimited', since there are only
48295         *.m4 files in this module.
48296
48297 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
48298             Bruno Haible  <bruno@clisp.org>
48299
48300         Add support for HP C 7.1 on OpenVMS 8.3.
48301         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
48302
48303 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
48304
48305         Update VMS specifics.
48306         * lib/getopt.c [VMS]: Remove include of unixlib.h.
48307
48308 2008-03-02  Jim Meyering  <meyering@redhat.com>
48309
48310         Remove the last dependency on the "free" module.
48311         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
48312         Reported by Bob Proulx.
48313
48314         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
48315
48316         Remove useless "if" tests before free.  Deprecate "free" module.
48317         * doc/posix-functions/free.texi: Mention that this
48318         module is no longer useful.
48319         * modules/free (Notice): Say this module is obsolete.
48320         * modules/readutmp (Depends-on): Remove free.
48321         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
48322         * lib/putenv.c (putenv): Likewise.
48323         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
48324         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
48325         * tests/test-c-strcasestr.c (main): Likewise.
48326         * tests/test-c-strstr.c (main): Likewise.
48327         * tests/test-mbscasestr1.c (main): Likewise.
48328         * tests/test-mbscasestr2.c (main): Likewise.
48329         * tests/test-mbsstr1.c (main): Likewise.
48330         * tests/test-mbsstr2.c (main): Likewise.
48331         * tests/test-memmem.c (main): Likewise.
48332         * tests/test-strcasestr.c (main): Likewise.
48333         * tests/test-striconv.c (main): Likewise.
48334         * tests/test-striconveh.c (main): Likewise.
48335         * tests/test-striconveha.c (main): Likewise.
48336         * tests/test-strstr.c (main): Likewise.
48337
48338         * build-aux/git-version-gen: Adjust a comment and the Usage string.
48339
48340         bootstrap: sync from coreutils again
48341         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
48342
48343 2008-03-01  Jim Meyering  <meyering@redhat.com>
48344
48345         bootstrap: sync from coreutils
48346         * build-aux/bootstrap (update_po_files): Copy a .po file into place
48347         also when the target doesn't exist.
48348
48349 2008-03-01  Eric Blake  <ebb9@byu.net>
48350
48351         Fix bugs in last patch.
48352         * lib/memchr2.c (memchr2): Fix typo.
48353         * tests/test-memchr2.c: Test previous bug, and don't use GNU
48354         extension.
48355         Reported by Bruce Korb.
48356
48357         New module 'memchr2'.
48358         * modules/memchr2: New file.
48359         * modules/memchr2-tests: Likewise.
48360         * lib/memchr2.h: Likewise.
48361         * lib/memchr2.c: Likewise, based on memchr.c.
48362         * tests/test-memchr2.c: New test.
48363         * MODULES.html.sh (String handling): Add memchr2.
48364
48365 2008-02-29  Bruno Haible  <bruno@clisp.org>
48366
48367         * modules/freadseek-tests: New file.
48368         * tests/test-freadseek.sh: New file.
48369         * tests/test-freadseek.c: New file.
48370
48371         New module 'freadseek'.
48372         * modules/freadseek: New file.
48373         * lib/freadseek.h: New file.
48374         * lib/freadseek.c: New file.
48375         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
48376
48377 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
48378
48379         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
48380         wydawca.
48381
48382         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
48383         program_invocation_name and program_invocation_short_name are
48384         present.
48385
48386 2008-02-28  Bruno Haible  <bruno@clisp.org>
48387
48388         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
48389         * tests/test-freadptr.sh: Also test non-seekable stdin.
48390
48391 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
48392
48393         * build-aux/bootstrap (source_base, m4_base)
48394         (doc_base, tests_base): New variables.
48395         (gnulib_tool_options): Do not hardcode base directories, use
48396         the above variables instead.
48397
48398 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
48399
48400         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
48401
48402 2008-02-28  Bruno Haible  <bruno@clisp.org>
48403
48404         * modules/freadptr-tests: New file.
48405         * tests/test-freadptr.sh: New file.
48406         * tests/test-freadptr.c: New file.
48407
48408         New module 'freadptr'.
48409         * modules/freadptr: New file.
48410         * lib/freadptr.h: New file.
48411         * lib/freadptr.c: New file.
48412         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
48413
48414 2008-02-26  Karl Berry  <karl@freefriends.org>
48415
48416         Sync from Libtool:
48417         * libltdl/argz.c (argz_add, argz_count): New functions.
48418         * libltdl/argz.in.h: Declare them.
48419         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
48420
48421 2008-02-22  Bruno Haible  <bruno@clisp.org>
48422
48423         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
48424         is a pointer type.  Needed for HP-UX 10.
48425         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
48426         * doc/posix-functions/gmtime_r.texi: Likewise.
48427         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
48428
48429 2008-02-24  Bruno Haible  <bruno@clisp.org>
48430
48431         * modules/environ-tests: New file.
48432         * tests/test-environ.c: New file.
48433
48434         New module 'environ'.
48435         * modules/environ: New file.
48436         * lib/unistd.in.h (environ): New declaration.
48437         * m4/environ.m4: New file.
48438         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
48439         after use.
48440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
48441         HAVE_DECL_ENVIRON.
48442         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
48443         HAVE_DECL_ENVIRON.
48444         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
48445         wrong claim that 'environ' is missing on some systems.
48446         * modules/execute (Depends-on): Add environ.
48447         * lib/execute.c (environ): Remove fallback declaration.
48448         * modules/pipe (Depends-on): Add environ.
48449         * lib/pipe.c (environ): Remove fallback declaration.
48450         * modules/setenv (Depends-on): Add environ.
48451         * lib/setenv.c (environ): Remove fallback declaration.
48452         * modules/unsetenv (Depends-on): Add environ.
48453         * lib/unsetenv.c (environ): Remove fallback declaration.
48454         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
48455         m4/environ.m4.
48456         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
48457         (gl_PREREQ_UNSETENV): Likewise.
48458
48459 2008-02-24  Bruno Haible  <bruno@clisp.org>
48460
48461         * doc/posix-functions/environ.texi: Document the MacOS X problem.
48462
48463 2008-02-20  Bob Proulx  <bob@proulx.com>
48464
48465         Enable use of older two part flavor 'git describe'.
48466         * build-aux/git-version-gen: If using the older two part flavor of
48467         git version then recreate the third part now present in the
48468         newer three part flavor of git describe.
48469
48470 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
48471
48472         * lib/fts.c (fts_build): Typo correction to comment.
48473
48474 2008-02-17  Bruno Haible  <bruno@clisp.org>
48475
48476         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
48477         generating no-op conflicts.
48478
48479 2008-02-17  Bruno Haible  <bruno@clisp.org>
48480
48481         Speed up by 10%.
48482         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
48483         result_entries, rather than an index-based loop.
48484
48485 2008-02-17  Bruno Haible  <bruno@clisp.org>
48486
48487         Speed up by 25%.
48488         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
48489         'hashcode_cached'.
48490         (entry_create): New function.
48491         (entry_hashcode): Use the cached hashcode if possible.
48492         (read_changelog_file, try_split_merged_entry): Use entry_create.
48493
48494 2008-02-17  Bruno Haible  <bruno@clisp.org>
48495
48496         Speed up from O(n^2) to O(n) for long ChangeLog files.
48497         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
48498         (read_changelog_file): Change implementation of entries_reversed list
48499         to rbtreehash.
48500         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
48501
48502 2008-02-17  Bruno Haible  <bruno@clisp.org>
48503
48504         New option --split-merged-entry.
48505         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
48506         (find_paragraph_end, try_split_merged_entry): New functions.
48507         (long_options): Add option --split-merged-entry.
48508         (usage): Document option --split-merged-entry.
48509         (main): Implement option --split-merged-entry.
48510         Reported by Eric Blake.
48511
48512 2008-02-17  Bruno Haible  <bruno@clisp.org>
48513
48514         * lib/git-merge-changelog.c: Include c-strstr.h.
48515         (main): Support the "git pull --rebase" situation.
48516         * modules/git-merge-changelog (Depends-on): Add c-strstr.
48517         Reported by Eric Blake.
48518
48519 2008-02-16  Eric Blake  <ebb9@byu.net>
48520
48521         Avoid doubling \ in common case of "c-maybe" quoting style.
48522         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
48523         eliding outer quotes.
48524         * lib/quotearg.h: Document this.
48525         * tests/test-quotearg.c (result_strings, inputs, results_g)
48526         (flag_results, locale_results): Test it by adding a new string to
48527         each test group.
48528         (compare_strings): Test new string.
48529
48530 2008-02-13  Eric Blake  <ebb9@byu.net>
48531
48532         Avoid trigraph quoting in default output.
48533         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
48534         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
48535         unless explicitly requested.
48536         * tests/test-quotearg.c (flag_results, main): Add additional tests.
48537
48538 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
48539
48540         Don't rely on signed integer overflowing to negative value.
48541         * lib/getugroups.c (getugroups): Include <limits.h>.
48542         Instead, compare against INT_MAX, and increment only if the test passes.
48543
48544 2008-02-13  Jim Meyering  <meyering@redhat.com>
48545         and Eric Blake  <ebb9@byu.net>
48546
48547         Avoid shadowing warning and compile errors on Linux.
48548         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
48549         forwarding macros on Linux.
48550         (dcgettext): Define a stub, for Linux.
48551         (results_g, main): Avoid warnings.
48552
48553 2008-02-12  Eric Blake  <ebb9@byu.net>
48554
48555         Silence warning in last patch.
48556         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
48557
48558         Quotearg part 4: add tests, fix c-maybe colon quoting.
48559         * lib/quotearg.h: Improve documentation.
48560         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
48561         escapes when adding outer quotes.  When quoting trigraphs, use
48562         valid C notation.  When quoting NUL, omit extra characters if next
48563         character is not digit.  Alter prototype.
48564         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
48565         callers.
48566         * modules/quotearg-tests: New module.
48567         * tests/test-quotearg.c: New test.
48568
48569 2008-02-07  Eric Blake  <ebb9@byu.net>
48570
48571         Quotearg part 3: add flag to control outer quote elision.
48572         * lib/quotearg.h (c_maybe_quoting_style): New style.
48573         (enum quoting_flags): Better documentation of flags.
48574         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
48575         c-maybe style.
48576         (quotearg_buffer_restyled): Handle new flag to elide outer
48577         quotes.
48578
48579         Quotearg part 2: add flag that can control NUL elision.
48580         * lib/quotearg.h (set_quoting_flags): New prototype.
48581         * lib/quotearg.c (struct quoting_options): Add flag field.
48582         (set_quoting_flags): New function.
48583         (quotearg_buffer_restyled): Add flags parameter.
48584         (quotearg_alloc_mem): Set the flag if length cannot be returned.
48585         (quotearg_n_options): Set the flag, since length cannot be
48586         returned.
48587         (quoting_options_from_style): Default flags correctly.
48588
48589         Quotearg part 1: more wrappers, restore quotearg_char state.
48590         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
48591         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
48592         (quotearg_colon_mem): New wrappers.
48593         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
48594         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
48595         functions.
48596         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
48597         (quotearg_colon_mem): New functions.
48598
48599 2008-02-11  Bruno Haible  <bruno@clisp.org>
48600
48601         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
48602         library in the current directory: it does not work with parallel make.
48603         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48604
48605 2008-02-11  Bruno Haible  <bruno@clisp.org>
48606
48607         * .gitattributes: New file.
48608
48609 2008-02-11  Jim Meyering  <meyering@redhat.com>
48610
48611         useless-if-before-free: Fix reversed exit values.
48612         * build-aux/useless-if-before-free: Use correct values
48613         for EXIT_MATCH and EXIT_NO_MATCH.
48614
48615         * build-aux/useless-if-before-free: Close stdout carefully.
48616
48617 2008-02-10  Bruno Haible  <bruno@clisp.org>
48618
48619         New module 'git-merge-changelog'.
48620         * modules/git-merge-changelog: New file.
48621         * lib/git-merge-changelog.c: New file.
48622
48623 2008-02-10  Jim Meyering  <meyering@redhat.com>
48624
48625         useless-if-before-free: New option: --list (-l).
48626
48627         useless-if-before-free: Don't exit immediately upon open failure.
48628         * build-aux/useless-if-before-free: Exit 2 for errors.
48629         Upon failure to open a file, don't exit immediately.
48630         Rather, just warn and continue with any remaining files.
48631
48632 2008-02-10  Bruno Haible  <bruno@clisp.org>
48633
48634         New abstract list operation 'node_set_value'.
48635         * lib/gl_list.h (gl_list_node_set_value): New function.
48636         (struct gl_list_implementation): New field node_set_value.
48637         * lib/gl_list.c (gl_list_node_set_value): New function.
48638         * lib/gl_array_list.c (gl_array_node_set_value): New function.
48639         (gl_array_list_implementation): Update.
48640         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
48641         (gl_carray_list_implementation): Update.
48642         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
48643         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
48644         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
48645         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
48646         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
48647         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
48648         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
48649         Update.
48650         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
48651         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
48652         (gl_sublist_list_implementation): Update.
48653
48654 2008-02-10  Bruno Haible  <bruno@clisp.org>
48655
48656         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
48657         Needed when ELEMENT is #defined to 'some_type *'.
48658
48659 2008-02-10  Jim Meyering  <meyering@redhat.com>
48660
48661         New script and module: useless-if-before-free
48662         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
48663         * build-aux/useless-if-before-free: New file.
48664         * modules/useless-if-before-free: New file.
48665
48666         * build-aux/gitlog-to-changelog: Use committer date, not author date.
48667
48668         xstrtol_error: Fix typo.
48669         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
48670         s/exit_failure/exit_status/.
48671
48672 2008-02-09  Jim Meyering  <meyering@redhat.com>
48673
48674         New script and module: gitlog-to-changelog
48675         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
48676         * modules/gitlog-to-changelog: New file.
48677         * build-aux/gitlog-to-changelog: New file.
48678
48679 2008-02-08  Jim Meyering  <meyering@redhat.com>
48680
48681         Avoid two "parameter unused" warnings.
48682         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
48683         Mark "st" as used.
48684
48685         Use "git COMMAND", not "git-COMMAND".
48686         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
48687         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
48688         * build-aux/git-version-gen: Use "git status", not "git-status".
48689
48690 2008-02-07  Bruno Haible  <bruno@clisp.org>
48691
48692         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
48693         Avoids a crash on Windows Vista.
48694         Reported by Adam Strzelecki <ono@java.pl> via
48695         Simon Josefsson <simon@josefsson.org>.
48696
48697 2008-02-06  Bruno Haible  <bruno@clisp.org>
48698
48699         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
48700         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
48701         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
48702         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
48703         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48704         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48705         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
48706         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
48707         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48708         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48709         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48710         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48711         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48712         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48713         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48714         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
48715         left-adjust flag.
48716         * tests/test-snprintf-posix.h (test_function): Likewise.
48717         * tests/test-sprintf-posix.h (test_function): Likewise.
48718         * tests/test-vasprintf-posix.c (test_function): Likewise.
48719         * doc/posix-functions/fprintf.texi: Update.
48720         * doc/posix-functions/printf.texi: Update.
48721         * doc/posix-functions/snprintf.texi: Update.
48722         * doc/posix-functions/sprintf.texi: Update.
48723         * doc/posix-functions/vfprintf.texi: Update.
48724         * doc/posix-functions/vprintf.texi: Update.
48725         * doc/posix-functions/vsnprintf.texi: Update.
48726         * doc/posix-functions/vsprintf.texi: Update.
48727         Reported by Peter Fales <psfales@alcatel-lucent.com>.
48728
48729 2008-02-06  Bruno Haible  <bruno@clisp.org>
48730
48731         Fix bug introduced on 2008-01-26.
48732         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
48733
48734 2008-02-06  Bruno Haible  <bruno@clisp.org>
48735
48736         Fix bug introduced on 2007-06-10.
48737         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
48738         !NEED_PRINTF_FLAG_ZERO.
48739
48740 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
48741
48742         getloadavg: use libperfstat on AIX5
48743         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
48744
48745 2008-02-03  Bruno Haible  <bruno@clisp.org>
48746
48747         * lib/diffseq.h: Add comments about required #includes.
48748         Reported by Michael Biggs <gnulib@doubleplum.net>.
48749
48750 2008-02-01  Bruno Haible  <bruno@clisp.org>
48751
48752         * users.txt: Add gnuit.
48753
48754 2008-01-31  Bruno Haible  <bruno@clisp.org>
48755
48756         * lib/md4.c (set_uint32): Mark as inline.
48757         * lib/md5.c (set_uint32): Likewise.
48758         * lib/sha1.c (set_uint32): Likewise.
48759         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
48760         * m4/md5.m4 (gl_MD5): Likewise.
48761         * m4/sha1.m4 (gl_SHA1): Likewise.
48762
48763 2008-01-31  Jim Meyering  <meyering@redhat.com>
48764
48765         Use "sizeof VAR", rather than a literal "4".
48766         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
48767         * lib/md4.c (md4_read_ctx): Likewise.
48768         * lib/sha1.c (sha1_read_ctx): Likewise.
48769
48770 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48771
48772         * tests/test-sha1.c: New file, based on test-md5.c.
48773
48774         * modules/crypto/sha1-tests: New file.
48775
48776 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48777
48778         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
48779
48780 2008-01-31  Jim Meyering  <meyering@redhat.com>
48781
48782         Prefer "sizeof v" over the equivalent "4".
48783         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
48784         * lib/md5.c (set_uint32): Likewise.
48785         * lib/sha1.c (set_uint32): Likewise.
48786
48787 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48788
48789         * lib/sha1.c (set_uint32): Mark function as static.
48790
48791 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48792
48793         md2: clarify comments to say that alignment is not required.
48794         * lib/md2.h: Remove warning about alignment in comment.
48795         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
48796         never been required.
48797
48798 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48799
48800         md4: adapt alignment constraint fix from sha1.
48801         * lib/md4.c (set_uint32): New function, from sha1.c
48802         (md4_read_ctx): Use it.
48803         (md4_finish_ctx): Doc fix.
48804         * lib/md4.h: Doc fix.
48805
48806 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48807
48808         md5: adapt alignment constraint fix from sha1.
48809         * lib/md5.c (set_uint32): New function, from sha1.c
48810         (md5_read_ctx): Use it.
48811         (md5_finish_ctx): Doc fix.
48812         * lib/md5.h: Doc fix.
48813
48814 2008-01-30  Peter Palfrader  <weasel@debian.org>
48815
48816         sha1: remove the result buffer alignment constraint
48817         * lib/sha1.c (set_uint32): New function.
48818         (sha1_read_ctx): Rewrite to remove the result buffer alignment
48819         constraint.
48820         (sha1_finish_ctx): Remove comment warning about alignment constraint.
48821         * lib/sha1.h: Likewise.
48822
48823 2008-01-30  Andreas Schwab  <schwab@suse.de>
48824             Bruno Haible  <bruno@clisp.org>
48825
48826         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
48827         correct definition of LDBL_MIN_EXP.
48828
48829 2008-01-30  Karl Berry  <karl@gnu.org>
48830
48831         * config/srclist-update: try to preserve x bit on updates.
48832         * config/srclistvars.sh: update for karl.
48833
48834 2008-01-29  Jim Meyering  <meyering@redhat.com>
48835
48836         vasnprintf.c: Avoid warning about unused label
48837         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
48838         "overflow" label definition and associated code with the
48839         same cpp condition that guards the sole use of that label.
48840
48841 2008-01-26  Bruno Haible  <bruno@clisp.org>
48842
48843         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
48844         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
48845         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
48846         * lib/isnanl-nolibm.h (isnanl): Likewise.
48847         Reported by Paul Eggert <eggert@cs.ucla.edu>.
48848
48849 2008-01-26  Bruno Haible  <bruno@clisp.org>
48850
48851         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
48852         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
48853
48854 2008-01-26  Bruno Haible  <bruno@clisp.org>
48855
48856         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
48857         GCC >= 4.0 built-in.
48858         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
48859
48860 2008-01-26  Bruno Haible  <bruno@clisp.org>
48861
48862         Rename isnan, applicable to 'double' only, to isnand.
48863         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
48864         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
48865         (configure.ac): Update.
48866         (Include): Replace "isnan.h" with "isnand.h".
48867         * m4/isnand.m4: Renamed from m4/isnan.m4.
48868         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
48869         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
48870         instead of isnan.c.
48871         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
48872         instead of HAVE_ISNAN_IN_LIBC.
48873         (isnand): Renamed from isnan.
48874         * lib/isnand.c: New file.
48875         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
48876         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
48877         (Makefile.am): Update.
48878         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
48879         Include isnand.h instead of isnan.h.
48880         (main): Test isnand instead of isnan.
48881         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
48882         isnan-nolibm.
48883         * modules/frexp (Depends-on): Likewise.
48884         * modules/frexp-tests (Depends-on): Likewise.
48885         * modules/frexp-nolibm (Depends-on): Likewise.
48886         * modules/frexp-nolibm-tests (Depends-on): Likewise.
48887         * modules/isfinite (Depends-on): Likewise.
48888         * modules/round-tests (Depends-on): Likewise.
48889         * modules/signbit (Depends-on): Likewise.
48890         * modules/signbit-tests (Depends-on): Likewise.
48891         * modules/snprintf-posix (Depends-on): Likewise.
48892         * modules/sprintf-posix (Depends-on): Likewise.
48893         * modules/trunc-tests (Depends-on): Likewise.
48894         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48895         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48896         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48897         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48898         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48899         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48900         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48901         * modules/vasnprintf-posix (Depends-on): Likewise.
48902         * modules/vasprintf-posix (Depends-on): Likewise.
48903         * modules/vfprintf-posix (Depends-on): Likewise.
48904         * modules/vsnprintf-posix (Depends-on): Likewise.
48905         * modules/vsprintf-posix (Depends-on): Likewise.
48906         * lib/frexp.c: Include isnand.h instead of isnan.h.
48907         (ISNAN): Set to isnand instead of isnan.
48908         * lib/isfinite.c: Include isnand.h instead of isnan.h.
48909         (gl_isfinited): Use isnand instead of isnan.
48910         * lib/signbitd.c: Include isnand.h instead of isnan.h.
48911         (gl_signbitd): Use isnand instead of isnan.
48912         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
48913         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
48914         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
48915         (main): Use isnand instead of isnan.
48916         * tests/test-round1.c: Include isnand.h.
48917         (main): Use isnand instead of isnan.
48918         * tests/test-round2.c: Include isnand.h instead of isnan.h.
48919         (ISNAN): Set to isnand instead of isnan.
48920         * tests/test-trunc1.c: Include isnand.h.
48921         (main): Use isnand instead of isnan.
48922         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
48923         (equal): Use isnand instead of isnan.
48924         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
48925         isnand-nolibm.
48926         * NEWS: Mention the change.
48927
48928 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48929             Bruno Haible  <bruno@clisp.org>
48930
48931         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
48932         the GCC builtins for signbits are present and set
48933         REPLACE_SIGNBIT_USING_GCC if so.
48934         * lib/math.in.h (signbit): Define using GCC builtins if
48935         REPLACE_SIGNBIT_USING_GCC is set.
48936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
48937         REPLACE_SIGNBIT_USING_GCC.
48938         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
48939
48940 2008-01-25  Jim Meyering  <meyering@redhat.com>
48941
48942         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
48943         * lib/poll.c: Include <config.h>, not "config.h".
48944         * tests/test-getaddrinfo.c: Likewise.
48945
48946 2008-01-25  Simon Josefsson  <simon@josefsson.org>
48947
48948         * modules/sockets-tests: New file.
48949
48950 2008-01-24  Simon Josefsson  <simon@josefsson.org>
48951
48952         * modules/sockets: New module, can be used to call WSA_Startup and
48953         WSA_Cleanup when needed.
48954
48955         * lib/sockets.h, lib/sockets.c: New files.
48956
48957         * m4/sockets.m4: New file.
48958
48959         * tests/test-sockets.c: New file.
48960
48961 2008-01-19  Bruno Haible  <bruno@clisp.org>
48962
48963         * doc/posix-headers: Renamed from doc/headers.
48964         * doc/posix-functions: Renamed from doc/functions.
48965         * doc/gnulib.texi: Update.
48966
48967 2008-01-19  Bruno Haible  <bruno@clisp.org>
48968
48969         * doc/glibc-functions/strcasestr.texi: Include contents of
48970         doc/functions/strcasestr.texi, fixing the list of platforms.
48971         * doc/functions/strcasestr.texi: Remove file.
48972
48973 2008-01-19  Bruno Haible  <bruno@clisp.org>
48974
48975         * doc/glibc-functions/memmem.texi: Include contents of
48976         doc/functions/memmem.texi.
48977         * doc/functions/memmem.texi: Remove file.
48978
48979 2008-01-18  Bruno Haible  <bruno@clisp.org>
48980
48981         * doc/glibc-functions/*.texi: New files.
48982         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
48983         to use the new files.
48984
48985 2008-01-17  Bruno Haible  <bruno@clisp.org>
48986
48987         * tests/test-gethostname.c (main): Fix printf statement.
48988
48989 2008-01-17  Simon Josefsson  <simon@josefsson.org>
48990
48991         * modules/gethostname-tests: New file.
48992
48993         * tests/test-gethostname.c: New file.
48994
48995 2008-01-17  Simon Josefsson  <simon@josefsson.org>
48996
48997         * lib/gethostname.c: Include string.h unconditionally, strncpy is
48998         used by the UNAME case.  Reported by Bruno Haible
48999         <bruno@clisp.org>.
49000
49001 2008-01-17  Eric Blake  <ebb9@byu.net>
49002
49003         Convert c-strcasestr to be more efficient.
49004         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
49005         (Depends-on): Add c-strcase, remove malloca, strnlen.
49006         * tests/test-c-strcasestr.c (main): Enhance test.
49007         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
49008
49009 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
49010
49011         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
49012         Use it in creating po/Makevars.
49013
49014 2008-01-15  Simon Josefsson  <simon@josefsson.org>
49015
49016         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
49017         Applications that requires it should initialize libgcrypt
49018         manually.
49019
49020 2008-01-16  Simon Josefsson  <simon@josefsson.org>
49021
49022         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
49023
49024 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
49025
49026         Fix problem with getdate on mingw32 reported by Simon Josefsson
49027         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
49028         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
49029         tzname", when deciding whether to declare tzname.
49030         * lib/strftime.c (tzname): Likewise.
49031
49032 2008-01-15  Bruno Haible  <bruno@clisp.org>
49033
49034         Work around a MacOS X 10.5 bug in frexpl().
49035         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
49036         * doc/functions/frexpl.texi: Document the bug.
49037         Reported by Elias Pipping <pipping@gentoo.org>.
49038
49039 2008-01-14  Eric Blake  <ebb9@byu.net>
49040
49041         Touch up previous patch.
49042         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
49043         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
49044
49045         Convert strcasestr module to use Two-Way algorithm.
49046         * modules/strcasestr-simple: New module, based on the old
49047         strcasestr, but with Two-Way rather than KMP.
49048         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
49049         * lib/string.in.h (rpl_strcasestr): Declare.
49050         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
49051         performance.
49052         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
49053         * modules/string (Makefile.am): Support strcasestr.
49054         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
49055         * modules/strcasestr-tests (Depends-on): Check for alarm.
49056         * tests/test-strcasestr.c: Augment test.
49057         * lib/str-two-way.h: Clean up stray macro.
49058         * NEWS: Document new module.
49059         * MODULES.html.sh (string handling): Likewise.
49060         * doc/functions/strcasestr.texi: New file.
49061         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
49062         here, since it is not a POSIX function.
49063
49064 2008-01-14  Colin Watson  <cjwatson@debian.org>
49065             Bruno Haible  <bruno@clisp.org>
49066
49067         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
49068         works fine; if not, set REPLACE_STRSIGNAL.
49069         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
49070         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49071         REPLACE_STRSIGNAL.
49072         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
49073         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
49074         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
49075
49076 2008-01-14  Bruno Haible  <bruno@clisp.org>
49077
49078         * modules/strsignal (Include): Change to <string.h>.
49079
49080 2008-01-14  Colin Watson  <cjwatson@debian.org>
49081
49082         * modules/argp (Notice): Add a notice recommending to change
49083         XGETTEXT_OPTIONS.
49084         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
49085
49086 2008-01-13  Colin Watson  <cjwatson@debian.org>
49087
49088         * modules/strsignal-tests: New file.
49089         * tests/test-strsignal.c: New file.
49090
49091         * lib/strsignal.c: New file, from glibc with modifications.
49092         * lib/siglist.h: New file, from glibc with modifications.
49093         * lib/string.in.h (strsignal): New declaration.
49094         * m4/strsignal.m4: New file.
49095         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49096         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
49097         * modules/strsignal: New file.
49098         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
49099         HAVE_DECL_STRSIGNAL.
49100
49101 2008-01-13  Bruno Haible  <bruno@clisp.org>
49102
49103         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
49104         locale encoding is not ASCII. Needed for OpenBSD 4.0.
49105         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
49106         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
49107
49108 2008-01-13  Bruno Haible  <bruno@clisp.org>
49109
49110         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
49111         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
49112         * lib/argp.h (__attribute__): Likewise.
49113         * lib/c-stack.c (__attribute__): Likewise.
49114         * lib/error.h (__attribute__): Likewise.
49115         * lib/fts.c (__attribute__): Likewise.
49116         * lib/openat.h (__attribute__): Likewise.
49117         * lib/stdio.in.h (__attribute__): Likewise.
49118         * lib/string.in.h (__attribute__): Likewise.
49119         * lib/utimens.c (__attribute__): Likewise.
49120         * lib/vasnprintf.h (__attribute__): Likewise.
49121         * lib/xalloc.h (__attribute__): Likewise.
49122         * lib/xprintf.h (__attribute__): Likewise.
49123         * lib/xstrtol.h (__attribute__): Likewise.
49124         * lib/xvasprintf.h (__attribute__): Likewise.
49125
49126 2008-01-12  Bruno Haible  <bruno@clisp.org>
49127
49128         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
49129         * doc/glibc-headers/a.out.texi: New file.
49130         * doc/glibc-headers/aliases.texi: New file.
49131         * doc/glibc-headers/alloca.texi: New file.
49132         * doc/glibc-headers/ar.texi: New file.
49133         * doc/glibc-headers/argp.texi: New file.
49134         * doc/glibc-headers/argz.texi: New file.
49135         * doc/glibc-headers/byteswap.texi: New file.
49136         * doc/glibc-headers/crypt.texi: New file.
49137         * doc/glibc-headers/endian.texi: New file.
49138         * doc/glibc-headers/envz.texi: New file.
49139         * doc/glibc-headers/err.texi: New file.
49140         * doc/glibc-headers/error.texi: New file.
49141         * doc/glibc-headers/execinfo.texi: New file.
49142         * doc/glibc-headers/fpu_control.texi: New file.
49143         * doc/glibc-headers/fstab.texi: New file.
49144         * doc/glibc-headers/fts.texi: New file.
49145         * doc/glibc-headers/getopt.texi: New file.
49146         * doc/glibc-headers/ieee754.texi: New file.
49147         * doc/glibc-headers/ifaddrs.texi: New file.
49148         * doc/glibc-headers/libintl.texi: New file.
49149         * doc/glibc-headers/mcheck.texi: New file.
49150         * doc/glibc-headers/mntent.texi: New file.
49151         * doc/glibc-headers/obstack.texi: New file.
49152         * doc/glibc-headers/paths.texi: New file.
49153         * doc/glibc-headers/printf.texi: New file.
49154         * doc/glibc-headers/pty.texi: New file.
49155         * doc/glibc-headers/resolv.texi: New file.
49156         * doc/glibc-headers/shadow.texi: New file.
49157         * doc/glibc-headers/sysexits.texi: New file.
49158         * doc/glibc-headers/ttyent.texi: New file.
49159
49160 2008-01-12  Jim Meyering  <meyering@redhat.com>
49161
49162         announce-gen: emit Gnulib's git-based version string.
49163         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
49164         New option --gnulib-version=V, where V is expected to be
49165         the output of running git describe in the gnulib directory.
49166         (get_tool_versions): Request feedback on xdelta.  I suspect it's
49167         not useful, and plan to stop publishing an xdelta file with each
49168         coreutils release.
49169
49170         * build-aux/announce-gen: Also check for lzma-compressed files.
49171
49172 2008-01-11  Bruno Haible  <bruno@clisp.org>
49173
49174         * tests/test-memmem.c (main): Increase maximum allowed time.
49175         * tests/test-strstr.c (main): Likewise.
49176
49177 2008-01-11  Bruno Haible  <bruno@clisp.org>
49178
49179         * doc/functions/memmem.texi: Add more precisions about platforms.
49180         * doc/functions/strstr.texi: Likewise.
49181
49182 2008-01-10  Eric Blake  <ebb9@byu.net>
49183
49184         * m4/strstr.m4: Delete cruft from copy-n-paste.
49185         Reported by Bruno Haible.
49186
49187 2008-01-10  Bruno Haible  <bruno@clisp.org>
49188
49189         Make c-strstr rely on strstr.
49190         * lib/c-strstr.c: Don't include str-kmp.h.
49191         (c_strstr): Define in terms of strstr.
49192         * modules/c-strstr (Files): Remove lib/str-kmp.h.
49193         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
49194
49195 2008-01-10  Bruno Haible  <bruno@clisp.org>
49196
49197         * doc/gnulib.texi (String Functions in C Locale): New section.
49198         * doc/c-ctype.texi: New file.
49199         * doc/c-strcase.texi: New file.
49200         * doc/c-strcaseeq.texi: New file.
49201         * doc/c-strcasestr.texi: New file.
49202         * doc/c-strstr.texi: New file.
49203         * doc/c-strtod.texi: New file.
49204         * doc/c-strtold.texi: New file.
49205
49206 2008-01-10  Eric Blake  <ebb9@byu.net>
49207
49208         * lib/relocatable.h: Fix a comment.
49209
49210 2008-01-10  Eric Blake  <ebb9@byu.net>
49211
49212         Share two-way algorithm.
49213         * lib/str-two-way.h: New file, merged from...
49214         * lib/memmem.c: ...here...
49215         * lib/strstr.c: ...and here.
49216         * modules/memmem (Files): Use it.
49217         * modules/strstr (Files): Likewise.
49218
49219         Avoid quadratic strstr implementations.
49220         * lib/strstr.c: New file.
49221         * m4/strstr.m4: Likewise.
49222         * modules/strstr: Likewise.
49223         * modules/strstr-tests: Likewise.
49224         * tests/test-strstr.c: Likewise.
49225         * lib/string.in.h (rpl_strstr): Declare.
49226         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
49227         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
49228         * modules/string (Makefile.am): Likewise.
49229         * MODULES.html.sh (string handling): Mention new module.
49230         * doc/functions/strstr.texi (strstr): Document the bug.
49231
49232 2008-01-10  Bruno Haible  <bruno@clisp.org>
49233
49234         * lib/relocatable.h (relocate): State whether result is freshly
49235         allocated or not.
49236         * lib/relocatable.c (relocate): Return a freshly allocated string
49237         instead of a pointer to a privately held string.
49238         Reported by Sylvain Beucler <beuc@gnu.org>.
49239
49240 2008-01-10  Colin Watson  <cjwatson@debian.org>
49241
49242         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
49243         s/S_ISNLK/S_ISLNK/.
49244
49245 2008-01-09  Bruno Haible  <bruno@clisp.org>
49246
49247         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
49248         and other files.
49249         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
49250         if it's only a guess.
49251         * modules/memmem: Simplify by depending on memmem-simple.
49252
49253 2008-01-09  Bruno Haible  <bruno@clisp.org>
49254
49255         Work around OpenBSD 4.0 tdelete() bug.
49256         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
49257         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
49258         macros and don't redefine the enum values.
49259         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
49260         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
49261         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
49262
49263 2008-01-09  Bruno Haible  <bruno@clisp.org>
49264
49265         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
49266         (main): Don't perform the tests if setlocale did not install a UTF-8
49267         locale. Needed on OpenBSD 4.0.
49268         * modules/wcwidth-tests (Depends-on): Add localcharset.
49269
49270 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49271
49272         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
49273         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
49274         * NEWS: announce this.
49275         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
49276
49277 2008-01-09  Simon Josefsson  <simon@josefsson.org>
49278         and Eric Blake  <ebb9@byu.net>
49279
49280         Add memmem-simple module.
49281         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
49282         (gl_FUNC_MEMMEM): Separate performance from presence checks.
49283         * modules/memmem-simple: New file.
49284         * modules/memmem (Description): Tweak.
49285         * MODULES.html.sh (string handling): Mention new module.
49286         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
49287         addressed by memmem-simple.
49288         * NEWS: Document the difference.
49289
49290 2008-01-09  Eric Blake  <ebb9@byu.net>
49291
49292         Give gcc some memmem optimization hints.
49293         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
49294         (strcasestr): Declare as pure.
49295         * modules/memmem (Maintainer): Claim my implementation.
49296
49297 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49298
49299         Support AIX 6.1 and higher.
49300         * build-aux/config.libpath: Likewise.
49301         * build-aux/config.rpath: Likewise.
49302
49303 2008-01-08  Jim Meyering  <meyering@redhat.com>
49304             Bruno Haible  <bruno@clisp.org>
49305
49306         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
49307         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
49308         Reported by Peter Fales in
49309         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
49310
49311 2008-01-08  Bruno Haible  <bruno@clisp.org>
49312
49313         * modules/unictype/category-of (Depends-on): Add
49314         unictype/category-none.
49315         * modules/unictype/category-and-tests (Depends-on): Add
49316         unictype/category-{L,N,Lu,Nd}.
49317         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
49318         * modules/unictype/category-or-tests (Depends-on): Add
49319         unictype/category-{L,N}.
49320         * modules/unictype/category-name-tests (Depends-on): Add
49321         unictype/category-{Z,Nl}.
49322         Reported by Simon Josefsson.
49323
49324 2008-01-08  Bruno Haible  <bruno@clisp.org>
49325
49326         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
49327         convention better.
49328         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
49329         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
49330         Reported by Peter Miller <millerp@canb.auug.org.au>.
49331
49332 2008-01-08  Eric Blake  <ebb9@byu.net>
49333
49334         Rewrite memmem to guarantee linear complexity without malloc.
49335         * lib/memmem.c (memmem): Use Two-Way rather than
49336         Knuth-Morris-Pratt, to allow O(1) space usage.
49337         (critical_factorization, two_way_short_needle)
49338         (two_way_long_needle): New functions.
49339         (knuth_morris_pratt): Delete.
49340         * modules/memmem (Depends-on): No longer need malloca or stdbool.
49341         Add stdint.
49342         * tests/test-memmem.c (main): Add tests for periodic needle and
49343         sublinear performance.
49344         * doc/functions/memmem.texi (memmem): Document other deficiencies
49345         in cygwin and older glibc.
49346
49347 2008-01-08  Bruno Haible  <bruno@clisp.org>
49348
49349         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
49350         augmentation.
49351
49352 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
49353
49354         Add a configure time option: --disable-acl.
49355         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
49356         AC_ARG_ENABLE(acl).
49357
49358 2008-01-06  Simon Josefsson  <simon@josefsson.org>
49359
49360         * tests/test-localename.c: Don't include obsolete "setenv.h".
49361
49362         * modules/localename-tests (Depends-on): Need unsetenv.
49363
49364 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49365
49366         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
49367
49368 2008-01-06  Colin Watson  <cjwatson@debian.org>
49369
49370         * users.txt: Add man-db.
49371
49372 2008-01-07  Bruno Haible  <bruno@clisp.org>
49373
49374         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
49375         previous section name.
49376
49377 2008-01-07  Bruno Haible  <bruno@clisp.org>
49378
49379         * lib/progname.c (set_program_name): Don't strip off a leading
49380         "lt-" prefix outside a .libs directory.
49381         Suggested by Paul Eggert.
49382
49383 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
49384             Bruno Haible  <bruno@clisp.org>
49385
49386         Improve memory cleanup in 'relocatable' module.
49387         * lib/relocatable.h (compute_curr_prefix): Change return type to
49388         'char *'.
49389         * lib/relocatable.c (compute_curr_prefix): Change return type to
49390         'char *'. Free curr_installdir after use.
49391         (relocate): Free curr_prefix_better after use.
49392         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
49393
49394 2008-01-01  Bruno Haible  <bruno@clisp.org>
49395
49396         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
49397         failure on older glibc systems.
49398         Reported by Peter Fales <psfales@alcatel-lucent.com>.
49399
49400 2008-01-05  Eric Blake  <ebb9@byu.net>
49401
49402         Avoid quadratic system memmem.
49403         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
49404         Reported by Ralf Wildenhues.
49405
49406         Fix memmem test for mingw.
49407         * modules/memmem-tests (configure.ac): Check for alarm.
49408         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
49409         it.
49410         * doc/functions/memmem.texi: New file.
49411         * doc/gnulib.texi (Function Substitutes): Add memmem.
49412         Reported by Bruno Haible.
49413
49414 2008-01-04  Bruno Haible  <bruno@clisp.org>
49415
49416         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
49417         Require gl_HEADER_STRINGS_H_DEFAULTS, not
49418         gl_HEADER_STRING_H_DEFAULTS.
49419
49420 2008-01-04  Eric Blake  <ebb9@byu.net>
49421
49422         Shorten duration of memmem test.
49423         * tests/test-memmem.c (main): Use alarm to declare failure if test
49424         is taking too long.
49425         Reported by Ralf Wildenhues.
49426
49427 2007-12-21  Simon Josefsson  <simon@josefsson.org>
49428
49429         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
49430         string, needed by strerror.
49431
49432 2008-01-03  Colin Watson  <cjwatson@debian.org>
49433             Bruno Haible  <bruno@clisp.org>
49434
49435         * doc/gnulib-tool.texi (Localization): New section.
49436
49437 2008-01-02  Bruno Haible  <bruno@clisp.org>
49438
49439         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
49440         variables to 'unsigned char *' type.
49441         Reported by Paul Eggert.
49442
49443 2008-01-02  Jim Meyering  <jim@meyering.net>
49444
49445         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
49446
49447 2007-12-31  Jim Meyering  <jim@meyering.net>
49448
49449         Avoid use of private FTS type name.
49450         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
49451
49452 2007-12-30  Karl Berry  <karl@gnu.org>
49453
49454         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
49455         work around defect in Texinfo and/or the standalone Info browser.
49456
49457 2007-12-30  Bruno Haible  <bruno@clisp.org>
49458
49459         Unify 5 copies of the KMP code.
49460         * lib/str-kmp.h: New file.
49461         * lib/c-strcasestr.c: Include str-kmp.h.
49462         (knuth_morris_pratt): Remove function.
49463         (c_strcasestr): Update.
49464         * lib/c-strstr.c: Include str-kmp.h.
49465         (knuth_morris_pratt): Remove function.
49466         (c_strcasestr): Update.
49467         * lib/mbscasestr.c: Include str-kmp.h.
49468         (knuth_morris_pratt_unibyte): Remove function.
49469         * lib/mbsstr.c: Include str-kmp.h.
49470         (knuth_morris_pratt_unibyte): Remove function.
49471         * lib/strcasestr.c: Include str-kmp.h.
49472         (knuth_morris_pratt): Remove function.
49473         (strcasestr): Update.
49474         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
49475         * modules/c-strstr (Files): Likewise.
49476         * modules/mbscasestr (Files): Likewise.
49477         * modules/mbsstr (Files): Likewise.
49478         * modules/strcasestr (Files): Likewise.
49479         Suggested by Paul Eggert.
49480
49481 2007-12-30  Bruno Haible  <bruno@clisp.org>
49482
49483         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
49484         defined.
49485
49486 2007-12-30  Bruno Haible  <bruno@clisp.org>
49487
49488         * lib/xmalloca.h: Include xalloc.h.
49489         (xnmalloca): New macro.
49490
49491 2007-12-30  Bruno Haible  <bruno@clisp.org>
49492
49493         * lib/malloca.h (nmalloca): New macro.
49494         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
49495         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
49496         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
49497         knuth_morris_pratt_multibyte): Likewise.
49498         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
49499         knuth_morris_pratt_multibyte): Likewise.
49500         * lib/memmem.c (knuth_morris_pratt): Likewise.
49501         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
49502
49503 2007-12-25  Bruno Haible  <bruno@clisp.org>
49504
49505         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
49506         * lib/glob.c: Don't include openat.h.
49507         (link_exists2_p): Add back the code that deals with the
49508         !GLOB_ALTDIRFUNC case.
49509         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
49510         let it do the filename concatenation.
49511         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
49512         * modules/glob (Depends-on): Remove openat.
49513
49514 2007-12-31  Bruno Haible  <bruno@clisp.org>
49515
49516         * modules/dirfd (License): Change to LGPLv2+.
49517         Approved by Jim Meyering.
49518
49519 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
49520
49521         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
49522         when multiplying M by sizeof (size_t).
49523
49524 2007-12-10  Martin Lambers  <marlam@marlam.de>
49525
49526         Override getpagesize on mingw.
49527         * lib/getpagesize.c: New file.
49528         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
49529         * modules/getpagesize (Files): Add lib/getpagesize.c.
49530         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
49531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49532         REPLACE_GETPAGESIZE.
49533         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
49534
49535 2007-12-25  Bruno Haible  <bruno@clisp.org>
49536
49537         * modules/localcharset (Notice): New field.
49538         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
49539         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
49540
49541 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
49542             Bruno Haible  <bruno@clisp.org>
49543
49544         Avoid using the syntax symbol() in formatted documentation.
49545         * MODULES.html.sh (func_module): When replacing symbol() with a
49546         hyperlink, remove the parentheses. Show an error if some remain.
49547         Recognize and render the '...' syntax.
49548         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
49549         Rework. Add paragraph about GCC's inlining.
49550         * doc/alloca.texi: Likewise.
49551         * doc/error.texi: Remove parentheses from symbol reference.
49552         * doc/gnulib-intro.texi: Likewise.
49553         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
49554         * modules/fnmatch (Description): Reword to say "the ... function".
49555         * modules/full-read (Description): Likewise.
49556         * modules/full-write (Description): Likewise.
49557         * modules/safe-read (Description): Likewise.
49558         * modules/safe-write (Description): Likewise.
49559         * modules/strchrnul (Description): Likewise.
49560         * modules/trim (Description): Likewise.
49561         * modules/error (Description): Remove parentheses from symbol
49562         references.
49563         * modules/verror (Description): Likewise.
49564         Reported by Karl Berry.
49565
49566 2007-12-25  Bruno Haible  <bruno@clisp.org>
49567
49568         Fixup after 2007-10-16 commit.
49569         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
49570
49571 2007-12-24  Bruno Haible  <bruno@clisp.org>
49572
49573         Make --enable-relocatable work with DESTDIR.
49574         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
49575         to compute installdir from destprog.
49576         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
49577         also set the RELOC_DESTDIR variable.
49578         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
49579
49580 2007-12-24  Bruno Haible  <bruno@clisp.org>
49581
49582         Fix link error due to xalloc_die().
49583         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
49584         of xreadlink.
49585         * lib/relocwrapper.c: Update comments.
49586         * build-aux/install-reloc: Remove xreadlink.c from file list.
49587         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
49588         xreadlink.c.
49589         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
49590
49591 2007-12-24  Bruno Haible  <bruno@clisp.org>
49592
49593         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
49594         * lib/setenv.h: Remove file.
49595         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
49596         lib/setenv.h.
49597         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
49598         (Depends-on): Add stdlib.
49599         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
49600         gl_FUNC_UNSETENV.
49601         (Include): Replace setenv.h with <stdlib.h>.
49602         * modules/unsetenv: New file.
49603         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
49604         * lib/unsetenv.c: Include <stdlib.h> first.
49605         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
49606         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
49607         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
49608         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
49609         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
49610         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
49611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
49612         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
49613         * doc/functions/unsetenv.texi: Update.
49614         * modules/xsetenv (Depends-on): Add unsetenv.
49615         * modules/getdate (Depends-on): Likewise.
49616         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
49617         * lib/xsetenv.c: Don't include setenv.h.
49618         * lib/getdate.y: Likewise.
49619         * lib/relocwrapper.c: Likewise.
49620         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
49621         (Depends-on): Add stdlib.
49622         * NEWS: Mention the changes.
49623         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
49624
49625 2007-12-23  Bruno Haible  <bruno@clisp.org>
49626
49627         * lib/memmem.c (memmem): Use lowercase variable names. Tab
49628         indentation.
49629
49630 2007-12-23  Bruno Haible  <bruno@clisp.org>
49631
49632         * lib/c-strcasestr.c: Add more comments.
49633         * lib/c-strstr.c: Likewise.
49634         * lib/mbscasestr.c: Likewise.
49635         * lib/mbsstr.c: Likewise.
49636         * lib/strcasestr.c: Likewise.
49637         * lib/memmem.c: Likewise.
49638
49639 2007-12-23  Bruno Haible  <bruno@clisp.org>
49640
49641         * tests/test-memmem.c: Include <string.h> first.
49642
49643 2007-12-22  Bruno Haible  <bruno@clisp.org>
49644
49645         * gnulib-tool (func_create_testdir): Change $auxdir while generating
49646         the contents of $testsbase.
49647         Reported by Ralf Wildenhues.
49648
49649 2007-12-22  Bruno Haible  <bruno@clisp.org>
49650
49651         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
49652         two variables local_ldadd_before, local_ldadd_last.
49653
49654 2007-12-20  Eric Blake  <ebb9@byu.net>
49655
49656         Work around circular library issue when cross-compiling.
49657         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
49658         that progname.o does not need to pull in rpl_memcmp.
49659
49660 2007-12-19  Eric Blake  <ebb9@byu.net>
49661
49662         Fix memmem to avoid O(n^2) worst-case complexity.
49663         * lib/memmem.c (knuth_morris_pratt): New function.
49664         (memmem): Use it if first few naive iterations fail.
49665         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
49666         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
49667         * modules/memchr (License): Likewise.
49668         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
49669         malloca.
49670         * tests/test-memmem.c: Rewrite, borrowing ideas from
49671         test-mbsstr1.c; the old version wouldn't even compile!
49672         * modules/memmem-tests: New file.
49673         * lib/string.in.h (rpl_memmem): Add declaration.
49674         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
49675         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
49676         REPLACE_MEMMEM.
49677
49678 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
49679
49680         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
49681         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
49682         before any system include files, and undef after them all.  This
49683         should fix a problem on VMS reported by John E. Malmberg in
49684         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
49685
49686 2007-12-17  Eric Blake  <ebb9@byu.net>
49687
49688         Revert addition of verify, for BSD/OS.
49689         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
49690         can't handle large files, for the sake of obsolete platforms.
49691         * modules/fseeko (Depends-on): Remove verify.
49692         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
49693         * doc/functions/ftello.texi (ftello): Likewise.
49694         * doc/functions/fgetpos.texi (fgetpos): Likewise.
49695         Reported by Larry Jones.
49696
49697 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
49698
49699         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
49700         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
49701
49702 2007-12-17  Jim Meyering  <meyering@redhat.com>
49703
49704         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
49705         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
49706         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
49707         * modules/getcwd (Depends-on): Add openat.
49708         Reported by Petr Salinger.
49709
49710 2007-12-17  Bruno Haible  <bruno@clisp.org>
49711
49712         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
49713         avoid a segmentation fault of the configure test on x86_64 systems.
49714
49715 2007-12-15  Jim Meyering  <meyering@redhat.com>
49716
49717         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
49718
49719 2007-12-13  Eric Blake  <ebb9@byu.net>
49720
49721         Another fseek test.
49722         * tests/test-fseek.c (main): Also test ungetc handling.
49723         * tests/test-fseeko.c (main): Likewise.
49724         * modules/fseeko (Depends-on): Add verify.
49725         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
49726         large.
49727         Reported by Larry Jones.
49728
49729         Fix fseeko on mingw.
49730         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
49731         seek.
49732
49733         Beef up fseek tests.
49734         * tests/test-fseek.c (main): Also test eof handling.
49735         * tests/test-fseeko.c (main): Likewise.
49736         Reported by Larry Jones.
49737
49738 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
49739
49740         Fix fseeko on BSD-based platforms.
49741         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
49742         successful seek.
49743
49744 2007-12-12  Eric Blake  <ebb9@byu.net>
49745
49746         Allow circular dependency of separate libtests.a
49747         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
49748         when use_libtests.
49749
49750 2007-12-11  Eric Blake  <ebb9@byu.net>
49751
49752         Fix bug with -0.0L in previous patch.
49753         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
49754         * tests/test-isnan.c (main): Also test on zeroes.
49755         * tests/test-isnanf.c (main): Likewise.
49756         * tests/test-isnanl.h (main): Likewise.
49757
49758         Detect pseudo-denormals on x86 even when cross-compiling.
49759         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
49760         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
49761         invalid bit patterns that happen to satisfy ==.
49762
49763         Avoid link failures with separate libtests.a.
49764         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
49765         last, to satisfy circular dependencies.
49766
49767 2007-12-11  Eric Blake  <ebb9@byu.net>
49768         and Bruno Haible  <bruno@clisp.org>
49769
49770         Fix OpenBSD 4.0 <float.h> handling of long double.
49771         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
49772         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
49773         * doc/headers/float.texi (float.h): Document OpenBSD bug.
49774
49775 2007-12-11  Jim Meyering  <meyering@redhat.com>
49776
49777         * users.txt: Add libvirt.
49778
49779         Support versions of autoconf prior to 2.59c.
49780         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
49781         if it is not already defined.
49782
49783 2007-12-09  Bruno Haible  <bruno@clisp.org>
49784
49785         Let 'gnulib-tool --import' collect sources needed for the tests in
49786         tests/ rather than in lib/.
49787         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
49788         argument. If true, add rules to generate libtests.a, and put libtests.a
49789         into $(LDADD). Consider source files in subdirectories and set
49790         uses_subdirs.
49791         (func_emit_initmacro_start, func_emit_initmacro_end,
49792         func_emit_initmacro_done): Pass all arguments explicitly.
49793         (func_import): Determine two module lists main_modules,
49794         testsrelated_modules. Determine use_libtests. Determine two variables
49795         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
49796         instead of just sed_transform_lib_file. Determine two variables
49797         main_files and testsrelated_files. Compute 'files' as the union of
49798         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
49799         func_add_or_update. In the generated gnulib-comp.m4, collect the
49800         object files for tests/ in different variables than those for lib/.
49801         Substitute LIBTESTS_LIBDEPS.
49802         (func_create_testdir): Combine the uses_subdirs results from
49803         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
49804
49805 2007-12-09  Bruno Haible  <bruno@clisp.org>
49806
49807         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
49808         the build-aux directory.
49809
49810 2007-12-09  Bruno Haible  <bruno@clisp.org>
49811
49812         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
49813         introduced on 2006-09-09.
49814
49815 2007-12-07  Jim Meyering  <meyering@redhat.com>
49816
49817         Let these macros work also with autoconf-2.59.
49818         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
49819         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
49820         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
49821
49822 2007-12-06  Jim Meyering  <meyering@redhat.com>
49823
49824         Avoid a configure-time syntax error in gl_FUNC_ACL.
49825         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
49826         function in each branch, before testing the cache variable.
49827
49828 2007-12-04  Eric Blake  <ebb9@byu.net>
49829
49830         Make scripts executable.
49831         * build-aux/config.guess: Add execute permissions.
49832         * build-aux/config.sub: Likewise.
49833         * build-aux/gendocs.sh: Likewise.
49834
49835         Fix frexp on mingw.
49836         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
49837         cross-compiling.
49838         * doc/functions/frexp.texi (frexp): Document the bug.
49839
49840         Make cygwin fseeko check more reliable.
49841         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
49842         version numbers, rather than unrelated feature check.
49843         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
49844         * doc/functions/ftello.texi (ftello): Likewise.
49845         Reported by Bruno Haible.
49846
49847         * m4/strerror.m4: Bump version number.
49848
49849 2007-12-03  Bruno Haible  <bruno@clisp.org>
49850
49851         * doc/functions/mprotect.texi: Mention the mingw problem.
49852
49853 2007-12-03  Eric Blake  <ebb9@byu.net>
49854
49855         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
49856         REPLACE_STRERROR is initialized before this macro.
49857
49858 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
49859
49860         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
49861         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
49862         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
49863         put -lsec in even for programs other than 'ls'.  This fixes a problem
49864         for gettext reported by Bruno Haible in
49865         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
49866         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
49867         Add support for Solaris 10.  This isn't efficient, but should get the
49868         job done for now.
49869
49870 2007-12-03  James Youngman  <jay@gnu.org>
49871
49872         * doc/regexprops-generic.texi: change "an close-group" to "a
49873         close-group" and "illegal" to "not allowed".
49874
49875 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49876
49877         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
49878         pr_byname.h. Needed for the rare case when the maintainer has done
49879         "make maintainer-clean" in the source directory and then attempts a
49880         build outside the source directory.
49881         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
49882         scripts_byname.h.
49883
49884 2007-12-02  Martin Lambers <marlam@marlam.de>
49885             Bruno Haible  <bruno@clisp.org>
49886
49887         * lib/getpagesize.h: Remove file.
49888         * lib/unistd.in.h: Include declaration of getpagesize here.
49889         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
49890         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
49891         HAVE_SYS_PARAM_H.
49892         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
49893         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
49894         * modules/getpagesize (Files): Remove lib/getpagesize.h.
49895         (Depends-on): Add unistd.
49896         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49897         (Include): Use <unistd.h> instead of getpagesize.h.
49898         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
49899         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
49900         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
49901         gl_GETPAGESIZE invocation, already handled by module dependency.
49902         * lib/pagealign_alloc.c: Don't include getpagesize.h.
49903
49904 2007-12-02  Bruno Haible  <bruno@clisp.org>
49905
49906         * modules/strings-tests: New file.
49907         * tests/test-strings.c: New file.
49908
49909         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
49910         * lib/strings.in.h: New file.
49911         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
49912         * m4/strings_h.m4: New file.
49913         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
49914         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
49915         * modules/strings: New file.
49916         * modules/string (Makefile.am): Update.
49917         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
49918         Reported by Karl Berry.
49919
49920 2007-12-01  Eric Blake  <ebb9@byu.net>
49921
49922         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
49923         accomodate fix in cygwin 1.5.25.
49924
49925 2007-12-01  Jim Meyering  <meyering@redhat.com>
49926
49927         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
49928         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
49929         that would inhibit utf8-optimization of a regexp containing line-
49930         or buffer-anchors, e.g., `^', `$'.
49931
49932 2007-11-30  Bruno Haible  <bruno@clisp.org>
49933
49934         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
49935         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
49936         glthread_recursive_lock_init.
49937         * lib/lock.c (glthread_recursive_lock_init)
49938         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
49939         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49940
49941 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
49942
49943         New function qset_acl, like set_acl but with syscall semantics.
49944         * lib/acl.h (qset_acl): New decl.
49945         * lib/acl.c (qset_acl): New function.
49946         (set_acl): Use new function.  Use more-consistent diagnostics.
49947
49948 2007-11-28  Jim Meyering  <meyering@redhat.com>
49949
49950         * modules/physmem (License): Change from GPL to LGPLv2+.
49951
49952 2007-11-26  Bruno Haible  <bruno@clisp.org>
49953
49954         * lib/vasnprintf.c (decode_long_double): Don't abort if the
49955         'long double' type has excess precision.
49956         Reported by Jim Meyering in
49957         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
49958
49959 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49960
49961         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
49962         Sync from <http://gnu.org/licenses>.
49963         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
49964         with license text from same location.
49965         * doc/maintain.texi, doc/standards.texi:  Sync from
49966         <http://savannah.gnu.org/projects/gnustandards>.
49967
49968 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
49969         and Jim Meyering  <meyering@redhat.com>
49970
49971         Adjust getdate' grammar to accept a slightly more regular language.
49972         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
49973         Before, the former was rejected.
49974         * lib/getdate.y (digits_to_date_time): New function, factored
49975         out of ...
49976         (number): ...here.  Just call digits_to_date_time.
49977         (hybrid): New non-terminal to handle an <unsigned number,
49978         signed relative offset> sequence consistently.
49979
49980 2007-11-18  Jim Meyering  <meyering@redhat.com>
49981
49982         Pull my changes from coreutils:
49983         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
49984         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
49985         use of $gnulib_tool_option_extras, so that it's separated from the
49986         preceding argument.
49987
49988         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
49989         * build-aux/bootstrap (cp_mark_as_generated): Create any required
49990         parent destination directories before copying a file into place.
49991
49992 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
49993
49994         bootstrap: work also with 4-argument variant of AC_INIT
49995         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
49996
49997 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49998
49999         Port test-getaddrinfo to Solaris.
50000         Problem reported by Bruno Haible in
50001         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
50002         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
50003         explanation of setting 'hints'.
50004         Don't reject an implementation merely because it returns EAI_SERVICE.
50005         (EAI_SERVICE): Define to 0 if not defined.
50006
50007 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
50008
50009         The license of gnu-make and posix-shell is now "GPLed build tool".
50010         * modules/gnu-make (License): Likewise.
50011         * modules/posix-shell (License): Likewise.
50012
50013         New module posix-shell, for determining a POSIX shell
50014         or perhaps something that is close enough to a POSIX shell.
50015         * m4/posix-shell.m4: New file.
50016         * modules/posix-shell: New file.
50017
50018         * MODULES.html.sh: Mention new module.
50019
50020         New module gnu-make, for determining whether we're using GNU Make.
50021         * m4/gnu-make.m4: New file.
50022         * modules/gnu-make: New file.
50023         * MODULES.html.sh: Mention new module.
50024
50025 2007-11-14  Jim Meyering  <meyering@redhat.com>
50026
50027         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
50028         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
50029         use this macro to create a function _definition_.
50030         Remove useless "#undef ARGMATCH_DIE".
50031
50032 2007-11-14  Bruno Haible  <bruno@clisp.org>
50033
50034         * lib/config.charset: Update for OpenBSD 4.1.
50035         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
50036
50037 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
50038
50039         Document 64-bit #if problems in stdint.texi.
50040         * doc/headers/stdint.texi (stdint.h): Mention problems with
50041         64-bit-#if, and how to work around them.
50042
50043         Don't insist on 'long long int' support in the preprocessor.  It
50044         breaks too many things.  For example, PRIdMAX still uses a 'long
50045         long int' format with the latest Sun compiler, even though
50046         HAVE_LONG_LONG_INT isn't defined due to that compiler's
50047         preprocessor problem.  This causes the latest coreutils to dump
50048         core on Solaris 10 sparc with the Sun C compiler.
50049         Instead, fix the 2007-10-16 problem in a different way, by evaluating
50050         the troublesome expressions at configure-time, not at #if-time.
50051         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
50052         preprocessor.
50053         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
50054         compile-time C checks, done at 'configure'-time.
50055         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
50056         * modules/inttypes (Makefile): Substitute the new symbols that
50057         gl_INTTYPES_H now generates.
50058         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
50059
50060 2007-11-12  Bruno Haible  <bruno@clisp.org>
50061
50062         Tests for Unicode character classification functions.
50063
50064         * modules/unictype/bidicategory-byname-tests: New file.
50065         * modules/unictype/bidicategory-name-tests: New file.
50066         * modules/unictype/bidicategory-of-tests: New file.
50067         * modules/unictype/bidicategory-test-tests: New file.
50068         * modules/unictype/block-list-tests: New file.
50069         * modules/unictype/block-of-tests: New file.
50070         * modules/unictype/block-test-tests: New file.
50071         * modules/unictype/category-C-tests: New file.
50072         * modules/unictype/category-Cc-tests: New file.
50073         * modules/unictype/category-Cf-tests: New file.
50074         * modules/unictype/category-Cn-tests: New file.
50075         * modules/unictype/category-Co-tests: New file.
50076         * modules/unictype/category-Cs-tests: New file.
50077         * modules/unictype/category-L-tests: New file.
50078         * modules/unictype/category-Ll-tests: New file.
50079         * modules/unictype/category-Lm-tests: New file.
50080         * modules/unictype/category-Lo-tests: New file.
50081         * modules/unictype/category-Lt-tests: New file.
50082         * modules/unictype/category-Lu-tests: New file.
50083         * modules/unictype/category-M-tests: New file.
50084         * modules/unictype/category-Mc-tests: New file.
50085         * modules/unictype/category-Me-tests: New file.
50086         * modules/unictype/category-Mn-tests: New file.
50087         * modules/unictype/category-N-tests: New file.
50088         * modules/unictype/category-Nd-tests: New file.
50089         * modules/unictype/category-Nl-tests: New file.
50090         * modules/unictype/category-No-tests: New file.
50091         * modules/unictype/category-P-tests: New file.
50092         * modules/unictype/category-Pc-tests: New file.
50093         * modules/unictype/category-Pd-tests: New file.
50094         * modules/unictype/category-Pe-tests: New file.
50095         * modules/unictype/category-Pf-tests: New file.
50096         * modules/unictype/category-Pi-tests: New file.
50097         * modules/unictype/category-Po-tests: New file.
50098         * modules/unictype/category-Ps-tests: New file.
50099         * modules/unictype/category-S-tests: New file.
50100         * modules/unictype/category-Sc-tests: New file.
50101         * modules/unictype/category-Sk-tests: New file.
50102         * modules/unictype/category-Sm-tests: New file.
50103         * modules/unictype/category-So-tests: New file.
50104         * modules/unictype/category-Z-tests: New file.
50105         * modules/unictype/category-Zl-tests: New file.
50106         * modules/unictype/category-Zp-tests: New file.
50107         * modules/unictype/category-Zs-tests: New file.
50108         * modules/unictype/category-and-not-tests: New file.
50109         * modules/unictype/category-and-tests: New file.
50110         * modules/unictype/category-byname-tests: New file.
50111         * modules/unictype/category-name-tests: New file.
50112         * modules/unictype/category-none-tests: New file.
50113         * modules/unictype/category-of-tests: New file.
50114         * modules/unictype/category-or-tests: New file.
50115         * modules/unictype/category-test-withtable-tests: New file.
50116         * modules/unictype/combining-class-tests: New file.
50117         * modules/unictype/ctype-alnum-tests: New file.
50118         * modules/unictype/ctype-alpha-tests: New file.
50119         * modules/unictype/ctype-blank-tests: New file.
50120         * modules/unictype/ctype-cntrl-tests: New file.
50121         * modules/unictype/ctype-digit-tests: New file.
50122         * modules/unictype/ctype-graph-tests: New file.
50123         * modules/unictype/ctype-lower-tests: New file.
50124         * modules/unictype/ctype-print-tests: New file.
50125         * modules/unictype/ctype-punct-tests: New file.
50126         * modules/unictype/ctype-space-tests: New file.
50127         * modules/unictype/ctype-upper-tests: New file.
50128         * modules/unictype/ctype-xdigit-tests: New file.
50129         * modules/unictype/decimal-digit-tests: New file.
50130         * modules/unictype/digit-tests: New file.
50131         * modules/unictype/mirror-tests: New file.
50132         * modules/unictype/numeric-tests: New file.
50133         * modules/unictype/property-alphabetic-tests: New file.
50134         * modules/unictype/property-ascii-hex-digit-tests: New file.
50135         * modules/unictype/property-bidi-arabic-digit-tests: New file.
50136         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
50137         * modules/unictype/property-bidi-block-separator-tests: New file.
50138         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
50139         * modules/unictype/property-bidi-common-separator-tests: New file.
50140         * modules/unictype/property-bidi-control-tests: New file.
50141         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
50142         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
50143         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
50144         * modules/unictype/property-bidi-european-digit-tests: New file.
50145         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
50146         * modules/unictype/property-bidi-left-to-right-tests: New file.
50147         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
50148         * modules/unictype/property-bidi-other-neutral-tests: New file.
50149         * modules/unictype/property-bidi-pdf-tests: New file.
50150         * modules/unictype/property-bidi-segment-separator-tests: New file.
50151         * modules/unictype/property-bidi-whitespace-tests: New file.
50152         * modules/unictype/property-byname-tests: New file.
50153         * modules/unictype/property-combining-tests: New file.
50154         * modules/unictype/property-composite-tests: New file.
50155         * modules/unictype/property-currency-symbol-tests: New file.
50156         * modules/unictype/property-dash-tests: New file.
50157         * modules/unictype/property-decimal-digit-tests: New file.
50158         * modules/unictype/property-default-ignorable-code-point-tests: New file.
50159         * modules/unictype/property-deprecated-tests: New file.
50160         * modules/unictype/property-diacritic-tests: New file.
50161         * modules/unictype/property-extender-tests: New file.
50162         * modules/unictype/property-format-control-tests: New file.
50163         * modules/unictype/property-grapheme-base-tests: New file.
50164         * modules/unictype/property-grapheme-extend-tests: New file.
50165         * modules/unictype/property-grapheme-link-tests: New file.
50166         * modules/unictype/property-hex-digit-tests: New file.
50167         * modules/unictype/property-hyphen-tests: New file.
50168         * modules/unictype/property-id-continue-tests: New file.
50169         * modules/unictype/property-id-start-tests: New file.
50170         * modules/unictype/property-ideographic-tests: New file.
50171         * modules/unictype/property-ids-binary-operator-tests: New file.
50172         * modules/unictype/property-ids-trinary-operator-tests: New file.
50173         * modules/unictype/property-ignorable-control-tests: New file.
50174         * modules/unictype/property-iso-control-tests: New file.
50175         * modules/unictype/property-join-control-tests: New file.
50176         * modules/unictype/property-left-of-pair-tests: New file.
50177         * modules/unictype/property-line-separator-tests: New file.
50178         * modules/unictype/property-logical-order-exception-tests: New file.
50179         * modules/unictype/property-lowercase-tests: New file.
50180         * modules/unictype/property-math-tests: New file.
50181         * modules/unictype/property-non-break-tests: New file.
50182         * modules/unictype/property-not-a-character-tests: New file.
50183         * modules/unictype/property-numeric-tests: New file.
50184         * modules/unictype/property-other-alphabetic-tests: New file.
50185         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
50186         * modules/unictype/property-other-grapheme-extend-tests: New file.
50187         * modules/unictype/property-other-id-continue-tests: New file.
50188         * modules/unictype/property-other-id-start-tests: New file.
50189         * modules/unictype/property-other-lowercase-tests: New file.
50190         * modules/unictype/property-other-math-tests: New file.
50191         * modules/unictype/property-other-uppercase-tests: New file.
50192         * modules/unictype/property-paired-punctuation-tests: New file.
50193         * modules/unictype/property-paragraph-separator-tests: New file.
50194         * modules/unictype/property-pattern-syntax-tests: New file.
50195         * modules/unictype/property-pattern-white-space-tests: New file.
50196         * modules/unictype/property-private-use-tests: New file.
50197         * modules/unictype/property-punctuation-tests: New file.
50198         * modules/unictype/property-quotation-mark-tests: New file.
50199         * modules/unictype/property-radical-tests: New file.
50200         * modules/unictype/property-sentence-terminal-tests: New file.
50201         * modules/unictype/property-soft-dotted-tests: New file.
50202         * modules/unictype/property-space-tests: New file.
50203         * modules/unictype/property-terminal-punctuation-tests: New file.
50204         * modules/unictype/property-test-tests: New file.
50205         * modules/unictype/property-titlecase-tests: New file.
50206         * modules/unictype/property-unassigned-code-value-tests: New file.
50207         * modules/unictype/property-unified-ideograph-tests: New file.
50208         * modules/unictype/property-uppercase-tests: New file.
50209         * modules/unictype/property-variation-selector-tests: New file.
50210         * modules/unictype/property-white-space-tests: New file.
50211         * modules/unictype/property-xid-continue-tests: New file.
50212         * modules/unictype/property-xid-start-tests: New file.
50213         * modules/unictype/property-zero-width-tests: New file.
50214         * modules/unictype/scripts-tests: New file.
50215         * modules/unictype/syntax-c-ident-tests: New file.
50216         * modules/unictype/syntax-c-whitespace-tests: New file.
50217         * modules/unictype/syntax-java-ident-tests: New file.
50218         * modules/unictype/syntax-java-whitespace-tests: New file.
50219         * tests/unictype/test-bidi_byname.c: New file.
50220         * tests/unictype/test-bidi_name.c: New file.
50221         * tests/unictype/test-bidi_of.c: New file.
50222         * tests/unictype/test-bidi_test.c: New file.
50223         * tests/unictype/test-block_list.c: New file.
50224         * tests/unictype/test-block_of.c: New file.
50225         * tests/unictype/test-block_test.c: New file.
50226         * tests/unictype/test-categ_and.c: New file.
50227         * tests/unictype/test-categ_and_not.c: New file.
50228         * tests/unictype/test-categ_byname.c: New file.
50229         * tests/unictype/test-categ_name.c: New file.
50230         * tests/unictype/test-categ_none.c: New file.
50231         * tests/unictype/test-categ_of.c: New file.
50232         * tests/unictype/test-categ_or.c: New file.
50233         * tests/unictype/test-categ_test_withtable.c: New file.
50234         * tests/unictype/test-combining.c: New file.
50235         * tests/unictype/test-decdigit.c: New file.
50236         * tests/unictype/test-digit.c: New file.
50237         * tests/unictype/test-mirror.c: New file.
50238         * tests/unictype/test-numeric.c: New file.
50239         * tests/unictype/test-pr_byname.c: New file.
50240         * tests/unictype/test-pr_test.c: New file.
50241         * tests/unictype/test-predicate-part1.h: New file.
50242         * tests/unictype/test-predicate-part2.h: New file.
50243         * tests/unictype/test-scripts.c: New file.
50244         * tests/unictype/test-sy_c_ident.c: New file.
50245         * tests/unictype/test-sy_java_ident.c: New file.
50246
50247         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
50248         for Unicode 5.0.0.
50249         * tests/unictype/test-categ_Cc.c: Likewise.
50250         * tests/unictype/test-categ_Cf.c: Likewise.
50251         * tests/unictype/test-categ_Cn.c: Likewise.
50252         * tests/unictype/test-categ_Co.c: Likewise.
50253         * tests/unictype/test-categ_Cs.c: Likewise.
50254         * tests/unictype/test-categ_L.c: Likewise.
50255         * tests/unictype/test-categ_Ll.c: Likewise.
50256         * tests/unictype/test-categ_Lm.c: Likewise.
50257         * tests/unictype/test-categ_Lo.c: Likewise.
50258         * tests/unictype/test-categ_Lt.c: Likewise.
50259         * tests/unictype/test-categ_Lu.c: Likewise.
50260         * tests/unictype/test-categ_M.c: Likewise.
50261         * tests/unictype/test-categ_Mc.c: Likewise.
50262         * tests/unictype/test-categ_Me.c: Likewise.
50263         * tests/unictype/test-categ_Mn.c: Likewise.
50264         * tests/unictype/test-categ_N.c: Likewise.
50265         * tests/unictype/test-categ_Nd.c: Likewise.
50266         * tests/unictype/test-categ_Nl.c: Likewise.
50267         * tests/unictype/test-categ_No.c: Likewise.
50268         * tests/unictype/test-categ_P.c: Likewise.
50269         * tests/unictype/test-categ_Pc.c: Likewise.
50270         * tests/unictype/test-categ_Pd.c: Likewise.
50271         * tests/unictype/test-categ_Pe.c: Likewise.
50272         * tests/unictype/test-categ_Pf.c: Likewise.
50273         * tests/unictype/test-categ_Pi.c: Likewise.
50274         * tests/unictype/test-categ_Po.c: Likewise.
50275         * tests/unictype/test-categ_Ps.c: Likewise.
50276         * tests/unictype/test-categ_S.c: Likewise.
50277         * tests/unictype/test-categ_Sc.c: Likewise.
50278         * tests/unictype/test-categ_Sk.c: Likewise.
50279         * tests/unictype/test-categ_Sm.c: Likewise.
50280         * tests/unictype/test-categ_So.c: Likewise.
50281         * tests/unictype/test-categ_Z.c: Likewise.
50282         * tests/unictype/test-categ_Zl.c: Likewise.
50283         * tests/unictype/test-categ_Zp.c: Likewise.
50284         * tests/unictype/test-categ_Zs.c: Likewise.
50285         * tests/unictype/test-ctype_alnum.c: Likewise.
50286         * tests/unictype/test-ctype_alpha.c: Likewise.
50287         * tests/unictype/test-ctype_blank.c: Likewise.
50288         * tests/unictype/test-ctype_cntrl.c: Likewise.
50289         * tests/unictype/test-ctype_digit.c: Likewise.
50290         * tests/unictype/test-ctype_graph.c: Likewise.
50291         * tests/unictype/test-ctype_lower.c: Likewise.
50292         * tests/unictype/test-ctype_print.c: Likewise.
50293         * tests/unictype/test-ctype_punct.c: Likewise.
50294         * tests/unictype/test-ctype_space.c: Likewise.
50295         * tests/unictype/test-ctype_upper.c: Likewise.
50296         * tests/unictype/test-ctype_xdigit.c: Likewise.
50297         * tests/unictype/test-decdigit.h: Likewise.
50298         * tests/unictype/test-digit.h: Likewise.
50299         * tests/unictype/test-numeric.h: Likewise.
50300         * tests/unictype/test-pr_alphabetic.c: Likewise.
50301         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
50302         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
50303         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
50304         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
50305         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
50306         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
50307         * tests/unictype/test-pr_bidi_control.c: Likewise.
50308         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
50309         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
50310         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
50311         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
50312         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
50313         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
50314         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
50315         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
50316         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
50317         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
50318         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
50319         * tests/unictype/test-pr_combining.c: Likewise.
50320         * tests/unictype/test-pr_composite.c: Likewise.
50321         * tests/unictype/test-pr_currency_symbol.c: Likewise.
50322         * tests/unictype/test-pr_dash.c: Likewise.
50323         * tests/unictype/test-pr_decimal_digit.c: Likewise.
50324         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
50325         * tests/unictype/test-pr_deprecated.c: Likewise.
50326         * tests/unictype/test-pr_diacritic.c: Likewise.
50327         * tests/unictype/test-pr_extender.c: Likewise.
50328         * tests/unictype/test-pr_format_control.c: Likewise.
50329         * tests/unictype/test-pr_grapheme_base.c: Likewise.
50330         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
50331         * tests/unictype/test-pr_grapheme_link.c: Likewise.
50332         * tests/unictype/test-pr_hex_digit.c: Likewise.
50333         * tests/unictype/test-pr_hyphen.c: Likewise.
50334         * tests/unictype/test-pr_id_continue.c: Likewise.
50335         * tests/unictype/test-pr_id_start.c: Likewise.
50336         * tests/unictype/test-pr_ideographic.c: Likewise.
50337         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
50338         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
50339         * tests/unictype/test-pr_ignorable_control.c: Likewise.
50340         * tests/unictype/test-pr_iso_control.c: Likewise.
50341         * tests/unictype/test-pr_join_control.c: Likewise.
50342         * tests/unictype/test-pr_left_of_pair.c: Likewise.
50343         * tests/unictype/test-pr_line_separator.c: Likewise.
50344         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
50345         * tests/unictype/test-pr_lowercase.c: Likewise.
50346         * tests/unictype/test-pr_math.c: Likewise.
50347         * tests/unictype/test-pr_non_break.c: Likewise.
50348         * tests/unictype/test-pr_not_a_character.c: Likewise.
50349         * tests/unictype/test-pr_numeric.c: Likewise.
50350         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
50351         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
50352         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
50353         * tests/unictype/test-pr_other_id_continue.c: Likewise.
50354         * tests/unictype/test-pr_other_id_start.c: Likewise.
50355         * tests/unictype/test-pr_other_lowercase.c: Likewise.
50356         * tests/unictype/test-pr_other_math.c: Likewise.
50357         * tests/unictype/test-pr_other_uppercase.c: Likewise.
50358         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
50359         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
50360         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
50361         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
50362         * tests/unictype/test-pr_private_use.c: Likewise.
50363         * tests/unictype/test-pr_punctuation.c: Likewise.
50364         * tests/unictype/test-pr_quotation_mark.c: Likewise.
50365         * tests/unictype/test-pr_radical.c: Likewise.
50366         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
50367         * tests/unictype/test-pr_soft_dotted.c: Likewise.
50368         * tests/unictype/test-pr_space.c: Likewise.
50369         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
50370         * tests/unictype/test-pr_titlecase.c: Likewise.
50371         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
50372         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
50373         * tests/unictype/test-pr_uppercase.c: Likewise.
50374         * tests/unictype/test-pr_variation_selector.c: Likewise.
50375         * tests/unictype/test-pr_white_space.c: Likewise.
50376         * tests/unictype/test-pr_xid_continue.c: Likewise.
50377         * tests/unictype/test-pr_xid_start.c: Likewise.
50378         * tests/unictype/test-pr_zero_width.c: Likewise.
50379         * tests/unictype/test-sy_c_whitespace.c: Likewise.
50380         * tests/unictype/test-sy_java_whitespace.c: Likewise.
50381
50382 2007-11-12  Bruno Haible  <bruno@clisp.org>
50383
50384         Unicode character classification functions.
50385         * lib/unictype.h: New file.
50386         * modules/unictype/base: New file.
50387         * modules/unictype/category-L: New file.
50388         * modules/unictype/category-Lu: New file.
50389         * modules/unictype/category-Ll: New file.
50390         * modules/unictype/category-Lt: New file.
50391         * modules/unictype/category-Lm: New file.
50392         * modules/unictype/category-Lo: New file.
50393         * modules/unictype/category-M: New file.
50394         * modules/unictype/category-Mn: New file.
50395         * modules/unictype/category-Mc: New file.
50396         * modules/unictype/category-Me: New file.
50397         * modules/unictype/category-N: New file.
50398         * modules/unictype/category-Nd: New file.
50399         * modules/unictype/category-Nl: New file.
50400         * modules/unictype/category-No: New file.
50401         * modules/unictype/category-P: New file.
50402         * modules/unictype/category-Pc: New file.
50403         * modules/unictype/category-Pd: New file.
50404         * modules/unictype/category-Ps: New file.
50405         * modules/unictype/category-Pe: New file.
50406         * modules/unictype/category-Pi: New file.
50407         * modules/unictype/category-Pf: New file.
50408         * modules/unictype/category-Po: New file.
50409         * modules/unictype/category-S: New file.
50410         * modules/unictype/category-Sm: New file.
50411         * modules/unictype/category-Sc: New file.
50412         * modules/unictype/category-Sk: New file.
50413         * modules/unictype/category-So: New file.
50414         * modules/unictype/category-Z: New file.
50415         * modules/unictype/category-Zs: New file.
50416         * modules/unictype/category-Zl: New file.
50417         * modules/unictype/category-Zp: New file.
50418         * modules/unictype/category-C: New file.
50419         * modules/unictype/category-Cc: New file.
50420         * modules/unictype/category-Cf: New file.
50421         * modules/unictype/category-Cs: New file.
50422         * modules/unictype/category-Co: New file.
50423         * modules/unictype/category-Cn: New file.
50424         * modules/unictype/category-or: New file.
50425         * modules/unictype/category-of: New file.
50426         * modules/unictype/category-test: New file.
50427         * modules/unictype/category-test-withtable: New file.
50428         * modules/unictype/category-byname: New file.
50429         * modules/unictype/category-none: New file.
50430         * modules/unictype/category-and: New file.
50431         * modules/unictype/category-and-not: New file.
50432         * modules/unictype/category-name: New file.
50433         * modules/unictype/combining-class: New file.
50434         * modules/unictype/category-all: New file.
50435         * modules/unictype/bidicategory-all: New file.
50436         * modules/unictype/bidicategory-byname: New file.
50437         * modules/unictype/bidicategory-name: New file.
50438         * modules/unictype/bidicategory-of: New file.
50439         * modules/unictype/bidicategory-test: New file.
50440         * modules/unictype/decimal-digit: New file.
50441         * modules/unictype/digit: New file.
50442         * modules/unictype/numeric: New file.
50443         * modules/unictype/mirror: New file.
50444         * modules/unictype/property-white-space: New file.
50445         * modules/unictype/property-alphabetic: New file.
50446         * modules/unictype/property-other-alphabetic: New file.
50447         * modules/unictype/property-not-a-character: New file.
50448         * modules/unictype/property-default-ignorable-code-point: New file.
50449         * modules/unictype/property-other-default-ignorable-code-point: New
50450         file.
50451         * modules/unictype/property-deprecated: New file.
50452         * modules/unictype/property-logical-order-exception: New file.
50453         * modules/unictype/property-variation-selector: New file.
50454         * modules/unictype/property-private-use: New file.
50455         * modules/unictype/property-unassigned-code-value: New file.
50456         * modules/unictype/property-uppercase: New file.
50457         * modules/unictype/property-other-uppercase: New file.
50458         * modules/unictype/property-lowercase: New file.
50459         * modules/unictype/property-other-lowercase: New file.
50460         * modules/unictype/property-titlecase: New file.
50461         * modules/unictype/property-soft-dotted: New file.
50462         * modules/unictype/property-id-start: New file.
50463         * modules/unictype/property-other-id-start: New file.
50464         * modules/unictype/property-id-continue: New file.
50465         * modules/unictype/property-other-id-continue: New file.
50466         * modules/unictype/property-xid-start: New file.
50467         * modules/unictype/property-xid-continue: New file.
50468         * modules/unictype/property-pattern-white-space: New file.
50469         * modules/unictype/property-pattern-syntax: New file.
50470         * modules/unictype/property-join-control: New file.
50471         * modules/unictype/property-grapheme-base: New file.
50472         * modules/unictype/property-grapheme-extend: New file.
50473         * modules/unictype/property-other-grapheme-extend: New file.
50474         * modules/unictype/property-grapheme-link: New file.
50475         * modules/unictype/property-bidi-control: New file.
50476         * modules/unictype/property-bidi-left-to-right: New file.
50477         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
50478         * modules/unictype/property-bidi-arabic-right-to-left: New file.
50479         * modules/unictype/property-bidi-european-digit: New file.
50480         * modules/unictype/property-bidi-eur-num-separator: New file.
50481         * modules/unictype/property-bidi-eur-num-terminator: New file.
50482         * modules/unictype/property-bidi-arabic-digit: New file.
50483         * modules/unictype/property-bidi-common-separator: New file.
50484         * modules/unictype/property-bidi-block-separator: New file.
50485         * modules/unictype/property-bidi-segment-separator: New file.
50486         * modules/unictype/property-bidi-whitespace: New file.
50487         * modules/unictype/property-bidi-non-spacing-mark: New file.
50488         * modules/unictype/property-bidi-boundary-neutral: New file.
50489         * modules/unictype/property-bidi-pdf: New file.
50490         * modules/unictype/property-bidi-embedding-or-override: New file.
50491         * modules/unictype/property-bidi-other-neutral: New file.
50492         * modules/unictype/property-hex-digit: New file.
50493         * modules/unictype/property-ascii-hex-digit: New file.
50494         * modules/unictype/property-ideographic: New file.
50495         * modules/unictype/property-unified-ideograph: New file.
50496         * modules/unictype/property-radical: New file.
50497         * modules/unictype/property-ids-binary-operator: New file.
50498         * modules/unictype/property-ids-trinary-operator: New file.
50499         * modules/unictype/property-zero-width: New file.
50500         * modules/unictype/property-space: New file.
50501         * modules/unictype/property-non-break: New file.
50502         * modules/unictype/property-iso-control: New file.
50503         * modules/unictype/property-format-control: New file.
50504         * modules/unictype/property-dash: New file.
50505         * modules/unictype/property-hyphen: New file.
50506         * modules/unictype/property-punctuation: New file.
50507         * modules/unictype/property-line-separator: New file.
50508         * modules/unictype/property-paragraph-separator: New file.
50509         * modules/unictype/property-quotation-mark: New file.
50510         * modules/unictype/property-sentence-terminal: New file.
50511         * modules/unictype/property-terminal-punctuation: New file.
50512         * modules/unictype/property-currency-symbol: New file.
50513         * modules/unictype/property-math: New file.
50514         * modules/unictype/property-other-math: New file.
50515         * modules/unictype/property-paired-punctuation: New file.
50516         * modules/unictype/property-left-of-pair: New file.
50517         * modules/unictype/property-combining: New file.
50518         * modules/unictype/property-composite: New file.
50519         * modules/unictype/property-decimal-digit: New file.
50520         * modules/unictype/property-numeric: New file.
50521         * modules/unictype/property-diacritic: New file.
50522         * modules/unictype/property-extender: New file.
50523         * modules/unictype/property-ignorable-control: New file.
50524         * modules/unictype/property-test: New file.
50525         * modules/unictype/property-byname: New file.
50526         * modules/unictype/property-all: New file.
50527         * modules/unictype/scripts: New file.
50528         * modules/unictype/scripts-all: New file.
50529         * modules/unictype/block-of: New file.
50530         * modules/unictype/block-test: New file.
50531         * modules/unictype/block-list: New file.
50532         * modules/unictype/block-all: New file.
50533         * modules/unictype/syntax-c-whitespace: New file.
50534         * modules/unictype/syntax-java-whitespace: New file.
50535         * modules/unictype/syntax-c-ident: New file.
50536         * modules/unictype/syntax-java-ident: New file.
50537         * modules/unictype/ctype-alnum: New file.
50538         * modules/unictype/ctype-alpha: New file.
50539         * modules/unictype/ctype-cntrl: New file.
50540         * modules/unictype/ctype-digit: New file.
50541         * modules/unictype/ctype-graph: New file.
50542         * modules/unictype/ctype-lower: New file.
50543         * modules/unictype/ctype-print: New file.
50544         * modules/unictype/ctype-punct: New file.
50545         * modules/unictype/ctype-space: New file.
50546         * modules/unictype/ctype-upper: New file.
50547         * modules/unictype/ctype-xdigit: New file.
50548         * modules/unictype/ctype-blank: New file.
50549         * lib/unictype/bidi_byname.c: New file.
50550         * lib/unictype/bidi_name.c: New file.
50551         * lib/unictype/bidi_of.c: New file.
50552         * lib/unictype/bidi_test.c: New file.
50553         * lib/unictype/bitmap.h: New file.
50554         * lib/unictype/block_test.c: New file.
50555         * lib/unictype/blocks.c: New file.
50556         * lib/unictype/categ_C.c: New file.
50557         * lib/unictype/categ_Cc.c: New file.
50558         * lib/unictype/categ_Cf.c: New file.
50559         * lib/unictype/categ_Cn.c: New file.
50560         * lib/unictype/categ_Co.c: New file.
50561         * lib/unictype/categ_Cs.c: New file.
50562         * lib/unictype/categ_L.c: New file.
50563         * lib/unictype/categ_Ll.c: New file.
50564         * lib/unictype/categ_Lm.c: New file.
50565         * lib/unictype/categ_Lo.c: New file.
50566         * lib/unictype/categ_Lt.c: New file.
50567         * lib/unictype/categ_Lu.c: New file.
50568         * lib/unictype/categ_M.c: New file.
50569         * lib/unictype/categ_Mc.c: New file.
50570         * lib/unictype/categ_Me.c: New file.
50571         * lib/unictype/categ_Mn.c: New file.
50572         * lib/unictype/categ_N.c: New file.
50573         * lib/unictype/categ_Nd.c: New file.
50574         * lib/unictype/categ_Nl.c: New file.
50575         * lib/unictype/categ_No.c: New file.
50576         * lib/unictype/categ_P.c: New file.
50577         * lib/unictype/categ_Pc.c: New file.
50578         * lib/unictype/categ_Pd.c: New file.
50579         * lib/unictype/categ_Pe.c: New file.
50580         * lib/unictype/categ_Pf.c: New file.
50581         * lib/unictype/categ_Pi.c: New file.
50582         * lib/unictype/categ_Po.c: New file.
50583         * lib/unictype/categ_Ps.c: New file.
50584         * lib/unictype/categ_S.c: New file.
50585         * lib/unictype/categ_Sc.c: New file.
50586         * lib/unictype/categ_Sk.c: New file.
50587         * lib/unictype/categ_Sm.c: New file.
50588         * lib/unictype/categ_So.c: New file.
50589         * lib/unictype/categ_Z.c: New file.
50590         * lib/unictype/categ_Zl.c: New file.
50591         * lib/unictype/categ_Zp.c: New file.
50592         * lib/unictype/categ_Zs.c: New file.
50593         * lib/unictype/categ_and.c: New file.
50594         * lib/unictype/categ_and_not.c: New file.
50595         * lib/unictype/categ_byname.c: New file.
50596         * lib/unictype/categ_name.c: New file.
50597         * lib/unictype/categ_none.c: New file.
50598         * lib/unictype/categ_of.c: New file.
50599         * lib/unictype/categ_or.c: New file.
50600         * lib/unictype/categ_test.c: New file.
50601         * lib/unictype/combining.c: New file.
50602         * lib/unictype/ctype_alnum.c: New file.
50603         * lib/unictype/ctype_alpha.c: New file.
50604         * lib/unictype/ctype_blank.c: New file.
50605         * lib/unictype/ctype_cntrl.c: New file.
50606         * lib/unictype/ctype_digit.c: New file.
50607         * lib/unictype/ctype_graph.c: New file.
50608         * lib/unictype/ctype_lower.c: New file.
50609         * lib/unictype/ctype_print.c: New file.
50610         * lib/unictype/ctype_punct.c: New file.
50611         * lib/unictype/ctype_space.c: New file.
50612         * lib/unictype/ctype_upper.c: New file.
50613         * lib/unictype/ctype_xdigit.c: New file.
50614         * lib/unictype/decdigit.c: New file.
50615         * lib/unictype/digit.c: New file.
50616         * lib/unictype/identsyntaxmap.h: New file.
50617         * lib/unictype/mirror.c: New file.
50618         * lib/unictype/numeric.c: New file.
50619         * lib/unictype/pr_alphabetic.c: New file.
50620         * lib/unictype/pr_ascii_hex_digit.c: New file.
50621         * lib/unictype/pr_bidi_arabic_digit.c: New file.
50622         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
50623         * lib/unictype/pr_bidi_block_separator.c: New file.
50624         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
50625         * lib/unictype/pr_bidi_common_separator.c: New file.
50626         * lib/unictype/pr_bidi_control.c: New file.
50627         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
50628         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
50629         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
50630         * lib/unictype/pr_bidi_european_digit.c: New file.
50631         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
50632         * lib/unictype/pr_bidi_left_to_right.c: New file.
50633         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
50634         * lib/unictype/pr_bidi_other_neutral.c: New file.
50635         * lib/unictype/pr_bidi_pdf.c: New file.
50636         * lib/unictype/pr_bidi_segment_separator.c: New file.
50637         * lib/unictype/pr_bidi_whitespace.c: New file.
50638         * lib/unictype/pr_byname.c: New file.
50639         * lib/unictype/pr_byname.gperf: New file.
50640         * lib/unictype/pr_combining.c: New file.
50641         * lib/unictype/pr_composite.c: New file.
50642         * lib/unictype/pr_currency_symbol.c: New file.
50643         * lib/unictype/pr_dash.c: New file.
50644         * lib/unictype/pr_decimal_digit.c: New file.
50645         * lib/unictype/pr_default_ignorable_code_point.c: New file.
50646         * lib/unictype/pr_deprecated.c: New file.
50647         * lib/unictype/pr_diacritic.c: New file.
50648         * lib/unictype/pr_extender.c: New file.
50649         * lib/unictype/pr_format_control.c: New file.
50650         * lib/unictype/pr_grapheme_base.c: New file.
50651         * lib/unictype/pr_grapheme_extend.c: New file.
50652         * lib/unictype/pr_grapheme_link.c: New file.
50653         * lib/unictype/pr_hex_digit.c: New file.
50654         * lib/unictype/pr_hyphen.c: New file.
50655         * lib/unictype/pr_id_continue.c: New file.
50656         * lib/unictype/pr_id_start.c: New file.
50657         * lib/unictype/pr_ideographic.c: New file.
50658         * lib/unictype/pr_ids_binary_operator.c: New file.
50659         * lib/unictype/pr_ids_trinary_operator.c: New file.
50660         * lib/unictype/pr_ignorable_control.c: New file.
50661         * lib/unictype/pr_iso_control.c: New file.
50662         * lib/unictype/pr_join_control.c: New file.
50663         * lib/unictype/pr_left_of_pair.c: New file.
50664         * lib/unictype/pr_line_separator.c: New file.
50665         * lib/unictype/pr_logical_order_exception.c: New file.
50666         * lib/unictype/pr_lowercase.c: New file.
50667         * lib/unictype/pr_math.c: New file.
50668         * lib/unictype/pr_non_break.c: New file.
50669         * lib/unictype/pr_not_a_character.c: New file.
50670         * lib/unictype/pr_numeric.c: New file.
50671         * lib/unictype/pr_other_alphabetic.c: New file.
50672         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
50673         * lib/unictype/pr_other_grapheme_extend.c: New file.
50674         * lib/unictype/pr_other_id_continue.c: New file.
50675         * lib/unictype/pr_other_id_start.c: New file.
50676         * lib/unictype/pr_other_lowercase.c: New file.
50677         * lib/unictype/pr_other_math.c: New file.
50678         * lib/unictype/pr_other_uppercase.c: New file.
50679         * lib/unictype/pr_paired_punctuation.c: New file.
50680         * lib/unictype/pr_paragraph_separator.c: New file.
50681         * lib/unictype/pr_pattern_syntax.c: New file.
50682         * lib/unictype/pr_pattern_white_space.c: New file.
50683         * lib/unictype/pr_private_use.c: New file.
50684         * lib/unictype/pr_punctuation.c: New file.
50685         * lib/unictype/pr_quotation_mark.c: New file.
50686         * lib/unictype/pr_radical.c: New file.
50687         * lib/unictype/pr_sentence_terminal.c: New file.
50688         * lib/unictype/pr_soft_dotted.c: New file.
50689         * lib/unictype/pr_space.c: New file.
50690         * lib/unictype/pr_terminal_punctuation.c: New file.
50691         * lib/unictype/pr_test.c: New file.
50692         * lib/unictype/pr_titlecase.c: New file.
50693         * lib/unictype/pr_unassigned_code_value.c: New file.
50694         * lib/unictype/pr_unified_ideograph.c: New file.
50695         * lib/unictype/pr_uppercase.c: New file.
50696         * lib/unictype/pr_variation_selector.c: New file.
50697         * lib/unictype/pr_white_space.c: New file.
50698         * lib/unictype/pr_xid_continue.c: New file.
50699         * lib/unictype/pr_xid_start.c: New file.
50700         * lib/unictype/pr_zero_width.c: New file.
50701         * lib/unictype/scripts.c: New file.
50702         * lib/unictype/sy_c_ident.c: New file.
50703         * lib/unictype/sy_c_whitespace.c: New file.
50704         * lib/unictype/sy_java_ident.c: New file.
50705         * lib/unictype/sy_java_whitespace.c: New file.
50706
50707         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
50708         Unicode 5.0.0.
50709         * lib/unictype/blocks.h: Likewise.
50710         * lib/unictype/categ_C.h: Likewise.
50711         * lib/unictype/categ_Cc.h: Likewise.
50712         * lib/unictype/categ_Cf.h: Likewise.
50713         * lib/unictype/categ_Cn.h: Likewise.
50714         * lib/unictype/categ_Co.h: Likewise.
50715         * lib/unictype/categ_Cs.h: Likewise.
50716         * lib/unictype/categ_L.h: Likewise.
50717         * lib/unictype/categ_Ll.h: Likewise.
50718         * lib/unictype/categ_Lm.h: Likewise.
50719         * lib/unictype/categ_Lo.h: Likewise.
50720         * lib/unictype/categ_Lt.h: Likewise.
50721         * lib/unictype/categ_Lu.h: Likewise.
50722         * lib/unictype/categ_M.h: Likewise.
50723         * lib/unictype/categ_Mc.h: Likewise.
50724         * lib/unictype/categ_Me.h: Likewise.
50725         * lib/unictype/categ_Mn.h: Likewise.
50726         * lib/unictype/categ_N.h: Likewise.
50727         * lib/unictype/categ_Nd.h: Likewise.
50728         * lib/unictype/categ_Nl.h: Likewise.
50729         * lib/unictype/categ_No.h: Likewise.
50730         * lib/unictype/categ_P.h: Likewise.
50731         * lib/unictype/categ_Pc.h: Likewise.
50732         * lib/unictype/categ_Pd.h: Likewise.
50733         * lib/unictype/categ_Pe.h: Likewise.
50734         * lib/unictype/categ_Pf.h: Likewise.
50735         * lib/unictype/categ_Pi.h: Likewise.
50736         * lib/unictype/categ_Po.h: Likewise.
50737         * lib/unictype/categ_Ps.h: Likewise.
50738         * lib/unictype/categ_S.h: Likewise.
50739         * lib/unictype/categ_Sc.h: Likewise.
50740         * lib/unictype/categ_Sk.h: Likewise.
50741         * lib/unictype/categ_Sm.h: Likewise.
50742         * lib/unictype/categ_So.h: Likewise.
50743         * lib/unictype/categ_Z.h: Likewise.
50744         * lib/unictype/categ_Zl.h: Likewise.
50745         * lib/unictype/categ_Zp.h: Likewise.
50746         * lib/unictype/categ_Zs.h: Likewise.
50747         * lib/unictype/categ_of.h: Likewise.
50748         * lib/unictype/combining.h: Likewise.
50749         * lib/unictype/ctype_alnum.h: Likewise.
50750         * lib/unictype/ctype_alpha.h: Likewise.
50751         * lib/unictype/ctype_blank.h: Likewise.
50752         * lib/unictype/ctype_cntrl.h: Likewise.
50753         * lib/unictype/ctype_digit.h: Likewise.
50754         * lib/unictype/ctype_graph.h: Likewise.
50755         * lib/unictype/ctype_lower.h: Likewise.
50756         * lib/unictype/ctype_print.h: Likewise.
50757         * lib/unictype/ctype_punct.h: Likewise.
50758         * lib/unictype/ctype_space.h: Likewise.
50759         * lib/unictype/ctype_upper.h: Likewise.
50760         * lib/unictype/ctype_xdigit.h: Likewise.
50761         * lib/unictype/decdigit.h: Likewise.
50762         * lib/unictype/digit.h: Likewise.
50763         * lib/unictype/mirror.h: Likewise.
50764         * lib/unictype/numeric.h: Likewise.
50765         * lib/unictype/pr_alphabetic.h: Likewise.
50766         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
50767         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
50768         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
50769         * lib/unictype/pr_bidi_block_separator.h: Likewise.
50770         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
50771         * lib/unictype/pr_bidi_common_separator.h: Likewise.
50772         * lib/unictype/pr_bidi_control.h: Likewise.
50773         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
50774         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
50775         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
50776         * lib/unictype/pr_bidi_european_digit.h: Likewise.
50777         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
50778         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
50779         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
50780         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
50781         * lib/unictype/pr_bidi_pdf.h: Likewise.
50782         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
50783         * lib/unictype/pr_bidi_whitespace.h: Likewise.
50784         * lib/unictype/pr_combining.h: Likewise.
50785         * lib/unictype/pr_composite.h: Likewise.
50786         * lib/unictype/pr_currency_symbol.h: Likewise.
50787         * lib/unictype/pr_dash.h: Likewise.
50788         * lib/unictype/pr_decimal_digit.h: Likewise.
50789         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
50790         * lib/unictype/pr_deprecated.h: Likewise.
50791         * lib/unictype/pr_diacritic.h: Likewise.
50792         * lib/unictype/pr_extender.h: Likewise.
50793         * lib/unictype/pr_format_control.h: Likewise.
50794         * lib/unictype/pr_grapheme_base.h: Likewise.
50795         * lib/unictype/pr_grapheme_extend.h: Likewise.
50796         * lib/unictype/pr_grapheme_link.h: Likewise.
50797         * lib/unictype/pr_hex_digit.h: Likewise.
50798         * lib/unictype/pr_hyphen.h: Likewise.
50799         * lib/unictype/pr_id_continue.h: Likewise.
50800         * lib/unictype/pr_id_start.h: Likewise.
50801         * lib/unictype/pr_ideographic.h: Likewise.
50802         * lib/unictype/pr_ids_binary_operator.h: Likewise.
50803         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
50804         * lib/unictype/pr_ignorable_control.h: Likewise.
50805         * lib/unictype/pr_iso_control.h: Likewise.
50806         * lib/unictype/pr_join_control.h: Likewise.
50807         * lib/unictype/pr_left_of_pair.h: Likewise.
50808         * lib/unictype/pr_line_separator.h: Likewise.
50809         * lib/unictype/pr_logical_order_exception.h: Likewise.
50810         * lib/unictype/pr_lowercase.h: Likewise.
50811         * lib/unictype/pr_math.h: Likewise.
50812         * lib/unictype/pr_non_break.h: Likewise.
50813         * lib/unictype/pr_not_a_character.h: Likewise.
50814         * lib/unictype/pr_numeric.h: Likewise.
50815         * lib/unictype/pr_other_alphabetic.h: Likewise.
50816         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
50817         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
50818         * lib/unictype/pr_other_id_continue.h: Likewise.
50819         * lib/unictype/pr_other_id_start.h: Likewise.
50820         * lib/unictype/pr_other_lowercase.h: Likewise.
50821         * lib/unictype/pr_other_math.h: Likewise.
50822         * lib/unictype/pr_other_uppercase.h: Likewise.
50823         * lib/unictype/pr_paired_punctuation.h: Likewise.
50824         * lib/unictype/pr_paragraph_separator.h: Likewise.
50825         * lib/unictype/pr_pattern_syntax.h: Likewise.
50826         * lib/unictype/pr_pattern_white_space.h: Likewise.
50827         * lib/unictype/pr_private_use.h: Likewise.
50828         * lib/unictype/pr_punctuation.h: Likewise.
50829         * lib/unictype/pr_quotation_mark.h: Likewise.
50830         * lib/unictype/pr_radical.h: Likewise.
50831         * lib/unictype/pr_sentence_terminal.h: Likewise.
50832         * lib/unictype/pr_soft_dotted.h: Likewise.
50833         * lib/unictype/pr_space.h: Likewise.
50834         * lib/unictype/pr_terminal_punctuation.h: Likewise.
50835         * lib/unictype/pr_titlecase.h: Likewise.
50836         * lib/unictype/pr_unassigned_code_value.h: Likewise.
50837         * lib/unictype/pr_unified_ideograph.h: Likewise.
50838         * lib/unictype/pr_uppercase.h: Likewise.
50839         * lib/unictype/pr_variation_selector.h: Likewise.
50840         * lib/unictype/pr_white_space.h: Likewise.
50841         * lib/unictype/pr_xid_continue.h: Likewise.
50842         * lib/unictype/pr_xid_start.h: Likewise.
50843         * lib/unictype/pr_zero_width.h: Likewise.
50844         * lib/unictype/scripts.h: Likewise.
50845         * lib/unictype/scripts_byname.gperf: Likewise.
50846         * lib/unictype/sy_c_ident.h: Likewise.
50847         * lib/unictype/sy_c_whitespace.h: Likewise.
50848         * lib/unictype/sy_java_ident.h: Likewise.
50849         * lib/unictype/sy_java_whitespace.h: Likewise.
50850
50851         * lib/unictype/Makefile: New file.
50852         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
50853         glibc.
50854         * lib/unictype/3level.h: New file, copied from glibc.
50855         * lib/unictype/3levelbit.h: New file.
50856
50857 2007-11-11  Bruno Haible  <bruno@clisp.org>
50858
50859         * modules/gperf: New file.
50860         * modules/iconv_open (Depends-on): Add it.
50861         (Makefile.am): Remove the GPERF definition.
50862
50863 2007-11-11  Bruno Haible  <bruno@clisp.org>
50864
50865         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
50866         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
50867
50868 2007-11-11  Bruno Haible  <bruno@clisp.org>
50869
50870         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
50871         (usage): Remove function.
50872
50873 2007-11-11  Bruno Haible  <bruno@clisp.org>
50874
50875         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
50876         gl_FUNC_CEILF_LIBS.
50877         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
50878         gl_FUNC_CEIL_LIBS.
50879         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
50880         gl_FUNC_CEILL_LIBS.
50881         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
50882         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
50883         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
50884
50885 2007-11-11  Bruno Haible  <bruno@clisp.org>
50886
50887         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
50888         roundf were declared but do not exist on functions.
50889         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
50890         roundl were declared but do not exist on functions.
50891         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
50892         HAVE_FLOORL_AND_CEILL, respectively.
50893         Needed for Sun C on Solaris 10.
50894
50895 2007-11-11  Bruno Haible  <bruno@clisp.org>
50896
50897         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
50898         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
50899         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
50900         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
50901         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
50902         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
50903         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
50904         HAVE_DECL_ROUNDF.
50905         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
50906         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
50907         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
50908         of HAVE_DECL_ROUND*.
50909         * modules/math (Makefile.am): Update.
50910
50911 2007-11-10  Bruno Haible  <bruno@clisp.org>
50912
50913         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
50914         ptrdiff_t as m4/intl.m4.
50915
50916 2007-11-10  Jim Meyering  <meyering@redhat.com>
50917
50918         Avoid link failure for the argmatch test.
50919         * tests/test-argmatch.c (usage): Define function to avoid a link
50920         failure: argmatch_die requires a usage function.
50921
50922 2007-11-09  Bruno Haible  <bruno@clisp.org>
50923
50924         * doc/functions/snprintf.texi: Mention BeOS deficiency.
50925         * doc/functions/vsnprintf.texi: Likewise.
50926         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
50927         with a size argument < 2.
50928
50929 2007-11-09  Bruno Haible  <bruno@clisp.org>
50930
50931         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
50932         buffer. Fixes an inefficiency introduced on 2007-11-03.
50933
50934 2007-11-09  Bruno Haible  <bruno@clisp.org>
50935
50936         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
50937         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
50938
50939 2007-11-08  Jim Meyering  <meyering@redhat.com>
50940
50941         Change cache variable name prefix "jm_" to "gl_" everywhere.
50942         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
50943         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
50944         * m4/uptime.m4: s/gl_/jm_/
50945
50946 2007-11-07  Bruno Haible  <bruno@clisp.org>
50947
50948         Update to GNU gettext 0.17.
50949         * m4/intl.m4: Update to GNU gettext 0.17.
50950         * m4/po.m4: Likewise.
50951         * modules/gettext (Files): Remove m4/ulonglong.m4.
50952         (configure.ac): Require gettext infrastructure from version 0.17.
50953
50954 2007-11-06  Bruno Haible  <bruno@clisp.org>
50955
50956         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
50957         symbolic values are not defined in a public header.
50958         * lib/freadable.c (freadable) [QNX]: Likewise.
50959         * lib/freadahead.c (freadahead) [QNX]: Likewise.
50960         * lib/freading.c (freading) [QNX]: Likewise.
50961         * lib/fseterr.c (fseterr) [QNX]: Likewise.
50962         * lib/fwritable.c (fwritable) [QNX]: Likewise.
50963         * lib/fwriting.c (fwriting) [QNX]: Likewise.
50964         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
50965         Reported by Alain Magloire.
50966
50967         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
50968
50969 2007-11-05  Bruno Haible  <bruno@clisp.org>
50970
50971         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
50972         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
50973         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
50974         Reported by Eric Blake.
50975
50976 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50977             Bruno Haible  <bruno@clisp.org>
50978
50979         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
50980         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
50981         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
50982         (malloc): Undefine also before including <stdlib.h>.
50983         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
50984         Needed on OSF/1 4.0.
50985
50986 2007-11-05  Jim Meyering  <meyering@redhat.com>
50987
50988         git-version-gen: sync from coreutils.
50989         * build-aux/git-version-gen: Add comments.
50990         Change the first '-' to '.' in the snapshot version string,
50991         e.g., 6.9-377-08144 -> 6.9.377-08144
50992         Remove first parameter.
50993         Don't declare a version "-dirty" merely because a time
50994         stamp has changed.
50995
50996 2007-11-04  Bruno Haible  <bruno@clisp.org>
50997
50998         * lib/lock.h: Protect all macro definitions containing an 'if'
50999         statement through a "do { ... } while (0)".
51000         * lib/tls.h: Likewise.
51001
51002 2007-11-04  Bruno Haible  <bruno@clisp.org>
51003
51004         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
51005
51006 2007-11-04  Bruno Haible  <bruno@clisp.org>
51007
51008         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
51009         * modules/fprintf-posix (Depends-on): Add nocrash.
51010         * modules/snprintf-posix (Depends-on): Likewise.
51011         * modules/sprintf-posix (Depends-on): Likewise.
51012         * modules/vasnprintf-posix (Depends-on): Likewise.
51013         * modules/vasprintf-posix (Depends-on): Likewise.
51014         * modules/vfprintf-posix (Depends-on): Likewise.
51015         * modules/vsnprintf-posix (Depends-on): Likewise.
51016         * modules/vsprintf-posix (Depends-on): Likewise.
51017         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51018         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51019         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51020         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51021         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51022         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51023         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51024
51025 2007-11-04  Bruno Haible  <bruno@clisp.org>
51026
51027         * modules/nocrash: New file.
51028         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
51029         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
51030
51031 2007-11-04  Bruno Haible  <bruno@clisp.org>
51032
51033         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
51034         precision handling.
51035         * tests/test-vasprintf-posix.c (test_function): Likewise.
51036         * tests/test-snprintf-posix.h (test_function): Likewise.
51037         * tests/test-sprintf-posix.h (test_function): Likewise.
51038
51039         Fix *printf behaviour for large precisions on mingw and BeOS.
51040         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
51041         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
51042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
51043         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51044         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51045         gl_PRINTF_PRECISION and test its result. Invoke
51046         gl_PREREQ_VASNPRINTF_PRECISION.
51047         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51048         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51049         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51050         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51051         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51052         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51053         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51054         * doc/functions/fprintf.texi: Update.
51055         * doc/functions/printf.texi: Update.
51056         * doc/functions/snprintf.texi: Update.
51057         * doc/functions/sprintf.texi: Update.
51058         * doc/functions/vfprintf.texi: Update.
51059         * doc/functions/vprintf.texi: Update.
51060         * doc/functions/vsnprintf.texi: Update.
51061         * doc/functions/vsprintf.texi: Update.
51062
51063 2007-11-04  Bruno Haible  <bruno@clisp.org>
51064
51065         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
51066
51067 2007-11-04  Bruno Haible  <bruno@clisp.org>
51068
51069         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
51070         Reported by Sylvain Beucler <beuc@gnu.org>.
51071
51072 2007-11-03  Bruno Haible  <bruno@clisp.org>
51073
51074         * tests/test-fprintf-posix2.sh: New file.
51075         * tests/test-fprintf-posix2.c: New file.
51076         * modules/fprintf-posix-tests (Files): Add them.
51077         (TESTS): Add test-fprintf-posix2.sh.
51078         (configure.ac): Check for getrlimit and setrlimit.
51079         (check_PROGRAMS): Add test-fprintf-posix2.
51080
51081         * tests/test-printf-posix2.sh: New file.
51082         * tests/test-printf-posix2.c: New file.
51083         * modules/printf-posix-tests (Files): Add them.
51084         (TESTS): Add test-printf-posix2.sh.
51085         (configure.ac): Check for getrlimit and setrlimit.
51086         (check_PROGRAMS): Add test-printf-posix2.
51087
51088         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
51089         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
51090         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
51091         (decode_double): New function, copied from decode_long_double.
51092         (scale10_round_decimal_decoded): New function, extracted from
51093         scale10_round_decimal_long_double.
51094         (scale10_round_decimal_long_double): Use it.
51095         (scale10_round_decimal_double): New function.
51096         (floorlog10): New function.
51097         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
51098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
51099         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51100         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51101         gl_PRINTF_ENOMEM and test its result. Invoke
51102         gl_PREREQ_VASNPRINTF_ENOMEM.
51103         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51104         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51105         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51106         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51107         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51108         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51109         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51110         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
51111         * modules/snprintf-posix (Depends-on): Likewise.
51112         * modules/sprintf-posix (Depends-on): Likewise.
51113         * modules/vasnprintf-posix (Depends-on): Likewise.
51114         * modules/vasprintf-posix (Depends-on): Likewise.
51115         * modules/vfprintf-posix (Depends-on): Likewise.
51116         * modules/vsnprintf-posix (Depends-on): Likewise.
51117         * modules/vsprintf-posix (Depends-on): Likewise.
51118         * doc/functions/fprintf.texi: Update.
51119         * doc/functions/printf.texi: Update.
51120         * doc/functions/snprintf.texi: Update.
51121         * doc/functions/sprintf.texi: Update.
51122         * doc/functions/vfprintf.texi: Update.
51123         * doc/functions/vprintf.texi: Update.
51124         * doc/functions/vsnprintf.texi: Update.
51125         * doc/functions/vsprintf.texi: Update.
51126
51127 2007-11-03  Bruno Haible  <bruno@clisp.org>
51128
51129         * modules/frexp-nolibm-tests: New file.
51130
51131         * modules/frexp-nolibm: New file.
51132         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
51133
51134 2007-11-03  Bruno Haible  <bruno@clisp.org>
51135
51136         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
51137         value is C99 compliant.
51138         Needed for OSF/1 5.1.
51139
51140 2007-11-03  Bruno Haible  <bruno@clisp.org>
51141
51142         Fix out-of-memory handling of vasnprintf.
51143         * lib/printf-parse.c: Include <errno.h>.
51144         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
51145         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
51146         is already set.
51147
51148 2007-11-02  Eric Blake  <ebb9@byu.net>
51149
51150         Fix tests on cygwin.
51151         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
51152
51153 2007-11-01  Bruno Haible  <bruno@clisp.org>
51154
51155         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
51156         warning.
51157         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
51158         needed for POSIX compatibility.
51159
51160 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
51161
51162         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
51163         for compatibility with GNU.
51164
51165 2007-11-01  Bruno Haible  <bruno@clisp.org>
51166
51167         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
51168         (putenv): Renamed from rpl_putenv. Change argument type from
51169         'const char *' to 'char *'.
51170         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
51171         of defining putenv in config.h, just set REPLACE_PUTENV.
51172         * modules/putenv (Depends-on): Add stdlib.
51173         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51174         (Include): Use <stdlib.h>.
51175         * lib/stdlib.in.h (putenv): New declaration.
51176         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
51177         REPLACE_PUTENV.
51178         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
51179         REPLACE_PUTENV.
51180         Needed for MacOS X 10.5.0.
51181         Reported by Peter O'Gorman <peter@pogma.com>.
51182
51183 2007-11-01  Jim Meyering  <meyering@redhat.com>
51184
51185         Treat an empty date string exactly like "0".
51186         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
51187         if the remaining date string (to be parsed) is empty, use "0".
51188         Reported by Mischa Molhoek and discussed in this thread:
51189         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
51190
51191 2007-10-31  Bruno Haible  <bruno@clisp.org>
51192
51193         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
51194         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
51195         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
51196         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
51197         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
51198         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
51199
51200 2007-10-31  Bruno Haible  <bruno@clisp.org>
51201
51202         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
51203         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
51204         (AC_TYPE_LONG_LONG_INT): Use it.
51205         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
51206         it as well.
51207         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
51208         to m4/longlong.m4.
51209         * modules/stdint (Files): Remove m4/ulonglong.m4.
51210         * modules/strtoull (Files): Use m4/longlong.m4 instead of
51211         m4/ulonglong.m4.
51212         * modules/strtoumax (Files): Likewise.
51213
51214 2007-10-30  Bruno Haible  <bruno@clisp.org>
51215
51216         * modules/xvasprintf-posix: New file.
51217         Suggested by Eric Blake.
51218
51219 2007-10-30  Bruno Haible  <bruno@clisp.org>
51220
51221         * modules/xprintf-posix-tests: New file.
51222         * tests/test-xprintf-posix.sh: New file.
51223         * tests/test-xprintf-posix.c: New file.
51224         * tests/test-xfprintf-posix.c: New file.
51225
51226         * modules/xprintf-posix: New file.
51227
51228 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51229
51230         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
51231         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
51232         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
51233
51234 2007-10-29  Bruno Haible  <bruno@clisp.org>
51235
51236         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
51237         contain the special marker '_cv_'.
51238         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
51239         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
51240         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
51241         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
51242         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
51243         Reported by Ralf Wildenhues.
51244
51245 2007-10-29  Bruno Haible  <bruno@clisp.org>
51246
51247         * gnulib-tool (func_import): When --lgpl is not specified, set
51248         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
51249         GPLv3.
51250         Reported by Simon Josefsson.
51251
51252 2007-10-28  Bruno Haible  <bruno@clisp.org>
51253
51254         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
51255         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
51256         HAVE_DECL_ISFINITE.
51257         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
51258         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
51259         HAVE_DECL_ISFINITE.
51260
51261 2007-10-28  Bruno Haible  <bruno@clisp.org>
51262
51263         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
51264         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
51265
51266 2007-10-28  Bruno Haible  <bruno@clisp.org>
51267
51268         Fix link errors with Sun C 5.0 on Solaris 10.
51269         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
51270         function is declared but not present in the compiler's libm.
51271         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
51272         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
51273         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
51274         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
51275         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
51276         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
51277         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
51278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
51279         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
51280         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
51281         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
51282         HAVE_DECL_FLOORL.
51283
51284 2007-10-28  Bruno Haible  <bruno@clisp.org>
51285
51286         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
51287         gl_FUNC_FLOORL. Cache the result.
51288         (gl_FUNC_FLOORL): Use it.
51289         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
51290         gl_FUNC_CEILL. Cache the result.
51291         (gl_FUNC_CEILL): Use it.
51292
51293         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
51294         gl_FUNC_FLOOR. Cache the result.
51295         (gl_FUNC_FLOOR): Use it.
51296         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
51297         gl_FUNC_CEIL. Cache the result.
51298         (gl_FUNC_CEIL): Use it.
51299
51300         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
51301         gl_FUNC_FLOORF. Cache the result.
51302         (gl_FUNC_FLOORF): Use it.
51303         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
51304         gl_FUNC_CEILF. Cache the result.
51305         (gl_FUNC_CEILF): Use it.
51306
51307 2007-10-28  Bruno Haible  <bruno@clisp.org>
51308
51309         * gnulib-tool: Allow specifying the LGPL version number through
51310         --lgpl=2 or --lgpl=3.
51311         (func_usage): Document --lgpl with argument.
51312         Handle --lgpl=... arguments.
51313         (func_import): Recognize also gl_LGPL calls with an argument. When
51314         --lgpl=2 is used and the module's license is just LGPL, report an
51315         error. Set sed_transform_lib_file according to the lgpl variable. In
51316         the generated files, use --lgpl or gl_LGPL invocations with argument,
51317         if necessary.
51318         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
51319         an LGPv2+ license.
51320         * doc/gnulib-tool.texi (Modified imports): Update explanation of
51321         gl_LGPL macro.
51322
51323 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51324             Bruno Haible  <bruno@clisp.org>
51325
51326         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
51327         (u16_uctomb_aux): Likewise.
51328         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
51329         !HAVE_INLINE.
51330         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
51331
51332 2007-10-28  Bruno Haible  <bruno@clisp.org>
51333
51334         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
51335         Invoke AM_GETTEXT_OPTION if it exists.
51336         * modules/vasprintf: Likewise.
51337         * modules/verror: Likewise.
51338         * modules/xprintf: Likewise.
51339         * modules/xvasprintf: Likewise.
51340
51341 2007-10-27  Ben Pfaff  <blp@gnu.org>
51342
51343         * lib/math.in.h: Define isfinite macro and prototypes for
51344         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
51345         implementations.
51346         * m4/math_h.m4: New substitutions for isfinite module.
51347         * lib/isfinite.c: New file.
51348         * m4/isfinite.m4: New file.
51349         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
51350         * modules/isfinite: New file.
51351         * modules/isfinite-tests: New file.
51352         * tests/tests-isfinite.c: New file.
51353         * doc/functions/isfinite.texi: Mention isfinite module.
51354         * MODULES.html.sh: Mention new module.
51355
51356 2007-10-27  Ben Pfaff  <blp@gnu.org>
51357
51358         Ralf Wildenhues reported that Tru64 4.0D declares the round
51359         functions but does not have definitions.
51360         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
51361         cannot be found in any library, set the output variable to
51362         "missing" instead of "".
51363         * m4/round.m4: Also use our substitute if we cannot find round in
51364         any library, even if it is declared.
51365         * m4/roundf.m4: Likewise for roundf.
51366         * m4/roundl.m4: Likewise for roundl.
51367         * lib/math.in.h: Undefine roundf, round, roundl before defining
51368         their replacements, to allow for hypothetical systems where these
51369         may be defined as macros but not available in libraries.
51370
51371 2007-10-27  Bruno Haible  <bruno@clisp.org>
51372
51373         * doc/gnulib.texi: Invoke @firstparagraphindent.
51374         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
51375         changes in gnulib.
51376         (Source changes): New section.
51377
51378 2007-10-26  Bruno Haible  <bruno@clisp.org>
51379
51380         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
51381         borrowed from autoconf.
51382
51383 2007-10-26  Bruno Haible  <bruno@clisp.org>
51384
51385         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
51386         strerror returned the empty string. Needed on HP-UX 11.00.
51387
51388 2007-10-24  Micah Cowan  <micah@cowan.name>
51389
51390         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
51391         * build-aux/bootstrap: Remove support for now-unnecessary option,
51392         --cvs-user, and envvars CVS_USER, CVS_RSH.
51393
51394 2007-10-24  Jim Meyering  <meyering@redhat.com>
51395
51396         Avoid diagnostics from sha1sum when there is no cached checksum.
51397         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
51398         if the po.s1 file hasn't been created yet.
51399
51400         * build-aux/bootstrap: Sync from coreutils:
51401         2007-10-24  Jim Meyering  <meyering@redhat.com>
51402         Get gnulib from the git repository, not from an obsolete cvs one.
51403         * build-aux/bootstrap: Suggestion from Micah Cowan.
51404         2007-10-04  Jim Meyering  <jim@meyering.net>
51405         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
51406         (update_po_files): Work also when there are no .po files in po/.
51407
51408 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51409
51410         * README: Append ".git" to git and cg examples.
51411         Problem reported by Benoit Sigoure.
51412
51413 2007-10-23  Micah Cowan  <micah@cowan.name>
51414
51415         * users.txt: Add wget.
51416
51417 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51418
51419         Fix linking of some unistdio tests on FreeBSD.
51420         * modules/unistdio/u16-vsnprintf-tests
51421         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
51422         * modules/unistdio/u16-vsprintf-tests
51423         (test_u16_vsnprintf1_LDADD): Likewise.
51424         * modules/unistdio/u32-vsnprintf-tests
51425         (test_u32_vsnprintf1_LDADD): Likewise.
51426         * modules/unistdio/u32-vsprintf-tests
51427         (test_u32_vsprintf1_LDADD): Likewise.
51428         * modules/unistdio/u8-vsnprintf-tests
51429         (test_u8_vsnprintf1_LDADD): Likewise.
51430         * modules/unistdio/u8-vsprintf-tests
51431         (test_u8_vsprintf1_LDADD): Likewise.
51432         * modules/unistdio/ulc-vsnprintf-tests
51433         (test_ulc_vsnprintf1_LDADD): Likewise.
51434         * modules/unistdio/ulc-vsprintf-tests
51435         (test_ulc_vsprintf1_LDADD): Likewise.
51436
51437         Fix linking of some uniconv tests on FreeBSD.
51438         * modules/uniconv/u16-conv-from-enc-tests
51439         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
51440         * modules/uniconv/u16-conv-to-enc-tests
51441         (test_u16_conv_to_enc_LDADD): Likewise.
51442         * modules/uniconv/u16-strconv-from-enc-tests
51443         (test_u16_strconv_from_enc_LDADD): Likewise.
51444         * modules/uniconv/u16-strconv-to-enc-tests
51445         (test_u16_strconv_to_enc_LDADD): Likewise.
51446         * modules/uniconv/u32-conv-from-enc-tests
51447         (test_u32_conv_from_enc_LDADD): Likewise.
51448         * modules/uniconv/u32-conv-to-enc-tests
51449         (test_u32_conv_to_enc_LDADD): Likewise.
51450         * modules/uniconv/u32-strconv-from-enc-tests
51451         (test_u32_strconv_from_enc_LDADD): Likewise.
51452         * modules/uniconv/u32-strconv-to-enc-tests
51453         (test_u32_strconv_to_enc_LDADD): Likewise.
51454         * modules/uniconv/u8-conv-from-enc-tests
51455         (test_u8_conv_from_enc_LDADD): Likewise.
51456         * modules/uniconv/u8-conv-to-enc-tests
51457         (test_u8_conv_to_enc_LDADD): Likewise.
51458         * modules/uniconv/u8-strconv-from-enc-tests
51459         (test_u8_strconv_from_enc_LDADD): Likewise.
51460         * modules/uniconv/u8-strconv-to-enc-tests
51461         (test_u8_strconv_to_enc_LDADD): Likewise.
51462
51463 2007-10-22  Bruno Haible  <bruno@clisp.org>
51464
51465         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
51466         size.
51467
51468 2007-10-22  Eric Blake  <ebb9@byu.net>
51469
51470         Tweak x*printf documentation.
51471         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
51472         variable name and comments.
51473         Suggested by Bruno Haible.
51474
51475 2007-10-22  Bruno Haible  <bruno@clisp.org>
51476
51477         * lib/acl.c (copy_acl): Fix file name in comment.
51478
51479 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
51480
51481         Fix Tru64 problem with stdbool.h.
51482         * lib/stdbool.in.h (false, true):
51483         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
51484         Don't declare as an enum in this situation; it runs afoul of Tru64.
51485         Problem reported by Steven M. Schweda in
51486         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
51487
51488 2007-10-22  Eric Blake  <ebb9@byu.net>
51489
51490         Also wrap vf?printf.
51491         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
51492         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
51493         (xvprintf, xvfprintf): New functions.
51494
51495 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51496
51497         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
51498         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
51499
51500         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
51501         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
51502
51503 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
51504
51505         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
51506         by Bruno Haible.
51507
51508 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51509
51510         * lib/getloadavg.c
51511         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
51512         Undef `sys' after including sys/table.h, for Tru64 4.0D.
51513
51514         * tests/test-i-ring.c: Work for C89.
51515
51516 2007-10-22  Bruno Haible  <bruno@clisp.org>
51517
51518         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
51519         -1u, in preprocessor expression, so that we don't test for the bug
51520         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
51521         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
51522
51523 2007-10-22  Eric Blake  <ebb9@byu.net>
51524
51525         * tests/test-yesno.sh: Silence stderr during test.
51526
51527 2007-10-22  Simon Josefsson  <simon@josefsson.org>
51528
51529         * modules/crypto/gc-camellia: New file.
51530
51531         * m4/gc-camellia.m4: New file.
51532
51533         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
51534
51535         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
51536
51537 2007-10-22  Simon Josefsson  <simon@josefsson.org>
51538
51539         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
51540         --help to stdout.  Reported by sms@antinode.org (Steven
51541         M. Schweda).
51542
51543 2007-10-22  Simon Josefsson  <simon@josefsson.org>
51544
51545         * users.txt: Fix link to libksba.
51546
51547 2007-10-21  Ben Pfaff  <blp@gnu.org>
51548
51549         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
51550         round.c roundf implementation that depends on floorf and ceilf to
51551         be tested unconditionally.
51552
51553 2007-10-21  Ben Pfaff  <blp@gnu.org>
51554
51555         * m4/check-libm-func.m4: Removed.
51556         * m4/check-math-lib.m4: New file.
51557         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
51558         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
51559         definition and lack of AC_LIBOBJ([roundf]).
51560         * m4/roundl.m4: Ditto, and similarly for roundl.
51561         * modules/round: Reference new m4 file.
51562         * modules/roundf: Ditto.
51563         * modules/roundl: Ditto.
51564         * tests/test-round2.c (main): Use ROUND instead of round.
51565         Bug report from Bruno Haible.
51566
51567 2007-10-21  Bruno Haible  <bruno@clisp.org>
51568
51569         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
51570         context.
51571
51572 2007-10-21  Bruno Haible  <bruno@clisp.org>
51573
51574         * tests/test-wcwidth.c (main): Allow negative result for some control
51575         characters.
51576
51577         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
51578         Needed on OSF/1 5.1.
51579
51580 2007-10-21  Bruno Haible  <bruno@clisp.org>
51581
51582         * tests/test-floorf1.c: Include isnanf.h.
51583         (main): Use isnanf() instead of isnan().
51584         * tests/test-ceilf1.c: Include isnanf.h.
51585         (main): Use isnanf() instead of isnan().
51586         * tests/test-truncf1.c: Include isnanf.h.
51587         (main): Use isnanf() instead of isnan().
51588         * tests/test-roundf1.c: Include isnanf.h.
51589         (main): Use isnanf() instead of isnan().
51590
51591 2007-10-21  Eric Blake  <ebb9@byu.net>
51592
51593         * users.txt: Update URL for m4.
51594
51595 2007-10-21  Bruno Haible  <bruno@clisp.org>
51596
51597         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
51598
51599 2007-10-21  Bruno Haible  <bruno@clisp.org>
51600
51601         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
51602         Git's management files if the CVS files are not present.
51603
51604 2007-10-20  Bruno Haible  <bruno@clisp.org>
51605
51606         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
51607         gcc-3.4.x.
51608
51609 2007-10-20  Ben Pfaff  <blp@gnu.org>
51610
51611         * lib/math.in.h: Declare round, roundf, roundl if we are providing
51612         implementations.
51613         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
51614         * lib/round.c: New file.
51615         * lib/roundf.c: New file.
51616         * lib/roundl.c: New file.
51617         * m4/round.m4: New file.
51618         * m4/roundf.m4: New file.
51619         * m4/roundl.m4: New file.
51620         * m4/check-libm-func-m4: New file.
51621         * modules/math: Replace round, roundf, roundl related @VARS@ in
51622         math.in.h.
51623         * modules/round: New file.
51624         * modules/round-tests: New file.
51625         * modules/roundf: New file.
51626         * modules/roundf-tests: New file.
51627         * modules/roundl: New file.
51628         * modules/roundl-tests: New file.
51629         * tests/test-round1.c: New file.
51630         * tests/test-round2.c: New file.
51631         * tests/test-roundf1.c: New file.
51632         * tests/test-roundf2.c: New file.
51633         * tests/test-roundl.c: New file.
51634         * doc/functions/round.texi: Mention round module.
51635         * doc/functions/roundf.texi: Mention roundf module.
51636         * doc/functions/roundl.texi: Mention roundl module.
51637         * MODULES.html.sh: Mention new modules.
51638         Thanks to Bruno Haible for suggestions.
51639
51640 2007-10-20  Jim Meyering  <meyering@redhat.com>
51641
51642         * lib/xprintf.c: Include <config.h> unconditionally.
51643
51644         Change xprintf's license to GPL.
51645         * modules/xprintf (License): s/LGPL/GPL/, since this module
51646         depends on modules (exit and exitfail) which are GPL.
51647         Suggestion from Bruno Haible.
51648
51649         xprintf fixes.
51650         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
51651         Use a clearer diagnostic.
51652         Patch from Bruno Haible.
51653
51654 2007-10-20  Bruno Haible  <bruno@clisp.org>
51655
51656         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
51657         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
51658         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51659
51660 2007-10-20  Bruno Haible  <bruno@clisp.org>
51661
51662         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
51663         precision in the comparison result > x - 1 or similar.
51664         * tests/test-ceilf2.c (correct_result_p): Likewise.
51665         * tests/test-truncf2.c (correct_result_p): Likewise.
51666         * tests/test-trunc2.c (correct_result_p): Likewise.
51667         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51668
51669 2007-10-20  Bruno Haible  <bruno@clisp.org>
51670
51671         * modules/ceil: New file.
51672         * m4/ceil.m4: New file.
51673         * doc/functions/ceil.texi: Mention the 'ceil' module.
51674
51675 2007-10-20  Bruno Haible  <bruno@clisp.org>
51676
51677         * modules/floor: New file.
51678         * m4/floor.m4: New file.
51679         * doc/functions/floor.texi: Mention the 'floor' module.
51680
51681 2007-10-20  Bruno Haible  <bruno@clisp.org>
51682
51683         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
51684         of %a.
51685         * modules/floorf-tests (Depends-on): Likewise.
51686         * modules/truncf-tests (Depends-on): Likewise.
51687         * modules/trunc-tests (Depends-on): Likewise.
51688         Reported by Ben Pfaff.
51689
51690 2007-10-19  Jim Meyering  <meyering@redhat.com>
51691
51692         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
51693         Don't bother testing specific errno values.  Just test ferror.
51694
51695         New module: xprintf
51696         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
51697
51698 2007-10-19  Bruno Haible  <bruno@clisp.org>
51699
51700         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
51701         syntax.
51702         * modules/javaexec (Makefile.am): Likewise.
51703         * modules/relocatable-prog (Makefile.am): Likewise.
51704         Suggested by Jim Meyering.
51705
51706 2007-10-18  Bruno Haible  <bruno@clisp.org>
51707
51708         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
51709         Reported by Jim Meyering.
51710
51711 2007-10-18  Eric Blake  <ebb9@byu.net>
51712
51713         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
51714
51715 2007-10-18  Bruno Haible  <bruno@clisp.org>
51716
51717         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
51718         the format string into writable memory. Needed in Fortify conditions.
51719
51720 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
51721             Bruno Haible  <bruno@clisp.org>
51722
51723         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
51724         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
51725         * modules/trim (Depends-on): Add mbchar.
51726         (configure.ac): Add gl_FUNC_MBRTOWC.
51727         (Makefile.am): Augment lib_SOURCES.
51728
51729 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
51730
51731         Modify glob.c to use fstatat and dirfd, to simplify it.
51732         Suggested by Eric Blake.
51733         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
51734         Don't include <stdbool.h>; not used.
51735         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
51736         (link_exists_p): Simplify implementation, since we can now assume
51737         dirfd and fstatat.
51738         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
51739
51740 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51741
51742         * gnulib-tool (func_get_dependencies): Fix sed script to
51743         match only tests.
51744
51745 2007-10-17  Bruno Haible  <bruno@clisp.org>
51746
51747         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
51748         allow locale names without encoding suffix.
51749         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51750         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51751
51752 2007-10-16  Bruno Haible  <bruno@clisp.org>
51753
51754         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
51755         * lib/getgroups.c (getgroups): Likewise.
51756         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
51757
51758 2007-10-16  Bruno Haible  <bruno@clisp.org>
51759
51760         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
51761         * modules/malloc-posix (License): Likewise.
51762         * modules/realloc-posix (License): Likewise.
51763         * modules/calloc-posix (License): Likewise.
51764         * modules/intprops (License): Change from GPL to LGPL, with
51765         Paul Eggert's approval.
51766
51767 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51768
51769         Merge glibc changes into lib/glob.c.
51770
51771         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
51772         2007-10-15 04:59:03 UTC.  Here are the changes:
51773
51774         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
51775
51776         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
51777
51778         * lib/glob.c: Add some branch prediction throughout.
51779
51780         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
51781
51782         [BZ #5103]
51783         * lib/glob.c (glob): Recognize patterns starting \/.
51784
51785         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
51786
51787         [BZ #3996]
51788         * lib/glob.c (attribute_hidden): Define if not defined.
51789         (glob): Unescape dirname, filename or username when needed and not
51790         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
51791         is NULL.  Handle unescaped [ in pattern without closing ].
51792         Don't pass GLOB_CHECK down to recursive glob for directories.
51793         (__glob_pattern_type): New function.
51794         (__glob_pattern_p): Implement using __glob_pattern_type.
51795         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
51796         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
51797         Remove unreachable code.
51798
51799         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
51800
51801         * lib/glob.c (glob_in_dir): Add some comments and asserts to
51802         explain why there are no leaks.
51803
51804         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
51805
51806         [BZ #3253]
51807         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
51808         time, rather allocate increasingly bigger arrays of pointers, if
51809         possible with alloca, if too large with malloc.
51810
51811 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51812
51813         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
51814         Problem reported by H.Merijn Brand in
51815         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
51816         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
51817         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
51818
51819 2007-10-15  Bruno Haible  <bruno@clisp.org>
51820
51821         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
51822         with explicit rpl_ prefix.
51823         * lib/fopen.c (fopen): Likewise.
51824         * lib/freopen.c (freopen): Likewise.
51825         * lib/iconv.c (iconv): Likewise.
51826         * lib/iconv_close.c (iconv_close): Likewise.
51827
51828 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51829
51830         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
51831
51832 2007-10-15  Bruno Haible  <bruno@clisp.org>
51833
51834         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
51835         <stddef.h> instead of <stdlib.h> since we only need NULL.
51836         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51837
51838 2007-10-15  Bruno Haible  <bruno@clisp.org>
51839
51840         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
51841         Replace paragraph talking about LIBOBJS.
51842         Reported by Colin Watson <cjwatson@debian.org>.
51843
51844 2007-10-15  Bruno Haible  <bruno@clisp.org>
51845
51846         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
51847         <stdlib.h> before using NULL.
51848
51849 2007-10-15  Simon Josefsson  <simon@josefsson.org>
51850
51851         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
51852         Reported by Albert Chin <china@thewrittenword.com>.
51853
51854 2007-10-14  Bruno Haible  <bruno@clisp.org>
51855
51856         * modules/iconv_open-utf-tests: New file.
51857         * tests/test-iconv-utf.c: New file.
51858
51859         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
51860         * modules/iconv_open-utf: New file.
51861         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
51862         (iconv, iconv_close): New declarations.
51863         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
51864         be defined.
51865         (iconv_open): Add special handling of conversion between UTF-8 and
51866         UTF-{16,32}{BE,LE}.
51867         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
51868         * lib/iconv_close.c: New file.
51869         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
51870         gl_FUNC_ICONV_OPEN.
51871         (gl_FUNC_ICONV_OPEN): Use it.
51872         (gl_FUNC_ICONV_OPEN_UTF): New macro.
51873         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
51874         and REPLACE_ICONV_UTF.
51875         * modules/iconv_open (Depends-on): Add c-strcase.
51876         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
51877         ICONV_CONST.
51878         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
51879
51880 2007-10-13  Albert Chin  <china@thewrittenword.com>
51881             Bruno Haible  <bruno@clisp.org>
51882
51883         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
51884         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
51885
51886 2007-10-13  Bruno Haible  <bruno@clisp.org>
51887
51888         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
51889         defined, use the ISO C99 inline semantics.
51890         * lib/argp.h (ARGP_EI): Likewise.
51891
51892 2007-10-13  Bruno Haible  <bruno@clisp.org>
51893
51894         Handle 'inline' change in gcc 4.3.0.
51895         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
51896         argp_fmtstream_write, argp_fmtstream_set_lmargin,
51897         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
51898         argp_fmtstream_point): Disable 'extern' declaration if the function
51899         definition is going to be provided inline.
51900         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
51901         semantics, not the ISO C99 inline semantics.
51902         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
51903         'extern' declaration if the function definition is going to be provided
51904         inline.
51905         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
51906         the GNU C inline semantics, not the ISO C99 inline semantics. With
51907         GCC 4.2, avoid a warning.
51908
51909 2007-10-13  Bruno Haible  <bruno@clisp.org>
51910
51911         * lib/freading.h (freading): Enable the use of __freading for
51912         glibc >= 2.7.
51913         * lib/freading.c (freading): Likewise.
51914
51915 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
51916
51917         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
51918         "warning: C99 inline functions are not supported; using GNU89".
51919
51920 2007-10-12  Bruno Haible  <bruno@clisp.org>
51921
51922         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
51923         of 2.
51924         * tests/test-ceilf2.c: New file.
51925         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
51926
51927         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
51928         * modules/ceilf-tests: Update.
51929
51930 2007-10-12  Bruno Haible  <bruno@clisp.org>
51931
51932         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
51933         of 2.
51934         * tests/test-floorf2.c: New file.
51935         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
51936
51937         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
51938         * modules/floorf-tests: Update.
51939
51940 2007-10-12  Bruno Haible  <bruno@clisp.org>
51941
51942         * tests/test-trunc2.c: New file.
51943         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
51944
51945         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
51946         * modules/trunc-tests: Update.
51947
51948 2007-10-12  Bruno Haible  <bruno@clisp.org>
51949
51950         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
51951         of 2.
51952         * tests/test-truncf2.c: New file.
51953         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
51954
51955         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
51956         * modules/truncf-tests: Update.
51957
51958 2007-10-11  Eric Blake  <ebb9@byu.net>
51959
51960         Don't claim strerror is broken on Interix.
51961         * doc/functions/strerror.texi (strerror): Known broken systems are
51962         now Solaris 8, and not Interix.
51963         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
51964         Interix on cross-compile.
51965         Reported by Martin Koeppe in
51966         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
51967
51968 2007-10-11  Bruno Haible  <bruno@clisp.org>
51969
51970         * modules/i-ring-tests: New file.
51971         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
51972         instead of assert.
51973
51974 2007-10-11  Bruno Haible  <bruno@clisp.org>
51975
51976         * modules/filenamecat-tests: New file.
51977         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
51978         * lib/filenamecat.c: Remove test code.
51979
51980 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
51981
51982         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
51983
51984         * lib/strerror.c: Include <string.h> always, to test interface,
51985         and to remove the need for the dummy.
51986         Include intprops.h to compute width instead of doing it ourselves
51987         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
51988         (strerror): Define it to return NULL if there's no system strerror.
51989         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
51990         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
51991         ancient pre-strerror Unix systems well any more.  Saying "unknown
51992         system error" is enough.
51993         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
51994         simpler strerror.c implementation.
51995         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
51996         Simplify the tests to reflect the simpler strerror implementation.
51997         * modules/strerror (Depends-on): Add intprops.
51998
51999 2007-10-09  Eric Blake  <ebb9@byu.net>
52000
52001         Silence test-fpending.
52002         * modules/fpending-tests (Files): Add wrapper script.
52003         * tests/test-fpending.sh: New file.
52004
52005 2007-10-09  Bruno Haible  <bruno@clisp.org>
52006
52007         * MODULES.html.sh (func_module): Don't create a hyperlink for
52008         function names like 'printf_frexp'.
52009         (Misc): Add crc, memxor.
52010         (Characteristics of floating types): New section.
52011         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
52012         isnanf-nolibm, signbit, trunc, truncf, truncl.
52013         (Enhancements for ISO C 99 functions): New subsection Input/output.
52014         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
52015         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
52016         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
52017         (Compatibility checks for POSIX:2001 functions): Add clock-time.
52018         (Enhancements for POSIX:2001 functions): Add chdir-long.
52019         (File system functions): Add areadlink, chdir-safer, read-file.
52020         Remove cycle-check.
52021         (File system as inode set): New section.
52022         (Date and time): Add gethrxtime.
52023         (Multithreading): Add openmp.
52024         (Internationalization functions): Add localename.
52025         (Unicode string functions): Add unistr/u*-mbsnlen.
52026         (Support for maintaining and releasing projects): Add git-version-gen.
52027         (Lone files): Remove directories.
52028
52029 2007-10-08  Ben Pfaff  <blp@gnu.org>
52030
52031         * lib/xmalloca.h: Fix typo in comment.
52032
52033 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
52034
52035         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
52036         when avoiding problems with integer overflow.  Use a portable test
52037         instead.
52038
52039 2007-10-08  Simon Josefsson  <simon@josefsson.org>
52040
52041         * modules/dummy (License): Change to LGPLv2+.
52042         * modules/float (License): Likewise
52043         * modules/realloc (License): Likewise
52044         * modules/stdlib (License): Likewise
52045
52046 2007-10-07  Bruno Haible  <bruno@clisp.org>
52047
52048         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
52049         * floor.c (TWO_MANT_DIG): Likewise.
52050         * ceil.c (TWO_MANT_DIG): Likewise.
52051         Reported by Ben Pfaff.
52052
52053 2007-10-07  Bruno Haible  <bruno@clisp.org>
52054
52055         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
52056         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
52057         * lib/frexp.c (FUNC): Likewise.
52058         * lib/printf-frexp.h (printf_frexp): Likewise.
52059         * lib/printf-frexpl.h (printf_frexpl): Likewise.
52060         * lib/printf-frexp.c (FUNC): Likewise.
52061         Suggested by Jim Meyering.
52062
52063 2007-10-07  Jim Meyering  <meyering@redhat.com>
52064
52065         Make xnanosleep's integer overflow test more robust.
52066         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
52067         so that gcc-4.3.0 doesn't optimize away this test for overflow.
52068
52069 2007-10-07  Bruno Haible  <bruno@clisp.org>
52070
52071         * NEWS: Mention the license change.
52072
52073         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
52074         abbreviations in the modules files.
52075
52076         Change copyright notice from GPLv2+ to GPLv3+.
52077         * README: Change copyright notice.
52078         * MODULES.html.sh: Likewise.
52079         * build-aux/bootstrap.conf: Likewise.
52080         * build-aux/config.libpath: Likewise.
52081         * build-aux/csharpcomp.sh.in: Likewise.
52082         * build-aux/csharpexec.sh.in: Likewise.
52083         * build-aux/install-reloc: Likewise.
52084         * build-aux/javacomp.sh.in: Likewise.
52085         * build-aux/javaexec.sh.in: Likewise.
52086         * build-aux/ldd.sh.in: Likewise.
52087         * build-aux/reloc-ldflags: Likewise.
52088         * build-aux/relocatable.sh.in: Likewise.
52089         * build-aux/x-to-1.in: Likewise.
52090         * check-module: Likewise.
52091         * config/srclistvars.sh: Likewise.
52092         * gnulib-tool: Likewise.
52093         * lib/acl-internal.h: Likewise.
52094         * lib/acl.c: Likewise.
52095         * lib/acl.h: Likewise.
52096         * lib/acl_entries.c: Likewise.
52097         * lib/areadlink-with-size.c: Likewise.
52098         * lib/areadlink.c: Likewise.
52099         * lib/areadlink.h: Likewise.
52100         * lib/argmatch.c: Likewise.
52101         * lib/argmatch.h: Likewise.
52102         * lib/argp-ba.c: Likewise.
52103         * lib/argp-eexst.c: Likewise.
52104         * lib/argp-fmtstream.c: Likewise.
52105         * lib/argp-fmtstream.h: Likewise.
52106         * lib/argp-fs-xinl.c: Likewise.
52107         * lib/argp-help.c: Likewise.
52108         * lib/argp-namefrob.h: Likewise.
52109         * lib/argp-parse.c: Likewise.
52110         * lib/argp-pin.c: Likewise.
52111         * lib/argp-pv.c: Likewise.
52112         * lib/argp-pvh.c: Likewise.
52113         * lib/argp-xinl.c: Likewise.
52114         * lib/argp.h: Likewise.
52115         * lib/at-func.c: Likewise.
52116         * lib/atanl.c: Likewise.
52117         * lib/backupfile.c: Likewise.
52118         * lib/backupfile.h: Likewise.
52119         * lib/basename.c: Likewise.
52120         * lib/binary-io.h: Likewise.
52121         * lib/byteswap.in.h: Likewise.
52122         * lib/c-stack.c: Likewise.
52123         * lib/c-stack.h: Likewise.
52124         * lib/c-strcasestr.c: Likewise.
52125         * lib/c-strcasestr.h: Likewise.
52126         * lib/c-strstr.c: Likewise.
52127         * lib/c-strstr.h: Likewise.
52128         * lib/c-strtod.c: Likewise.
52129         * lib/calloc.c: Likewise.
52130         * lib/canon-host.c: Likewise.
52131         * lib/canon-host.h: Likewise.
52132         * lib/canonicalize-lgpl.c: Likewise.
52133         * lib/canonicalize.c: Likewise.
52134         * lib/canonicalize.h: Likewise.
52135         * lib/ceil.c: Likewise.
52136         * lib/ceilf.c: Likewise.
52137         * lib/ceill.c: Likewise.
52138         * lib/chdir-long.c: Likewise.
52139         * lib/chdir-long.h: Likewise.
52140         * lib/chdir-safer.c: Likewise.
52141         * lib/chdir-safer.h: Likewise.
52142         * lib/chown.c: Likewise.
52143         * lib/classpath.c: Likewise.
52144         * lib/classpath.h: Likewise.
52145         * lib/clean-temp.c: Likewise.
52146         * lib/clean-temp.h: Likewise.
52147         * lib/cloexec.c: Likewise.
52148         * lib/close-stream.c: Likewise.
52149         * lib/closein.c: Likewise.
52150         * lib/closein.h: Likewise.
52151         * lib/closeout.c: Likewise.
52152         * lib/closeout.h: Likewise.
52153         * lib/concat-filename.c: Likewise.
52154         * lib/copy-file.c: Likewise.
52155         * lib/copy-file.h: Likewise.
52156         * lib/count-one-bits.h: Likewise.
52157         * lib/crc.c: Likewise.
52158         * lib/crc.h: Likewise.
52159         * lib/creat-safer.c: Likewise.
52160         * lib/csharpcomp.c: Likewise.
52161         * lib/csharpcomp.h: Likewise.
52162         * lib/csharpexec.c: Likewise.
52163         * lib/csharpexec.h: Likewise.
52164         * lib/cycle-check.c: Likewise.
52165         * lib/cycle-check.h: Likewise.
52166         * lib/diacrit.c: Likewise.
52167         * lib/diacrit.h: Likewise.
52168         * lib/diffseq.h: Likewise.
52169         * lib/dirchownmod.c: Likewise.
52170         * lib/dirent.in.h: Likewise.
52171         * lib/dirfd.c: Likewise.
52172         * lib/dirfd.h: Likewise.
52173         * lib/dirname.c: Likewise.
52174         * lib/dirname.h: Likewise.
52175         * lib/dummy.c: Likewise.
52176         * lib/dup-safer.c: Likewise.
52177         * lib/dup2.c: Likewise.
52178         * lib/eealloc.h: Likewise.
52179         * lib/error.c: Likewise.
52180         * lib/error.h: Likewise.
52181         * lib/euidaccess.c: Likewise.
52182         * lib/exclude.c: Likewise.
52183         * lib/exclude.h: Likewise.
52184         * lib/execute.c: Likewise.
52185         * lib/execute.h: Likewise.
52186         * lib/exitfail.c: Likewise.
52187         * lib/exitfail.h: Likewise.
52188         * lib/expl.c: Likewise.
52189         * lib/fatal-signal.c: Likewise.
52190         * lib/fatal-signal.h: Likewise.
52191         * lib/fbufmode.c: Likewise.
52192         * lib/fbufmode.h: Likewise.
52193         * lib/fchdir.c: Likewise.
52194         * lib/fchmodat.c: Likewise.
52195         * lib/fchownat.c: Likewise.
52196         * lib/fcntl--.h: Likewise.
52197         * lib/fcntl-safer.h: Likewise.
52198         * lib/fcntl.in.h: Likewise.
52199         * lib/fd-safer.c: Likewise.
52200         * lib/fflush.c: Likewise.
52201         * lib/file-has-acl.c: Likewise.
52202         * lib/file-set.c: Likewise.
52203         * lib/file-type.c: Likewise.
52204         * lib/file-type.h: Likewise.
52205         * lib/fileblocks.c: Likewise.
52206         * lib/filemode.c: Likewise.
52207         * lib/filemode.h: Likewise.
52208         * lib/filename.h: Likewise.
52209         * lib/filenamecat.c: Likewise.
52210         * lib/filenamecat.h: Likewise.
52211         * lib/findprog.c: Likewise.
52212         * lib/findprog.h: Likewise.
52213         * lib/float.in.h: Likewise.
52214         * lib/floor.c: Likewise.
52215         * lib/floorf.c: Likewise.
52216         * lib/floorl.c: Likewise.
52217         * lib/fopen-safer.c: Likewise.
52218         * lib/fopen.c: Likewise.
52219         * lib/fpending.c: Likewise.
52220         * lib/fpending.h: Likewise.
52221         * lib/fprintf.c: Likewise.
52222         * lib/fprintftime.h: Likewise.
52223         * lib/fpucw.h: Likewise.
52224         * lib/fpurge.c: Likewise.
52225         * lib/fpurge.h: Likewise.
52226         * lib/freadable.c: Likewise.
52227         * lib/freadable.h: Likewise.
52228         * lib/freadahead.c: Likewise.
52229         * lib/freadahead.h: Likewise.
52230         * lib/freading.c: Likewise.
52231         * lib/freading.h: Likewise.
52232         * lib/free.c: Likewise.
52233         * lib/freopen.c: Likewise.
52234         * lib/frexp.c: Likewise.
52235         * lib/frexpl.c: Likewise.
52236         * lib/fseek.c: Likewise.
52237         * lib/fseterr.c: Likewise.
52238         * lib/fseterr.h: Likewise.
52239         * lib/fstatat.c: Likewise.
52240         * lib/fstrcmp.c: Likewise.
52241         * lib/fstrcmp.h: Likewise.
52242         * lib/fsusage.c: Likewise.
52243         * lib/fsusage.h: Likewise.
52244         * lib/ftell.c: Likewise.
52245         * lib/ftello.c: Likewise.
52246         * lib/fts-cycle.c: Likewise.
52247         * lib/fts.c: Likewise.
52248         * lib/fts_.h: Likewise.
52249         * lib/full-read.c: Likewise.
52250         * lib/full-read.h: Likewise.
52251         * lib/full-write.c: Likewise.
52252         * lib/full-write.h: Likewise.
52253         * lib/fwritable.c: Likewise.
52254         * lib/fwritable.h: Likewise.
52255         * lib/fwriteerror.c: Likewise.
52256         * lib/fwriteerror.h: Likewise.
52257         * lib/fwriting.c: Likewise.
52258         * lib/fwriting.h: Likewise.
52259         * lib/gcd.c: Likewise.
52260         * lib/gcd.h: Likewise.
52261         * lib/getcwd.c: Likewise.
52262         * lib/getdate.h: Likewise.
52263         * lib/getdate.y: Likewise.
52264         * lib/getdomainname.c: Likewise.
52265         * lib/getdomainname.h: Likewise.
52266         * lib/getgroups.c: Likewise.
52267         * lib/gethostname.c: Likewise.
52268         * lib/gethrxtime.c: Likewise.
52269         * lib/gethrxtime.h: Likewise.
52270         * lib/getloadavg.c: Likewise.
52271         * lib/getndelim2.c: Likewise.
52272         * lib/getndelim2.h: Likewise.
52273         * lib/getnline.c: Likewise.
52274         * lib/getnline.h: Likewise.
52275         * lib/getopt.c: Likewise.
52276         * lib/getopt.in.h: Likewise.
52277         * lib/getopt1.c: Likewise.
52278         * lib/getopt_int.h: Likewise.
52279         * lib/getpagesize.h: Likewise.
52280         * lib/getsubopt.c: Likewise.
52281         * lib/gettime.c: Likewise.
52282         * lib/getugroups.c: Likewise.
52283         * lib/getugroups.h: Likewise.
52284         * lib/getusershell.c: Likewise.
52285         * lib/gl_anyavltree_list1.h: Likewise.
52286         * lib/gl_anyavltree_list2.h: Likewise.
52287         * lib/gl_anyhash_list1.h: Likewise.
52288         * lib/gl_anyhash_list2.h: Likewise.
52289         * lib/gl_anylinked_list1.h: Likewise.
52290         * lib/gl_anylinked_list2.h: Likewise.
52291         * lib/gl_anyrbtree_list1.h: Likewise.
52292         * lib/gl_anyrbtree_list2.h: Likewise.
52293         * lib/gl_anytree_list1.h: Likewise.
52294         * lib/gl_anytree_list2.h: Likewise.
52295         * lib/gl_anytree_oset.h: Likewise.
52296         * lib/gl_anytreehash_list1.h: Likewise.
52297         * lib/gl_anytreehash_list2.h: Likewise.
52298         * lib/gl_array_list.c: Likewise.
52299         * lib/gl_array_list.h: Likewise.
52300         * lib/gl_array_oset.c: Likewise.
52301         * lib/gl_array_oset.h: Likewise.
52302         * lib/gl_avltree_list.c: Likewise.
52303         * lib/gl_avltree_list.h: Likewise.
52304         * lib/gl_avltree_oset.c: Likewise.
52305         * lib/gl_avltree_oset.h: Likewise.
52306         * lib/gl_avltreehash_list.c: Likewise.
52307         * lib/gl_avltreehash_list.h: Likewise.
52308         * lib/gl_carray_list.c: Likewise.
52309         * lib/gl_carray_list.h: Likewise.
52310         * lib/gl_linked_list.c: Likewise.
52311         * lib/gl_linked_list.h: Likewise.
52312         * lib/gl_linkedhash_list.c: Likewise.
52313         * lib/gl_linkedhash_list.h: Likewise.
52314         * lib/gl_list.c: Likewise.
52315         * lib/gl_list.h: Likewise.
52316         * lib/gl_oset.c: Likewise.
52317         * lib/gl_oset.h: Likewise.
52318         * lib/gl_rbtree_list.c: Likewise.
52319         * lib/gl_rbtree_list.h: Likewise.
52320         * lib/gl_rbtree_oset.c: Likewise.
52321         * lib/gl_rbtree_oset.h: Likewise.
52322         * lib/gl_rbtreehash_list.c: Likewise.
52323         * lib/gl_rbtreehash_list.h: Likewise.
52324         * lib/gl_sublist.c: Likewise.
52325         * lib/gl_sublist.h: Likewise.
52326         * lib/group-member.c: Likewise.
52327         * lib/group-member.h: Likewise.
52328         * lib/hard-locale.c: Likewise.
52329         * lib/hard-locale.h: Likewise.
52330         * lib/hash-pjw.c: Likewise.
52331         * lib/hash-pjw.h: Likewise.
52332         * lib/hash-triple.c: Likewise.
52333         * lib/hash.c: Likewise.
52334         * lib/hash.h: Likewise.
52335         * lib/human.c: Likewise.
52336         * lib/human.h: Likewise.
52337         * lib/i-ring.c: Likewise.
52338         * lib/i-ring.h: Likewise.
52339         * lib/idcache.c: Likewise.
52340         * lib/imaxabs.c: Likewise.
52341         * lib/imaxdiv.c: Likewise.
52342         * lib/inet_pton.c: Likewise.
52343         * lib/inet_pton.h: Likewise.
52344         * lib/intprops.h: Likewise.
52345         * lib/inttostr.c: Likewise.
52346         * lib/inttostr.h: Likewise.
52347         * lib/inttypes.in.h: Likewise.
52348         * lib/isapipe.c: Likewise.
52349         * lib/isdir.c: Likewise.
52350         * lib/isnan.c: Likewise.
52351         * lib/isnan.h: Likewise.
52352         * lib/isnanf.c: Likewise.
52353         * lib/isnanf.h: Likewise.
52354         * lib/isnanl-nolibm.h: Likewise.
52355         * lib/isnanl.c: Likewise.
52356         * lib/isnanl.h: Likewise.
52357         * lib/javacomp.c: Likewise.
52358         * lib/javacomp.h: Likewise.
52359         * lib/javaexec.c: Likewise.
52360         * lib/javaexec.h: Likewise.
52361         * lib/javaversion.c: Likewise.
52362         * lib/javaversion.h: Likewise.
52363         * lib/javaversion.java: Likewise.
52364         * lib/lbrkprop.h: Likewise.
52365         * lib/lchmod.h: Likewise.
52366         * lib/lchown.c: Likewise.
52367         * lib/ldexpl.c: Likewise.
52368         * lib/linebreak.c: Likewise.
52369         * lib/linebreak.h: Likewise.
52370         * lib/linebuffer.c: Likewise.
52371         * lib/linebuffer.h: Likewise.
52372         * lib/locale.in.h: Likewise.
52373         * lib/logl.c: Likewise.
52374         * lib/long-options.c: Likewise.
52375         * lib/long-options.h: Likewise.
52376         * lib/lstat.c: Likewise.
52377         * lib/lstat.h: Likewise.
52378         * lib/math.in.h: Likewise.
52379         * lib/mbchar.c: Likewise.
52380         * lib/mbchar.h: Likewise.
52381         * lib/mbfile.h: Likewise.
52382         * lib/mbiter.h: Likewise.
52383         * lib/mbscasecmp.c: Likewise.
52384         * lib/mbscasestr.c: Likewise.
52385         * lib/mbschr.c: Likewise.
52386         * lib/mbscspn.c: Likewise.
52387         * lib/mbslen.c: Likewise.
52388         * lib/mbsncasecmp.c: Likewise.
52389         * lib/mbsnlen.c: Likewise.
52390         * lib/mbspbrk.c: Likewise.
52391         * lib/mbspcasecmp.c: Likewise.
52392         * lib/mbsrchr.c: Likewise.
52393         * lib/mbssep.c: Likewise.
52394         * lib/mbsspn.c: Likewise.
52395         * lib/mbsstr.c: Likewise.
52396         * lib/mbstok_r.c: Likewise.
52397         * lib/mbswidth.c: Likewise.
52398         * lib/mbswidth.h: Likewise.
52399         * lib/mbuiter.h: Likewise.
52400         * lib/memcasecmp.c: Likewise.
52401         * lib/memcasecmp.h: Likewise.
52402         * lib/memchr.c: Likewise.
52403         * lib/memcmp.c: Likewise.
52404         * lib/memcoll.c: Likewise.
52405         * lib/memcoll.h: Likewise.
52406         * lib/memcpy.c: Likewise.
52407         * lib/memrchr.c: Likewise.
52408         * lib/mkancesdirs.c: Likewise.
52409         * lib/mkdir-p.c: Likewise.
52410         * lib/mkdir-p.h: Likewise.
52411         * lib/mkdir.c: Likewise.
52412         * lib/mkdirat.c: Likewise.
52413         * lib/mkdtemp.c: Likewise.
52414         * lib/mkstemp-safer.c: Likewise.
52415         * lib/mkstemp.c: Likewise.
52416         * lib/modechange.c: Likewise.
52417         * lib/modechange.h: Likewise.
52418         * lib/mountlist.c: Likewise.
52419         * lib/mountlist.h: Likewise.
52420         * lib/mpsort.c: Likewise.
52421         * lib/nanosleep.c: Likewise.
52422         * lib/obstack.c: Likewise.
52423         * lib/obstack.h: Likewise.
52424         * lib/open-safer.c: Likewise.
52425         * lib/open.c: Likewise.
52426         * lib/openat-die.c: Likewise.
52427         * lib/openat-priv.h: Likewise.
52428         * lib/openat-proc.c: Likewise.
52429         * lib/openat.c: Likewise.
52430         * lib/openat.h: Likewise.
52431         * lib/pagealign_alloc.c: Likewise.
52432         * lib/pagealign_alloc.h: Likewise.
52433         * lib/physmem.c: Likewise.
52434         * lib/physmem.h: Likewise.
52435         * lib/pipe-safer.c: Likewise.
52436         * lib/pipe.c: Likewise.
52437         * lib/pipe.h: Likewise.
52438         * lib/posixtm.c: Likewise.
52439         * lib/posixtm.h: Likewise.
52440         * lib/posixver.c: Likewise.
52441         * lib/printf-frexp.c: Likewise.
52442         * lib/printf-frexp.h: Likewise.
52443         * lib/printf-frexpl.c: Likewise.
52444         * lib/printf-frexpl.h: Likewise.
52445         * lib/printf.c: Likewise.
52446         * lib/progname.c: Likewise.
52447         * lib/progname.h: Likewise.
52448         * lib/progreloc.c: Likewise.
52449         * lib/putenv.c: Likewise.
52450         * lib/quote.c: Likewise.
52451         * lib/quote.h: Likewise.
52452         * lib/quotearg.c: Likewise.
52453         * lib/quotearg.h: Likewise.
52454         * lib/raise.c: Likewise.
52455         * lib/readline.c: Likewise.
52456         * lib/readline.h: Likewise.
52457         * lib/readlink.c: Likewise.
52458         * lib/readtokens.c: Likewise.
52459         * lib/readtokens.h: Likewise.
52460         * lib/readtokens0.c: Likewise.
52461         * lib/readtokens0.h: Likewise.
52462         * lib/readutmp.c: Likewise.
52463         * lib/readutmp.h: Likewise.
52464         * lib/realloc.c: Likewise.
52465         * lib/relocwrapper.c: Likewise.
52466         * lib/rename-dest-slash.c: Likewise.
52467         * lib/rename.c: Likewise.
52468         * lib/rmdir.c: Likewise.
52469         * lib/rpmatch.c: Likewise.
52470         * lib/safe-read.c: Likewise.
52471         * lib/safe-read.h: Likewise.
52472         * lib/safe-write.c: Likewise.
52473         * lib/safe-write.h: Likewise.
52474         * lib/same-inode.h: Likewise.
52475         * lib/same.c: Likewise.
52476         * lib/same.h: Likewise.
52477         * lib/save-cwd.c: Likewise.
52478         * lib/save-cwd.h: Likewise.
52479         * lib/savedir.c: Likewise.
52480         * lib/savedir.h: Likewise.
52481         * lib/savewd.c: Likewise.
52482         * lib/savewd.h: Likewise.
52483         * lib/search.in.h: Likewise.
52484         * lib/setenv.c: Likewise.
52485         * lib/setenv.h: Likewise.
52486         * lib/settime.c: Likewise.
52487         * lib/sh-quote.c: Likewise.
52488         * lib/sh-quote.h: Likewise.
52489         * lib/sig2str.c: Likewise.
52490         * lib/sig2str.h: Likewise.
52491         * lib/signal.in.h: Likewise.
52492         * lib/signbitd.c: Likewise.
52493         * lib/signbitf.c: Likewise.
52494         * lib/signbitl.c: Likewise.
52495         * lib/sigprocmask.c: Likewise.
52496         * lib/sincosl.c: Likewise.
52497         * lib/sleep.c: Likewise.
52498         * lib/sprintf.c: Likewise.
52499         * lib/sqrtl.c: Likewise.
52500         * lib/stat-time.h: Likewise.
52501         * lib/stdio--.h: Likewise.
52502         * lib/stdio-safer.h: Likewise.
52503         * lib/stdlib--.h: Likewise.
52504         * lib/stdlib-safer.h: Likewise.
52505         * lib/stdlib.in.h: Likewise.
52506         * lib/stpcpy.c: Likewise.
52507         * lib/stpncpy.c: Likewise.
52508         * lib/strchrnul.c: Likewise.
52509         * lib/strcspn.c: Likewise.
52510         * lib/strerror.c: Likewise.
52511         * lib/strftime.c: Likewise.
52512         * lib/strftime.h: Likewise.
52513         * lib/striconveh.c: Likewise.
52514         * lib/striconveh.h: Likewise.
52515         * lib/striconveha.c: Likewise.
52516         * lib/striconveha.h: Likewise.
52517         * lib/stripslash.c: Likewise.
52518         * lib/strnlen1.c: Likewise.
52519         * lib/strnlen1.h: Likewise.
52520         * lib/strtod.c: Likewise.
52521         * lib/strtoimax.c: Likewise.
52522         * lib/strtok_r.c: Likewise.
52523         * lib/strtol.c: Likewise.
52524         * lib/strtoll.c: Likewise.
52525         * lib/strtoul.c: Likewise.
52526         * lib/strtoull.c: Likewise.
52527         * lib/sysexits.in.h: Likewise.
52528         * lib/tempname.c: Likewise.
52529         * lib/tempname.h: Likewise.
52530         * lib/timespec.h: Likewise.
52531         * lib/tls.c: Likewise.
52532         * lib/tls.h: Likewise.
52533         * lib/tmpdir.c: Likewise.
52534         * lib/tmpdir.h: Likewise.
52535         * lib/tmpfile-safer.c: Likewise.
52536         * lib/tmpfile.c: Likewise.
52537         * lib/trigl.c: Likewise.
52538         * lib/trigl.h: Likewise.
52539         * lib/trim.c: Likewise.
52540         * lib/trim.h: Likewise.
52541         * lib/trunc.c: Likewise.
52542         * lib/truncf.c: Likewise.
52543         * lib/truncl.c: Likewise.
52544         * lib/tsearch.c: Likewise.
52545         * lib/unicodeio.c: Likewise.
52546         * lib/unicodeio.h: Likewise.
52547         * lib/unistd--.h: Likewise.
52548         * lib/unistd-safer.h: Likewise.
52549         * lib/unistdio/ulc-fprintf.c: Likewise.
52550         * lib/unistdio/ulc-vfprintf.c: Likewise.
52551         * lib/unlinkdir.c: Likewise.
52552         * lib/unlinkdir.h: Likewise.
52553         * lib/unlocked-io.h: Likewise.
52554         * lib/unsetenv.c: Likewise.
52555         * lib/userspec.c: Likewise.
52556         * lib/utime.c: Likewise.
52557         * lib/utimecmp.c: Likewise.
52558         * lib/utimecmp.h: Likewise.
52559         * lib/utimens.c: Likewise.
52560         * lib/verify.h: Likewise.
52561         * lib/verror.c: Likewise.
52562         * lib/verror.h: Likewise.
52563         * lib/version-etc-fsf.c: Likewise.
52564         * lib/version-etc.c: Likewise.
52565         * lib/version-etc.h: Likewise.
52566         * lib/vfprintf.c: Likewise.
52567         * lib/vprintf.c: Likewise.
52568         * lib/vsprintf.c: Likewise.
52569         * lib/w32spawn.h: Likewise.
52570         * lib/wait-process.c: Likewise.
52571         * lib/wait-process.h: Likewise.
52572         * lib/wcwidth.c: Likewise.
52573         * lib/write-any-file.c: Likewise.
52574         * lib/xalloc-die.c: Likewise.
52575         * lib/xalloc.h: Likewise.
52576         * lib/xasprintf.c: Likewise.
52577         * lib/xgetcwd.c: Likewise.
52578         * lib/xgetcwd.h: Likewise.
52579         * lib/xgetdomainname.c: Likewise.
52580         * lib/xgetdomainname.h: Likewise.
52581         * lib/xgethostname.c: Likewise.
52582         * lib/xmalloc.c: Likewise.
52583         * lib/xmalloca.c: Likewise.
52584         * lib/xmalloca.h: Likewise.
52585         * lib/xmemcoll.c: Likewise.
52586         * lib/xnanosleep.c: Likewise.
52587         * lib/xreadlink.c: Likewise.
52588         * lib/xreadlink.h: Likewise.
52589         * lib/xsetenv.c: Likewise.
52590         * lib/xsetenv.h: Likewise.
52591         * lib/xstriconv.c: Likewise.
52592         * lib/xstriconv.h: Likewise.
52593         * lib/xstrndup.c: Likewise.
52594         * lib/xstrndup.h: Likewise.
52595         * lib/xstrtod.c: Likewise.
52596         * lib/xstrtod.h: Likewise.
52597         * lib/xstrtol-error.c: Likewise.
52598         * lib/xstrtol.c: Likewise.
52599         * lib/xstrtol.h: Likewise.
52600         * lib/xtime.h: Likewise.
52601         * lib/xvasprintf.c: Likewise.
52602         * lib/xvasprintf.h: Likewise.
52603         * lib/yesno.c: Likewise.
52604         * lib/yesno.h: Likewise.
52605         * posix-modules: Likewise.
52606         * tests/test-alloca-opt.c: Likewise.
52607         * tests/test-arcfour.c: Likewise.
52608         * tests/test-arctwo.c: Likewise.
52609         * tests/test-argmatch.c: Likewise.
52610         * tests/test-argp-2.sh: Likewise.
52611         * tests/test-argp.c: Likewise.
52612         * tests/test-arpa_inet.c: Likewise.
52613         * tests/test-array_list.c: Likewise.
52614         * tests/test-array_oset.c: Likewise.
52615         * tests/test-atexit.c: Likewise.
52616         * tests/test-avltree_list.c: Likewise.
52617         * tests/test-avltree_oset.c: Likewise.
52618         * tests/test-avltreehash_list.c: Likewise.
52619         * tests/test-base64.c: Likewise.
52620         * tests/test-binary-io.c: Likewise.
52621         * tests/test-byteswap.c: Likewise.
52622         * tests/test-c-ctype.c: Likewise.
52623         * tests/test-c-strcasecmp.c: Likewise.
52624         * tests/test-c-strcasestr.c: Likewise.
52625         * tests/test-c-strncasecmp.c: Likewise.
52626         * tests/test-c-strstr.c: Likewise.
52627         * tests/test-canonicalize-lgpl.c: Likewise.
52628         * tests/test-canonicalize.c: Likewise.
52629         * tests/test-carray_list.c: Likewise.
52630         * tests/test-ceilf.c: Likewise.
52631         * tests/test-ceill.c: Likewise.
52632         * tests/test-count-one-bits.c: Likewise.
52633         * tests/test-crc.c: Likewise.
52634         * tests/test-dirname.c: Likewise.
52635         * tests/test-fbufmode.c: Likewise.
52636         * tests/test-fcntl.c: Likewise.
52637         * tests/test-fflush.c: Likewise.
52638         * tests/test-floorf.c: Likewise.
52639         * tests/test-floorl.c: Likewise.
52640         * tests/test-fopen.c: Likewise.
52641         * tests/test-fprintf-posix.c: Likewise.
52642         * tests/test-fprintf-posix.h: Likewise.
52643         * tests/test-fpurge.c: Likewise.
52644         * tests/test-freadable.c: Likewise.
52645         * tests/test-freadahead.c: Likewise.
52646         * tests/test-freading.c: Likewise.
52647         * tests/test-freopen.c: Likewise.
52648         * tests/test-frexp.c: Likewise.
52649         * tests/test-frexpl.c: Likewise.
52650         * tests/test-fseek.c: Likewise.
52651         * tests/test-fseeko.c: Likewise.
52652         * tests/test-fseterr.c: Likewise.
52653         * tests/test-fstrcmp.c: Likewise.
52654         * tests/test-ftell.c: Likewise.
52655         * tests/test-ftello.c: Likewise.
52656         * tests/test-fwritable.c: Likewise.
52657         * tests/test-fwriting.c: Likewise.
52658         * tests/test-getaddrinfo.c: Likewise.
52659         * tests/test-getpass.c: Likewise.
52660         * tests/test-gettimeofday.c: Likewise.
52661         * tests/test-hmac-md5.c: Likewise.
52662         * tests/test-hmac-sha1.c: Likewise.
52663         * tests/test-iconv.c: Likewise.
52664         * tests/test-iconvme.c: Likewise.
52665         * tests/test-inttypes.c: Likewise.
52666         * tests/test-isnan.c: Likewise.
52667         * tests/test-isnanf.c: Likewise.
52668         * tests/test-isnanl-nolibm.c: Likewise.
52669         * tests/test-isnanl.c: Likewise.
52670         * tests/test-isnanl.h: Likewise.
52671         * tests/test-ldexpl.c: Likewise.
52672         * tests/test-linked_list.c: Likewise.
52673         * tests/test-linkedhash_list.c: Likewise.
52674         * tests/test-locale.c: Likewise.
52675         * tests/test-localename.c: Likewise.
52676         * tests/test-lock.c: Likewise.
52677         * tests/test-lseek.c: Likewise.
52678         * tests/test-malloca.c: Likewise.
52679         * tests/test-math.c: Likewise.
52680         * tests/test-mbscasecmp.c: Likewise.
52681         * tests/test-mbscasestr1.c: Likewise.
52682         * tests/test-mbscasestr2.c: Likewise.
52683         * tests/test-mbscasestr3.c: Likewise.
52684         * tests/test-mbscasestr4.c: Likewise.
52685         * tests/test-mbschr.c: Likewise.
52686         * tests/test-mbscspn.c: Likewise.
52687         * tests/test-mbsncasecmp.c: Likewise.
52688         * tests/test-mbspbrk.c: Likewise.
52689         * tests/test-mbspcasecmp.c: Likewise.
52690         * tests/test-mbsrchr.c: Likewise.
52691         * tests/test-mbsspn.c: Likewise.
52692         * tests/test-mbsstr1.c: Likewise.
52693         * tests/test-mbsstr2.c: Likewise.
52694         * tests/test-mbsstr3.c: Likewise.
52695         * tests/test-md5.c: Likewise.
52696         * tests/test-memmem.c: Likewise.
52697         * tests/test-netinet_in.c: Likewise.
52698         * tests/test-open.c: Likewise.
52699         * tests/test-printf-frexp.c: Likewise.
52700         * tests/test-printf-frexpl.c: Likewise.
52701         * tests/test-printf-posix.c: Likewise.
52702         * tests/test-printf-posix.h: Likewise.
52703         * tests/test-rbtree_list.c: Likewise.
52704         * tests/test-rbtree_oset.c: Likewise.
52705         * tests/test-rbtreehash_list.c: Likewise.
52706         * tests/test-read-file.c: Likewise.
52707         * tests/test-rijndael.c: Likewise.
52708         * tests/test-search.c: Likewise.
52709         * tests/test-signbit.c: Likewise.
52710         * tests/test-sleep.c: Likewise.
52711         * tests/test-snprintf-posix.c: Likewise.
52712         * tests/test-snprintf-posix.h: Likewise.
52713         * tests/test-snprintf.c: Likewise.
52714         * tests/test-sprintf-posix.c: Likewise.
52715         * tests/test-sprintf-posix.h: Likewise.
52716         * tests/test-stat-time.c: Likewise.
52717         * tests/test-stdbool.c: Likewise.
52718         * tests/test-stdint.c: Likewise.
52719         * tests/test-stdio.c: Likewise.
52720         * tests/test-stdlib.c: Likewise.
52721         * tests/test-stpncpy.c: Likewise.
52722         * tests/test-strcasestr.c: Likewise.
52723         * tests/test-striconv.c: Likewise.
52724         * tests/test-striconveh.c: Likewise.
52725         * tests/test-striconveha.c: Likewise.
52726         * tests/test-string.c: Likewise.
52727         * tests/test-sys_select.c: Likewise.
52728         * tests/test-sys_socket.c: Likewise.
52729         * tests/test-sys_stat.c: Likewise.
52730         * tests/test-sys_time.c: Likewise.
52731         * tests/test-sysexits.c: Likewise.
52732         * tests/test-time.c: Likewise.
52733         * tests/test-tls.c: Likewise.
52734         * tests/test-trunc.c: Likewise.
52735         * tests/test-truncf.c: Likewise.
52736         * tests/test-truncl.c: Likewise.
52737         * tests/test-unistd.c: Likewise.
52738         * tests/test-vasnprintf-posix.c: Likewise.
52739         * tests/test-vasnprintf-posix2.c: Likewise.
52740         * tests/test-vasnprintf.c: Likewise.
52741         * tests/test-vasprintf-posix.c: Likewise.
52742         * tests/test-vasprintf.c: Likewise.
52743         * tests/test-verify.c: Likewise.
52744         * tests/test-vfprintf-posix.c: Likewise.
52745         * tests/test-vprintf-posix.c: Likewise.
52746         * tests/test-vsnprintf-posix.c: Likewise.
52747         * tests/test-vsnprintf.c: Likewise.
52748         * tests/test-vsprintf-posix.c: Likewise.
52749         * tests/test-wchar.c: Likewise.
52750         * tests/test-wctype.c: Likewise.
52751         * tests/test-wcwidth.c: Likewise.
52752         * tests/test-xstrtol.c: Likewise.
52753         * tests/test-xvasprintf.c: Likewise.
52754         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
52755         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
52756         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
52757         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
52758         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
52759         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
52760         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
52761         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
52762         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
52763         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
52764         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
52765         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
52766         * tests/uniname/test-uninames.c: Likewise.
52767         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
52768         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
52769         * tests/unistdio/test-u16-printf1.h: Likewise.
52770         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
52771         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
52772         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
52773         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
52774         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
52775         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
52776         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
52777         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
52778         * tests/unistdio/test-u32-printf1.h: Likewise.
52779         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
52780         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
52781         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
52782         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
52783         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
52784         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
52785         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
52786         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
52787         * tests/unistdio/test-u8-printf1.h: Likewise.
52788         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
52789         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
52790         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
52791         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
52792         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
52793         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
52794         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
52795         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
52796         * tests/unistdio/test-ulc-printf1.h: Likewise.
52797         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
52798         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
52799         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
52800         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
52801         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
52802         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
52803         * tests/uniwidth/test-u16-strwidth.c: Likewise.
52804         * tests/uniwidth/test-u16-width.c: Likewise.
52805         * tests/uniwidth/test-u32-strwidth.c: Likewise.
52806         * tests/uniwidth/test-u32-width.c: Likewise.
52807         * tests/uniwidth/test-u8-strwidth.c: Likewise.
52808         * tests/uniwidth/test-u8-width.c: Likewise.
52809         * tests/uniwidth/test-uc_width.c: Likewise.
52810         * config/srclist-update: Likewise.
52811         (fixlicense): Update to GPLv3+.
52812
52813         Change copyright notice from LGPLv2.1+ to LGPLv3+.
52814         * tests/test-tsearch.c: Change copyright notice.
52815
52816         Change copyright notice from LGPLv2.0+ to LGPLv3+.
52817         * lib/c-strcaseeq.h: Change copyright notice.
52818         * lib/streq.h: Likewise.
52819         * lib/uniconv.h: Likewise.
52820         * lib/uniconv/u-conv-from-enc.h: Likewise.
52821         * lib/uniconv/u-conv-to-enc.h: Likewise.
52822         * lib/uniconv/u-strconv-from-enc.h: Likewise.
52823         * lib/uniconv/u-strconv-to-enc.h: Likewise.
52824         * lib/uniconv/u16-conv-from-enc.c: Likewise.
52825         * lib/uniconv/u16-conv-to-enc.c: Likewise.
52826         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
52827         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
52828         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
52829         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
52830         * lib/uniconv/u32-conv-from-enc.c: Likewise.
52831         * lib/uniconv/u32-conv-to-enc.c: Likewise.
52832         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
52833         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
52834         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
52835         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
52836         * lib/uniconv/u8-conv-from-enc.c: Likewise.
52837         * lib/uniconv/u8-conv-to-enc.c: Likewise.
52838         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
52839         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
52840         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
52841         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
52842         * lib/uniname.h: Likewise.
52843         * lib/uniname/uniname.c: Likewise.
52844         * lib/unistdio.h: Likewise.
52845         * lib/unistdio/u-asnprintf.h: Likewise.
52846         * lib/unistdio/u-asprintf.h: Likewise.
52847         * lib/unistdio/u-printf-args.c: Likewise.
52848         * lib/unistdio/u-printf-args.h: Likewise.
52849         * lib/unistdio/u-printf-parse.h: Likewise.
52850         * lib/unistdio/u-snprintf.h: Likewise.
52851         * lib/unistdio/u-sprintf.h: Likewise.
52852         * lib/unistdio/u-vasprintf.h: Likewise.
52853         * lib/unistdio/u-vsnprintf.h: Likewise.
52854         * lib/unistdio/u-vsprintf.h: Likewise.
52855         * lib/unistdio/u16-asnprintf.c: Likewise.
52856         * lib/unistdio/u16-asprintf.c: Likewise.
52857         * lib/unistdio/u16-printf-parse.c: Likewise.
52858         * lib/unistdio/u16-snprintf.c: Likewise.
52859         * lib/unistdio/u16-sprintf.c: Likewise.
52860         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
52861         * lib/unistdio/u16-u16-asprintf.c: Likewise.
52862         * lib/unistdio/u16-u16-snprintf.c: Likewise.
52863         * lib/unistdio/u16-u16-sprintf.c: Likewise.
52864         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
52865         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
52866         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
52867         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
52868         * lib/unistdio/u16-vasnprintf.c: Likewise.
52869         * lib/unistdio/u16-vasprintf.c: Likewise.
52870         * lib/unistdio/u16-vsnprintf.c: Likewise.
52871         * lib/unistdio/u16-vsprintf.c: Likewise.
52872         * lib/unistdio/u32-asnprintf.c: Likewise.
52873         * lib/unistdio/u32-asprintf.c: Likewise.
52874         * lib/unistdio/u32-printf-parse.c: Likewise.
52875         * lib/unistdio/u32-snprintf.c: Likewise.
52876         * lib/unistdio/u32-sprintf.c: Likewise.
52877         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
52878         * lib/unistdio/u32-u32-asprintf.c: Likewise.
52879         * lib/unistdio/u32-u32-snprintf.c: Likewise.
52880         * lib/unistdio/u32-u32-sprintf.c: Likewise.
52881         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
52882         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
52883         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
52884         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
52885         * lib/unistdio/u32-vasnprintf.c: Likewise.
52886         * lib/unistdio/u32-vasprintf.c: Likewise.
52887         * lib/unistdio/u32-vsnprintf.c: Likewise.
52888         * lib/unistdio/u32-vsprintf.c: Likewise.
52889         * lib/unistdio/u8-asnprintf.c: Likewise.
52890         * lib/unistdio/u8-asprintf.c: Likewise.
52891         * lib/unistdio/u8-printf-parse.c: Likewise.
52892         * lib/unistdio/u8-snprintf.c: Likewise.
52893         * lib/unistdio/u8-sprintf.c: Likewise.
52894         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
52895         * lib/unistdio/u8-u8-asprintf.c: Likewise.
52896         * lib/unistdio/u8-u8-snprintf.c: Likewise.
52897         * lib/unistdio/u8-u8-sprintf.c: Likewise.
52898         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
52899         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
52900         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
52901         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
52902         * lib/unistdio/u8-vasnprintf.c: Likewise.
52903         * lib/unistdio/u8-vasprintf.c: Likewise.
52904         * lib/unistdio/u8-vsnprintf.c: Likewise.
52905         * lib/unistdio/u8-vsprintf.c: Likewise.
52906         * lib/unistdio/ulc-asnprintf.c: Likewise.
52907         * lib/unistdio/ulc-asprintf.c: Likewise.
52908         * lib/unistdio/ulc-printf-parse.c: Likewise.
52909         * lib/unistdio/ulc-snprintf.c: Likewise.
52910         * lib/unistdio/ulc-sprintf.c: Likewise.
52911         * lib/unistdio/ulc-vasnprintf.c: Likewise.
52912         * lib/unistdio/ulc-vasprintf.c: Likewise.
52913         * lib/unistdio/ulc-vsnprintf.c: Likewise.
52914         * lib/unistdio/ulc-vsprintf.c: Likewise.
52915         * lib/unistr.h: Likewise.
52916         * lib/unistr/u-cpy-alloc.h: Likewise.
52917         * lib/unistr/u-cpy.h: Likewise.
52918         * lib/unistr/u-endswith.h: Likewise.
52919         * lib/unistr/u-move.h: Likewise.
52920         * lib/unistr/u-set.h: Likewise.
52921         * lib/unistr/u-startswith.h: Likewise.
52922         * lib/unistr/u-stpcpy.h: Likewise.
52923         * lib/unistr/u-stpncpy.h: Likewise.
52924         * lib/unistr/u-strcat.h: Likewise.
52925         * lib/unistr/u-strcpy.h: Likewise.
52926         * lib/unistr/u-strcspn.h: Likewise.
52927         * lib/unistr/u-strdup.h: Likewise.
52928         * lib/unistr/u-strlen.h: Likewise.
52929         * lib/unistr/u-strncat.h: Likewise.
52930         * lib/unistr/u-strncpy.h: Likewise.
52931         * lib/unistr/u-strnlen.h: Likewise.
52932         * lib/unistr/u-strpbrk.h: Likewise.
52933         * lib/unistr/u-strspn.h: Likewise.
52934         * lib/unistr/u-strstr.h: Likewise.
52935         * lib/unistr/u-strtok.h: Likewise.
52936         * lib/unistr/u16-check.c: Likewise.
52937         * lib/unistr/u16-chr.c: Likewise.
52938         * lib/unistr/u16-cmp.c: Likewise.
52939         * lib/unistr/u16-cpy-alloc.c: Likewise.
52940         * lib/unistr/u16-cpy.c: Likewise.
52941         * lib/unistr/u16-endswith.c: Likewise.
52942         * lib/unistr/u16-mblen.c: Likewise.
52943         * lib/unistr/u16-mbsnlen.c: Likewise.
52944         * lib/unistr/u16-mbtouc-aux.c: Likewise.
52945         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
52946         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
52947         * lib/unistr/u16-mbtouc.c: Likewise.
52948         * lib/unistr/u16-mbtoucr.c: Likewise.
52949         * lib/unistr/u16-move.c: Likewise.
52950         * lib/unistr/u16-next.c: Likewise.
52951         * lib/unistr/u16-prev.c: Likewise.
52952         * lib/unistr/u16-set.c: Likewise.
52953         * lib/unistr/u16-startswith.c: Likewise.
52954         * lib/unistr/u16-stpcpy.c: Likewise.
52955         * lib/unistr/u16-stpncpy.c: Likewise.
52956         * lib/unistr/u16-strcat.c: Likewise.
52957         * lib/unistr/u16-strchr.c: Likewise.
52958         * lib/unistr/u16-strcmp.c: Likewise.
52959         * lib/unistr/u16-strcpy.c: Likewise.
52960         * lib/unistr/u16-strcspn.c: Likewise.
52961         * lib/unistr/u16-strdup.c: Likewise.
52962         * lib/unistr/u16-strlen.c: Likewise.
52963         * lib/unistr/u16-strmblen.c: Likewise.
52964         * lib/unistr/u16-strmbtouc.c: Likewise.
52965         * lib/unistr/u16-strncat.c: Likewise.
52966         * lib/unistr/u16-strncmp.c: Likewise.
52967         * lib/unistr/u16-strncpy.c: Likewise.
52968         * lib/unistr/u16-strnlen.c: Likewise.
52969         * lib/unistr/u16-strpbrk.c: Likewise.
52970         * lib/unistr/u16-strrchr.c: Likewise.
52971         * lib/unistr/u16-strspn.c: Likewise.
52972         * lib/unistr/u16-strstr.c: Likewise.
52973         * lib/unistr/u16-strtok.c: Likewise.
52974         * lib/unistr/u16-to-u32.c: Likewise.
52975         * lib/unistr/u16-to-u8.c: Likewise.
52976         * lib/unistr/u16-uctomb-aux.c: Likewise.
52977         * lib/unistr/u16-uctomb.c: Likewise.
52978         * lib/unistr/u32-check.c: Likewise.
52979         * lib/unistr/u32-chr.c: Likewise.
52980         * lib/unistr/u32-cmp.c: Likewise.
52981         * lib/unistr/u32-cpy-alloc.c: Likewise.
52982         * lib/unistr/u32-cpy.c: Likewise.
52983         * lib/unistr/u32-endswith.c: Likewise.
52984         * lib/unistr/u32-mblen.c: Likewise.
52985         * lib/unistr/u32-mbsnlen.c: Likewise.
52986         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
52987         * lib/unistr/u32-mbtouc.c: Likewise.
52988         * lib/unistr/u32-mbtoucr.c: Likewise.
52989         * lib/unistr/u32-move.c: Likewise.
52990         * lib/unistr/u32-next.c: Likewise.
52991         * lib/unistr/u32-prev.c: Likewise.
52992         * lib/unistr/u32-set.c: Likewise.
52993         * lib/unistr/u32-startswith.c: Likewise.
52994         * lib/unistr/u32-stpcpy.c: Likewise.
52995         * lib/unistr/u32-stpncpy.c: Likewise.
52996         * lib/unistr/u32-strcat.c: Likewise.
52997         * lib/unistr/u32-strchr.c: Likewise.
52998         * lib/unistr/u32-strcmp.c: Likewise.
52999         * lib/unistr/u32-strcpy.c: Likewise.
53000         * lib/unistr/u32-strcspn.c: Likewise.
53001         * lib/unistr/u32-strdup.c: Likewise.
53002         * lib/unistr/u32-strlen.c: Likewise.
53003         * lib/unistr/u32-strmblen.c: Likewise.
53004         * lib/unistr/u32-strmbtouc.c: Likewise.
53005         * lib/unistr/u32-strncat.c: Likewise.
53006         * lib/unistr/u32-strncmp.c: Likewise.
53007         * lib/unistr/u32-strncpy.c: Likewise.
53008         * lib/unistr/u32-strnlen.c: Likewise.
53009         * lib/unistr/u32-strpbrk.c: Likewise.
53010         * lib/unistr/u32-strrchr.c: Likewise.
53011         * lib/unistr/u32-strspn.c: Likewise.
53012         * lib/unistr/u32-strstr.c: Likewise.
53013         * lib/unistr/u32-strtok.c: Likewise.
53014         * lib/unistr/u32-to-u16.c: Likewise.
53015         * lib/unistr/u32-to-u8.c: Likewise.
53016         * lib/unistr/u32-uctomb.c: Likewise.
53017         * lib/unistr/u8-check.c: Likewise.
53018         * lib/unistr/u8-chr.c: Likewise.
53019         * lib/unistr/u8-cmp.c: Likewise.
53020         * lib/unistr/u8-cpy-alloc.c: Likewise.
53021         * lib/unistr/u8-cpy.c: Likewise.
53022         * lib/unistr/u8-endswith.c: Likewise.
53023         * lib/unistr/u8-mblen.c: Likewise.
53024         * lib/unistr/u8-mbsnlen.c: Likewise.
53025         * lib/unistr/u8-mbtouc-aux.c: Likewise.
53026         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
53027         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
53028         * lib/unistr/u8-mbtouc.c: Likewise.
53029         * lib/unistr/u8-mbtoucr.c: Likewise.
53030         * lib/unistr/u8-move.c: Likewise.
53031         * lib/unistr/u8-next.c: Likewise.
53032         * lib/unistr/u8-prev.c: Likewise.
53033         * lib/unistr/u8-set.c: Likewise.
53034         * lib/unistr/u8-startswith.c: Likewise.
53035         * lib/unistr/u8-stpcpy.c: Likewise.
53036         * lib/unistr/u8-stpncpy.c: Likewise.
53037         * lib/unistr/u8-strcat.c: Likewise.
53038         * lib/unistr/u8-strchr.c: Likewise.
53039         * lib/unistr/u8-strcmp.c: Likewise.
53040         * lib/unistr/u8-strcpy.c: Likewise.
53041         * lib/unistr/u8-strcspn.c: Likewise.
53042         * lib/unistr/u8-strdup.c: Likewise.
53043         * lib/unistr/u8-strlen.c: Likewise.
53044         * lib/unistr/u8-strmblen.c: Likewise.
53045         * lib/unistr/u8-strmbtouc.c: Likewise.
53046         * lib/unistr/u8-strncat.c: Likewise.
53047         * lib/unistr/u8-strncmp.c: Likewise.
53048         * lib/unistr/u8-strncpy.c: Likewise.
53049         * lib/unistr/u8-strnlen.c: Likewise.
53050         * lib/unistr/u8-strpbrk.c: Likewise.
53051         * lib/unistr/u8-strrchr.c: Likewise.
53052         * lib/unistr/u8-strspn.c: Likewise.
53053         * lib/unistr/u8-strstr.c: Likewise.
53054         * lib/unistr/u8-strtok.c: Likewise.
53055         * lib/unistr/u8-to-u16.c: Likewise.
53056         * lib/unistr/u8-to-u32.c: Likewise.
53057         * lib/unistr/u8-uctomb-aux.c: Likewise.
53058         * lib/unistr/u8-uctomb.c: Likewise.
53059         * lib/unitypes.h: Likewise.
53060         * lib/uniwidth.h: Likewise.
53061         * lib/uniwidth/cjk.h: Likewise.
53062         * lib/uniwidth/u16-strwidth.c: Likewise.
53063         * lib/uniwidth/u16-width.c: Likewise.
53064         * lib/uniwidth/u32-strwidth.c: Likewise.
53065         * lib/uniwidth/u32-width.c: Likewise.
53066         * lib/uniwidth/u8-strwidth.c: Likewise.
53067         * lib/uniwidth/u8-width.c: Likewise.
53068         * lib/uniwidth/width.c: Likewise.
53069
53070 2007-10-07  Bruno Haible  <bruno@clisp.org>
53071
53072         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
53073         The file is still under LGPL (see modules/inttypes).
53074
53075 2007-10-06  Bruno Haible  <bruno@clisp.org>
53076
53077         * modules/trunc (Dependencies): Add 'extensions'.
53078         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
53079         Reported by Ben Pfaff <blp@gnu.org>.
53080
53081 2007-10-06  Bruno Haible  <bruno@clisp.org>
53082
53083         * modules/freopen-tests: New file.
53084         * tests/test-freopen.c: New file.
53085
53086         * modules/fopen-tests: New file.
53087         * tests/test-fopen.c: New file.
53088
53089         * modules/fopen: New file.
53090         * lib/fopen.c: New file.
53091         * m4/fopen.m4: New file.
53092         * modules/freopen: New file.
53093         * lib/freopen.c: New file.
53094         * m4/freopen.m4: New file.
53095         * lib/stdio.in.h (fopen, freopen): New declarations.
53096         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
53097         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
53098         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
53099         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
53100         * doc/functions/fopen.texi: Mention the 'fopen' module.
53101         * doc/functions/freopen.texi: Mention the 'freopen' module.
53102
53103 2007-10-06  Bruno Haible  <bruno@clisp.org>
53104
53105         * modules/open-tests: New file.
53106         * tests/test-open.c: New file.
53107
53108         * modules/open: New file.
53109         * lib/open.c: New file.
53110         * m4/open.m4: New file.
53111         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
53112         lib/open.c does.
53113         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
53114         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
53115         macros.
53116         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
53117         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
53118         REPLACE_OPEN.
53119         * doc/functions/open.texi: Mention the 'open' module.
53120
53121 2007-10-04  Bruno Haible  <bruno@clisp.org>
53122
53123         * modules/ceill-tests: New file.
53124         * tests/test-ceill.c: New file.
53125
53126         * modules/ceill: New file.
53127         * lib/ceill.c: Replace entire file.
53128         * m4/ceill.m4: New file.
53129         * lib/math.in.h (ceill): Replace declaration.
53130         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
53131         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
53132         * doc/functions/ceill.texi: Mention the 'ceill' module.
53133         * modules/mathl (Files): Remove lib/ceill.c.
53134         (Depends-on): Add ceill.
53135
53136 2007-10-04  Bruno Haible  <bruno@clisp.org>
53137
53138         * modules/ceilf-tests: New file.
53139         * tests/test-ceilf.c: New file.
53140
53141         * modules/ceilf: New file.
53142         * lib/ceil.c: New file.
53143         * lib/ceilf.c: New file.
53144         * m4/ceilf.m4: New file.
53145         * lib/math.in.h (ceilf): New declaration.
53146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
53147         HAVE_DECL_CEILF.
53148         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
53149         HAVE_DECL_CEILF.
53150         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
53151
53152 2007-10-04  Bruno Haible  <bruno@clisp.org>
53153
53154         * modules/floorl-tests: New file.
53155         * tests/test-floorl.c: New file.
53156
53157         * modules/floorl: New file.
53158         * lib/floorl.c: Replace entire file.
53159         * m4/floorl.m4: New file.
53160         * lib/math.in.h (floorl): Replace declaration.
53161         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
53162         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
53163         * doc/functions/floorl.texi: Mention the 'floorl' module.
53164         * modules/mathl (Files): Remove lib/floorl.c.
53165         (Depends-on): Add floorl.
53166
53167 2007-10-04  Bruno Haible  <bruno@clisp.org>
53168
53169         * modules/floorf-tests: New file.
53170         * tests/test-floorf.c: New file.
53171
53172         * modules/floorf: New file.
53173         * lib/floor.c: New file.
53174         * lib/floorf.c: New file.
53175         * m4/floorf.m4: New file.
53176         * lib/math.in.h (floorf): New declaration.
53177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
53178         HAVE_DECL_FLOORF.
53179         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
53180         HAVE_DECL_FLOORF.
53181         * doc/functions/floorf.texi: Mention the 'floorf' module.
53182
53183 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
53184             Bruno Haible  <bruno@clisp.org>
53185
53186         Advertise for the Git server instead of the CVS server.
53187         * doc/gnulib-intro.texi (Steady Development): Mention the Git
53188         repository instead of the CVS one.
53189         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
53190         about all VCS systems generically.
53191         * doc/gnulib.texi (Introduction): Capitalize `Git'.
53192
53193 2007-10-04  Bruno Haible  <bruno@clisp.org>
53194
53195         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
53196         means.
53197         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
53198
53199 2007-10-04  Bruno Haible  <bruno@clisp.org>
53200
53201         * modules/truncl-tests: New file.
53202         * tests/test-truncl.c: New file.
53203
53204         * modules/truncl: New file.
53205         * lib/truncl.c: New file.
53206         * m4/truncl.m4: New file.
53207         * lib/math.in.h (truncl): New declaration.
53208         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
53209         HAVE_DECL_TRUNCL.
53210         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
53211         HAVE_DECL_TRUNCL.
53212         * doc/functions/truncl.texi: Mention the 'truncl' module.
53213
53214 2007-10-04  Bruno Haible  <bruno@clisp.org>
53215
53216         * modules/truncf-tests: New file.
53217         * tests/test-truncf.c: New file.
53218
53219         * modules/truncf: New file.
53220         * lib/trunc.c: Make paramerizable through USE_* macros.
53221         * lib/truncf.c: New file.
53222         * m4/truncf.m4: New file.
53223         * lib/math.in.h (truncf): New declaration.
53224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
53225         HAVE_DECL_TRUNCF.
53226         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
53227         HAVE_DECL_TRUNCF.
53228         * doc/functions/truncf.texi: Mention the 'truncf' module.
53229
53230 2007-10-03  Bruno Haible  <bruno@clisp.org>
53231
53232         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
53233         augmentation also for tests modules.
53234         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
53235         * modules/atexit-tests (Makefile.am): Likewise.
53236         * modules/binary-io-tests (Makefile.am): Likewise.
53237         * modules/c-strcase-tests (Makefile.am): Likewise.
53238         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
53239         * modules/canonicalize-tests (Makefile.am): Likewise.
53240         * modules/closein-tests (Makefile.am): Likewise.
53241         * modules/fprintf-posix-tests (Makefile.am): Likewise.
53242         * modules/freadahead-tests (Makefile.am): Likewise.
53243         * modules/fseek-tests (Makefile.am): Likewise.
53244         * modules/fseeko-tests (Makefile.am): Likewise.
53245         * modules/ftell-tests (Makefile.am): Likewise.
53246         * modules/ftello-tests (Makefile.am): Likewise.
53247         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
53248         * modules/isnanl-tests (Makefile.am): Likewise.
53249         * modules/lseek-tests (Makefile.am): Likewise.
53250         * modules/mbscasecmp-tests (Makefile.am): Likewise.
53251         * modules/mbscasestr-tests (Makefile.am): Likewise.
53252         * modules/mbschr-tests (Makefile.am): Likewise.
53253         * modules/mbscspn-tests (Makefile.am): Likewise.
53254         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
53255         * modules/mbspbrk-tests (Makefile.am): Likewise.
53256         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
53257         * modules/mbsrchr-tests (Makefile.am): Likewise.
53258         * modules/mbsspn-tests (Makefile.am): Likewise.
53259         * modules/mbsstr-tests (Makefile.am): Likewise.
53260         * modules/printf-posix-tests (Makefile.am): Likewise.
53261         * modules/snprintf-posix-tests (Makefile.am): Likewise.
53262         * modules/sprintf-posix-tests (Makefile.am): Likewise.
53263         * modules/tsearch-tests (Makefile.am): Likewise.
53264         * modules/uniname/uniname-tests (Makefile.am): Likewise.
53265         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
53266         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
53267         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
53268         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
53269         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
53270         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
53271         * modules/vprintf-posix-tests (Makefile.am): Likewise.
53272         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
53273         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
53274         * modules/xstrtoimax-tests (Makefile.am): Likewise.
53275         * modules/xstrtol-tests (Makefile.am): Likewise.
53276         * modules/xstrtoumax-tests (Makefile.am): Likewise.
53277         * modules/yesno-tests (Makefile.am): Likewise.
53278
53279 2007-10-03  Bruno Haible  <bruno@clisp.org>
53280
53281         * modules/trunc-tests: New file.
53282         * tests/test-trunc.c: New file.
53283
53284         * modules/trunc: New file.
53285         * lib/trunc.c: New file.
53286         * m4/trunc.m4: New file.
53287         * lib/math.in.h (trunc): New declaration.
53288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
53289         HAVE_DECL_TRUNC.
53290         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
53291         HAVE_DECL_TRUNC.
53292         * doc/functions/trunc.texi: Mention the 'trunc' module.
53293
53294 2007-10-03  Bruno Haible  <bruno@clisp.org>
53295
53296         * tests/test-fpending.c: New file, mostly copied
53297         from coreutils/lib/t-fpending.c.
53298         * modules/fpending-tests: New file.
53299
53300 2007-10-03  Bruno Haible  <bruno@clisp.org>
53301
53302         Port the stdio extensions to QNX (untested).
53303         * lib/fseterr.c (fseterr): Add support for QNX.
53304         * lib/fbufmode.c (fbufmode): Likewise.
53305         * lib/freadable.c (freadable): Likewise.
53306         * lib/fwritable.c (fwritable): Likewise.
53307         * lib/freading.c (freading): Likewise.
53308         * lib/fwriting.c (fwriting): Likewise.
53309         * lib/freadahead.c (freadahed): Likewise.
53310         * lib/fpurge.c (fpurge): Likewise.
53311         * lib/fseeko.c (rpl_fseeko): Likewise.
53312
53313 2007-10-03  Bruno Haible  <bruno@clisp.org>
53314             Jim Meyering  <jim@meyering.net>
53315             Eric Blake  <ebb9@byu.net>
53316
53317         * doc/relocatable.texi: Use @command instead of @program.
53318
53319 2007-10-02  Jim Meyering  <jim@meyering.net>
53320
53321         Perform one more "_.h" -> ".in.h" substitution.
53322         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
53323         instead of unistd_.h here, too.
53324
53325 2007-10-01  Bruno Haible  <bruno@clisp.org>
53326
53327         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
53328         Needed for the alloca-opt module.
53329
53330 2007-09-30  Bruno Haible  <bruno@clisp.org>
53331
53332         * lib/alloca.in.h: Renamed from lib/alloca_.h.
53333         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
53334         alloca_.h.
53335         * lib/argz.in.h: Renamed from lib/argz_.h.
53336         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
53337         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
53338         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
53339         byteswap_.h.
53340         * lib/dirent.in.h: Renamed from lib/dirent_.h.
53341         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
53342         dirent_.h.
53343         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
53344         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
53345         fcntl_.h.
53346         * lib/float.in.h: Renamed from lib/float_.h.
53347         * modules/float (Files, Makefile.am): Use float.in.h instead of
53348         float_.h.
53349         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
53350         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
53351         fnmatch_.h.
53352         * lib/getopt.in.h: Renamed from lib/getopt_.h.
53353         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
53354         getopt_.h.
53355         * lib/glob.in.h: Renamed from lib/glob_.h.
53356         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
53357         * lib/iconv.in.h: Renamed from lib/iconv_.h.
53358         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
53359         iconv_.h.
53360         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
53361         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
53362         inttypes_.h.
53363         * lib/locale.in.h: Renamed from lib/locale_.h.
53364         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
53365         locale_.h.
53366         * lib/math.in.h: Renamed from lib/math_.h.
53367         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
53368         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
53369         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
53370         of netinet_in_.h. Add dependency.
53371         * lib/poll.in.h: Renamed from lib/poll_.h.
53372         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
53373         * lib/search.in.h: Renamed from lib/search_.h.
53374         * modules/search (Files, Makefile.am): Use search.in.h instead of
53375         search_.h.
53376         * lib/signal.in.h: Renamed from lib/signal_.h.
53377         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
53378         _signal.h.
53379         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
53380         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
53381         stdbool_.h.
53382         * lib/stdint.in.h: Renamed from lib/stdint_.h.
53383         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
53384         stdint_.h.
53385         * lib/stdio.in.h: Renamed from lib/stdio_.h.
53386         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
53387         stdio_.h.
53388         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
53389         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
53390         stdlib_.h.
53391         * lib/string.in.h: Renamed from lib/string_.h.
53392         * modules/string (Files, Makefile.am): Use string.in.h instead of
53393         string_.h.
53394         * doc/gnulib-tool.texi (Initial import): Update.
53395         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
53396         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
53397         of sys_select_.h. Add dependency.
53398         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
53399         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
53400         of sys_socket_.h.
53401         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
53402         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
53403         sys_stat_.h.
53404         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
53405         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
53406         sys_time_.h.
53407         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
53408         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
53409         sysexits_.h.
53410         * lib/time.in.h: Renamed from lib/time_.h.
53411         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
53412         * lib/unistd.in.h: Renamed from lib/unistd_.h.
53413         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
53414         unistd_.h.
53415         * lib/wchar.in.h: Renamed from lib/wchar_.h.
53416         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
53417         wchar_.h.
53418         * lib/wctype.in.h: Renamed from lib/wctype_.h.
53419         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
53420         wctype_.h.
53421         * build-aux/bootstrap (slurp): Update.
53422         * lib/.cppi-disable: Update.
53423
53424 2007-09-30  Bruno Haible  <bruno@clisp.org>
53425
53426         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
53427         Needed on BeOS.
53428
53429 2007-09-30  Bruno Haible  <bruno@clisp.org>
53430
53431         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
53432
53433 2007-09-29  Bruno Haible  <bruno@clisp.org>
53434
53435         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
53436
53437 2007-09-29  Bruno Haible  <bruno@clisp.org>
53438
53439         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
53440         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
53441         * build-aux/install-reloc: Compile also areadlink.c.
53442         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
53443
53444 2007-09-29  Bruno Haible  <bruno@clisp.org>
53445
53446         * gnulib-tool (func_emit_initmacro_done): Indentation.
53447
53448 2007-09-29  Bruno Haible  <bruno@clisp.org>
53449
53450         * README: Add CVS checkout update instructions.
53451         Info from Bob Proulx <bob@proulx.com>.
53452
53453 2007-09-28  Eric Blake  <ebb9@byu.net>
53454
53455         Provide move-if-change.
53456         * build-aux/move-if-change: New file, based on best practice
53457         rather than any canonical upstream location.
53458
53459 2007-09-28  Jim Meyering  <jim@meyering.net>
53460
53461         Fix canonicalize loop-detection corner case.
53462         Do not attempt to stat the symlink values stored via seen_triple.
53463         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
53464         on linux-2.6.18, (but not 2.6.22).
53465         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
53466         triple_compare.  The former compares dev,ino,filename, while the latter
53467         would actually stat dirname(filename) when dev and ino were equal.
53468         * lib/hash-triple.c: Install <string.h>.
53469         (STREQ): Define.
53470         (triple_compare_ino_str): New function.
53471         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
53472
53473 2007-09-28  Eric Blake  <ebb9@byu.net>
53474
53475         Enforce that AC_REPLACE_FUNCS files exist.
53476         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
53477         override check for typos.
53478
53479         Fix test-closein on Solaris 10.
53480         * tests/test-closein.c (main): Don't assume stdin can be inherited
53481         closed on all systems.
53482         * tests/test-closein.sh: Likewise.
53483         Reported by Piotr Tarnowski.
53484
53485 2007-09-28  Jim Meyering  <jim@meyering.net>
53486
53487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
53488
53489 2007-09-27  Jim Meyering  <jim@meyering.net>
53490
53491         canonicalize: Avoid a false-positive cycle failure.
53492         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
53493         Sort.  Remove cycle-check.
53494         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
53495         not cycle-check.h.
53496         (seen_triple): New function.
53497         (canonicalize_filename_mode): Use it instead of cycle-check.
53498         * tests/test-canonicalize.c: Add a test for this bug.
53499         * tests/test-canonicalize.sh: Set up and run the test.
53500
53501         New module, file-set, from coreutils.
53502         * modules/file-set: Define it.
53503         * lib/file-set.c, lib/file-set.h: Implement.
53504
53505         New module, hash-triple, from coreutils.
53506         * modules/hash-triple: Define it.
53507         * lib/hash-triple.c, lib/hash-triple.h: Implement.
53508
53509 2007-09-25  Eric Blake  <ebb9@byu.net>
53510
53511         Fix strerror on Interix.
53512         * lib/string_.h (strerror): Declare replacement.
53513         * doc/functions/strerror.texi (strerror): Document the Interix
53514         shortcoming.
53515         * modules/string (Makefile.am): Support new hooks.
53516         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
53517         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
53518         gl_FUNC_STRERROR_SEPARATE.
53519         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
53520         * lib/strerror.c (rpl_strerror): Provide replacement.
53521         * modules/strerror (Depends-on): Add string.
53522         (configure.ac): Detect use of module.
53523         * tests/test-strerror.c: New file.
53524         * modules/strerror-tests: New test module.
53525         * modules/argp (Depends-on): Add strerror.
53526         * modules/error (Depends-on): Likewise.
53527         Reported by Martin Koeppe.
53528
53529 2007-09-24  Bruno Haible  <bruno@clisp.org>
53530
53531         * README: Update git instructions.
53532
53533 2007-09-24  Eric Blake  <ebb9@byu.net>
53534
53535         Revert fpending breakage from 2007-09-08.
53536         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
53537         __fpending.c.
53538
53539 2007-09-24  Jim Meyering  <jim@meyering.net>
53540
53541         filenamecat.c: Add a test.
53542         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
53543         showing how the function works when DIR is the empty string.
53544
53545 2007-09-21  Simon Josefsson  <simon@josefsson.org>
53546
53547         * tests/test-canonicalize.sh: Turn on executable bit.
53548
53549 2007-09-19  Eric Blake  <ebb9@byu.net>
53550
53551         * README: Update CVS instructions.
53552
53553 2007-09-18  Bruno Haible  <bruno@clisp.org>
53554
53555         * modules/areadlink: New file.
53556         * lib/areadlink.h (areadlink): New declaration.
53557         * lib/areadlink.c: New file, based on lib/xreadlink.c.
53558
53559 2007-09-17  Jim Meyering  <jim@meyering.net>
53560
53561         * lib/savewd.c (ESTALE) [!defined]: Define.
53562         Reported to be required on Interix by Martin Koeppe.
53563
53564 2007-09-17  Bruno Haible  <bruno@clisp.org>
53565
53566         * gnulib-tool (func_version): Use $version.
53567
53568 2007-09-16  Bruno Haible  <bruno@clisp.org>
53569
53570         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
53571         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
53572         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
53573         Reported by Greg Schafer <gschafer@zip.com.au>.
53574
53575 2007-09-15  Bruno Haible  <bruno@clisp.org>
53576
53577         * gnulib-tool (sed): Try a little harder to make bash understand the
53578         alias.
53579         Reported by Bruce Korb <bruce.korb@gmail.com>.
53580
53581 2007-09-13  Eric Blake  <ebb9@byu.net>
53582
53583         * ChangeLog: Remove conflict markers.
53584
53585 2007-09-13  Simon Josefsson  <simon@josefsson.org>
53586
53587         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
53588         Reported by Bruno Haible <bruno@clisp.org>.
53589
53590 2007-09-12  Bruno Haible  <bruno@clisp.org>
53591
53592         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
53593         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
53594         is not defined.
53595
53596 2007-09-12  Eric Blake  <ebb9@byu.net>
53597
53598         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
53599         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
53600         Autoconf definition.
53601         * modules/euidaccess (Depends-on): Add extensions, for
53602         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
53603         * modules/fnmatch (Depends-on): Likewise.
53604         * modules/getaddrinfo (Depends-on): Likewise.
53605         * modules/getdelim (Depends-on): Likewise.
53606         * modules/getline (Depends-on): Likewise.
53607         * modules/getsubopt (Depends-on): Likewise.
53608         * modules/gettext (Depends-on): Likewise.
53609         * modules/group-member (Depends-on): Likewise.
53610         * modules/mbchar (Depends-on): Likewise.
53611         * modules/memmem (Depends-on): Likewise.
53612         * modules/mempcpy (Depends-on): Likewise.
53613         * modules/memrchr (Depends-on): Likewise.
53614         * modules/pagealign_alloc (Depends-on): Likewise.
53615         * modules/readutmp (Depends-on): Likewise.
53616         * modules/stpcpy (Depends-on): Likewise.
53617         * modules/stpncpy (Depends-on): Likewise.
53618         * modules/strchrnul (Depends-on): Likewise.
53619         * modules/strndup (Depends-on): Likewise.
53620         * modules/strsep (Depends-on): Likewise.
53621         * modules/strverscmp (Depends-on): Likewise.
53622         * modules/vasprintf (Depends-on): Likewise.
53623         * modules/wcwidth (Depends-on): Likewise.
53624         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
53625         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
53626         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
53627         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
53628         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
53629         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
53630         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
53631         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
53632         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
53633         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
53634         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53635         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
53636         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
53637         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
53638         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
53639         * m4/readutmp.m4 (gl_READUTMP): Likewise.
53640         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
53641         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
53642         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53643         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
53644         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53645         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
53646         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
53647         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
53648         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
53649         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53650         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
53651         so that lock.m4 can be used in gettext without extensions module.
53652
53653 2007-09-11  Bruno Haible  <bruno@clisp.org>
53654
53655         * m4/isc-posix.m4: Remove file.
53656         Suggested by Eric Blake.
53657
53658 2007-09-11  Eric Blake  <ebb9@byu.net>
53659
53660         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
53661
53662 2007-09-10  Bruno Haible  <bruno@clisp.org>
53663
53664         * posix-modules: Fix typo in error message.
53665         Reported by Matt <mkraai@beckman.com>.
53666
53667 2007-09-09  Bruno Haible  <bruno@clisp.org>
53668
53669         * doc/functions/getdelim.texi: Update list of platforms lacking the
53670         function.
53671         * doc/functions/getline.texi: Likewise.
53672
53673 2007-09-09  Jim Meyering  <jim@meyering.net>
53674
53675         * lib/hash.c (hash_initialize): Detect calloc failure.
53676         Reported by Bruno Haible.
53677
53678 2007-09-09  Bruno Haible  <bruno@clisp.org>
53679
53680         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
53681         malloc or realloc fails.
53682
53683 2007-09-09  Bruno Haible  <bruno@clisp.org>
53684
53685         * modules/getcwd (Depends-on): Add malloc-posix.
53686         * modules/glob (Depends-on): Likewise.
53687         * modules/putenv (Depends-on): Likewise.
53688         * modules/strdup (Depends-on): Likewise.
53689         * modules/getdelim (Depends-on): Add realloc-posix.
53690         * modules/read-file (Depends-on): Likewise.
53691
53692 2007-09-09  Bruno Haible  <bruno@clisp.org>
53693
53694         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
53695         (gl_FUNC_MALLOC_POSIX): Require it.
53696         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
53697         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
53698         * modules/realloc (Files): Add m4/malloc.m4.
53699         * modules/calloc (Files): Likewise.
53700
53701 2007-09-09  Bruno Haible  <bruno@clisp.org>
53702
53703         * modules/malloc-posix: New file.
53704         * modules/malloc (Depends-on): Add malloc-posix.
53705         * lib/malloc.c: Include errno.h.
53706         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
53707         and a POSIX-compatible malloc into a single function. Set ENOMEM
53708         when returning NULL.
53709         * m4/malloc.m4: New file.
53710         * doc/functions/malloc.texi: Mention the malloc-posix module.
53711         * lib/stdlib_.h (malloc): New declaration.
53712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
53713         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
53714         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
53715         and HAVE_MALLOC_POSIX.
53716
53717 2007-09-09  Bruno Haible  <bruno@clisp.org>
53718
53719         * modules/realloc-posix: New file.
53720         * modules/realloc (Depends-on): Add realloc-posix.
53721         * lib/realloc.c: Include errno.h.
53722         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
53723         and a POSIX-compatible realloc into a single function. Set ENOMEM
53724         when returning NULL.
53725         * m4/realloc.m4: New file.
53726         * doc/functions/realloc.texi: Mention the realloc-posix module.
53727         * lib/stdlib_.h (realloc): New declaration.
53728         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
53729         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
53730         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
53731         and HAVE_REALLOC_POSIX.
53732
53733 2007-09-09  Bruno Haible  <bruno@clisp.org>
53734
53735         * modules/calloc-posix: New file.
53736         * modules/calloc (Depends-on): Add calloc-posix.
53737         * lib/calloc.c: Include errno.h.
53738         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
53739         and a POSIX-compatible calloc into a single function. Set ENOMEM
53740         when returning NULL.
53741         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
53742         * doc/functions/calloc.texi: Mention the calloc-posix module.
53743         * lib/stdlib_.h (calloc): New declaration.
53744         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
53745         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
53746         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
53747         and HAVE_CALLOC_POSIX.
53748
53749 2007-09-09  Bruno Haible  <bruno@clisp.org>
53750
53751         Allow for modules to show an arbitrary notice.
53752         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
53753         * gnulib-tool: New option --extract-notice.
53754         (func_usage): Document it.
53755         (sed_extract_prog): Update.
53756         (func_get_notice): New function.
53757         (func_modules_notice): New function.
53758         (func_import, func_create_testdir): Invoke it.
53759         Suggested by Jim Meyering.
53760
53761 2007-09-09  Bruno Haible  <bruno@clisp.org>
53762
53763         * gnulib-tool: New options --verbose, --quiet.
53764         (func_usage): Document them.
53765         (verbose): New variable.
53766         (func_execute_command): New function.
53767         (func_import): Don't show the module list and the file list if
53768         $verbose < 0.
53769         (func_create_testdir): Likewise. Use func_execute_command.
53770         (func_create_megatestdir): Use func_execute_command.
53771
53772 2007-09-08  Bruno Haible  <bruno@clisp.org>
53773
53774         * gnulib-tool (func_import): Prefer rsync over wget when available,
53775         for fetching the PO files.
53776
53777 2007-09-08  Bruno Haible  <bruno@clisp.org>
53778
53779         * posix-modules: New file. Portions copied from gnulib-tool.
53780         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
53781
53782 2007-09-08  Jim Meyering  <jim@meyering.net>
53783
53784         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
53785         * lib/fpending.h: Rename from __fpending.h.
53786         * lib/fpending.c: Rename from __fpending.c.
53787         Include "fpending.h", not "__fpending.h".
53788         * lib/__fpending.h, lib/__fpending.c: Remove files.
53789         * modules/fpending (Files): Reflect new file names.
53790         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
53791
53792 2007-09-08  Bruno Haible  <bruno@clisp.org>
53793
53794         * m4/inttypes-h.m4: Remove stub file.
53795
53796 2007-09-07  Simon Josefsson  <simon@josefsson.org>
53797
53798         * doc/headers/stdint.texi: Discuss #include_next issue.
53799
53800 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53801
53802         * build-aux/bootstrap: Remove obsolete comment about wget --help.
53803
53804 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53805
53806         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
53807         in variable name.
53808
53809 2007-09-03  Jim Meyering  <jim@meyering.net>
53810
53811         New module: git-version-gen.
53812         * modules/git-version-gen: New file.
53813
53814         Import changes from coreutils for bootstrap script.
53815
53816         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
53817
53818         bootstrap: uses rsync to download the .po files
53819         * build-aux/bootstrap (po_download_command_format): New global.
53820         (download_po_files): Use rsync.
53821         (update_po_files): Don't remove .po files after download,
53822         so future rsync runs can take advantage of the copies.
53823
53824         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
53825
53826         Solve the unnecessary-.po-file-regeneration problem once and for all.
53827         * build-aux/bootstrap (download_po_files): New function, renamed from
53828         get_translations.  Now, downloads, but doesn't update LINGUAS.
53829         (update_po_files): New function.
53830
53831         bootstrap: Ignore more.
53832         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
53833         uniwidth to e.g., lib/.gitignore.
53834         (slurp): Handle the sys_stat_.h -> sys mapping, too.
53835
53836         * build-aux/bootstrap: New setting: vc_ignore.
53837         (insert_sorted_if_absent): Create $file if absent.
53838         Adapt to new, possibly empty, list: $vc_ignore.
53839
53840         bootstrap: generate more ignorable names
53841         * build-aux/bootstrap (slurp): When generating ignorable names,
53842         also map .sin to .sed, .gperf to .c, and .y to .c.
53843
53844 2007-09-03  Jim Meyering  <jim@meyering.net>
53845
53846         * build-aux/git-version-gen: New file, from coreutils.  For details, see
53847         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
53848
53849 2007-09-02  Bruno Haible  <bruno@clisp.org>
53850
53851         Fix mis-recognition of 'mcs' on QNX 6.
53852         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
53853         output contains the string "Mono".
53854         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
53855         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
53856
53857 2007-09-01  Bruno Haible  <bruno@clisp.org>
53858
53859         Fix collision between uniwidth/* and linebreak modules.
53860         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
53861         u32_width): Remove declarations.
53862         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
53863         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
53864         streq3, streq2, streq1, streq0): Remove functions.
53865         (STREQ): Remove macro.
53866         (is_cjk_encoding): Remove function.
53867         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
53868         (uc_width, u8_width, u16_width, u32_width): Remove functions.
53869         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
53870         * NEWS: Document the change.
53871
53872 2007-09-01  Bruno Haible  <bruno@clisp.org>
53873
53874         * lib/streq.h: Add double-inclusion guard.
53875
53876 2007-09-01  Karl Berry  <karl@gnu.org>
53877
53878         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
53879
53880 2007-08-28  Jim Meyering  <jim@meyering.net>
53881
53882         Rename mreadlink_with_size to areadlink_with_size.
53883         * NEWS: Document the change.
53884         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
53885         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
53886         * lib/mreadlink.h: Rename this to...
53887         * lib/areadlink.h: ...this.
53888         * modules/mreadlink-with-size: Rename this to...
53889         * modules/areadlink-with-size: ...this.
53890         * lib/canonicalize.c: Reflect the renaming.
53891         * modules/canonicalize: Likewise.
53892
53893 2007-08-26  Bruno Haible  <bruno@clisp.org>
53894
53895         * gnulib-tool (func_import): When deciding which files to remove,
53896         consider also dangling symbolic links.
53897         Reported by Eric Blake.
53898
53899 2007-08-26  Bruno Haible  <bruno@clisp.org>
53900
53901         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
53902
53903 2007-08-23  Simon Josefsson  <simon@josefsson.org>
53904
53905         * lib/readline.c: Don't include getline.h, the prototype is now
53906         found in stdio.h.
53907
53908 2007-08-23  Jim Meyering  <jim@meyering.net>
53909
53910         Getdelim touchup.
53911         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
53912         around the funlockfile call, since funlockfile never sets errno.
53913         Don't set errno upon failed realloc.
53914
53915 2007-08-22  Eric Blake  <ebb9@byu.net>
53916
53917         Getline touchups.
53918         * lib/getdelim.c (getdelim): Revert regression that required *n to
53919         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
53920         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
53921         getdelim, rather than whether implementation is missing.
53922         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
53923         * lib/stdio_.h (getline): Also declare if replacement is
53924         required.
53925         * doc/functions/getdelim.texi: New file.
53926         * doc/functions/getline.texi: Likewise.
53927         * doc/gnulib.texi (Function Substitutes): Add new files.
53928         Reported by Bruno Haible.
53929
53930 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
53931
53932         * users.txt: Add Guile.
53933
53934 2007-08-22  Eric Blake  <ebb9@byu.net>
53935
53936         * tests/test-getdelim.c (main): Use remove, not unlink.
53937         * tests/test-getline.c (main): Likewise.
53938
53939         Move getline and getdelim into stdio.h, per POSIX 200x.
53940         * modules/getline (Files): Remove getline.h.
53941         (Depends-on): Add stdio.
53942         (configure.ac): Add module indicator.
53943         * modules/getdelim (Files): Remove getdelim.h.
53944         (Depends-on): Add stdio.
53945         (configure.ac): Add module indicator.
53946         * modules/stdio (Makefile.am): Work with new indicators.
53947         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
53948         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
53949         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
53950         * lib/getdelim.h: Delete.
53951         * lib/getline.h: Delete.
53952         * lib/stdio_.h (getdelim, getline): Declare.
53953         * modules/getdelim-tests: New module.
53954         * modules/getline-tests: Likewise.
53955         * tests/test-getdelim.c: New file.
53956         * tests/test-getline.c: Likewise.
53957         * NEWS: Document the change.
53958         * lib/getline.c: Update choice of header.
53959         * lib/csharpcomp.c: Likewise.
53960         * lib/getpass.c: Likewise.
53961         * lib/javacomp.c: Likewise.
53962         * lib/javaversion.c: Likewise.
53963         * lib/yesno.c: Likewise.
53964         * lib/getdelim.c: Likewise.
53965         (getdelim): Set errno on failure, and avoid memory leak.
53966
53967 2007-08-19  Bruno Haible  <bruno@clisp.org>
53968
53969         * modules/closein (Depends-on): Add freadahead.
53970         * lib/closein.c: Include freadahead.h.
53971         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
53972         is zero.
53973
53974 2007-08-19  Bruno Haible  <bruno@clisp.org>
53975
53976         * modules/freadahead-tests: New file.
53977         * tests/test-freadahead.sh: New file.
53978         * tests/test-freadahead.c: New file.
53979
53980         * modules/freadahead: New file.
53981         * lib/freadahead.h: New file.
53982         * lib/freadahead.c: New file.
53983         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
53984         fbufmode, fpurge, freadable, fwritable.
53985
53986 2007-08-19  Eric Blake  <ebb9@byu.net>
53987
53988         Test yesno in combination with closein.
53989         * lib/yesno.c (yesno): Document use of stdin.
53990         * modules/yesno-tests (Files): New module.
53991         * tests/test-yesno.c (main): New file.
53992         * tests/test-yesno.sh: Likewise.
53993
53994 2007-08-19  Bruno Haible  <bruno@clisp.org>
53995
53996         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
53997         * lib/fseeko.c (rpl_fseeko): Likewise.
53998         * lib/fseterr.c (fseterr): Likewise.
53999
54000 2007-08-19  Bruno Haible  <bruno@clisp.org>
54001
54002         * tests/test-lseek.c (main): Disable a test for BeOS.
54003         * doc/functions/lseek.texi: Document the BeOS bug.
54004
54005 2007-08-19  Bruno Haible  <bruno@clisp.org>
54006             Eric Blake  <ebb9@byu.net>
54007
54008         * lib/lseek.c: Include <sys/stat.h>.
54009         (rpl_lseek): Add workaround code also for Unix platforms.
54010         Needed for BeOS.
54011         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
54012         * doc/functions/lseek.texi: Document BeOS definiency.
54013
54014 2007-08-18  Bruno Haible  <bruno@clisp.org>
54015
54016         * modules/fstrcmp-tests: New file.
54017         * tests/test-fstrcmp.c: New file.
54018
54019 2007-08-18  Bruno Haible  <bruno@clisp.org>
54020
54021         * modules/fstrcmp: New file, from GNU gettext with modifications.
54022         * lib/fstrcmp.h: New file, from GNU gettext.
54023         * lib/fstrcmp.c: New file, from GNU gettext.
54024         * MODULES.html.sh (String handling): Add fstrcmp.
54025
54026 2007-08-18  Bruno Haible  <bruno@clisp.org>
54027
54028         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
54029         'bool'.
54030         (diag, compareseq): Remove const from the ctxt argument.
54031         (USE_HEURISTIC): Undefine at the end.
54032
54033 2007-08-18  Jim Meyering  <jim@meyering.net>
54034
54035         New file: lib/idcache.h
54036         * NEWS: Mention the addition.
54037         * modules/idcache (Files): Add lib/idcache.h
54038         * lib/idcache.c: Include "idcache.h".
54039         Don't include <sys/types.h>.
54040         Add a FIXME comment.
54041         Move file-scoped "static" declarations to the top.
54042         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
54043
54044 2007-08-17  Bruno Haible  <bruno@clisp.org>
54045         and Paul Eggert  <eggert@cs.ucla.edu>
54046
54047         * MODULES.html.sh: Add diffseq.
54048         * modules/diffseq: New file.
54049         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
54050         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
54051
54052 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54053
54054         Import changes from coreutils for bootstrap script.
54055
54056         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
54057
54058         * build-aux/bootstrap (slurp): Work even in environments where
54059         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
54060         current code does not slurp files whose names start with ".", and
54061         this looks like it might be a troublesome area.
54062
54063         2007-07-11  Jim Meyering  <jim@meyering.net>
54064
54065         If there's a GPL vN copyright comment, require that N == 3.
54066
54067         2007-07-08  Jim Meyering  <jim@meyering.net>
54068
54069         Run the coreutils-specific code only if tests/Makefile.am.in exists.
54070         * build-aux/bootstrap (mam_template): Move definition out of loop.
54071
54072         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
54073
54074         * build-aux/bootstrap (symlink_to_dir): Rename function from
54075         symlink_to_gnulib.  Add a directory parameter.  Update all
54076         callers.
54077         (cp_mark_as_generated): Also check for -- and link to -- files in
54078         gl/.
54079
54080         2007-07-08  Jim Meyering  <jim@meyering.net>
54081
54082         Adapt to deeper hierarchy in gnulib.
54083         * build-aux/bootstrap (symlink_to_dir): If the destination
54084         directory doesn't exist, create it. This is required at least for
54085         "lib/uniwidth/cjk.h".
54086
54087         2007-05-15  Jim Meyering  <jim@meyering.net>
54088
54089         * build-aux/bootstrap: Now that generated Makefile.am files
54090         are no longer under version control, they must be created at
54091         bootstrap time.
54092
54093 2007-08-14  Ben Pfaff  <blp@gnu.org>
54094
54095         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
54096
54097 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
54098
54099         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
54100         given the changes below.
54101         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
54102         even on hosts that have padding bits beyond the supported 64.
54103
54104 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
54105
54106         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
54107         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
54108         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
54109         depends on it.
54110         (xstrtol_error): Remove.
54111         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
54112         but with a different signature.
54113         (ATTRIBUTE_NORETURN, __attribute__): New macros.
54114         * lib/xstrtol-error.c: Include exitfail.h.
54115         (xstrtol_fatal): New function, with a different signature from the
54116         old xstrtol_error, so that the caller need not worry about passing
54117         in an exit status, or about storage management of the option argument.
54118         (xstrtol_error): Now a static function.  Redo signature to
54119         implement xstrtol_fatal.  Output the correct number of hyphens in
54120         front of the option so that the caller need not worry about
54121         storage management.
54122         (N_): New macro.
54123         (_): Remove; not used now.
54124         * modules/xstrtol: Depend on getopt.
54125         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
54126         of old STRTOL_FATAL_ERROR macro.
54127         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
54128         of test program.
54129         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
54130         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
54131
54132 2007-08-08  Eric Blake  <ebb9@byu.net>
54133
54134         * lib/xstrtol-error.c: Add missing include.
54135
54136         Move xstrtol messages into gnulib domain, when --pobase is used.
54137         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
54138         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
54139         * modules/xstrtol (Files): Distribute new file.
54140         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
54141         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
54142         * tests/test-xstrtol.c: ...into new file.
54143         * tests/test-xstrtoul.c: Also test xstrtoul.
54144         * tests/test-xstrtoimax.c: Also test xstrtoimax.
54145         * tests/test-xstrtoumax.c: Also test xstrtoumax.
54146         * tests/test-xstrtol.sh: Drive the tests.
54147         * tests/test-xstrtoimax.sh: Likewise.
54148         * tests/test-xstrtoumax.sh: Likewise.
54149         * modules/xstrtol-tests: New module.
54150         * modules/xstrtoimax-tests: Likewise.
54151         * modules/xstrtoumax-tests: Likewise.
54152
54153 2007-08-08  Jim Meyering  <jim@meyering.net>
54154
54155         New function: mfile_name_concat.
54156         * lib/filenamecat.c (mfile_name_concat): New function, just like
54157         file_name_concat, but return NULL upon failure rather than exiting
54158         with a diagnostic.
54159         * lib/filenamecat.h: Declare it.
54160
54161 2007-08-07  Bruno Haible  <bruno@clisp.org>
54162
54163         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
54164         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
54165         warning from gcc.
54166         Reported by Eric Blake.
54167
54168 2007-08-07  Simon Josefsson  <simon@josefsson.org>
54169
54170         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
54171         * modules/crypto/arcfour (License): Likewise.
54172         * modules/crypto/des-tests (License): Likewise.
54173         * modules/crypto/gc-arctwo-tests (License): Likewise.
54174         * modules/crypto/gc-des-tests (License): Likewise.
54175         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
54176         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
54177         * modules/crypto/gc-md2-tests (License): Likewise.
54178         * modules/crypto/gc-md4-tests (License): Likewise.
54179         * modules/crypto/gc-md5-tests (License): Likewise.
54180         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
54181         * modules/crypto/gc-rijndael-tests (License): Likewise.
54182         * modules/crypto/gc-sha1-tests (License): Likewise.
54183         * modules/crypto/gc-tests (License): Likewise.
54184         * modules/crypto/hmac-md5 (License): Likewise.
54185         * modules/crypto/hmac-sha1 (License): Likewise.
54186         * modules/crypto/md2-tests (License): Likewise.
54187         * modules/crypto/md4-tests (License): Likewise.
54188         * modules/crypto/md5 (License): Likewise.
54189         * modules/crypto/rijndael (License): Likewise.
54190         * modules/crypto/sha1 (License): Likewise.
54191         * modules/memxor (License): Likewise.
54192
54193 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
54194         and Bruno Haible  <bruno@clisp.org>
54195
54196         * NEWS: Describe interface changes to human, xstrtol.
54197         * lib/human.h: Include <xstrtol.h>.
54198         (human_options): Return enum strtol_error, not int.  Remove
54199         bool arg; take int * instead.
54200         * lib/human.c: Don't include "gettext.h".
54201         (_): Remove; no longer used.
54202         Don't include <xstrtol.h>, since human.h does it.
54203         (human_options): Adjust to abovementioned interface changes.
54204         Do not report error to stderr; that's now the caller's
54205         responsibility.
54206         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
54207         interface change.
54208         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
54209         Str, Argument_type_string.  All uses changed.  Put " argument"
54210         in diagnostics to make them clearer.  Change wording of suffix
54211         message for clarity.
54212         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
54213         Argument_type_string.
54214         (STRTOL_FATAL_WARN): Remove; no longer used.
54215         * modules/human (Depends-on): Remove gettext-h.
54216
54217 2007-08-06  Simon Josefsson  <simon@josefsson.org>
54218
54219         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
54220
54221 2007-07-31  Bruno Haible  <bruno@clisp.org>
54222
54223         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
54224         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
54225         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
54226
54227 2007-07-31  Bruno Haible  <bruno@clisp.org>
54228
54229         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
54230         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
54231
54232 2007-07-30  Bruno Haible  <bruno@clisp.org>
54233
54234         * modules/base64 (License): Use the synonymous term "LGPLv2+".
54235         * modules/c-ctype (License): Likewise.
54236         * modules/c-strcase (License): Likewise.
54237         * modules/check-version (License): Likewise.
54238         * modules/iconv (License): Likewise.
54239         * modules/iconv_open (License): Likewise.
54240         * modules/read-file (License): Likewise.
54241         * modules/striconv (License): Likewise.
54242         * modules/strverscmp (License): Likewise.
54243         * modules/vasprintf (License): Likewise.
54244         * modules/crypto/des (License): Likewise.
54245         * modules/crypto/gc (License): Likewise.
54246         * modules/crypto/gc-arcfour (License): Likewise.
54247         * modules/crypto/gc-arctwo (License): Likewise.
54248         * modules/crypto/gc-des (License): Likewise.
54249         * modules/crypto/gc-hmac-md5 (License): Likewise.
54250         * modules/crypto/gc-hmac-sha1 (License): Likewise.
54251         * modules/crypto/gc-md2 (License): Likewise.
54252         * modules/crypto/gc-md4 (License): Likewise.
54253         * modules/crypto/gc-md5 (License): Likewise.
54254         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
54255         * modules/crypto/gc-random (License): Likewise.
54256         * modules/crypto/gc-rijndael (License): Likewise.
54257         * modules/crypto/gc-sha1 (License): Likewise.
54258         * modules/crypto/md2 (License): Likewise.
54259         * modules/crypto/md4 (License): Likewise.
54260
54261 2007-07-30  Jim Meyering  <jim@meyering.net>
54262
54263         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
54264         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
54265         it has valid stat data.  This bug would cause du not to count the
54266         sizes of inaccessible directories.
54267         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
54268         in <http://bugzilla.redhat.com/250077>.
54269
54270 2007-07-25  Peter O'Gorman  <peter@pogma.com>
54271             Bruno Haible  <bruno@clisp.org>
54272
54273         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
54274         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
54275         #include_next, gives a diagnostic about it, but reports no error in
54276         the exit code.
54277         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54278
54279 2007-07-24  Ben Pfaff  <blp@gnu.org>
54280
54281         Improve name: "count-one-bits" is better than "popcount".
54282         * MODULES.html.sh: Update name.
54283         * lib/popcount.h: Renamed lib/count-one-bits.h.
54284         (popcount): Renamed count_one_bits.
54285         (popcountl): Renamed count_one_bits_l.
54286         (popcountll): Renamed count_one_bits_ll.
54287         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
54288         * modules/popcount: Renamed module/count-one-bits.
54289         * modules/popcount-tests: Renamed module/count-one-bits-tests.
54290         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
54291
54292 2007-07-23  Ben Pfaff  <blp@gnu.org>
54293
54294         * lib/popcount.h (popcount32): Reduce size of constants, to allow
54295         better code generation, and add U to large constants to avoid
54296         warnings, in non-GCC case.
54297         Suggested by Bruno Haible.
54298
54299 2007-07-23  Ben Pfaff  <blp@gnu.org>
54300
54301         * lib/popcount.h: Use verify_true instead of if...abort.
54302         * modules/popcount: Depend on verify module.
54303         Suggested by Jim Meyering.
54304
54305 2007-07-23  Bruno Haible  <bruno@clisp.org>
54306
54307         * gnulib-tool (func_import): Create a .cvsignore file also when the
54308         directory is not yet in CVS but the toplevel directory is. When
54309         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
54310         Reported by Karl Berry.
54311
54312 2007-07-22  Ben Pfaff  <blp@gnu.org>
54313
54314         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
54315         case.
54316         Suggested by Eric Blake.
54317
54318 2007-07-22  Ben Pfaff  <blp@gnu.org>
54319
54320         New module: popcount.
54321         * MODULES.html.sh: Add popcount.
54322         * modules/popcount: New file.
54323         * modules/popcount-tests: New file.
54324         * tests/test-popcount.c: New file.
54325         * lib/popcount.h: New file.
54326         * m4/popcount.m4: New file.
54327
54328 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
54329
54330         * build-aux/announce-gen: Update to GPLv3.
54331
54332         * build-aux/config.guess: Update from config.
54333
54334 2007-07-21  Bruno Haible  <bruno@clisp.org>
54335
54336         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
54337         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
54338
54339 2007-07-20  Jim Meyering  <jim@meyering.net>
54340
54341         * check-module: Diagnose a self-dependency.
54342
54343 2007-07-19  Bruno Haible  <bruno@clisp.org>
54344
54345         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
54346         empty.
54347         Reported by Eric Blake.
54348
54349 2007-07-18  Bruno Haible  <bruno@clisp.org>
54350
54351         * gnulib-tool: New options --po-base, --po-domain.
54352         (func_usage): Document them.
54353         (pobase, po_domain): New variables.
54354         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
54355         DEFAULT_TEXT_DOMAIN.
54356         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
54357         (func_import): Consider pobase and po_domain. Create a po/ directory.
54358         (func_create_testdir): Set pobase and po_domain to empty.
54359         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
54360         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
54361
54362 2007-07-18  Bruno Haible  <bruno@clisp.org>
54363
54364         * gnulib-tool (func_get_automake_snippet): Synthesize also an
54365         EXTRA_DIST augmentation for files in build-aux/.
54366
54367 2007-07-16  Bruno Haible  <bruno@clisp.org>
54368
54369         * modules/lseek (License): Use the synonymous term "LGPLv2+".
54370         * modules/getdelim (License): Likewise.
54371
54372 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54373
54374         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
54375         * modules/d-type (License): Likewise.
54376         * modules/extensions (License): Likewise.
54377         * modules/fnmatch (License): Likewise.
54378         * modules/fseeko (License): Likewise.
54379         * modules/getaddrinfo (License): Likewise.
54380         * modules/getline (License): Likewise.
54381         * modules/getlogin_r (License): Likewise.
54382         * modules/getpass (License): Likewise.
54383         * modules/gettimeofday (License): Likewise.
54384         * modules/glob (License): Likewise.
54385         * modules/inet_ntop (License): Likewise.
54386         * modules/malloc (License): Likewise.
54387         * modules/malloca (License): Likewise.
54388         * modules/memmem (License): Likewise.
54389         * modules/mempcpy (License): Likewise.
54390         * modules/memset (License): Likewise.
54391         * modules/minmax (License): Likewise.
54392         * modules/mktime (License): Likewise.
54393         * modules/netinet_in (License): Likewise.
54394         * modules/pathmax (License): Likewise.
54395         * modules/poll (License): Likewise.
54396         * modules/regex (License): Likewise.
54397         * modules/snprintf (License): Likewise.
54398         * modules/stdbool (License): Likewise.
54399         * modules/stdint (License): Likewise.
54400         * modules/stdio (License): Likewise.
54401         * modules/strcase (License): Likewise.
54402         * modules/strcasestr (License): Likewise.
54403         * modules/strdup (License): Likewise.
54404         * modules/string (License): Likewise.
54405         * modules/strndup (License): Likewise.
54406         * modules/strnlen (License): Likewise.
54407         * modules/strpbrk (License): Likewise.
54408         * modules/strptime (License): Likewise.
54409         * modules/strsep (License): Likewise.
54410         * modules/sys_select (License): Likewise.
54411         * modules/sys_socket (License): Likewise.
54412         * modules/sys_stat (License): Likewise.
54413         * modules/sys_time (License): Likewise.
54414         * modules/time (License): Likewise.
54415         * modules/time_r (License): Likewise.
54416         * modules/timegm (License): Likewise.
54417         * modules/unistd (License): Likewise.
54418         * modules/vsnprintf (License): Likewise.
54419         * modules/wctype (License): Likewise.
54420
54421 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54422
54423         * modules/argz (License): LGPLv2+.
54424
54425 2007-07-15  Karl Berry  <karl@gnu.org>
54426
54427         * doc/gnulib.texi: revise node structure per new fdl.texi.
54428
54429 2007-07-14  Bruno Haible  <bruno@clisp.org>
54430
54431         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
54432         the output file.
54433         * lib/uniname/uninames.h: Regenerated.
54434
54435 2007-07-14  Karl Berry  <karl@gnu.org>
54436
54437         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
54438         omitting sectioning and index commands.
54439
54440 2007-07-13  Bruno Haible  <bruno@clisp.org>
54441
54442         New gnulib-tool option --more-symlinks.
54443         * gnulib-tool (func_usage): Document --more-symlinks.
54444         (do_copyrights): New variable.
54445         Recognize option --more-symlinks.
54446         (func_import): Don't add a copyright notice transform to
54447         sed_transform_lib_file if do_copyrights is empty.
54448
54449 2007-07-13  Bruno Haible  <bruno@clisp.org>
54450
54451         * lib/vasnprintf.c (decimal_point_char): Define also if
54452         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
54453         && !NEED_PRINTF_DIRECTIVE_A.
54454         Reported by Clemens Koller <clemens.koller@anagramm.de> via
54455         Gary V. Vaughan <gary@gnu.org>.
54456
54457 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
54458
54459         * lib/inttypes_.h: Undo previous change, since it was fixed
54460         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
54461
54462 2007-07-13  Bruno Haible  <bruno@clisp.org>
54463
54464         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
54465         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
54466
54467 2007-07-13  Jim Meyering  <jim@meyering.net>
54468
54469         df: Don't fail for Tru64's "file-on-file mount".
54470         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
54471         so we fall through and use statfs instead.  Details here:
54472         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
54473         Reported by Albert Chin.
54474
54475 2007-07-13  Bruno Haible  <bruno@clisp.org>
54476
54477         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
54478         * modules/configmake (License): Likewise.
54479         * modules/gettext (License): Likewise.
54480         * modules/gettext-h (License): Likewise.
54481         * modules/include_next (License): Likewise.
54482         * modules/link-warning (License): Likewise.
54483         * modules/localcharset (License): Likewise.
54484         * modules/localename (License): Likewise.
54485         * modules/lock (License): Likewise.
54486         * modules/relocatable-lib-lgpl (License): Likewise.
54487         * modules/size_max (License): Likewise.
54488         * modules/vasnprintf (License): Likewise.
54489         * modules/wchar (License): Likewise.
54490         * modules/xsize (License): Likewise.
54491
54492 2007-07-13  Bruno Haible  <bruno@clisp.org>
54493
54494         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
54495         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
54496
54497 2007-07-12  Bruno Haible  <bruno@clisp.org>
54498
54499         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
54500         in the modules files.
54501
54502 2007-07-11  Karl Berry  <karl@gnu.org>
54503
54504         * MODULES.html.sh (func_module): use
54505          sed -e '\|^'"${includefile}"'$|d'
54506          instead of /.../d, to avoid errors on $includefile's containing /.
54507
54508 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54509
54510         * gnulib-tool (func_import): Avoid duplication of --avoid
54511         statements
54512         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
54513         names to `_' in variable names.
54514
54515 2007-07-10  Eric Blake  <ebb9@byu.net>
54516
54517         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
54518         * NEWS: Document this change.
54519
54520 2007-07-08  Bruno Haible  <bruno@clisp.org>
54521
54522         Update to Unicode 5.0.
54523         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
54524         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
54525         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
54526         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
54527         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
54528         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
54529         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
54530         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
54531         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
54532         U+10A3F, U+1D242..U+1D244.
54533         (nonspacing_table_ind): Update.
54534         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
54535         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
54536
54537 2007-07-08  Bruno Haible  <bruno@clisp.org>
54538
54539         Update to Unicode 5.0.
54540         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
54541         code transform. Extend the name index field of unicode_name_to_code and
54542         unicode_code_to_name from 16 to 24 bits.
54543         * lib/uniname/uniname.c (unicode_character_name,
54544         unicode_name_character): Add the range 0x12xxx to the code transform.
54545         * lib/uniname/uninames.h: Regenerated.
54546         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
54547
54548 2007-07-07  Bruno Haible  <bruno@clisp.org>
54549
54550         * modules/wcwidth-tests: New file.
54551         * tests/test-wcwidth.c: New file.
54552
54553         Work around MacOS X wcwidth() bug.
54554         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
54555         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
54556         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
54557         original wcwidth in non-UTF-8 locales.
54558         * modules/wcwidth (Depends-on): Add localcharset, streq,
54559         uniwidth/width.
54560         * doc/functions/wcwidth.texi: Update.
54561
54562 2007-07-07  Bruno Haible  <bruno@clisp.org>
54563
54564         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
54565         (wcwidth): New declaration.
54566         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
54567         macros.
54568         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
54569         here. Prepare for creating <wchar.h> unconditionally.
54570         * modules/wchar (Depends-on): Add link-warning.
54571         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
54572         REPLACE_WCWIDTH, and GL_LINK_WARNING.
54573         * lib/wcwidth.h: Remove file.
54574         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
54575         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
54576         * modules/wcwidth (Files): Remove lib/wcwidth.h.
54577         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
54578         (Include): Replace wcwidth.h with <wchar.h>.
54579         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
54580         * lib/mbchar.h: Don't include wcwidth.h.
54581         * lib/mbswidth.c: Likewise.
54582         * NEWS: Mention the change.
54583
54584 2007-07-07  Bruno Haible  <bruno@clisp.org>
54585
54586         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
54587         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
54588         definition with an external declaration.
54589         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
54590         defined as a function. Remove AC_C_INLINE requirement.
54591         * modules/wcwidth (Files): Add lib/wcwidth.c.
54592         (Makefile.am): Remove redundant statement.
54593
54594 2007-07-07  Bruno Haible  <bruno@clisp.org>
54595
54596         * MODULES.html.sh (Unicode string functions): Add the new modules.
54597
54598         * tests/uniwidth/test-u32-strwidth.c: New file.
54599         * modules/uniwidth/u32-strwidth-tests: New file.
54600
54601         * lib/uniwidth/u32-strwidth.c: New file.
54602         * modules/uniwidth/u32-strwidth: New file.
54603
54604         * tests/uniwidth/test-u16-strwidth.c: New file.
54605         * modules/uniwidth/u16-strwidth-tests: New file.
54606
54607         * lib/uniwidth/u16-strwidth.c: New file.
54608         * modules/uniwidth/u16-strwidth: New file.
54609
54610         * tests/uniwidth/test-u8-strwidth.c: New file.
54611         * modules/uniwidth/u8-strwidth-tests: New file.
54612
54613         * lib/uniwidth/u8-strwidth.c: New file.
54614         * modules/uniwidth/u8-strwidth: New file.
54615
54616         * tests/uniwidth/test-u32-width.c: New file.
54617         * modules/uniwidth/u32-width-tests: New file.
54618
54619         * lib/uniwidth/u32-width.c: New file.
54620         * modules/uniwidth/u32-width: New file.
54621
54622         * tests/uniwidth/test-u16-width.c: New file.
54623         * modules/uniwidth/u16-width-tests: New file.
54624
54625         * lib/uniwidth/u16-width.c: New file.
54626         * modules/uniwidth/u16-width: New file.
54627
54628         * tests/uniwidth/test-u8-width.c: New file.
54629         * modules/uniwidth/u8-width-tests: New file.
54630
54631         * lib/uniwidth/u8-width.c: New file.
54632         * modules/uniwidth/u8-width: New file.
54633
54634         * tests/uniwidth/test-uc_width.c: New file.
54635         * modules/uniwidth/width-tests: New file.
54636
54637         * lib/uniwidth/width.c: New file, from GNU libiconv.
54638         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
54639         * modules/uniwidth/width: New file.
54640
54641         * lib/uniwidth.h: New file, from GNU libiconv.
54642         * modules/uniwidth/base: New file.
54643
54644 2007-07-07  Bruno Haible  <bruno@clisp.org>
54645
54646         * lib/uniname.h: New file, from GNU gettext.
54647         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
54648         * lib/uniname/uninames.h: New file, from GNU gettext.
54649         * lib/uniname/uniname.c: New file, from GNU gettext.
54650         * tests/uniname/test-uninames.sh: New file.
54651         * tests/uniname/test-uninames.c: New file, from GNU gettext.
54652         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
54653         * modules/uniname/base: New file.
54654         * modules/uniname/uniname: New file.
54655         * modules/uniname/uniname-tests: New file.
54656         * MODULES.html.sh (Unicode string functions): Add the new modules.
54657
54658 2007-07-06  Bruno Haible  <bruno@clisp.org>
54659
54660         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
54661
54662 2007-07-06  Bruno Haible  <bruno@clisp.org>
54663
54664         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
54665         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
54666         includes <cygwin/sys_time.h> which includes <sys/select.h> which
54667         include <sys/time.h>.
54668         Reported by Eric Blake.
54669
54670 2007-07-06  Eric Blake  <ebb9@byu.net>
54671
54672         Fix testing canonicalize on cygwin.
54673         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
54674         Revert patch from 2007-06-19.
54675         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
54676         canonicalize module is also in use.
54677         * tests/test-canonicalize.c: New file.
54678         * tests/test-canonicalize.sh: Likewise.
54679         * modules/canonicalize-tests: Likewise.
54680
54681 2007-07-06  Jim Meyering  <jim@meyering.net>
54682
54683         * lib/getugroups.c (getugroups): Detect getgrent failure.
54684         Adjust comment to reflect reality: this function may return -1.
54685
54686 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
54687
54688         * build-aux/bootstrap (TP_URL,get_translations): Update to use
54689         the new TP address.
54690         (usage): Fix typo
54691         (gnulib_mk): New variable.
54692
54693 2007-07-05  Jim Meyering  <jim@meyering.net>
54694
54695         Don't let endgrent clobber errno, no matter how improbable.
54696         * lib/getugroups.c (getugroups): Save and restore errno around
54697         endgrent call.
54698
54699         Close the group DB even when failing with 2^31 or more members.
54700         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
54701
54702 2007-07-04  Jim Meyering  <jim@meyering.net>
54703
54704         * lib/getugroups.h: New file.
54705         * lib/getugroups.c: Include "getugroups.h".
54706         Remove uses of "register" keyword.
54707         Move local variable, "cp", down into scope where used.
54708         Give "username" parameter the "const" attribute.
54709         * modules/getugroups (Files): Add lib/getugroups.h
54710
54711 2007-07-04  Karl Berry  <karl@gnu.org>
54712
54713         * MODULES.html.sh (func_all_modules): Complete rename of
54714         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
54715
54716 2007-07-02  Bruno Haible  <bruno@clisp.org>
54717
54718         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
54719         mode, when inttypes.h comes from gnulib.
54720         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54721
54722 2007-07-02  Simon Josefsson  <simon@josefsson.org>
54723
54724         * NEWS: Mention lgpl module name change.
54725
54726         * modules/lgpl-2.1: Renamed from lgpl.
54727
54728         * NEWS: Mention gpl module name change.
54729
54730         * modules/gpl-3.0: New file, based on gpl-2.0.
54731
54732         * modules/gpl-2.0: Renamed from gpl.
54733
54734         * modules/gpl: Fix filename, doc/gpl.texi is now found at
54735         doc/gpl-2.0.texi.
54736
54737 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
54738
54739         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
54740         #define __STDC_LIMIT_MACROS temporarily while including
54741         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
54742         Problem reported by Joel E. Denny in
54743         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
54744
54745 2007-07-01  Bruno Haible  <bruno@clisp.org>
54746
54747         * lib/unistdio.h: New file.
54748         * lib/unistdio/u-asnprintf.h: New file.
54749         * lib/unistdio/u-asprintf.h: New file.
54750         * lib/unistdio/u-printf-args.c: New file.
54751         * lib/unistdio/u-printf-args.h: New file.
54752         * lib/unistdio/u-printf-parse.h: New file.
54753         * lib/unistdio/u-snprintf.h: New file.
54754         * lib/unistdio/u-sprintf.h: New file.
54755         * lib/unistdio/u-vasprintf.h: New file.
54756         * lib/unistdio/u-vsnprintf.h: New file.
54757         * lib/unistdio/u-vsprintf.h: New file.
54758         * lib/unistdio/ulc-asnprintf.c: New file.
54759         * lib/unistdio/ulc-asprintf.c: New file.
54760         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
54761         * lib/unistdio/ulc-printf-parse.c: New file.
54762         * lib/unistdio/ulc-snprintf.c: New file.
54763         * lib/unistdio/ulc-sprintf.c: New file.
54764         * lib/unistdio/ulc-vasnprintf.c: New file.
54765         * lib/unistdio/ulc-vasprintf.c: New file.
54766         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
54767         * lib/unistdio/ulc-vsnprintf.c: New file.
54768         * lib/unistdio/ulc-vsprintf.c: New file.
54769         * lib/unistdio/u8-asnprintf.c: New file.
54770         * lib/unistdio/u8-asprintf.c: New file.
54771         * lib/unistdio/u8-printf-parse.c: New file.
54772         * lib/unistdio/u8-snprintf.c: New file.
54773         * lib/unistdio/u8-sprintf.c: New file.
54774         * lib/unistdio/u8-vasnprintf.c: New file.
54775         * lib/unistdio/u8-vasprintf.c: New file.
54776         * lib/unistdio/u8-vsnprintf.c: New file.
54777         * lib/unistdio/u8-vsprintf.c: New file.
54778         * lib/unistdio/u8-u8-asnprintf.c: New file.
54779         * lib/unistdio/u8-u8-asprintf.c: New file.
54780         * lib/unistdio/u8-u8-snprintf.c: New file.
54781         * lib/unistdio/u8-u8-sprintf.c: New file.
54782         * lib/unistdio/u8-u8-vasnprintf.c: New file.
54783         * lib/unistdio/u8-u8-vasprintf.c: New file.
54784         * lib/unistdio/u8-u8-vsnprintf.c: New file.
54785         * lib/unistdio/u8-u8-vsprintf.c: New file.
54786         * lib/unistdio/u16-asnprintf.c: New file.
54787         * lib/unistdio/u16-asprintf.c: New file.
54788         * lib/unistdio/u16-printf-parse.c: New file.
54789         * lib/unistdio/u16-snprintf.c: New file.
54790         * lib/unistdio/u16-sprintf.c: New file.
54791         * lib/unistdio/u16-vasnprintf.c: New file.
54792         * lib/unistdio/u16-vasprintf.c: New file.
54793         * lib/unistdio/u16-vsnprintf.c: New file.
54794         * lib/unistdio/u16-vsprintf.c: New file.
54795         * lib/unistdio/u16-u16-asnprintf.c: New file.
54796         * lib/unistdio/u16-u16-asprintf.c: New file.
54797         * lib/unistdio/u16-u16-snprintf.c: New file.
54798         * lib/unistdio/u16-u16-sprintf.c: New file.
54799         * lib/unistdio/u16-u16-vasnprintf.c: New file.
54800         * lib/unistdio/u16-u16-vasprintf.c: New file.
54801         * lib/unistdio/u16-u16-vsnprintf.c: New file.
54802         * lib/unistdio/u16-u16-vsprintf.c: New file.
54803         * lib/unistdio/u32-asnprintf.c: New file.
54804         * lib/unistdio/u32-asprintf.c: New file.
54805         * lib/unistdio/u32-printf-parse.c: New file.
54806         * lib/unistdio/u32-snprintf.c: New file.
54807         * lib/unistdio/u32-sprintf.c: New file.
54808         * lib/unistdio/u32-vasnprintf.c: New file.
54809         * lib/unistdio/u32-vasprintf.c: New file.
54810         * lib/unistdio/u32-vsnprintf.c: New file.
54811         * lib/unistdio/u32-vsprintf.c: New file.
54812         * lib/unistdio/u32-u32-asnprintf.c: New file.
54813         * lib/unistdio/u32-u32-asprintf.c: New file.
54814         * lib/unistdio/u32-u32-snprintf.c: New file.
54815         * lib/unistdio/u32-u32-sprintf.c: New file.
54816         * lib/unistdio/u32-u32-vasnprintf.c: New file.
54817         * lib/unistdio/u32-u32-vasprintf.c: New file.
54818         * lib/unistdio/u32-u32-vsnprintf.c: New file.
54819         * lib/unistdio/u32-u32-vsprintf.c: New file.
54820         * tests/unistdio/test-ulc-asnprintf1.c: New file.
54821         * tests/unistdio/test-ulc-asnprintf1.h: New file.
54822         * tests/unistdio/test-ulc-printf1.h: New file.
54823         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
54824         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
54825         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
54826         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
54827         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
54828         * tests/unistdio/test-ulc-vasprintf1.c: New file.
54829         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
54830         * tests/unistdio/test-ulc-vsprintf1.c: New file.
54831         * tests/unistdio/test-u8-asnprintf1.c: New file.
54832         * tests/unistdio/test-u8-asnprintf1.h: New file.
54833         * tests/unistdio/test-u8-printf1.h: New file.
54834         * tests/unistdio/test-u8-vasnprintf1.c: New file.
54835         * tests/unistdio/test-u8-vasnprintf2.c: New file.
54836         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
54837         * tests/unistdio/test-u8-vasnprintf3.c: New file.
54838         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
54839         * tests/unistdio/test-u8-vasprintf1.c: New file.
54840         * tests/unistdio/test-u8-vsnprintf1.c: New file.
54841         * tests/unistdio/test-u8-vsprintf1.c: New file.
54842         * tests/unistdio/test-u16-asnprintf1.c: New file.
54843         * tests/unistdio/test-u16-asnprintf1.h: New file.
54844         * tests/unistdio/test-u16-printf1.h: New file.
54845         * tests/unistdio/test-u16-vasnprintf1.c: New file.
54846         * tests/unistdio/test-u16-vasnprintf2.c: New file.
54847         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
54848         * tests/unistdio/test-u16-vasnprintf3.c: New file.
54849         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
54850         * tests/unistdio/test-u16-vasprintf1.c: New file.
54851         * tests/unistdio/test-u16-vsnprintf1.c: New file.
54852         * tests/unistdio/test-u16-vsprintf1.c: New file.
54853         * tests/unistdio/test-u32-asnprintf1.c: New file.
54854         * tests/unistdio/test-u32-asnprintf1.h: New file.
54855         * tests/unistdio/test-u32-printf1.h: New file.
54856         * tests/unistdio/test-u32-vasnprintf1.c: New file.
54857         * tests/unistdio/test-u32-vasnprintf2.c: New file.
54858         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
54859         * tests/unistdio/test-u32-vasnprintf3.c: New file.
54860         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
54861         * tests/unistdio/test-u32-vasprintf1.c: New file.
54862         * tests/unistdio/test-u32-vsnprintf1.c: New file.
54863         * tests/unistdio/test-u32-vsprintf1.c: New file.
54864         * modules/unistdio/base: New file.
54865         * modules/unistdio/u-printf-args: New file.
54866         * modules/unistdio/ulc-asnprintf: New file.
54867         * modules/unistdio/ulc-asprintf: New file.
54868         * modules/unistdio/ulc-fprintf: New file.
54869         * modules/unistdio/ulc-printf-parse: New file.
54870         * modules/unistdio/ulc-snprintf: New file.
54871         * modules/unistdio/ulc-sprintf: New file.
54872         * modules/unistdio/ulc-vasnprintf: New file.
54873         * modules/unistdio/ulc-vasprintf: New file.
54874         * modules/unistdio/ulc-vfprintf: New file.
54875         * modules/unistdio/ulc-vsnprintf: New file.
54876         * modules/unistdio/ulc-vsprintf: New file.
54877         * modules/unistdio/u8-asnprintf: New file.
54878         * modules/unistdio/u8-asprintf: New file.
54879         * modules/unistdio/u8-printf-parse: New file.
54880         * modules/unistdio/u8-snprintf: New file.
54881         * modules/unistdio/u8-sprintf: New file.
54882         * modules/unistdio/u8-vasnprintf: New file.
54883         * modules/unistdio/u8-vasprintf: New file.
54884         * modules/unistdio/u8-vsnprintf: New file.
54885         * modules/unistdio/u8-vsprintf: New file.
54886         * modules/unistdio/u8-u8-asnprintf: New file.
54887         * modules/unistdio/u8-u8-asprintf: New file.
54888         * modules/unistdio/u8-u8-snprintf: New file.
54889         * modules/unistdio/u8-u8-sprintf: New file.
54890         * modules/unistdio/u8-u8-vasnprintf: New file.
54891         * modules/unistdio/u8-u8-vasprintf: New file.
54892         * modules/unistdio/u8-u8-vsnprintf: New file.
54893         * modules/unistdio/u8-u8-vsprintf: New file.
54894         * modules/unistdio/u16-asnprintf: New file.
54895         * modules/unistdio/u16-asprintf: New file.
54896         * modules/unistdio/u16-printf-parse: New file.
54897         * modules/unistdio/u16-snprintf: New file.
54898         * modules/unistdio/u16-sprintf: New file.
54899         * modules/unistdio/u16-vasnprintf: New file.
54900         * modules/unistdio/u16-vasprintf: New file.
54901         * modules/unistdio/u16-vsnprintf: New file.
54902         * modules/unistdio/u16-vsprintf: New file.
54903         * modules/unistdio/u16-u16-asnprintf: New file.
54904         * modules/unistdio/u16-u16-asprintf: New file.
54905         * modules/unistdio/u16-u16-snprintf: New file.
54906         * modules/unistdio/u16-u16-sprintf: New file.
54907         * modules/unistdio/u16-u16-vasnprintf: New file.
54908         * modules/unistdio/u16-u16-vasprintf: New file.
54909         * modules/unistdio/u16-u16-vsnprintf: New file.
54910         * modules/unistdio/u16-u16-vsprintf: New file.
54911         * modules/unistdio/u32-asnprintf: New file.
54912         * modules/unistdio/u32-asprintf: New file.
54913         * modules/unistdio/u32-printf-parse: New file.
54914         * modules/unistdio/u32-snprintf: New file.
54915         * modules/unistdio/u32-sprintf: New file.
54916         * modules/unistdio/u32-vasnprintf: New file.
54917         * modules/unistdio/u32-vasprintf: New file.
54918         * modules/unistdio/u32-vsnprintf: New file.
54919         * modules/unistdio/u32-vsprintf: New file.
54920         * modules/unistdio/u32-u32-asnprintf: New file.
54921         * modules/unistdio/u32-u32-asprintf: New file.
54922         * modules/unistdio/u32-u32-snprintf: New file.
54923         * modules/unistdio/u32-u32-sprintf: New file.
54924         * modules/unistdio/u32-u32-vasnprintf: New file.
54925         * modules/unistdio/u32-u32-vasprintf: New file.
54926         * modules/unistdio/u32-u32-vsnprintf: New file.
54927         * modules/unistdio/u32-u32-vsprintf: New file.
54928         * modules/unistdio/ulc-asnprintf-tests: New file.
54929         * modules/unistdio/ulc-vasnprintf-tests: New file.
54930         * modules/unistdio/ulc-vasprintf-tests: New file.
54931         * modules/unistdio/ulc-vsnprintf-tests: New file.
54932         * modules/unistdio/ulc-vsprintf-tests: New file.
54933         * modules/unistdio/u8-asnprintf-tests: New file.
54934         * modules/unistdio/u8-vasnprintf-tests: New file.
54935         * modules/unistdio/u8-vasprintf-tests: New file.
54936         * modules/unistdio/u8-vsnprintf-tests: New file.
54937         * modules/unistdio/u8-vsprintf-tests: New file.
54938         * modules/unistdio/u16-asnprintf-tests: New file.
54939         * modules/unistdio/u16-vasnprintf-tests: New file.
54940         * modules/unistdio/u16-vasprintf-tests: New file.
54941         * modules/unistdio/u16-vsnprintf-tests: New file.
54942         * modules/unistdio/u16-vsprintf-tests: New file.
54943         * modules/unistdio/u32-asnprintf-tests: New file.
54944         * modules/unistdio/u32-vasnprintf-tests: New file.
54945         * modules/unistdio/u32-vasprintf-tests: New file.
54946         * modules/unistdio/u32-vsnprintf-tests: New file.
54947         * modules/unistdio/u32-vsprintf-tests: New file.
54948         * MODULES.html.sh (Unicode string functions): Add the new modules.
54949
54950 2007-07-01  Bruno Haible  <bruno@clisp.org>
54951
54952         * lib/sprintf.c (sprintf): Limit the available length estimation,
54953         to avoid address wraparound.
54954         * lib/vsprintf.c (vsprintf): Likewise.
54955         * modules/sprintf-posix (Dependencies): Add stdint.
54956         * modules/vsprintf-posix (Dependencies): Likewise.
54957
54958 2007-07-01  Bruno Haible  <bruno@clisp.org>
54959
54960         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
54961         Windows PATH as well. Conservative double-quoting. Comments.
54962
54963 2007-07-01  Bruno Haible  <bruno@clisp.org>
54964             Eric Blake  <ebb9@byu.net>
54965             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54966
54967         * gnulib-tool (self_abspathname): Fix algorithm to cope with
54968         empty components in $PATH, denoting '.'.
54969
54970 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54971
54972         * gnulib-tool: Fix indentation.
54973         (func_create_megatestdir): Likewise.
54974         Report by Bruno Haible.
54975
54976 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54977
54978         Sync from Automake.
54979         * build-aux/gnupload: Fix shell portability issues with for loops.
54980         Report by Karl Berry.
54981
54982 2007-06-29  Simon Josefsson  <simon@josefsson.org>
54983
54984         * build-aux/maint.mk (POURL): Use translationproject.org.
54985
54986 2007-06-27  Simon Josefsson  <simon@josefsson.org>
54987             Bruno Haible  <bruno@clisp.org>
54988
54989         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
54990         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
54991         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
54992         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
54993         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
54994
54995 2007-06-27  Bruno Haible  <bruno@clisp.org>
54996
54997         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
54998         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
54999
55000 2007-06-26  Karl Berry  <karl@gnu.org>
55001
55002         * MODULES.html.sh: remove xreadlink-with-size.
55003
55004 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
55005
55006         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
55007         method that I hope also handles the double-include problem noted
55008         by Bruno Haible in
55009         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
55010
55011 2007-06-23  Bruno Haible  <bruno@clisp.org>
55012
55013         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55014         Don't let the 'mostlyclean' target fail if the last subdirectory could
55015         not be removed.
55016         Reported by Karl Berry.
55017
55018 2007-06-23  Bruno Haible  <bruno@clisp.org>
55019
55020         * gnulib-tool (echo): Add a speedier workaround for ksh.
55021         * tests/test-echo.sh: Likewise.
55022
55023 2007-06-23  Bruno Haible  <bruno@clisp.org>
55024
55025         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
55026         * tests/test-echo.sh: Likewise.
55027
55028 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55029
55030         * gnulib-tool (IFS): Initialize early, so we don't set it to
55031         empty later.
55032         (self_abspathname): Rewrite algorithm to set it, reindent.
55033         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
55034         (func_create_megatestdir): Merge some sed scripts.
55035
55036 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
55037
55038         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
55039         exposed by Sun Studio 11 cc on Solaris 8.
55040
55041 2007-06-22  Bruno Haible  <bruno@clisp.org>
55042
55043         * gnulib-tool (echo): Ensure the echo primitive does not interpret
55044         backslashes.
55045         * tests/test-echo.sh: New file.
55046
55047 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55048
55049         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
55050         simplify `sed_replace_build_aux' scripts, they are portable but
55051         echoing them with `echo' is not.
55052         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
55053
55054 2007-06-21  Karl Berry  <karl@gnu.org>
55055
55056         * config/srclist.txt: guess we can't handle the licenses via
55057         srclist at the moment.
55058
55059 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
55060
55061         * MODULES.html.sh: Add include_next.
55062         * modules/include_next: New file.
55063
55064 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
55065
55066         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
55067         INCLUDE_NEXT.
55068         (gl_CHECK_NEXT_HEADERS): New macro.
55069         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
55070         the obsolescent gl_ABSOLUTE_HEADER.
55071         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
55072         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
55073         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
55074         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
55075         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
55076         * m4/math_h.m4 (gl_MATH_H): Likewise.
55077         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
55078         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
55079         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
55080         * m4/stdint.m4 (gl_STDINT_H): Likewise.
55081         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
55082         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
55083         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
55084         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55085         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
55086         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
55087         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
55088         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
55089         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
55090         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
55091         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
55092         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
55093         * m4/inttypes.m4 (gl_INTTYPES_H): Define
55094         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
55095         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
55096         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
55097         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
55098         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
55099         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
55100         * lib/float_.h: Likewise.
55101         * lib/inttypes_.h: Likewise.
55102         * lib/math_.h: Likewise.
55103         * lib/search_.h: Likewise.
55104         * lib/signal_.h: Likewise.
55105         * lib/stdint_.h: Likewise.
55106         * lib/stdio_.h: Likewise.
55107         * lib/stdlib_.h: Likewise.
55108         * lib/string_.h: Likewise.
55109         * lib/sys_stat_.h: Likewise.
55110         * lib/sys_time_.h: Likewise.
55111         * lib/time_.h: Likewise.
55112         * lib/unistd_.h: Likewise.
55113         * lib/wchar_.h: Likewise.
55114         * lib/wctype_.h: Likewise.
55115         * lib/dirent_.h: Likewise.
55116         * lib/iconv_.h: Likewise.
55117         * lib/locale_.h: Likewise.
55118         * lib/netinet_in_.h: Likewise.
55119         * lib/sys_select_.h: Likewise.
55120         * lib/sys_socket_.h: Likewise.
55121         * lib/sysexits_.h: Likewise.
55122         * modules/fcntl (Depends-on): Depend on include_next, not
55123         absolute_header.
55124         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
55125         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
55126         * modules/fchdir: Likewise.
55127         * modules/float: Likewise.
55128         * modules/iconv_open: Likewise.
55129         * modules/inttypes: Likewise.
55130         * modules/locale: Likewise.
55131         * modules/math: Likewise.
55132         * modules/netinet_in: Likewise.
55133         * modules/search: Likewise.
55134         * modules/signal: Likewise.
55135         * modules/stdint: Likewise.
55136         * modules/stdio: Likewise.
55137         * modules/stdlib: Likewise.
55138         * modules/string: Likewise.
55139         * modules/sys_select: Likewise.
55140         * modules/sys_socket: Likewise.
55141         * modules/sys_stat: Likewise.
55142         * modules/sys_time: Likewise.
55143         * modules/sysexits: Likewise.
55144         * modules/time: Likewise.
55145         * modules/unistd: Likewise.
55146         * modules/wchar: Likewise.
55147         * modules/wctype: Likewise.
55148         * modules/sys_stat: Change maintainer to "all".
55149         * modules/unistd: Likewise.
55150
55151 2007-06-20  Karl Berry  <karl@gnu.org>
55152
55153         * config/srclist.txt: track www changes in license files.
55154
55155 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
55156
55157         * build-aux/bootstrap: Remove stray dot.
55158         Make sure build_aux settings are honored when linking
55159         gnulib_extra_files.
55160
55161 2007-06-19  Eric Blake  <ebb9@byu.net>
55162
55163         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
55164         Allow compilation on cygwin.
55165
55166 2007-06-19  Jim Meyering  <jim@meyering.net>
55167
55168         xreadlink-with-size: Remove module.  No longer used.
55169         Ex-callers now use xreadlink or mreadlink-with-size.
55170         * modules/xreadlink-with-size: Remove module.
55171         * lib/xreadlink-with-size.c: Remove file.
55172         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
55173         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
55174         just before the function definition *is* accurate.
55175
55176         Eliminate one way canonicalize_filename_mode could exit.
55177         * lib/canonicalize.c (canonicalize_filename_mode):
55178         Use mreadlink_with_size, not xreadlink_with_size.
55179
55180 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
55181
55182         Detect porting problems to FreeBSD/arm, which has time_t wider than
55183         long int.  Original problem reported for GNU diff by Xin Li in
55184         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
55185         * modules/getdate (Depends-on): Add intprops, verify.
55186         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
55187         is an integer type no wider than long int.
55188
55189 2007-06-18  Jim Meyering  <jim@meyering.net>
55190
55191         New module: mreadlink-with-size.
55192         * MODULES.html.sh: Add mreadlink-with-size.
55193         * modules/mreadlink-with-size: New module
55194         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
55195         not xreadlink-with-size.
55196         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
55197
55198 2007-06-16  Bruno Haible  <bruno@clisp.org>
55199
55200         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
55201         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
55202         Reported by Gary V. Vaughan <gary@gnu.org>.
55203
55204 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
55205
55206         Revamp lchown so that it lives in unistd.h where it belongs.
55207         * lib/lchown.h: Remove.
55208         * lib/dirchownmod.c: Don't include lib/lchown.h.
55209         * lib/fchownat.c: Likewise.
55210         * lib/openat.c: Likewise.
55211         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
55212         does not follow symlinks.
55213         (EOPNOTSUPP): Define if not defined.
55214         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
55215         is defined to 0.
55216         (lchown): New decl.
55217         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
55218         Do not check for lchown decl.
55219         Set REPLACE_LCHOWN.
55220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
55221         REPLACE_LCHOWN.
55222         * modules/chown: Make it clear it follows symlinks.
55223         * modules/lchown: Make it clear it doesn't follow symlinks.
55224         (Files): Remove lib/lchown.h
55225         (Depends-on): Add unistd.
55226         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
55227         (Include): Include <unistd.h>, not "lchown.h".
55228         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
55229         REPLACE_LCHOWN.
55230
55231 2007-06-15  Jim Meyering  <jim@meyering.net>
55232
55233         Change license (GPL to LGPL) of fsusage and dependents.
55234         * modules/fsusage (License): Change to LGPL.
55235         * modules/full-read (License): Likewise.
55236         * modules/full-write (License): Likewise.
55237         * modules/safe-read (License): Likewise.
55238         * modules/safe-write (License): Likewise.
55239
55240 2007-06-14  Ben Pfaff  <blp@gnu.org>
55241
55242         Missing part of allocsa -> malloca transition.
55243         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
55244         gl_MALLOCA.
55245
55246 2007-06-12  Bruno Haible  <bruno@clisp.org>
55247
55248         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
55249         to ia64, x86_64, i386.
55250         Reported by Eric Blake.
55251
55252 2007-06-12  Bruno Haible  <bruno@clisp.org>
55253
55254         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
55255         cross-compiling to x86_64.
55256
55257 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
55258
55259         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
55260         glitch reported by Ralf Wildenhues in
55261         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
55262
55263         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
55264         Vin Shelton.
55265
55266 2007-06-11  Bruno Haible  <bruno@clisp.org>
55267
55268         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
55269         replacement string.
55270         Reported by Eric Blake.
55271
55272 2007-06-10  Bruno Haible  <bruno@clisp.org>
55273
55274         Prepare vasnprintf code for use with Unicode strings.
55275         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
55276         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
55277         TYPE_U32_STRING.
55278         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
55279         a_u32_string variants.
55280         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
55281         * lib/printf-args.c: Don't include config.h and the specification
55282         header if PRINTF_FETCHARGS is already defined.
55283         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
55284         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
55285         TYPE_U16_STRING, TYPE_U32_STRING.
55286         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
55287         u16_directive, u16_directives, u32_directive, u32_directives): New
55288         types.
55289         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
55290         New declarations.
55291         * lib/printf-parse.c: Don't include config.h and the specification
55292         header if PRINTF_PARSE is already defined. Eliminate the set of
55293         parameters for WIDE_CHAR_VERSION; the user of this file must provide
55294         them now. Include c-ctype.h.
55295         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
55296         directive and CHAR_T_ONLY_ASCII.
55297         * lib/vasnprintf.c: Don't include config.h and the specification header
55298         if VASNPRINTF is already defined.
55299         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
55300         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
55301         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
55302         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
55303         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
55304         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
55305         code accordingly.
55306         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
55307         pad_ourselves also in this case, with the 'c' and 's' directives, and
55308         with a different notion of "width".
55309         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
55310
55311 2007-06-10  Bruno Haible  <bruno@clisp.org>
55312
55313         * modules/unistr/u32-mbsnlen: New file.
55314         * lib/unistr/u32-mbsnlen.c: New file.
55315
55316         * modules/unistr/u16-mbsnlen: New file.
55317         * lib/unistr/u16-mbsnlen.c: New file.
55318
55319         * modules/unistr/u8-mbsnlen: New file.
55320         * lib/unistr/u8-mbsnlen.c: New file.
55321
55322         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
55323         declarations.
55324
55325 2007-06-10  Bruno Haible  <bruno@clisp.org>
55326
55327         * lib/string_.h (mbsnlen): New declaration.
55328         * lib/mbsnlen.c: New file.
55329         * m4/mbsnlen.m4: New file.
55330         * modules/mbsnlen: New file.
55331         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
55332         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
55333         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
55334
55335 2007-06-10  Bruno Haible  <bruno@clisp.org>
55336
55337         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
55338
55339 2007-06-10  Bruno Haible  <bruno@clisp.org>
55340
55341         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
55342         * lib/mbuiter.h: Likewise.
55343
55344 2007-06-10  Bruno Haible  <bruno@clisp.org>
55345
55346         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
55347         declaration.
55348
55349 2007-06-10  Karl Berry  <karl@gnu.org>
55350
55351         * config/srclist.txt: remove gettext entries, Bruno prefers
55352         to update individually.
55353
55354 2007-06-10  Bruno Haible  <bruno@clisp.org>
55355
55356         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
55357         'maxlen'. Ensure only length + width bytes are allocated, not
55358         length + 1 + width.
55359
55360 2007-06-09  Bruno Haible  <bruno@clisp.org>
55361
55362         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
55363         (CHAR_T): Remove macro.
55364         (VASNPRINTF): Update.
55365
55366 2007-06-09  Bruno Haible  <bruno@clisp.org>
55367
55368         * MODULES.html.sh (Unicode string functions): Add the new modules.
55369
55370         * modules/uniconv/u32-conv-to-enc: New file.
55371         * lib/uniconv/u32-conv-to-enc.c: New file.
55372         * modules/uniconv/u32-conv-to-enc-tests: New file.
55373         * tests/uniconv/test-u32-conv-to-enc.c: New file.
55374
55375         * modules/uniconv/u16-conv-to-enc: New file.
55376         * lib/uniconv/u16-conv-to-enc.c: New file.
55377         * lib/uniconv/u-conv-to-enc.h: New file.
55378         * modules/uniconv/u16-conv-to-enc-tests: New file.
55379         * tests/uniconv/test-u16-conv-to-enc.c: New file.
55380
55381         * modules/uniconv/u8-conv-to-enc: New file.
55382         * lib/uniconv/u8-conv-to-enc.c: New file.
55383         * modules/uniconv/u8-conv-to-enc-tests: New file.
55384         * tests/uniconv/test-u8-conv-to-enc.c: New file.
55385
55386         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
55387         u32_conv_to_encoding): New declarations.
55388
55389 2007-06-09  Bruno Haible  <bruno@clisp.org>
55390
55391         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
55392
55393 2007-06-09  Bruno Haible  <bruno@clisp.org>
55394
55395         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
55396         * modules/malloca: Renamed from modules/allocsa, updated.
55397         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
55398         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
55399         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
55400         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
55401         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
55402         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
55403         * modules/xmalloca: Renamed from modules/xallocsa, updated.
55404         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
55405         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
55406         * modules/c-strcasestr (Depends-on): Update.
55407         * lib/c-strcasestr.c: Update.
55408         * modules/c-strstr (Depends-on): Update.
55409         * lib/c-strstr.c: Update.
55410         * modules/canonicalize-lgpl (Depends-on): Update.
55411         * lib/canonicalize-lgpl.c: Update.
55412         * modules/clean-temp (Depends-on): Update.
55413         * lib/clean-temp.c: Update.
55414         * modules/csharpcomp (Depends-on): Update.
55415         * lib/csharpcomp.c: Update.
55416         * modules/csharpexec (Depends-on): Update.
55417         * lib/csharpexec.c: Update.
55418         * modules/javacomp (Depends-on): Update.
55419         * lib/javacomp.c: Update.
55420         * modules/javaexec (Depends-on): Update.
55421         * lib/javaexec.c: Update.
55422         * modules/mbscasestr (Depends-on): Update.
55423         * lib/mbscasestr.c: Update.
55424         * modules/mbsstr (Depends-on): Update.
55425         * lib/mbsstr.c: Update.
55426         * modules/setenv (Depends-on): Update.
55427         * lib/setenv.c: Update.
55428         * modules/strcasestr (Depends-on): Update.
55429         * lib/strcasestr.c: Update.
55430         * modules/striconveha (Depends-on): Update.
55431         * lib/striconveha.c: Update.
55432         * modules/relocatable-prog-wrapper (Files): Update.
55433         * lib/relocwrapper.c: Update.
55434         * build-aux/install-reloc: Update.
55435         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
55436
55437 2007-06-08  Bruno Haible  <bruno@clisp.org>
55438
55439         Port to uClibc.
55440         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
55441         * lib/fpurge.c (fpurge): Likewise.
55442         * lib/freading.c (freading): Likewise.
55443         * lib/fseeko.c (rpl_fseeko): Likewise.
55444         * lib/fseterr.c (fseterr): Likewise.
55445         * lib/fwriting.c (fwriting): Likewise.
55446         * tests/test-fflush.c (main): Avoid a failure on uClibc.
55447
55448 2007-06-08  Bruno Haible  <bruno@clisp.org>
55449
55450         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
55451         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
55452         * modules/gettext (Files): Add m4/intlmacosx.m4.
55453
55454 2007-06-07  Bruno Haible  <bruno@clisp.org>
55455
55456         * modules/localename-tests: New file.
55457         * tests/test-localename.c: New file.
55458
55459         New module 'localename'.
55460         * lib/localename.h: New file.
55461         * lib/localename.c: New file, from GNU gettext.
55462         * m4/localename.m4: New file.
55463         * modules/localename: New file.
55464
55465 2007-06-07  Bruno Haible  <bruno@clisp.org>
55466
55467         Work around the lack of <wchar.h> on some builds of uClibc.
55468         * doc/headers/wchar.texi: Update.
55469         * lib/wchar_.h: Include <wchar.h> only if it exists.
55470         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
55471         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
55472         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
55473         doesn't exist.
55474         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
55475         * modules/mbfile (Depends-on): Add wchar.
55476         * modules/mbiter (Depends-on): Likewise.
55477         * modules/mbuiter (Depends-on): Likewise.
55478         Reported by Simon Josefsson.
55479
55480 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
55481
55482         Work around problem reported by Steven M. Schweda in
55483         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
55484         Tru64 5.1B with the Compaq compiler environment installed declares
55485         an 'isblank' function but does not define it in the C library.
55486         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
55487         * lib/regex_internal.h (isblank): Likewise.
55488         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
55489         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
55490
55491 2007-06-05  Bruno Haible  <bruno@clisp.org>
55492
55493         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
55494         ia64.
55495         * modules/printf-safe: New file.
55496         * modules/fprintf-posix (Depends-on): Add printf-safe.
55497         * modules/printf-posix (Depends-on): Likewise.
55498         * modules/snprintf-posix (Depends-on): Likewise.
55499         * modules/sprintf-posix (Depends-on): Likewise.
55500         * modules/vasnprintf-posix (Depends-on): Likewise.
55501         * modules/vasprintf-posix (Depends-on): Likewise.
55502         * modules/vfprintf-posix (Depends-on): Likewise.
55503         * modules/vprintf-posix (Depends-on): Likewise.
55504         * modules/vsnprintf-posix (Depends-on): Likewise.
55505         * modules/vsprintf-posix (Depends-on): Likewise.
55506         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
55507         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
55508         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
55509         "no" on i386, x86_64, ia64.
55510         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
55511         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
55512         on i386, x86_64, ia64.
55513         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
55514         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
55515         on i386, x86_64, ia64.
55516         * tests/test-vasnprintf-posix.c: Include float.h.
55517         (LDBL80_WORDS): New macro.
55518         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
55519         on i386, x86_64, ia64.
55520         * tests/test-vasprintf-posix.c: Include float.h.
55521         (LDBL80_WORDS): New macro.
55522         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
55523         on i386, x86_64, ia64.
55524         * tests/test-snprintf-posix.c: Include float.h.
55525         * tests/test-sprintf-posix.c: Likewise.
55526         * tests/test-vsnprintf-posix.c: Likewise.
55527         * tests/test-vsprintf-posix.c: Likewise.
55528
55529 2007-06-05  Bruno Haible  <bruno@clisp.org>
55530
55531         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
55532         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
55533         non-IEEE numbers on i386, x86_64, ia64.
55534         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
55535         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
55536         * tests/test-isnanl.h: Include float.h.
55537         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
55538
55539 2007-06-05  Bruno Haible  <bruno@clisp.org>
55540
55541         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
55542         also the %a / %A. Handle the %a / %A code before this extra handling.
55543
55544 2007-06-05  Bruno Haible  <bruno@clisp.org>
55545
55546         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
55547         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
55548
55549 2007-06-05  Bruno Haible  <bruno@clisp.org>
55550
55551         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
55552         typo in variable name.
55553
55554 2007-06-05  Eric Blake  <ebb9@byu.net>
55555
55556         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
55557         Reported by Simon Josefsson.
55558
55559 2007-06-04  Bruno Haible  <bruno@clisp.org>
55560
55561         Avoid test failures on some PowerPC platforms.
55562         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
55563         Define differently for PowerPC.
55564         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
55565         Reported by Gary V. Vaughan <gary@gnu.org>.
55566
55567 2007-06-02  Bruno Haible  <bruno@clisp.org>
55568
55569         Fix test-stdint failure on FreeBSD/ia64.
55570         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
55571         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
55572         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
55573         * doc/headers/stdint.texi: Update.
55574
55575 2007-06-01  Bruno Haible  <bruno@clisp.org>
55576
55577         * tests/test-binary-io.c (main): Pass a third argument to open().
55578         Reported by Gary V. Vaughan <gary@gnu.org>.
55579
55580 2007-06-01  Bruno Haible  <bruno@clisp.org>
55581
55582         * doc/functions/frexpl.texi: Update for mingw.
55583
55584 2007-06-01  Bruno Haible  <bruno@clisp.org>
55585
55586         * tests/test-lseek.c (main): Disable test of errno for invalid third
55587         argument.
55588         * doc/functions/lseek.texi: Update.
55589         Reported by Gary V. Vaughan <gary@gnu.org>.
55590
55591 2007-05-28  Bruno Haible  <bruno@clisp.org>
55592
55593         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
55594
55595 2007-05-31  Eric Blake  <ebb9@byu.net>
55596
55597         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
55598         cross compiling.
55599
55600 2007-05-30  Eric Blake  <ebb9@byu.net>
55601         and Bruno Haible  <bruno@clisp.org>
55602
55603         Work around mingw test failures exposed by m4-1.4.9b.
55604         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
55605         * tests/test-unistd.c: Disable uid_t and git_t tests for the
55606         moment.
55607
55608 2007-05-30  Bruno Haible  <bruno@clisp.org>
55609
55610         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
55611         assuming that they are closed. Needed on HP-UX 11.
55612
55613 2007-05-29  Bruno Haible  <bruno@clisp.org>
55614
55615         Fix a problem with #include_next.
55616         * lib/dirent_.h: Split the double-inclusion guard.
55617         * lib/fcntl_.h: Likewise.
55618         * lib/float_.h: Likewise.
55619         * lib/iconv_.h: Likewise.
55620         * lib/inttypes_.h: Likewise.
55621         * lib/locale_.h: Likewise.
55622         * lib/math_.h: Likewise.
55623         * lib/netinet_in_.h: Likewise.
55624         * lib/search_.h: Likewise.
55625         * lib/signal_.h: Likewise.
55626         * lib/stdint_.h: Likewise.
55627         * lib/stdio_.h: Likewise.
55628         * lib/stdlib_.h: Likewise.
55629         * lib/string_.h: Likewise.
55630         * lib/sys_select_.h: Likewise.
55631         * lib/sys_socket_.h: Likewise.
55632         * lib/sys_stat_.h: Likewise.
55633         * lib/sys_time_.h: Likewise.
55634         * lib/sysexits_.h: Likewise.
55635         * lib/time_.h: Likewise.
55636         * lib/unistd_.h: Likewise.
55637         * lib/wchar_.h: Likewise.
55638         * lib/wctype_.h: Likewise.
55639
55640 2007-05-29  Bruno Haible  <bruno@clisp.org>
55641
55642         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
55643         for the moment.
55644
55645 2007-05-29  Bruno Haible  <bruno@clisp.org>
55646
55647         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
55648         invocation.
55649         Reported by Eric Blake.
55650
55651 2007-05-29  Bruno Haible  <bruno@clisp.org>
55652
55653         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
55654         compiling case.
55655
55656 2007-05-29  Eric Blake  <ebb9@byu.net>
55657             Bruno Haible  <bruno@clisp.org>
55658
55659         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
55660         cross compiles.
55661
55662 2007-05-28  Eric Blake  <ebb9@byu.net>
55663
55664         * modules/closein-tests (test_closein_LDADD): Support test on
55665         cygwin with libtool.
55666
55667 2007-05-28  Bruno Haible  <bruno@clisp.org>
55668
55669         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
55670         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55671         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55672         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55673         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55674         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55675         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55676         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55677         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55678
55679 2007-05-28  Eric Blake  <ebb9@byu.net>
55680
55681         Unconditionally include <config.h> in unit tests.
55682         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
55683         * tests/test-allocsa.c, tests/test-arcfour.c,
55684         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
55685         tests/test-array_list.c, tests/test-array_oset.c,
55686         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
55687         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
55688         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
55689         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
55690         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
55691         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
55692         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
55693         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
55694         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
55695         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
55696         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
55697         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
55698         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
55699         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
55700         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
55701         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
55702         test-md5.c, test-memmem.c, test-printf-posix.c,
55703         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
55704         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
55705         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
55706         test-strcasestr.c, test-striconv.c, test-striconveh.c,
55707         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
55708         test-vasnprintf-posix2.c, test-vasnprintf.c,
55709         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
55710         test-vfprintf-posix.c, test-vprintf-posix.c,
55711         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
55712         test-xvasprintf.c: Likewise.
55713
55714 2007-05-28  Bruno Haible  <bruno@clisp.org>
55715
55716         * gnulib-tool (func_import): Remember the --with-tests command-line
55717         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
55718         Reported by Eric Blake.
55719
55720 2007-05-28  Bruno Haible  <bruno@clisp.org>
55721
55722         * modules/ftell-tests: New file.
55723         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
55724         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
55725
55726         * lib/ftell.c: New file.
55727         * modules/ftell: New file.
55728         * m4/ftell.m4: New file.
55729         * doc/functions/ftell.texi: Update.
55730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
55731         REPLACE_FTELL.
55732         * lib/stdio_.h (rpl_ftell): New declaration.
55733         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
55734         REPLACE_FTELL.
55735
55736 2007-05-28  Eric Blake  <ebb9@byu.net>
55737
55738         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
55739
55740 2007-05-28  Bruno Haible  <bruno@clisp.org>
55741
55742         * modules/fseek-tests: New file.
55743         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
55744         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
55745
55746         * lib/fseek.c: New file.
55747         * modules/fseek: New file.
55748         * m4/fseek.m4: New file.
55749         * doc/functions/fseek.texi: Update.
55750         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
55751         REPLACE_FSEEK.
55752         * lib/stdio_.h (rpl_fseek): New declaration.
55753         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
55754         REPLACE_FSEEK.
55755
55756 2007-05-28  Bruno Haible  <bruno@clisp.org>
55757
55758         * lib/stdio_.h (fflush): More comments.
55759
55760 2007-05-28  Bruno Haible  <bruno@clisp.org>
55761
55762         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
55763         runtime test.
55764
55765 2007-05-28  Eric Blake  <ebb9@byu.net>
55766
55767         Improve lseek module.
55768         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
55769         * lib/unistd_.h (lseek): Scale back link warning message.
55770         * tests/test-lseek.c: Beef up test.
55771         * tests/test-lseek.sh: Exercise more facets of lseek.
55772         Reported by Bruno Haible.
55773
55774 2007-05-28  Bruno Haible  <bruno@clisp.org>
55775
55776         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
55777         to define.
55778
55779 2007-05-27  Bruno Haible  <bruno@clisp.org>
55780
55781         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
55782
55783 2007-05-27  Bruno Haible  <bruno@clisp.org>
55784
55785         * modules/openmp: New file.
55786         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
55787         Noah Misch.
55788
55789 2007-05-26  Bruno Haible  <bruno@clisp.org>
55790
55791         * modules/chdir-long (Depends-on): Add fchdir.
55792         * modules/chdir-safer (Depends-on): Likewise.
55793         * modules/fts (Depends-on): Likewise.
55794         * modules/fts-lgpl (Depends-on): Likewise.
55795         * modules/openat (Depends-on): Likewise.
55796         * modules/savewd (Depends-on): Likewise.
55797
55798 2007-05-24  Eric Blake  <ebb9@byu.net>
55799
55800         Fix lseek on mingw.
55801         * modules/lseek: New module.
55802         * m4/lseek.m4: New file.
55803         * lib/lseek.c: New file.
55804         * modules/lseek-tests: New file.
55805         * tests/test-lseek.c: New file.
55806         * tests/test-lseek.sh: New file.
55807         * MODULES.html.sh: Document lseek module.
55808         * modules/fflush (Depends-on): Add lseek, fseeko.
55809         * modules/fseeko (Depends-on): Likewise.
55810         * modules/ftello (Depends-on): Likewise.
55811         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
55812         broken.
55813         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
55814         broken.
55815         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
55816         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
55817         * lib/ftello.c (rpl_ftello): Likewise.
55818         * tests/test-fseeko.c (main): Test this.
55819         * tests/test-fseeko.sh: Likewise.
55820         * tests/test-ftello.c (main): Likewise.
55821         * tests/test-ftello.sh: Likewise.
55822         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
55823         implies replacing fseek.
55824         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
55825         HAVE_FTELLO.
55826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
55827         * modules/unistd (Makefile.am): Likewise.
55828         * lib/unistd_.h (lseek): Declare a replacement.
55829         * doc/functions/lseek.texi (lseek): Document this fix.
55830         * doc/functions/fseek.texi (fseek): Likewise.
55831         * doc/functions/ftell.texi (ftell): Likewise.
55832
55833 2007-05-24  Bruno Haible  <bruno@clisp.org>
55834
55835         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
55836         in the printed representation of a NaN.
55837         * tests/test-vasprintf-posix.c (test_function): Likewise.
55838         * tests/test-snprintf-posix.h (test_function): Likewise.
55839         * tests/test-sprintf-posix.h (test_function): Likewise.
55840         Reported by Eric Blake.
55841
55842 2007-05-23  Eric Blake  <ebb9@byu.net>
55843
55844         Fix fseeko/ftello on cygwin 1.5.24.
55845         * doc/functions/fseeko.texi (fseeko): Document the fix.
55846         * doc/functions/ftello.texi (ftello): Document the fix.
55847         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
55848         * doc/functions/stdout.text (stdout): New file.
55849         * doc/functions/stderr.text (stderr): New file.
55850         * doc/gnulib.texi (Function Substitutes): Use new files.
55851         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
55852         prior to 1.7.0.
55853         * tests/test-ftello.c (main): Likewise for ftello.
55854         * tests/test-fseeko.sh: New file.
55855         * tests/test-ftello.sh: New file.
55856         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
55857         with seekable stdin.
55858         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
55859         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
55860         (gl_REPLACE_FSEEKO): New macro.
55861         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
55862         * modules/fseeko (Files): Distribute fseeko.c.
55863         * modules/ftello (Files): Distribute ftello.c.
55864         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
55865         mode.
55866         * lib/ftello.c (rpl_ftello): New file.
55867         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
55868         fseeko, ftello.
55869         (gl_STDIN_LARGE_OFFSET): New macro.
55870         * modules/stdio (Makefile.am): Perform the replacement.
55871         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
55872
55873 2007-05-23  Bruno Haible  <bruno@clisp.org>
55874
55875         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
55876         GNULIB_POSIXCHECK is defined.
55877
55878 2007-05-21  Bruno Haible  <bruno@clisp.org>
55879
55880         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
55881         Check also the output for NaN arguments. When cross-compiling, guess
55882         no on IRIX.
55883         * lib/vasnprintf.c: Update comments.
55884         * tests/test-vasnprintf-posix.c (strisnan): New function.
55885         (test_function): Use it.
55886         * tests/test-vasprintf-posix.c (strisnan): New function.
55887         (test_function): Use it.
55888         * tests/test-snprintf-posix.h (strisnan): New function.
55889         (test_function): Use it.
55890         * tests/test-sprintf-posix.h (strisnan): New function.
55891         (test_function): Use it.
55892         Reported by Eric Blake.
55893
55894 2007-05-20  Bruno Haible  <bruno@clisp.org>
55895
55896         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
55897         numbers that fails on BeOS.
55898         * doc/functions/frexpl.texi: Update.
55899
55900 2007-05-20  Jim Meyering  <jim@meyering.net>
55901
55902         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
55903         forced upon us by glibc-2.6.
55904
55905 2007-05-20  Bruno Haible  <bruno@clisp.org>
55906
55907         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
55908         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
55909         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
55910         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
55911         NEED_PRINTF_INFINITE.
55912         (is_infinitel): New function.
55913         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
55914         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
55915         gl_PREREQ_VASNPRINTF_INFINITE.
55916         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
55917         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55918         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
55919         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
55920         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
55921         gl_PREREQ_VASNPRINTF_INFINITE.
55922         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55923         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55924         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55925         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55926         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55927         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55928         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55929         * doc/functions/fprintf.texi: Update.
55930         * doc/functions/printf.texi: Update.
55931         * doc/functions/snprintf.texi: Update.
55932         * doc/functions/sprintf.texi: Update.
55933         * doc/functions/vfprintf.texi: Update.
55934         * doc/functions/vprintf.texi: Update.
55935         * doc/functions/vsnprintf.texi: Update.
55936         * doc/functions/vsprintf.texi: Update.
55937
55938 2007-05-20  Bruno Haible  <bruno@clisp.org>
55939
55940         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
55941         was not found in libc.
55942         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
55943
55944 2007-05-20  Bruno Haible  <bruno@clisp.org>
55945
55946         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
55947         printed as "-nan" instead of "nan".
55948         * tests/test-vasprintf-posix.c (test_function): Likewise.
55949         * tests/test-snprintf-posix.h (test_function): Likewise.
55950         * tests/test-sprintf-posix.h (test_function): Likewise.
55951         Needed for HP-UX 11.
55952
55953 2007-05-20  Jim Meyering  <jim@meyering.net>
55954
55955         Fix buggy test for the fchownat-deref bug.
55956         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
55957         symlink required for the run-test.  Without it, this test would
55958         always declare that fchownat doesn't work, and client code would
55959         unnecessarily use the replacement function with fixed libc.
55960         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
55961         Reported by Greg Schafer.
55962
55963 2007-05-19  Bruno Haible  <bruno@clisp.org>
55964
55965         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
55966         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
55967         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
55968         Needed for IRIX 6.5 and Solaris 2.5.1.
55969
55970 2007-05-19  Bruno Haible  <bruno@clisp.org>
55971
55972         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
55973         (test_function): Skip tests involving -0.0 on platforms where
55974         -0.0 = 0.0.
55975         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
55976         (test_function): Skip tests involving -0.0 on platforms where
55977         -0.0 = 0.0.
55978         * tests/test-snprintf-posix.h (have_minus_zero): New function.
55979         (test_function): Skip tests involving -0.0 on platforms where
55980         -0.0 = 0.0.
55981         * tests/test-sprintf-posix.h (have_minus_zero): New function.
55982         (test_function): Skip tests involving -0.0 on platforms where
55983         -0.0 = 0.0.
55984         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
55985         tests.
55986         * tests/test-printf-posix.h (test_function): Likewise.
55987         * tests/test-printf-posix.output: Remove all -0.0 related results.
55988         Needed for IRIX 6.5.
55989
55990 2007-05-19  Bruno Haible  <bruno@clisp.org>
55991
55992         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
55993         printed as "nan0x7fffffff" instead of "nan".
55994         * tests/test-vasprintf-posix.c (test_function): Likewise.
55995         * tests/test-snprintf-posix.h (test_function): Likewise.
55996         * tests/test-sprintf-posix.h (test_function): Likewise.
55997         * tests/test-fprintf-posix.h (NaN): Remove macro.
55998         (test_function): Remove all NaN related tests.
55999         * tests/test-printf-posix.h (NaN): Remove macro.
56000         (test_function): Remove all NaN related tests.
56001         * tests/test-printf-posix.output: Remove all NaN related results.
56002         Needed for IRIX 6.5.
56003
56004 2007-05-19  Bruno Haible  <bruno@clisp.org>
56005
56006         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
56007         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
56008
56009 2007-05-19  Bruno Haible  <bruno@clisp.org>
56010
56011         * lib/float_.h: New file.
56012         * m4/float_h.m4: New file.
56013         * modules/float: New file.
56014         * modules/isnanl (Dependencies): Add float.
56015         * modules/isnanl-nolibm (Dependencies): Likewise.
56016         * modules/mathl (Dependencies): Likewise.
56017         * modules/printf-frexpl (Dependencies): Likewise.
56018         * modules/signbit (Dependencies): Likewise.
56019         * modules/vasnprintf (Dependencies): Likewise.
56020         * doc/headers/float.texi: Update.
56021
56022 2007-05-19  Jim Meyering  <jim@meyering.net>
56023
56024         * lib/utimens.c (gl_futimens): Rename from futimens,
56025         now that glibc-2.6 declares futimens.
56026         * lib/utimens.h: Likewise.
56027
56028 2007-05-19  Bruno Haible  <bruno@clisp.org>
56029
56030         Avoid test failures on mingw.
56031         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
56032         * tests/test-printf-posix.sh: Likewise.
56033         * tests/test-vfprintf-posix.sh: Likewise.
56034         * tests/test-vprintf-posix.sh: Likewise.
56035
56036 2007-05-19  Bruno Haible  <bruno@clisp.org>
56037
56038         Fix *printf result for NaN, Inf, -0.0 on mingw.
56039         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
56040         * lib/vasnprintf.c: Include math.h and isnan.h.
56041         (is_infinite_or_zero): New function.
56042         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
56043         values in the %f, %F, %e, %E, %g, %G directives.
56044         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
56045         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56046         gl_PRINTF_INFINITE and test its result. Invoke
56047         gl_PREREQ_VASNPRINTF_INFINITE.
56048         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56049         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56050         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56051         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56052         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56053         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56054         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56055         * doc/functions/fprintf.texi: Update.
56056         * doc/functions/printf.texi: Update.
56057         * doc/functions/snprintf.texi: Update.
56058         * doc/functions/sprintf.texi: Update.
56059         * doc/functions/vfprintf.texi: Update.
56060         * doc/functions/vprintf.texi: Update.
56061         * doc/functions/vsnprintf.texi: Update.
56062         * doc/functions/vsprintf.texi: Update.
56063
56064 2007-05-19  Bruno Haible  <bruno@clisp.org>
56065
56066         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
56067         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
56068         Instead of multiplying with 10^k, set extra_zeroes to k.
56069         (scale10_round_long_double): Remove function.
56070
56071 2007-05-18  Bruno Haible  <bruno@clisp.org>
56072
56073         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
56074         introduced on 2007-05-06.
56075
56076 2007-05-18  Bruno Haible  <bruno@clisp.org>
56077
56078         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
56079         %g directives.
56080         * tests/test-vasprintf-posix.c (test_function): Likewise.
56081         * tests/test-snprintf-posix.h (test_function): Likewise.
56082         * tests/test-sprintf-posix.h (test_function): Likewise.
56083
56084 2007-05-18  Bruno Haible  <bruno@clisp.org>
56085
56086         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
56087         (strmatch): New function.
56088         (test_function): Test the %f directive on numbers of various exponents.
56089         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
56090         (strmatch): New function.
56091         (test_function): Test the %f directive on numbers of various exponents.
56092         * tests/test-snprintf-posix.h (strmatch): New function.
56093         (test_function): Test the %f directive on numbers of various exponents.
56094         * tests/test-sprintf-posix.h (strmatch): New function.
56095         (test_function): Test the %f directive on numbers of various exponents.
56096         * tests/test-snprintf-posix.c (SIZEOF): New macro.
56097         * tests/test-sprintf-posix.c (SIZEOF): New macro.
56098         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
56099         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
56100
56101 2007-05-18  Bruno Haible  <bruno@clisp.org>
56102
56103         Add support for 'long double' number output.
56104         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
56105         * lib/vasnprintf.c: Include math.h and float+.h.
56106         (mp_limb_t): New type.
56107         (GMP_LIMB_BITS): New macro.
56108         (mp_twolimb_t): New type.
56109         (GMP_TWOLIMB_BITS): New macro.
56110         (mpn_t): New type.
56111         (multiply, divide, convert_to_decimal, decode_long_double,
56112         scale10_round_long_double, scale10_round_decimal_long_double,
56113         floorlog10l): New functions.
56114         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
56115         for the %f, %F, %e, %E, %g, %G directives.
56116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
56117         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56118         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
56119         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
56120         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56121         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56122         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56123         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56124         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56125         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56126         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56127         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
56128         * modules/snprintf-posix (Depends-on): Likewise.
56129         * modules/sprintf-posix (Depends-on): Likewise.
56130         * modules/vasnprintf-posix (Depends-on): Likewise.
56131         * modules/vasprintf-posix (Depends-on): Likewise.
56132         * modules/vfprintf-posix (Depends-on): Likewise.
56133         * modules/vsnprintf-posix (Depends-on): Likewise.
56134         * modules/vsprintf-posix (Depends-on): Likewise.
56135         * modules/vasnprintf (Files): Add lib/float+.h.
56136         * doc/functions/fprintf.texi: Update.
56137         * doc/functions/printf.texi: Update.
56138         * doc/functions/snprintf.texi: Update.
56139         * doc/functions/sprintf.texi: Update.
56140         * doc/functions/vfprintf.texi: Update.
56141         * doc/functions/vprintf.texi: Update.
56142         * doc/functions/vsnprintf.texi: Update.
56143         * doc/functions/vsprintf.texi: Update.
56144
56145 2007-05-18  Bruno Haible  <bruno@clisp.org>
56146
56147         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
56148
56149 2007-05-18  Bruno Haible  <bruno@clisp.org>
56150
56151         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
56152         for printing 64-bit integers. Needed for mingw.
56153
56154 2007-05-18  Bruno Haible  <bruno@clisp.org>
56155
56156         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
56157         gl_FUNC_FREXPL_WORKS.
56158         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
56159
56160 2007-05-18  Bruno Haible  <bruno@clisp.org>
56161
56162         * modules/frexpl-nolibm-tests: New file.
56163
56164         * modules/frexpl-nolibm: New file.
56165         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
56166
56167 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56168
56169         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
56170         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
56171         GCC 4.2, which otherwise issues a lot of warnings.
56172         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
56173         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
56174         Likewise.
56175         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
56176         * modules/iconv_open (iconv.h): Likewise.
56177         * modules/locale (locale.h): Likewise.
56178         * modules/netinet_in (netinet/in.h): Likewise.
56179         * modules/sys_select (sys_select.h): Likewise.
56180         * modules/sys_socket (sys/socket.h): Likewise.
56181         * modules/sys_stat (sys/stat.h): Likewise.
56182         * modules/sysexits (sysexits.h): Likewise.
56183         * modules/unistd (unistd.h): Likewise.
56184
56185 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56186
56187         * modules/closein-tests (Makefile.am): Distribute
56188         `test-closein.sh'.
56189
56190 2007-05-17  Bruno Haible  <bruno@clisp.org>
56191
56192         * tests/test-printf-posix.output: Renamed from
56193         tests/test-fprintf-posix.out.
56194         * modules/fprintf-posix-tests: Update.
56195         * modules/printf-posix-tests: Update.
56196         * modules/vfprintf-posix-tests: Update.
56197         * modules/vprintf-posix-tests: Update.
56198         * tests/test-fprintf-posix.sh: Update.
56199         * tests/test-printf-posix.sh: Update.
56200         * tests/test-vfprintf-posix.sh: Update.
56201         * tests/test-vprintf-posix.sh: Update.
56202         Reported by Ralf Wildenhues.
56203
56204 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56205
56206         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
56207         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
56208         GCC 4.2, which otherwise issues a lot of warnings.
56209         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
56210         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
56211         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
56212         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
56213         it should no longer be needed.
56214         * lib/string_.h: Likewise.
56215         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
56216         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
56217         * modules/inttypes (inttypes.h): Likewise.
56218         * modules/math (math.h): Likewise.
56219         * modules/search (search.h): Likewise.
56220         * modules/signal (signal.h): Likewise.
56221         * modules/stdint (stdint.h): Likewise.
56222         * modules/stdio (stdio.h): Likewise.
56223         * modules/stdlib (stdlib.h): Likewise.
56224         * modules/string (string.h): Likewise.
56225         * modules/sys_time (sys/time.h): Likewise.
56226         * modules/time (time.h): Likewise.
56227         * modules/wchar (wchar.h): Likewise.
56228         * modules/wctype (wtype.h): Likewise.
56229
56230 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
56231
56232         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
56233
56234 2007-05-13  Bruno Haible  <bruno@clisp.org>
56235
56236         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
56237         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56238         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
56239         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
56240         (gl_PREREQ_STRTOK_R): Don't require it here.
56241
56242 2007-05-13  Bruno Haible  <bruno@clisp.org>
56243
56244         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
56245         when used in C++ mode.
56246
56247 2007-05-12  Bruno Haible  <bruno@clisp.org>
56248
56249         * lib/linebuffer.h: Tweak doc.
56250         * lib/linebuffer.c: Likewise.
56251
56252 2007-05-12  James Youngman  <jay@gnu.org>
56253
56254         * lib/linebuffer.c (readlinebuffer_delim): New function,
56255         like readlinebuffer, but use a caller-specified delimiter.
56256         (readlinebuffer): Just call readlinebuffer_delim with '\n'
56257         as the delimiter.
56258         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
56259
56260 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56261
56262         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
56263         * modules/openat (Files): Remove openat-die.c.
56264         (Depends-on): Add openat-die.
56265         * modules/openat-die: New module.
56266
56267 2007-05-06  Bruno Haible  <bruno@clisp.org>
56268
56269         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
56270         Update with info about Cygwin.
56271         * doc/functions/fprintf.texi: Update.
56272         * doc/functions/printf.texi: Update.
56273         * doc/functions/snprintf.texi: Update.
56274         * doc/functions/sprintf.texi: Update.
56275         * doc/functions/vfprintf.texi: Update.
56276         * doc/functions/vprintf.texi: Update.
56277         * doc/functions/vsnprintf.texi: Update.
56278         * doc/functions/vsprintf.texi: Update.
56279         Reported by Eric Blake.
56280
56281 2007-05-06  Bruno Haible  <bruno@clisp.org>
56282
56283         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
56284         padding ourselves for the floating-point directives.
56285         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
56286         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
56287         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56288         gl_PRINTF_FLAG_ZERO and test its result. Invoke
56289         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
56290         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56291         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
56292         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56293         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56294         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56295         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56296         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56297         * tests/test-snprintf-posix.h (test_function): Also check the width
56298         and some flags in the %f directive.
56299         * tests/test-sprintf-posix.h (test_function): Likewise.
56300         * tests/test-vasnprintf-posix.c (test_function): Likewise.
56301         * tests/test-vasprintf-posix.c (test_function): Likewise.
56302         * doc/functions/fprintf.texi: Update.
56303         * doc/functions/printf.texi: Update.
56304         * doc/functions/snprintf.texi: Update.
56305         * doc/functions/sprintf.texi: Update.
56306         * doc/functions/vfprintf.texi: Update.
56307         * doc/functions/vprintf.texi: Update.
56308         * doc/functions/vsnprintf.texi: Update.
56309         * doc/functions/vsprintf.texi: Update.
56310
56311 2007-05-06  Bruno Haible  <bruno@clisp.org>
56312
56313         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
56314         pass the ' flag character to sprintf or snprintf.
56315         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
56316         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
56317         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56318         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
56319         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
56320         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56321         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
56322         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56323         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56324         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56325         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56326         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56327         * tests/test-snprintf-posix.h (test_function): Also check the grouping
56328         flag.
56329         * tests/test-sprintf-posix.h (test_function): Likewise.
56330         * tests/test-vasnprintf-posix.c (test_function): Likewise.
56331         * tests/test-vasprintf-posix.c (test_function): Likewise.
56332         * doc/functions/fprintf.texi: Update.
56333         * doc/functions/printf.texi: Update.
56334         * doc/functions/snprintf.texi: Update.
56335         * doc/functions/sprintf.texi: Update.
56336         * doc/functions/vfprintf.texi: Update.
56337         * doc/functions/vprintf.texi: Update.
56338         * doc/functions/vsnprintf.texi: Update.
56339         * doc/functions/vsprintf.texi: Update.
56340
56341 2007-05-01  Bruno Haible  <bruno@clisp.org>
56342
56343         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
56344
56345 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
56346
56347         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
56348         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
56349
56350 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
56351
56352         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
56353         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
56354         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
56355
56356 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
56357
56358         * lib/argp-help.c (struct hol_entry): New member `ord'.
56359         (HOL_ENTRY_PTRCMP): Use ord for comparison
56360         (hol_sort): Initialize ord.
56361
56362 2007-05-01  Bruno Haible  <bruno@clisp.org>
56363
56364         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
56365         Reported by Eric Blake.
56366         * doc/gnulib.texi (Function Substitutes): Update.
56367
56368 2007-05-01  Bruno Haible  <bruno@clisp.org>
56369
56370         * doc/functions.texi: Remove file, now redundant through
56371         doc/functions/*.texi.
56372
56373 2007-05-01  Bruno Haible  <bruno@clisp.org>
56374
56375         * modules/argp (Depends-on): Add sleep.
56376
56377 2007-05-01  Bruno Haible  <bruno@clisp.org>
56378
56379         * modules/sleep-tests: New file.
56380         * tests/test-sleep.c: New file.
56381
56382         * modules/sleep: New file.
56383         * lib/sleep.c: New file.
56384         * m4/sleep.m4: New file.
56385         * lib/unistd_.h (sleep): New declaration.
56386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
56387         HAVE_SLEEP.
56388         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
56389         * doc/functions/sleep.texi: Document the sleep module.
56390
56391 2007-05-01  Bruno Haible  <bruno@clisp.org>
56392
56393         * lib/sigprocmask.h: Remove file.
56394         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
56395         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
56396         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
56397         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
56398         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
56399         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
56400         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
56401         HAVE_SIGSET_T as a shell variable.
56402         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
56403         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
56404         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
56405         (Depends-on): Add signal. Remove verify.
56406         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
56407         (Include): Mention <signal.h> instead of sigprocmask.h.
56408         * NEWS: Mention the change.
56409         * lib/fatal-signal.c: Don't include sigprocmask.h.
56410
56411 2007-05-01  Bruno Haible  <bruno@clisp.org>
56412
56413         * modules/signal: New file.
56414         * lib/signal_.h: New file.
56415         * m4/signal_h.m4: New file.
56416
56417 2007-05-01  Bruno Haible  <bruno@clisp.org>
56418
56419         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
56420         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
56421         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
56422         HAVE_WCTYPE_CTMP_BUG into wctype.h.
56423
56424 2007-05-01  Bruno Haible  <bruno@clisp.org>
56425
56426         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
56427         configure time.
56428         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
56429         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
56430         * modules/sys_stat (Makefile.am): Substitute their values into
56431         sys/stat.h.
56432
56433 2007-05-01  Bruno Haible  <bruno@clisp.org>
56434
56435         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
56436         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
56437         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
56438
56439 2007-05-01  Bruno Haible  <bruno@clisp.org>
56440
56441         * doc/header/assert.texi: Undo last change: don't mention the gnulib
56442         'assert' module here.
56443
56444 2007-05-01  Bruno Haible  <bruno@clisp.org>
56445
56446         * doc/functions/*.texi: New files.
56447         * doc/functions/google-ranking.txt: New file.
56448         * doc/gnulib.texi (Function Substitutes): New chapter.
56449         (ctime, inet_ntoa): Remove sections.
56450         * doc/ctime.texi: Remove file.
56451         * doc/inet_ntoa.texi: Remove file.
56452         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
56453         dependencies.
56454         (%.info): New rule, specifying a --reference-limit.
56455
56456 2007-05-01  Bruno Haible  <bruno@clisp.org>
56457
56458         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
56459
56460 2007-05-01  Bruno Haible  <bruno@clisp.org>
56461
56462         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
56463         the portability of 'mkdir' to mingw systems.
56464
56465 2007-05-01  Bruno Haible  <bruno@clisp.org>
56466
56467         * doc/headers/google-ranking.txt: New file.
56468
56469 2007-04-30  Eric Blake  <ebb9@byu.net>
56470
56471         Prefer fseeko to fseek.
56472         * modules/getpass (Depends-on): Add fseeko.
56473         * lib/getpass.c (getpass): Use fseeko, not fseek.
56474
56475 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
56476
56477         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
56478         assumes the sorting is stable, while most qsort implementations
56479         are not.  Use argument addresses to ensure they never compare as
56480         equal.
56481
56482         * tests/test-argp-2.sh (usage-indent test): Fix output
56483         (func_compare): Restore diff options
56484         * tests/test-argp.c: Restore #include "progname.h"
56485
56486 2007-04-29  Bruno Haible  <bruno@clisp.org>
56487
56488         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
56489         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56490         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
56491         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56492         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
56493         (configure.ac): Define CHECK_SNPRINTF_POSIX.
56494         (TESTS, check_PROGRAMS): Add test-snprintf.
56495         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
56496         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
56497         (TESTS, check_PROGRAMS): Add test-vsnprintf.
56498         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
56499         assertions that fail on HP-UX, OSF/1, or IRIX.
56500         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
56501
56502 2007-04-29  Bruno Haible  <bruno@clisp.org>
56503
56504         * MODULES.html.sh (posix_functions): Remove 'contents'.
56505
56506 2007-04-29  Karl Berry  <karl@gnu.org>
56507
56508         * config/srclist.txt (gendocs_template_min): new entry.
56509
56510 2007-04-29  Bruno Haible  <bruno@clisp.org>
56511
56512         Work around fpurge bug on BSD systems.
56513         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
56514         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
56515         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
56516         fpurge to rpl_fpurge if the system already has this function.
56517         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
56518         the case where the system already has this function. Correct invariants
56519         on BSD systems.
56520         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
56521         BSD systems.
56522
56523 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56524
56525         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
56526         proposed by Sven Verdoolaege.
56527
56528         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
56529         options.
56530         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
56531         (usage and help tests): Update
56532
56533 2007-04-29  Bruno Haible  <bruno@clisp.org>
56534
56535         * tests/test-fflush.c (main): Use a file of size 17, not 10.
56536         Print more information in case of failure. Disable a test on BeOS.
56537
56538 2007-04-29  Bruno Haible  <bruno@clisp.org>
56539
56540         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
56541         This helps debugging on systems on which no gdb is available.
56542
56543 2007-04-29  Bruno Haible  <bruno@clisp.org>
56544
56545         * lib/freading.h: Improve comments.
56546         * lib/fwriting.h: Likewise.
56547         * tests/test-freading.c (main): Don't check freading immediately after
56548         repositioning. Needed for glibc.
56549
56550 2007-04-29  Bruno Haible  <bruno@clisp.org>
56551
56552         * lib/freading.c (freading): Trivial simplification.
56553
56554 2007-04-28  Bruno Haible  <bruno@clisp.org>
56555
56556         * tests/test-fwriting.c (main): Also test the interaction between
56557         fflush and fwriting.
56558         * modules/fwriting-tests (Depends-on): Add fflush.
56559
56560         * tests/test-freading.c (main): Also test the interaction between
56561         fflush and freading.
56562         * modules/freading-tests (Depends-on): Add fflush.
56563
56564 2007-04-28  Bruno Haible  <bruno@clisp.org>
56565
56566         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
56567         fseeko and ftello.
56568         Suggested by Eric Blake.
56569
56570 2007-04-28  Jim Meyering  <jim@meyering.net>
56571
56572         Avoid false-negative in gl_STDINT_H's C99 conformance test.
56573         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
56574         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
56575
56576 2007-04-27  Eric Blake  <ebb9@byu.net>
56577
56578         * doc/headers/assert.texi (assert.h): Document assert module use.
56579
56580 2007-04-27  Bruno Haible  <bruno@clisp.org>
56581
56582         * doc/headers/*.texi: New files.
56583         * doc/gnulib.texi (Header File Substitutes): New chapter.
56584         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
56585         dependencies.
56586         (standards.info ,standards.html, standards.dvi): Update dependencies.
56587         (mostlyclean, clean): New targets.
56588
56589 2007-04-27  Bruno Haible  <bruno@clisp.org>
56590
56591         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
56592         * modules/sysexits (Files, Makefile.am): Update.
56593
56594         * lib/sys_socket_.h: Renamed from lib/socket_.h.
56595         * modules/sys_socket (Files, Makefile.am): Update.
56596
56597         * lib/sys_stat_.h: Renamed from lib/stat_.h.
56598         * modules/sys_stat (Files, Makefile.am): Update.
56599
56600 2007-04-27  Eric Blake  <ebb9@byu.net>
56601
56602         * lib/freading.h: Improve comments.
56603         * lib/fwriting.h: Likewise.
56604         * lib/fflush.c: Likewise.
56605
56606         Fix closein for mingw.
56607         * modules/closein-tests: Add tests for closein.
56608         * tests/test-closein.c: New file.
56609         * tests/test-closein.sh: Likewise.
56610         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
56611         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
56612
56613 2007-04-27  Bruno Haible  <bruno@clisp.org>
56614
56615         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
56616         version is < 6.
56617         * lib/math_.h [__DECC]: Likewise.
56618         * lib/stdio_.h [__DECC]: Likewise.
56619         * lib/stdlib_.h [__DECC]: Likewise.
56620         * lib/string_.h [__DECC]: Likewise.
56621         * lib/time_.h [__DECC]: Likewise.
56622         * lib/wchar_.h [__DECC]: Likewise.
56623         * lib/wctype_.h [__DECC]: Likewise.
56624
56625 2007-04-27  Bruno Haible  <bruno@clisp.org>
56626
56627         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
56628
56629 2007-04-27  Bruno Haible  <bruno@clisp.org>
56630
56631         * lib/fflush.c: Add comments.
56632         * modules/fpurge-tests (Depends-on): Add fflush.
56633         * modules/freadable-tests (Depends-on): Likewise.
56634         * modules/fwritable-tests (Depends-on): Likewise.
56635
56636 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
56637
56638         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
56639         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
56640         Report by Bruno Haible <bruno@clisp.org>.
56641
56642 2007-04-26  Eric Blake  <ebb9@byu.net>
56643
56644         Fix fflush on mingw.
56645         * modules/fflush (Depends-on): Add freading.
56646         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
56647         but unread data.
56648
56649 2007-04-26  Eric Blake  <ebb9@byu.net>
56650         and Bruno Haible  <bruno@clisp.org>
56651
56652         Implement freading and fwriting.
56653         * lib/freading.c: New file.
56654         * lib/freading.h: Likewise.
56655         * m4/freading.m4: Likewise.
56656         * modules/freading: Likewise.
56657         * modules/freading-tests: Likewise.
56658         * tests/test-freading.c: Likewise.
56659         * lib/fwriting.c: New file.
56660         * lib/fwriting.h: Likewise.
56661         * m4/fwriting.m4: Likewise.
56662         * modules/fwriting: Likewise.
56663         * modules/fwriting-tests: Likewise.
56664         * tests/test-fwriting.c: Likewise.
56665         * MODULES.html.sh (File stream based Input/Output): Mention them.
56666
56667 2007-04-26  Bruno Haible  <bruno@clisp.org>
56668
56669         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
56670         'long' when we assume it.
56671         Suggested by Eric Blake.
56672
56673 2007-04-26  Bruno Haible  <bruno@clisp.org>
56674
56675         Ensure fseeko, ftello are declared on glibc systems.
56676         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
56677         * modules/fseeko (configure.ac-early): Likewise.
56678         * modules/ftello (configure.ac-early): Likewise.
56679         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
56680         AC_FUNC_FSEEKO for this.
56681         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
56682         (gl_CHECK_FSEEKO): Remove macro.
56683
56684 2007-04-26  Bruno Haible  <bruno@clisp.org>
56685
56686         * tests/test-fflush.c (main): Also check the ftell result after
56687         fflush and fseek/fseeko.
56688         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
56689         file descriptor position cache in the stream.
56690         * lib/fseeko.c (rpl_fseeko): Likewise.
56691
56692 2007-04-26  Bruno Haible  <bruno@clisp.org>
56693
56694         * modules/fflush-tests (Depends-on): Add fseeko.
56695
56696 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
56697             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56698
56699         * lib/argz_.h: ensure error_t definition is obtained in same
56700         mechanism system argz.h would have.
56701         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
56702         argz facilities are known bad.  Err on the side of caution if
56703         cross-compiling.
56704
56705 2007-04-25  Eric Blake  <ebb9@byu.net>
56706
56707         * lib/fpurge.c (includes): Use stdlib.h for free.
56708         * tests/test-fflush.c (main): Also test fflush-fseeko.
56709
56710 2007-04-25  Bruno Haible  <bruno@clisp.org>
56711
56712         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
56713         * lib/fseeko.c: New file.
56714         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
56715         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
56716         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
56717         gl_FUNC_FSEEKO.
56718         (gl_FUNC_FSEEKO): Invoke it.
56719         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
56720         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
56721         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
56722
56723 2007-04-25  Bruno Haible  <bruno@clisp.org>
56724
56725         * modules/fflush (Depends-on): Add ftello.
56726
56727 2007-04-25  Bruno Haible  <bruno@clisp.org>
56728
56729         * modules/ftello-tests: New file.
56730         * tests/test-ftello.c: New file.
56731
56732         * modules/ftello: New file.
56733         * m4/ftello.m4: New file.
56734         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
56735         HAVE_FTELLO.
56736         * lib/stdio_.h (ftello): New declaration.
56737         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
56738         HAVE_FTELLO.
56739
56740 2007-04-25  Bruno Haible  <bruno@clisp.org>
56741
56742         * modules/fseeko-tests: New file.
56743         * tests/test-fseeko.c: New file.
56744
56745         * modules/fseeko: New file.
56746         * m4/fseeko.m4: New file.
56747         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
56748         HAVE_FSEEKO.
56749         * lib/stdio_.h (fseeko): New declaration.
56750         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
56751         HAVE_FSEEKO.
56752
56753 2007-04-25  Bruno Haible  <bruno@clisp.org>
56754
56755         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
56756
56757 2007-04-25  Bruno Haible  <bruno@clisp.org>
56758
56759         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
56760         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
56761         * tests/test-unistd.c: Likewise.
56762         * tests/test-fcntl.c: Likewise.
56763
56764 2007-04-23  Eric Blake  <ebb9@byu.net>
56765
56766         * lib/fflush.c: Fix missing include.
56767         Reported by Bruno Haible.
56768
56769 2007-04-23  Bruno Haible  <bruno@clisp.org>
56770
56771         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
56772         Reported by Eric Blake.
56773
56774 2007-04-23  Bruno Haible  <bruno@clisp.org>
56775
56776         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
56777
56778 2007-04-23  Bruno Haible  <bruno@clisp.org>
56779
56780         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
56781
56782 2007-04-23  Bruno Haible  <bruno@clisp.org>
56783
56784         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
56785         Needed on HP-UX 11.
56786
56787 2007-04-16  Eric Blake  <ebb9@byu.net>
56788
56789         Make fflush rely on fpurge.
56790         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
56791         open coding all variants.
56792         * modules/fflush (Depends-on): Add fpurge and unistd.
56793         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
56794         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
56795
56796         Fix --with-tests compilation on cygwin.
56797         * modules/argmatch-tests (Makefile.am): List gnulib library first
56798         in LDADD.
56799         * modules/argp-tests (Makefile.am): Likewise.
56800         * modules/array-list-tests (Makefile.am): Likewise.
56801         * modules/array-oset-tests (Makefile.am): Likewise.
56802         * modules/avltree-list-tests (Makefile.am): Likewise.
56803         * modules/avltree-oset-tests (Makefile.am): Likewise.
56804         * modules/avltreehash-list-tests (Makefile.am): Likewise.
56805         * modules/carray-list-tests (Makefile.am): Likewise.
56806         * modules/dirname-tests (Makefile.am): Likewise.
56807         * modules/frexp-tests (Makefile.am): Likewise.
56808         * modules/isnanl-tests (Makefile.am): Likewise.
56809         * modules/linked-list-tests (Makefile.am): Likewise.
56810         * modules/linkedhash-list-tests (Makefile.am): Likewise.
56811         * modules/lock-tests (Makefile.am): Likewise.
56812         * modules/rbtree-list-tests (Makefile.am): Likewise.
56813         * modules/rbtree-oset-tests (Makefile.am): Likewise.
56814         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
56815         * modules/tls-tests (Makefile.am): Likewise.
56816         * modules/tsearch-tests (Makefile.am): Likewise.
56817         * modules/xvasprintf-tests (Makefile.am): Likewise.
56818
56819         Fix fpurge for cygwin.
56820         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
56821         value.
56822         * modules/fpurge-tests (Depends-on): Clean up trash.
56823
56824 2007-04-16  Simon Josefsson  <simon@josefsson.org>
56825
56826         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
56827
56828         * m4/autobuild.m4: Re-indent.
56829
56830 2007-04-13  Bruno Haible  <bruno@clisp.org>
56831
56832         * modules/fpurge-tests: New file.
56833         * tests/test-fpurge.c: New file.
56834
56835         * modules/fpurge: New file.
56836         * lib/fpurge.h: New file.
56837         * lib/fpurge.c: New file.
56838         * m4/fpurge.m4: New file.
56839
56840 2007-04-13  Bruno Haible  <bruno@clisp.org>
56841
56842         * modules/fbufmode-tests: New file.
56843         * tests/test-fbufmode.c: New file.
56844
56845         * modules/fbufmode: New file.
56846         * lib/fbufmode.h: New file.
56847         * lib/fbufmode.c: New file.
56848         * m4/fbufmode.m4: New file.
56849
56850 2007-04-13  Bruno Haible  <bruno@clisp.org>
56851
56852         * modules/fwritable-tests: New file.
56853         * tests/test-fwritable.c: New file.
56854
56855         * modules/fwritable: New file.
56856         * lib/fwritable.h: New file.
56857         * lib/fwritable.c: New file.
56858         * m4/fwritable.m4: New file.
56859
56860 2007-04-13  Bruno Haible  <bruno@clisp.org>
56861
56862         * modules/freadable-tests: New file.
56863         * tests/test-freadable.c: New file.
56864
56865         * modules/freadable: New file.
56866         * lib/freadable.h: New file.
56867         * lib/freadable.c: New file.
56868         * m4/freadable.m4: New file.
56869
56870 2007-04-13  Bruno Haible  <bruno@clisp.org>
56871
56872         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
56873         MOSTLYCLEANFILES.
56874
56875 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56876
56877         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
56878         gzip bootstrap.conf to avoid dragging in i18n machinery.
56879         (gnulib_tool_option): Use it.
56880
56881 2007-04-13  Bruno Haible  <bruno@clisp.org>
56882
56883         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
56884         %F directives.
56885         * tests/test-vasprintf-posix.c (test_function): Likewise.
56886         * tests/test-snprintf-posix.h (test_function): Likewise.
56887         * tests/test-sprintf-posix.h (test_function): Likewise.
56888         * tests/test-fprintf-posix.h (test_function): Likewise.
56889         * tests/test-printf-posix.h (test_function): Likewise.
56890         * tests/test-fprintf-posix.out: Likewise.
56891
56892 2007-04-13  Bruno Haible  <bruno@clisp.org>
56893
56894         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
56895         * modules/tls-tests (configure.ac): Likewise.
56896         Reported by Arto C. Nirkko <anirkko@insel.ch>.
56897
56898 2007-04-13  Bruno Haible  <bruno@clisp.org>
56899
56900         * lib/tls.c (glthread_tls_get): Fix return type.
56901         Patch by Arto C. Nirkko <anirkko@insel.ch>.
56902
56903 2007-04-12  Eric Blake  <ebb9@byu.net>
56904
56905         * modules/gettime (Depends-on): Remove gettime.
56906         Reported by Dmitry V. Levin.
56907
56908 2007-04-12  Bruno Haible  <bruno@clisp.org>
56909
56910         * modules/fflush (Include): Mention <stdio.h>.
56911         * modules/strtoimax (Include): Mention <inttypes.h>.
56912         * modules/strtoumax (Include): Likewise.
56913
56914 2007-04-12  Eric Blake  <ebb9@byu.net>
56915
56916         * .cvsignore: New file.
56917         * .gitignore: Likewise.
56918
56919 2007-04-12  Bruno Haible  <bruno@clisp.org>
56920
56921         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
56922         not before, since $(LDADD) often contains libgnu.a.
56923         * modules/striconv-tests (test_striconv_LDADD): Likewise.
56924         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
56925         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
56926         Needed on Cygwin.
56927
56928 2007-04-12  Eric Blake  <ebb9@byu.net>
56929
56930         Work around glibc's failure to flush stdin on fclose.
56931         * lib/closein.c (close_stdin): Flush stdin before closing.
56932
56933         Work around glibc's failure to reset seekable stdin on exit.
56934         * modules/closein: New module.
56935         * lib/closein.c: New file.
56936         * lib/closein.h: Likewise.
56937         * m4/closein.m4: Likewise.
56938         * MODULES.html.sh (File stream based Input/Output): Document it.
56939
56940 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56941
56942         * gnulib-tool: Rename generated 'autobuild' script to
56943         'do-autobuild' in --create-megatestdir output.
56944
56945         * doc/gnulib.texi (Build robot for gnulib): Fix.
56946
56947 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56948
56949         * modules/sysexits (Depends-on): Add absolute-header.
56950
56951 2007-04-12  Eric Blake  <ebb9@byu.net>
56952
56953         No need to preserve errno on success.
56954         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
56955         Reported by Bruno Haible.
56956
56957 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56958
56959         * MODULES.html.sh (Support for maintaining and releasing
56960         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
56961
56962 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56963
56964         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
56965
56966 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56967
56968         * modules/autobuild: New module.
56969
56970         * m4/autobuild.m4: New file.
56971
56972 2007-04-11  Bruno Haible  <bruno@clisp.org>
56973
56974         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
56975         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
56976         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
56977         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
56978         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56979         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56980         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56981         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56982         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56983         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56984         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
56985         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56986         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56987         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
56988         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56989         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56990         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
56991         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56992         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56993         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
56994         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56995         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56996         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
56997         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56998         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56999         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
57000         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
57001         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
57002         Reported by Eric Blake.
57003
57004 2007-04-11  Bruno Haible  <bruno@clisp.org>
57005
57006         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
57007
57008 2007-04-10  Bruno Haible  <bruno@clisp.org>
57009
57010         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
57011         for NaN and Infinity. Needed on FreeBSD 6.1.
57012         * tests/test-vasnprintf-posix.c (test_function): Undo last change
57013         regarding results for "%010a" of Infinity and NaN.
57014         * tests/test-vasprintf-posix.c (test_function): Likewise.
57015         * tests/test-snprintf-posix.h (test_function): Likewise.
57016         * tests/test-sprintf-posix.h (test_function): Likewise.
57017         * tests/test-fprintf-posix.h (test_function): Likewise.
57018         * tests/test-printf-posix.h (test_function): Likewise.
57019         * tests/test-fprintf-posix.out: Likewise.
57020
57021 2007-04-10  Bruno Haible  <bruno@clisp.org>
57022
57023         * modules/locale-tests: New file.
57024         * tests/test-locale.c: New file.
57025
57026         * modules/locale: New file.
57027         * lib/locale_.h: New file.
57028         * m4/locale_h.m4: New file.
57029
57030 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
57031             Bruno Haible  <bruno@clisp.org>
57032
57033         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
57034         be determined, test for availability of the copysignf, copysign,
57035         copysignl functions.
57036         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
57037         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
57038         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
57039
57040 2007-04-09  Eric Blake  <ebb9@byu.net>
57041
57042         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
57043         * modules/stdio (Makefile.am): Support fflush.
57044         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57045         * modules/fflush: New file.
57046         * lib/fflush.c: Likewise.
57047         * m4/fflush.m4: Likewise.
57048         * modules/fflush-tests: New test.
57049         * tests/test-fflush.c: Likewise.
57050         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
57051
57052 2007-04-06  Bruno Haible  <bruno@clisp.org>
57053
57054         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
57055         (VASNPRINTF): Use signbit for faster determination whether to print a
57056         minus sign.
57057         * modules/vasnprintf (Files): Remove lib/float+.h.
57058         * modules/fprintf-posix (Depends-on): Add signbit.
57059         * modules/snprintf-posix (Depends-on): Likewise.
57060         * modules/sprintf-posix (Depends-on): Likewise.
57061         * modules/vasnprintf-posix (Depends-on): Likewise.
57062         * modules/vasprintf-posix (Depends-on): Likewise.
57063         * modules/vfprintf-posix (Depends-on): Likewise.
57064         * modules/vsnprintf-posix (Depends-on): Likewise.
57065         * modules/vsprintf-posix (Depends-on): Likewise.
57066
57067 2007-04-06  Bruno Haible  <bruno@clisp.org>
57068
57069         * tests/test-frexp.c (main): Test also the sign bit of zero results.
57070         * tests/test-frexpl.c (main): Likewise.
57071         * tests/test-ldexpl.c (main): Likewise.
57072         * modules/frexp-tests (Depends-on): Add signbit.
57073         * modules/frexpl-tests (Depdends-on): Likewise.
57074         * modules/ldexpl-tests (Depdends-on): Likewise.
57075
57076 2007-04-06  Bruno Haible  <bruno@clisp.org>
57077
57078         * modules/signbit-tests: New file.
57079         * tests/test-signbit.c: New file.
57080
57081         * modules/signbit: New file.
57082         * lib/signbitf.c: New file.
57083         * lib/signbitd.c: New file.
57084         * lib/signbitl.c: New file.
57085         * m4/signbit.m4: New file.
57086         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
57087         (signbit): New macro.
57088         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
57089         REPLACE_SIGNBIT.
57090         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
57091         REPLACE_FREXPL into math.h.
57092
57093 2007-04-06  Bruno Haible  <bruno@clisp.org>
57094
57095         * modules/isnanf-nolibm-tests: New file.
57096         * tests/test-isnanf.c: New file.
57097
57098         * modules/isnanf-nolibm: New file.
57099         * lib/isnanf.h: New file.
57100         * lib/isnanf.c: New file.
57101         * lib/isnan.c: Consider the USE_FLOAT macro.
57102         * m4/isnanf.m4: New file.
57103
57104 2007-04-06  Bruno Haible  <bruno@clisp.org>
57105
57106         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
57107         (Link): New section.
57108
57109         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
57110
57111 2007-04-06  Bruno Haible  <bruno@clisp.org>
57112
57113         Assume the 'long double' type.
57114         * m4/longdouble.m4: Remove file.
57115         * config/srclist.txt: Don't mention longdouble.m4.
57116         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
57117         * lib/float+.h: Likewise.
57118         * lib/frexp.c: Likewise.
57119         * lib/printf-args.h: Likewise.
57120         * lib/printf-args.c: Likewise.
57121         * lib/printf-frexp.c: Likewise.
57122         * lib/printf-parse.c: Likewise.
57123         * lib/vasnprintf.c: Likewise.
57124         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
57125         * m4/intl.m4: Likewise.
57126         * m4/isnanl.m4: Likewise.
57127         * m4/printf.m4: Likewise.
57128         * m4/printf-frexpl.m4: Likewise.
57129         * m4/vasnprintf.m4: Likewise.
57130         * modules/allocsa (Files): Remove m4/longdouble.m4.
57131         * modules/gettext (Files): Likewise.
57132         * modules/relocatable-prog-wrapper (Files): Likewise.
57133         * modules/vasnprintf (Files): Likewise.
57134         * modules/isnanl (Files): Likewise.
57135         (Include): Simplify.
57136         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
57137         (Include): Simplify.
57138         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
57139         (Include): Simplify.
57140         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
57141         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57142         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
57143         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57144         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
57145         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57146         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
57147         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57148         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
57149         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57150         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
57151         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
57152         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
57153         * tests/test-isnanl.c: Likewise.
57154         * tests/test-snprintf-posix.h: Likewise.
57155         * tests/test-sprintf-posix.h: Likewise.
57156         * tests/test-vasnprintf-posix.c: Likewise.
57157         * tests/test-vasnprintf-posix2.c: Likewise.
57158         * tests/test-vasprintf-posix.c: Likewise.
57159
57160 2007-04-06  Bruno Haible  <bruno@clisp.org>
57161
57162         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
57163         * lib/math_.h [__DECC]: Include the overridden include file through
57164         #include_next, outside the double-inclusion guard.
57165         * lib/stdio_.h [__DECC]: Likewise.
57166         * lib/stdlib_.h [__DECC]: Likewise.
57167         * lib/string_.h [__DECC]: Likewise.
57168         * lib/time_.h [__DECC]: Likewise.
57169         * lib/wchar_.h [__DECC]: Likewise.
57170         * lib/wctype_.h [__DECC]: Likewise.
57171         * lib/inttypes_.h [__DECC]: Likewise.
57172         Reported by Albert Chin <china@thewrittenword.com> in
57173         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
57174
57175 2007-04-04  Eric Blake  <ebb9@byu.net>
57176
57177         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
57178         1.5.x.
57179
57180 2007-04-04  Bruno Haible  <bruno@clisp.org>
57181
57182         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
57183         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
57184
57185 2007-04-04  Bruno Haible  <bruno@clisp.org>
57186
57187         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
57188         results for "%010a" of Infinity and NaN.
57189         * tests/test-vasprintf-posix.c (test_function): Likewise.
57190         * tests/test-snprintf-posix.h (test_function): Likewise.
57191         * tests/test-sprintf-posix.h (test_function): Likewise.
57192         * tests/test-fprintf-posix.h (test_function): Remove these tests.
57193         * tests/test-printf-posix.h (test_function): Likewise.
57194         * tests/test-fprintf-posix.out: Update.
57195         Needed for FreeBSD 6.1.
57196
57197 2007-04-04  Bruno Haible  <bruno@clisp.org>
57198
57199         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
57200         directly used by the gnulib modules nor by gnulib-tool.
57201
57202 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
57203
57204         * DEPENDENCIES: Give overall description of version dependency
57205         desirability.  Use more-typical names for apps.
57206         Add shell, coreutils, diffutils, grep, tar, gzip.
57207
57208 2007-04-04  Simon Josefsson  <simon@josefsson.org>
57209
57210         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
57211
57212 2007-04-04  Karl Berry  <karl@gnu.org>
57213
57214         * MODULES.html.sh (func_module): missing '.
57215
57216 2007-04-03  Bruno Haible  <bruno@clisp.org>
57217
57218         * modules/argmatch-tests (Makefile.am): New variable
57219         test_argmatch_LDADD.
57220         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
57221         * modules/array-list-tests (Makefile.am): New variable
57222         test_array_list_LDADD.
57223         * modules/array-oset-tests (Makefile.am): New variable
57224         test_array_oset_LDADD.
57225         * modules/avltree-list-tests (Makefile.am): New variable
57226         test_avltree_list_LDADD.
57227         * modules/avltree-oset-tests (Makefile.am): New variable
57228         test_avltree_oset_LDADD.
57229         * modules/avltreehash-list-tests (Makefile.am): New variable
57230         test_avltreehash_list_LDADD.
57231         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
57232         test_canonicalize_lgpl_LDADD.
57233         * modules/carray-list-tests (Makefile.am): New variable
57234         test_carray_list_LDADD.
57235         * modules/dirname-tests (Makefile.am): New variable
57236         test_dirname_LDADD.
57237         * modules/linked-list-tests (Makefile.am): New variable
57238         test_linked_list_LDADD.
57239         * modules/linkedhash-list-tests (Makefile.am): New variable
57240         test_linkedhash_list_LDADD.
57241         * modules/rbtree-list-tests (Makefile.am): New variable
57242         test_rbtree_list_LDADD.
57243         * modules/rbtree-oset-tests (Makefile.am): New variable
57244         test_rbtree_oset_LDADD.
57245         * modules/rbtreehash-list-tests (Makefile.am): New variable
57246         test_rbtreehash_list_LDADD.
57247         * modules/xvasprintf-tests (Makefile.am): New variable
57248         test_xvasprintf_LDADD.
57249         Reported by Eric Blake.
57250
57251 2007-04-03  Eric Blake  <ebb9@byu.net>
57252
57253         * DEPENDENCIES: Weaken m4 requirements.
57254
57255 2007-04-03  Bruno Haible  <bruno@clisp.org>
57256
57257         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
57258         * modules/isnanl-tests (configure.ac): Likewise.
57259
57260 2007-04-03  Ben Pfaff  <blp@gnu.org>
57261
57262         * modules/iconv_open: Add $(srcdir)/ to source directory
57263         references in Makefile fragments that call gperf, to fix VPATH
57264         builds.
57265
57266 2007-04-03  Bruno Haible  <bruno@clisp.org>
57267
57268         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
57269         * lib/ldexpl.c: Undo last change.
57270
57271 2007-04-03  Bruno Haible  <bruno@clisp.org>
57272
57273         * modules/printf-frexpl (Depends-on): Undo last change.
57274         (Files): Add m4/ldexpl.m4.
57275
57276 2007-04-03  Bruno Haible  <bruno@clisp.org>
57277
57278         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
57279         * modules/isnanl (Link): New section.
57280
57281         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
57282         * modules/frexp (Link): New section.
57283
57284         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
57285         * modules/frexpl (Link): New section.
57286
57287         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
57288         * modules/ldexpl (Link): New section.
57289
57290 2007-04-03  Bruno Haible  <bruno@clisp.org>
57291
57292         * modules/TEMPLATE-EXTENDED: New file.
57293         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
57294
57295 2007-04-03  Bruno Haible  <bruno@clisp.org>
57296
57297         * DEPENDENCIES: New file.
57298         Suggested by Simon Josefsson.
57299
57300 2007-04-03  Bruno Haible  <bruno@clisp.org>
57301
57302         * doc/gnulib.texi: Escape @.
57303
57304 2007-04-03  James Youngman  <jay@gnu.org>
57305         and Paul Eggert  <eggert@cs.ucla.edu>
57306
57307         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
57308         birthtime on all systems that have birthtime, not just those which
57309         use st_birthtimensec rather than st_birthtim.  Putting zero in
57310         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
57311         that the birth time is not available for files on an NFS mount.
57312
57313 2007-04-03  Simon Josefsson  <simon@josefsson.org>
57314
57315         * modules/memxor: Move back from crypto/, suggested by Bruno.
57316         * modules/crypto/hmac-sha1: Fix memxor dependency.
57317
57318         * modules/crypto/gc: Moved from ../.
57319
57320 2007-04-02  Eric Blake  <ebb9@byu.net>
57321
57322         * lib/ldexpl.c (includes): Avoid libm.
57323
57324         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
57325
57326 2007-04-02  Bruno Haible  <bruno@clisp.org>
57327
57328         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
57329         on IRIX.
57330
57331 2007-04-02  Bruno Haible  <bruno@clisp.org>
57332
57333         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
57334         x86 or x86_64 platforms running MacOS X.
57335         Reported by Ryan Schmidt <@ryandesign.com>.
57336
57337 2007-04-02  Bruno Haible  <bruno@clisp.org>
57338
57339         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
57340         i386.
57341
57342 2007-04-01  Simon Josefsson  <simon@josefsson.org>
57343
57344         * modules/crypto/arcfour: Moved from ../.
57345         * modules/crypto/arcfour-tests: Moved from ../.
57346         * modules/crypto/arctwo: Moved from ../.
57347         * modules/crypto/arctwo-tests: Moved from ../.
57348         * modules/crypto/des: Moved from ../.
57349         * modules/crypto/des-tests: Moved from ../.
57350         * modules/crypto/gc-arcfour: Moved from ../.
57351         * modules/crypto/gc-arcfour-tests: Moved from ../.
57352         * modules/crypto/gc-arctwo: Moved from ../.
57353         * modules/crypto/gc-arctwo-tests: Moved from ../.
57354         * modules/crypto/gc-des: Moved from ../.
57355         * modules/crypto/gc-des-tests: Moved from ../.
57356         * modules/crypto/gc-hmac-md5: Moved from ../.
57357         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
57358         * modules/crypto/gc-hmac-sha1: Moved from ../.
57359         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
57360         * modules/crypto/gc-md2: Moved from ../.
57361         * modules/crypto/gc-md2-tests: Moved from ../.
57362         * modules/crypto/gc-md4: Moved from ../.
57363         * modules/crypto/gc-md4-tests: Moved from ../.
57364         * modules/crypto/gc-md5: Moved from ../.
57365         * modules/crypto/gc-md5-tests: Moved from ../.
57366         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
57367         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
57368         * modules/crypto/gc-random: Moved from ../.
57369         * modules/crypto/gc-rijndael: Moved from ../.
57370         * modules/crypto/gc-rijndael-tests: Moved from ../.
57371         * modules/crypto/gc-sha1: Moved from ../.
57372         * modules/crypto/gc-sha1-tests: Moved from ../.
57373         * modules/crypto/gc-tests: Moved from ../.
57374         * modules/crypto/hmac-md5: Moved from ../.
57375         * modules/crypto/hmac-md5-tests: Moved from ../.
57376         * modules/crypto/hmac-sha1: Moved from ../.
57377         * modules/crypto/hmac-sha1-tests: Moved from ../.
57378         * modules/crypto/md2: Moved from ../.
57379         * modules/crypto/md2-tests: Moved from ../.
57380         * modules/crypto/md4: Moved from ../.
57381         * modules/crypto/md4-tests: Moved from ../.
57382         * modules/crypto/md5: Moved from ../.
57383         * modules/crypto/md5-tests: Moved from ../.
57384         * modules/crypto/memxor: Moved from ../.
57385         * modules/crypto/rijndael: Moved from ../.
57386         * modules/crypto/rijndael-tests: Moved from ../.
57387         * modules/crypto/sha1: Moved from ../.
57388
57389 2007-03-30  James Youngman  <jay@gnu.org>
57390
57391         * tests/test-stat-time.c (prepare_test): use chmod() rather than
57392         rename() to change the ctime of a file (because ctime is unaffected
57393         by rename on jfs2 on AIX 5.1).
57394         (main): Start by doing cleanup, in case a previous run failed leaving
57395         test files behind.
57396
57397 2007-03-31  Bruno Haible  <bruno@clisp.org>
57398
57399         Support old proprietary implementations of iconv.
57400         * modules/iconv_open: New file.
57401         * lib/iconv_.h: New file.
57402         * m4/iconv_h.m4: New file.
57403         * lib/iconv_open.c: New file.
57404         * lib/iconv_open-aix.gperf: New file.
57405         * lib/iconv_open-hpux.gperf: New file.
57406         * lib/iconv_open-irix.gperf: New file.
57407         * lib/iconv_open-osf.gperf: New file.
57408         * m4/iconv_open.m4: New file.
57409         * modules/linebreak (Depends-on): Add iconv_open.
57410         * modules/striconv (Depends-on): Likewise.
57411         * modules/striconveh (Depends-on): Likewise.
57412         * modules/unicodeio (Depends-on): Likewise.
57413         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
57414         (iconv_t)(-1).
57415         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
57416         conversion if cd is (iconv_t)(-1).
57417         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
57418         is not possible.
57419
57420 2007-03-31  Bruno Haible  <bruno@clisp.org>
57421
57422         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
57423         work on Solaris either. Protect also second use of "autodetect_jp".
57424
57425 2007-03-31  Bruno Haible  <bruno@clisp.org>
57426
57427         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
57428         the function is not present.
57429
57430 2007-03-31  Bruno Haible  <bruno@clisp.org>
57431
57432         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
57433         the function is not present.
57434
57435 2007-03-31  Bruno Haible  <bruno@clisp.org>
57436
57437         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
57438         a bug in HP-UX iconv_open().
57439
57440 2007-03-31  Bruno Haible  <bruno@clisp.org>
57441
57442         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
57443         (Mathematics <math.h>): New section, add fpieee.
57444         (Input/output <stdio.h>): Add fseterr.
57445         (Mathematics <math.h>): New section, add printf-frexp.
57446         (Container data structures): Add sublist.
57447         (Core language properties): Add fpucw, inline.
57448         (Functions for greatest-width integer types <inttypes.h>): Add
57449         imaxabs, imaxdiv, inttypes.
57450         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
57451         isnanl-nolibm, ldexp.
57452         (Mathematics <math.h>): New section, add printf-frexpl.
57453         (Support for systems lacking POSIX:2001): Add fprintf-posix,
57454         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
57455         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
57456         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
57457         (Unicode string functions): Add unistr/u*-mbtoucr.
57458         (Java): Add javacomp-script, javaexec-script.
57459         (C#): Add csharpcomp-script, csharpexec-script.
57460         (Support for building libraries and executables): Add havelib,
57461         relocatable-*.
57462         (Support for maintaining and releasing projects): Renamed from
57463         'Support for maintaining and release projects'. Add announce-gen.
57464
57465 2007-03-31  Bruno Haible  <bruno@clisp.org>
57466
57467         * README: Talk primarily about git.
57468         (git and CVS): Renamed from CVS.
57469         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
57470         gnulib is available through git.
57471         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
57472
57473 2007-03-30  Bruno Haible  <bruno@clisp.org>
57474
57475         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
57476         * lib/poll_.h: Likewise.
57477         * lib/stat_.h: Likewise.
57478         * lib/sys_time_.h: Likewise.
57479         * lib/sysexit_.h: Likewise.
57480         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
57481         * lib/stdbool_.h: Likewise.
57482         * lib/byteswap_.h: Add double-inclusion guard.
57483
57484 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
57485
57486         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
57487
57488 2007-03-30  Karl Berry  <karl@gnu.org>
57489
57490         * config/srclist-update: double space after USA in the license
57491         substitution, since that's how it's usually (?) written.
57492
57493 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
57494
57495         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
57496         reported by Bruno Haible.
57497
57498 2007-03-29  Bruno Haible  <bruno@clisp.org>
57499
57500         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
57501         a bug in AIX iconv().
57502
57503 2007-03-29  Bruno Haible  <bruno@clisp.org>
57504
57505         * modules/ldexpl-tests: New file.
57506         * tests/test-ldexpl.c: New file.
57507
57508 2007-03-29  Bruno Haible  <bruno@clisp.org>
57509
57510         * lib/ldexpl.c: Include fpucw.h.
57511         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
57512         multiplication.
57513         * modules/ldexpl (Depends-on): Add fpucw.
57514
57515 2007-03-29  Bruno Haible  <bruno@clisp.org>
57516
57517         * modules/ldexpl: New file.
57518         * m4/ldexpl.m4: New file.
57519         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
57520         set.
57521         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
57522         REPLACE_LDEXPL.
57523         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
57524         REPLACE_LDEXPL.
57525         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
57526         gl_FUNC_LDEXPL_WORKS.
57527         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
57528         * modules/mathl (Files): Remove lib/ldexpl.c.
57529         (Depends-on): Add ldexpl.
57530
57531 2007-03-29  Bruno Haible  <bruno@clisp.org>
57532
57533         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
57534
57535 2007-03-29  Bruno Haible  <bruno@clisp.org>
57536
57537         * tests/test-striconveh.c (main): Don't assume that a direct conversion
57538         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
57539         and possibly also HP-UX.
57540         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
57541         work on AIX, IRIX, HP-UX, OSF/1.
57542         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
57543         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
57544         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
57545         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
57546         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
57547         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
57548
57549 2007-03-29  Bruno Haible  <bruno@clisp.org>
57550
57551         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
57552
57553 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
57554
57555         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
57556         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
57557
57558 2007-03-29  Eric Blake  <ebb9@byu.net>
57559
57560         * lib/acl-internal.h: Remove redundant include.
57561         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
57562         Cygwin when a file is locked.
57563
57564 2007-03-29  Bruno Haible  <bruno@clisp.org>
57565
57566         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
57567         file.
57568         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
57569
57570 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
57571
57572         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
57573         try to remove a parent directory if the child couldn't be removed
57574         (except for the first rmdir, which could fail because the child
57575         doesn't exist).  Problem reported by Jeff Blaine in
57576         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
57577
57578 2007-03-28  Bruno Haible  <bruno@clisp.org>
57579
57580         * lib/striconveh.c (utf8conv_carefully): New function.
57581         (mem_cd_iconveh_internal): Invoke it.
57582
57583 2007-03-28  Bruno Haible  <bruno@clisp.org>
57584
57585         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
57586         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
57587         input.
57588         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
57589         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
57590         unistr/u8-uctomb.
57591
57592 2007-03-28  Bruno Haible  <bruno@clisp.org>
57593
57594         * modules/unistr/u8-mbtoucr: New file.
57595         * lib/unistr/u8-mbtoucr.c: New file.
57596         * modules/unistr/u16-mbtoucr: New file.
57597         * lib/unistr/u16-mbtoucr.c: New file.
57598         * modules/unistr/u16-mbtoucr: New file.
57599         * lib/unistr/u16-mbtoucr.c: New file.
57600         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
57601
57602 2007-03-27  Simon Josefsson  <simon@josefsson.org>
57603             Bruno Haible  <bruno@clisp.org>
57604
57605         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
57606         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
57607         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
57608
57609         * m4/stdio_h.m4: Add stubs for vasprintf too.
57610
57611         * modules/stdio: Support vasprintf in sed command.
57612
57613         * modules/vasprintf: Depend on stdio for prototypes.  Remove
57614         vasprintf.h.  Add stdio module indicator.
57615
57616         * lib/stdio_.h: Declare asprintf and vasprintf, based on
57617         vasprintf.h.
57618
57619         * lib/vasprintf.h: File removed.
57620
57621         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
57622         * lib/vasprintf.c: Ditto.
57623         * lib/xvasprintf.c: Ditto.
57624         * tests/test-vasprintf-posix.c: Ditto.
57625         * tests/test-vasprintf.c: Ditto.
57626
57627 2007-03-27  Bruno Haible  <bruno@clisp.org>
57628
57629         Make vasnprintf multithread-safe.
57630         * lib/vasnprintf.c (decimal_point_char): New function.
57631         (VASNPRINTF): Use it.
57632         Suggested by Simon Josefsson.
57633
57634 2007-03-27  Eric Blake  <ebb9@byu.net>
57635
57636         Support sub-second birthtime on cygwin.
57637         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
57638         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
57639         (get_stat_birthtime): Also work with st_birthtim.
57640
57641 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
57642
57643         * lib/stat-time.h (USE_BIRTHTIME): Remove.
57644         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
57645         (get_stat_birthtime_ns): Do not try to use "spare" fields.
57646         (get_stat_birthtime_ns): Simplify compile-time tests.
57647         (get_stat_birthtime): Change the API to look like
57648         get_stat_mtime etc., except return a negative tv_nsec on error.
57649         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
57650         Don't check for "spare" fields.
57651         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
57652         or for struct stat.st_birthtime, as these tests aren't used.
57653         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
57654
57655 2007-03-27  Bruno Haible  <bruno@clisp.org>
57656
57657         * lib/stat-time.h: Include <sys/stat.h>.
57658
57659 2007-03-27  James Youngman  <jay@gnu.org>
57660
57661         * lib/stat-time.h (get_stat_birthtime): New function for
57662           retrieving st_birthtime as provided by UFS2 (hence *BSD).
57663         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
57664           and its variants.
57665         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
57666         * modules/stat-time-test: New file.
57667         * tests/test-stat-time.c: New test, devised by Bruno Haible.
57668
57669 2007-03-26  Bruno Haible  <bruno@clisp.org>
57670
57671         Better support of signalling NaNs.
57672         * lib/atanl.c: Include isnanl.h.
57673         (atanl): Perform test for NaN at the beginning of the function and
57674         through a call to isnanl.
57675         * lib/cosl.c: Include isnanl.h.
57676         (cosl): Perform test for NaN at the beginning of the function and
57677         through a call to isnanl.
57678         * lib/ldexpl.c: Include isnanl.h.
57679         (ldexpl): Perform test for NaN through a call to isnanl.
57680         * lib/logl.c: Include isnanl.h.
57681         (logl): Perform test for NaN at the beginning of the function and
57682         through a call to isnanl.
57683         * lib/sinl.c: Include isnanl.h.
57684         (sinl): Perform test for NaN at the beginning of the function and
57685         through a call to isnanl.
57686         * lib/sqrtl.c: Include isnanl.h.
57687         (sqrtl): Perform test for NaN at the beginning of the function and
57688         through a call to isnanl.
57689         * lib/tanl.c: Include isnanl.h.
57690         (tanl): Perform test for NaN at the beginning of the function and
57691         through a call to isnanl.
57692         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
57693         * modules/mathl (Depends-on): Add isnanl.
57694
57695 2007-03-26  Eric Blake  <ebb9@byu.net>
57696
57697         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
57698         regression in logic sense of previous patch.
57699
57700 2007-03-26  Bruno Haible  <bruno@clisp.org>
57701
57702         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
57703         unportable shell command "if ! ...".
57704         Reported by Ralf Wildenhues.
57705
57706 2007-03-25  Bruno Haible  <bruno@clisp.org>
57707
57708         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
57709         <sysexits.h> file, and only add EX_CONFIG.
57710         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
57711         absolute file name and whether it is sufficient. Substitute also
57712         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
57713         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
57714         ABSOLUTE_SYSEXITS_H into sysexits.h.
57715
57716 2007-03-25  Bruno Haible  <bruno@clisp.org>
57717
57718         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
57719         hints is NULL.
57720
57721 2007-03-25  Bruno Haible  <bruno@clisp.org>
57722
57723         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
57724         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
57725
57726 2007-03-25  Bruno Haible  <bruno@clisp.org>
57727
57728         * lib/vasnprintf.c: Include langinfo.h.
57729         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
57730         multithread-safe.
57731         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
57732         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
57733         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57734         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57735         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57736         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57737         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57738         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
57739         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57740         Reported by Simon Josefsson.
57741
57742 2007-03-25  Bruno Haible  <bruno@clisp.org>
57743
57744         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
57745         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
57746         * modules/vasnprintf (Depends-on): Add stdint.
57747
57748 2007-03-25  Bruno Haible  <bruno@clisp.org>
57749
57750         * modules/fpieee: New file.
57751         * m4/fpieee.m4: New file.
57752         * modules/isnan-nolibm (Depends-on): Add fpieee.
57753         * modules/isnanl-nolibm (Depends-on): Add fpieee.
57754         * modules/isnanl (Depends-on): Add fpieee.
57755
57756 2007-03-25  Bruno Haible  <bruno@clisp.org>
57757
57758         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
57759
57760 2007-03-25  Bruno Haible  <bruno@clisp.org>
57761
57762         Avoid test failures on IRIX 6.5.
57763         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
57764         (main): Use it.
57765         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
57766         macros.
57767         (main): Use them.
57768
57769 2007-03-25  Bruno Haible  <bruno@clisp.org>
57770
57771         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
57772         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
57773         exists but doesn't work.
57774         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
57775         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
57776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
57777         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
57778         math.h.
57779
57780 2007-03-25  Bruno Haible  <bruno@clisp.org>
57781
57782         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
57783         returns inf. Needed on IRIX 6.5.
57784
57785 2007-03-25  Bruno Haible  <bruno@clisp.org>
57786
57787         * tests/test-frexpl.c: Include isnanl-nolibm.h.
57788         (main): Use isnanl instead of x != x idiom.
57789         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
57790
57791         * tests/test-frexp.c: Include isnan.h.
57792         (main): Use isnan instead of x != x idiom.
57793         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
57794
57795 2007-03-25  Bruno Haible  <bruno@clisp.org>
57796
57797         * tests/test-frexp.c (NaN): New function/macro.
57798         (main): Use it instead of 0.0 / 0.0.
57799         * tests/test-isnan.c (NaN): New function/macro.
57800         (main): Use it instead of 0.0 / 0.0.
57801         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
57802         (test_function): Use it instead of 0.0 / 0.0.
57803         * tests/test-vasprintf-posix.c (NaN): New function/macro.
57804         (test_function): Use it instead of 0.0 / 0.0.
57805         * tests/test-snprintf-posix.h (NaN): New function/macro.
57806         (test_function): Use it instead of 0.0 / 0.0.
57807         * tests/test-sprintf-posix.h (NaN): New function/macro.
57808         (test_function): Use it instead of 0.0 / 0.0.
57809         * tests/test-fprintf-posix.h (NaN): New function/macro.
57810         (test_function): Use it instead of 0.0 / 0.0.
57811         * tests/test-printf-posix.h (NaN): New function/macro.
57812         (test_function): Use it instead of 0.0 / 0.0.
57813
57814         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
57815
57816 2007-03-25  Bruno Haible  <bruno@clisp.org>
57817
57818         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
57819
57820 2007-03-25  Bruno Haible  <bruno@clisp.org>
57821
57822         * lib/regexec.c (merge_state_with_log): Make static.
57823
57824 2007-03-25  Bruno Haible  <bruno@clisp.org>
57825
57826         * lib/trigl.c (kernel_rem_pio2): Make static.
57827
57828 2007-03-25  Bruno Haible  <bruno@clisp.org>
57829
57830         * lib/sincosl.c (sincosl_table): Make static.
57831
57832 2007-03-25  Bruno Haible  <bruno@clisp.org>
57833
57834         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
57835         if the compiler does not support C99.
57836
57837 2007-03-25  Bruno Haible  <bruno@clisp.org>
57838
57839         * modules/time (Makefile.am): Ensure all rule action lines start with a
57840         tab.
57841
57842 2007-03-24  Bruno Haible  <bruno@clisp.org>
57843
57844         * modules/tsearch-tests: New file.
57845         * tests/test-tsearch.sh: New file.
57846         * tests/test-tsearch.c: New file, mostly copied from glibc.
57847
57848         * modules/search-tests: New file.
57849         * tests/test-search.c: New file.
57850
57851         * modules/search: New file.
57852         * lib/search_.h: New file, incorporating lib/tsearch.h.
57853         * m4/search_h.m4: New file.
57854         * lib/tsearch.h: Remove file.
57855         * lib/tsearch.c: Include search.h instead of tsearch.h.
57856         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
57857         HAVE_TSEARCH.
57858         * modules/tsearch (Files): Remove lib/tsearch.h.
57859         (Depends-on): Add search.
57860         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
57861         (Include): Change tsearch.h into search.h.
57862
57863 2007-03-24  Bruno Haible  <bruno@clisp.org>
57864
57865         * modules/fpucw: New file.
57866         * lib/fpucw.h: New file.
57867         * lib/frexp.c: Include fpucw.h.
57868         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
57869         (FUNC): Use them.
57870         * lib/printf-frexp.c: Include fpucw.h.
57871         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
57872         (FUNC): Use them.
57873         * lib/vasnprintf.c: Include fpucw.h.
57874         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
57875         'long double' calculations.
57876         * tests/test-frexpl.c: Include fpucw.h.
57877         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
57878         * tests/test-printf-frexpl.c: Include fpucw.h.
57879         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
57880         * modules/frexpl (Depends-on): Add fpucw.
57881         * modules/printf-frexpl (Depends-on): Likewise.
57882         * modules/fprintf-posix (Depends-on): Likewise.
57883         * modules/snprintf-posix (Depends-on): Likewise.
57884         * modules/sprintf-posix (Depends-on): Likewise.
57885         * modules/vasnprintf-posix (Depends-on): Likewise.
57886         * modules/vasprintf-posix (Depends-on): Likewise.
57887         * modules/vfprintf-posix (Depends-on): Likewise.
57888         * modules/vsnprintf-posix (Depends-on): Likewise.
57889         * modules/vsprintf-posix (Depends-on): Likewise.
57890         * modules/frexpl-tests (Depends-on): Likewise.
57891         * modules/printf-frexpl-tests (Depends-on): Likewise.
57892
57893 2007-03-24  Bruno Haible  <bruno@clisp.org>
57894
57895         * lib/float+.h: New file.
57896         * lib/isnan.c: Include float+.h.
57897         (SIZE): New macro.
57898         (FUNC): Compare only SIZE bytes of the value.
57899         * lib/vasnprintf.c: Include float+.h.
57900         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
57901         SIZEOF_LDBL or SIZEOF_DBL bytes.
57902         * modules/isnan-nolibm (Files): Add lib/float+.h.
57903         * modules/isnanl-nolibm (Files): Add lib/float+.h.
57904         * modules/isnanl (Files): Add lib/float+.h.
57905         * modules/vasnprintf (Files): Add lib/float+.h.
57906
57907 2007-03-24  Bruno Haible  <bruno@clisp.org>
57908
57909         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
57910         include isnanl-nolibm.h.
57911
57912 2007-03-24  Bruno Haible  <bruno@clisp.org>
57913
57914         * tests/test-read-file.c (main): Don't produce spurious output for
57915         expected situations. Make the test fail if it encountered unexpected
57916         results.
57917
57918 2007-03-24  Bruno Haible  <bruno@clisp.org>
57919
57920         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
57921         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
57922
57923 2007-03-24  Bruno Haible  <bruno@clisp.org>
57924
57925         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
57926
57927 2007-03-24  Bruno Haible  <bruno@clisp.org>
57928
57929         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
57930         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
57931
57932         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
57933         * modules/utf8-ucs4: Turn into a symbolic link to module
57934         unistr/u8-mbtouc.
57935
57936         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
57937         utf8-ucs4-unsafe.
57938         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
57939         unistr/u8-mbtouc-unsafe.
57940
57941         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
57942         * modules/utf16-ucs4: Turn into a symbolic link to module
57943         unistr/u16-mbtouc.
57944
57945         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
57946         utf16-ucs4-unsafe.
57947         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
57948         unistr/u16-mbtouc-unsafe.
57949
57950         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
57951         * modules/ucs4-utf8: Turn into a symbolic link to module
57952         unistr/u8-ubtomb.
57953
57954         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
57955         * modules/ucs4-utf16: Turn into a symbolic link to module
57956         unistr/u16-ubtomb.
57957
57958 2007-03-24  Bruno Haible  <bruno@clisp.org>
57959
57960         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
57961         Enable the function only if HAVE_INLINE.
57962         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
57963         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
57964         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
57965         Enable the function only if HAVE_INLINE.
57966         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
57967         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
57968         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
57969         Enable the function only if HAVE_INLINE.
57970         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
57971         Enable the function only if HAVE_INLINE.
57972         * modules/utf8-ucs4: Update.
57973         * modules/utf8-ucs4-unsafe: Update.
57974         * modules/utf16-ucs4: Update.
57975         * modules/utf16-ucs4-unsafe: Update.
57976         * modules/ucs4-utf8: Update.
57977         * modules/ucs4-utf16: Update.
57978
57979 2007-03-24  Bruno Haible  <bruno@clisp.org>
57980
57981         * lib/utf8-ucs4.h: Remove file.
57982         * lib/utf8-ucs4-unsafe.h: Remove file.
57983         * lib/utf16-ucs4.h: Remove file.
57984         * lib/utf16-ucs4-unsafe.h: Remove file.
57985         * lib/ucs4-utf8.h: Remove file.
57986         * lib/ucs4-utf16.h: Remove file.
57987         * lib/unistr.h: Include their previous contents.
57988         * m4/utf-ucs4.m4: Remove file.
57989         * m4/ucs4-utf.m4: Remove file.
57990         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
57991         (Depends-on): Add unistr/base.
57992         (configure.ac): Remove gl_UTF_UCS4.
57993         (Makefile.am): Update.
57994         (Include): Change to unistr.h.
57995         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
57996         (Depends-on): Add unistr/base.
57997         (configure.ac): Remove gl_UTF_UCS4.
57998         (Makefile.am): Update.
57999         (Include): Change to unistr.h.
58000         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
58001         (Depends-on): Add unistr/base.
58002         (configure.ac): Remove gl_UTF_UCS4.
58003         (Makefile.am): Update.
58004         (Include): Change to unistr.h.
58005         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
58006         (Depends-on): Add unistr/base.
58007         (configure.ac): Remove gl_UTF_UCS4.
58008         (Makefile.am): Update.
58009         (Include): Change to unistr.h.
58010         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
58011         (Depends-on): Add unistr/base.
58012         (configure.ac): Remove gl_UCS4_UTF.
58013         (Makefile.am): Update.
58014         (Include): Change to unistr.h.
58015         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
58016         (Depends-on): Add unistr/base.
58017         (configure.ac): Remove gl_UCS4_UTF.
58018         (Makefile.am): Update.
58019         (Include): Change to unistr.h.
58020         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
58021         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
58022         utf8-ucs4-unsafe.h.
58023         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
58024         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
58025         utf16-ucs4-unsafe.h.
58026         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
58027         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
58028         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
58029         * lib/unistr/u8-strchr.c: Likewise.
58030         * lib/unistr/u8-strrchr.c: Likewise.
58031         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
58032         * lib/unistr/u16-strchr.c: Likewise.
58033         * lib/unistr/u16-strrchr.c: Likewise.
58034         * lib/striconveh.c: Update.
58035         * lib/linebreak.c: Update.
58036
58037 2007-03-24  Bruno Haible  <bruno@clisp.org>
58038
58039         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
58040         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
58041
58042 2007-03-22  Bruno Haible  <bruno@clisp.org>
58043
58044         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
58045
58046 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
58047
58048         * MODULES.html.sh (File system functions): New module write-any-file.
58049         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
58050         * m4/write-any-file.m4: New files.
58051
58052 2007-03-23  Eric Blake  <ebb9@byu.net>
58053
58054         * gnulib-tool: Rearrange space-tab sequences, since some editors
58055         like to eat them.
58056
58057 2007-03-23  Eric Blake  <ebb9@byu.net>
58058
58059         * lib/version-etc.c (version_etc_va): Update license wording to
58060         be more concise.  Recommended by Richard Stallman.
58061
58062 2007-03-22  Bruno Haible  <bruno@clisp.org>
58063
58064         * lib/poll.c (MSG_PEEK): New fallback definition.
58065
58066 2007-03-22  Bruno Haible  <bruno@clisp.org>
58067
58068         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
58069         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
58070         (main): Update.
58071         Fixes a compilation error on BeOS.
58072
58073 2007-03-22  Bruno Haible  <bruno@clisp.org>
58074
58075         * modules/frexpl-tests: New file.
58076         * tests/test-frexpl.c: New file.
58077
58078         * modules/frexpl: New file.
58079         * m4/frexpl.m4: New file.
58080         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
58081         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
58082         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
58083         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
58084         (Depends-on): Add frexpl. Remove isnanl-nolibm.
58085         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
58086
58087 2007-03-22  Bruno Haible  <bruno@clisp.org>
58088
58089         * lib/frexpl.c: Share code with lib/frexp.c.
58090         * modules/mathl (Files): Add lib/frexp.c.
58091         (Depends-on): Add isnanl-nolibm.
58092
58093 2007-03-22  Bruno Haible  <bruno@clisp.org>
58094
58095         * modules/printf-frexp (Files): Add m4/frexp.m4.
58096         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
58097         only if the found frexp function actually works.
58098
58099 2007-03-22  Bruno Haible  <bruno@clisp.org>
58100
58101         * lib/frexp.c: Remove older implementation that uses divisions.
58102
58103 2007-03-21  Bruno Haible  <bruno@clisp.org>
58104
58105         * modules/frexp-tests: New file.
58106         * tests/test-frexp.c: New file.
58107
58108         * modules/frexp: New file.
58109         * lib/frexp.c: New file.
58110         * m4/frexp.m4: New file.
58111         * lib/math_.h (frexp): New declaration.
58112         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
58113         REPLACE_FREXP.
58114         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
58115
58116 2007-03-21  Bruno Haible  <bruno@clisp.org>
58117
58118         * modules/isnanl-tests: New file.
58119         * tests/test-isnanl.c: New file.
58120
58121         * modules/isnanl: New file.
58122         * lib/isnanl.h: New file.
58123         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
58124         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
58125         gl_FUNC_ISNANL_WORKS.
58126         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
58127         New macros.
58128
58129 2007-03-21  Bruno Haible  <bruno@clisp.org>
58130
58131         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
58132         lib/isnanl.h.
58133         (Include): Update.
58134         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
58135         * lib/vasnprintf.c: Update.
58136         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
58137         tests/test-isnanl.h, remove tests/test-isnanl.c.
58138         (Makefile.am): Update.
58139         * tests/test-isnanl-nolibm.c: New file.
58140         * tests/test-isnanl.h: New file.
58141         * tests/test-isnanl.c: Remove file.
58142
58143 2007-03-21  Jim Meyering  <jim@meyering.net>
58144
58145         When trying to open ".", treat ESTALE like EACCES.
58146         * lib/savewd.c (savewd_save): Resort to forking not just upon
58147         failure with EACCES, but also when errno is ESTALE.
58148
58149 2007-03-20  Bruno Haible  <bruno@clisp.org>
58150
58151         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
58152         Needed on AIX 5.1. Reported by Matthew Woehlke.
58153
58154 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58155
58156         Suggestions by Bruno Haible:
58157         * lib/acl-internal.h: Include "gettext.h" rather than rolling
58158         our own.
58159         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
58160         * modules/acl (Depends-on): Add gettext.
58161
58162 2007-03-19  Bruno Haible  <bruno@clisp.org>
58163
58164         * modules/iconvme: Remove file.
58165         * lib/iconvme.h: Remove file.
58166         * lib/iconvme.c: Remove file.
58167         * m4/iconvme.m4: Remove file.
58168
58169 2007-03-19  Bruno Haible  <bruno@clisp.org>
58170
58171         * doc/relocatable-maint.texi: Break long shell script line.
58172         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
58173
58174 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58175
58176         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
58177         handle file_has_acl.
58178         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
58179         * lib/acl.c: Move header inclusions and related macro defns into
58180         lib/acl-internal.h.
58181         (S_ISLNK): Remove defn, since that's now done for us.
58182         (file_has_acl): Move to lib/file-has-acl.c.
58183         Call acl_trivial if available.  This is the crucial part of the fix.
58184         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
58185         shared within the library.  Rewrite a bit, partly to make it compatible
58186         with the GNU coding style.
58187         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
58188         Remove unnecessary double-quotes.
58189         Don't test for acl_to_text; the build will catch that.
58190         Replace acl_entries if it doesn't exist and it is needed.
58191         Check for -lsec and acl_trivial (as used on Solaris 10).
58192         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
58193         lib/file-has-acl.c.
58194         (Depends-on): Add sys_stat, for S_ISLNK.
58195
58196 2007-03-19  Ben Pfaff  <blp@gnu.org>
58197
58198         * doc/gnulib.texi: Fix typos.
58199         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
58200
58201 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58202
58203         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
58204         If size is zero here, buf must be zero.
58205
58206 2007-03-19  Simon Josefsson  <simon@josefsson.org>
58207
58208         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
58209         <bruno@clisp.org>.
58210
58211 2007-03-18  Bruno Haible  <bruno@clisp.org>
58212
58213         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
58214         Suggested by Eric Blake.
58215
58216 2007-03-18  Ben Pfaff  <blp@gnu.org>
58217
58218         * doc/relocatable.texi: Recommend using as prefix a directory
58219         that does not exist and will never be created.  Based on
58220         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
58221         and others.
58222
58223 2007-03-17  Bruno Haible  <bruno@clisp.org>
58224
58225         * lib/fchownat.c: Include lchown.h.
58226
58227 2007-03-17  Bruno Haible  <bruno@clisp.org>
58228
58229         Fix endless loop when the given allocated size was > INT_MAX.
58230         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
58231         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
58232         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
58233         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
58234         * lib/sprintf.c (sprintf): Likewise.
58235
58236 2007-03-17  Bruno Haible  <bruno@clisp.org>
58237
58238         * tests/test-argp-2.sh (func_compare): Output a context diff.
58239
58240 2007-03-17  Bruno Haible  <bruno@clisp.org>
58241
58242         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
58243         locale's decimal-point character.
58244
58245 2007-03-17  Bruno Haible  <bruno@clisp.org>
58246
58247         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
58248         before comparing it. Needed because on some platforms (e.g. x86) a
58249         'long double' occupies less bytes than sizeof (long double).
58250
58251 2007-03-17  Bruno Haible  <bruno@clisp.org>
58252
58253         * tests/test-crc.c (main): Make printf statements 64-bit clean.
58254         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
58255         * tests/test-getaddrinfo.c (simple): Likewise.
58256         * tests/test-read-file.c (main): Likewise.
58257
58258 2007-03-17  Bruno Haible  <bruno@clisp.org>
58259
58260         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
58261
58262 2007-03-17  Bruno Haible  <bruno@clisp.org>
58263
58264         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
58265         unused variable.
58266
58267 2007-03-17  Bruno Haible  <bruno@clisp.org>
58268
58269         * tests/test-c-strcasecmp.c: Include c-strcase.h.
58270         * tests/test-c-strncasecmp.c: Likewise.
58271
58272 2007-03-17  Bruno Haible  <bruno@clisp.org>
58273
58274         * modules/stdlib (Depends-on): Add unistd.
58275         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
58276         Needed for MacOS X 10.3.
58277
58278 2007-03-17  Bruno Haible  <bruno@clisp.org>
58279
58280         * lib/unistr/u-strdup.h: Include <stdlib.h>.
58281
58282 2007-03-17  Bruno Haible  <bruno@clisp.org>
58283
58284         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
58285
58286 2007-03-17  Bruno Haible  <bruno@clisp.org>
58287
58288         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
58289         to reflect files copied from gnulib (with or without modifications).
58290         Suggested by Jim Meyering.
58291
58292 2007-03-17  Eric Blake  <ebb9@byu.net>
58293
58294         * NEWS: Document stdlib change from 2007-02-18.
58295
58296 2007-03-17  Jim Meyering  <jim@meyering.net>
58297
58298         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
58299         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
58300         someone uses a name containing shell meta-characters.
58301         Reported by Alfred M. Szmidt.
58302
58303         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
58304
58305 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
58306
58307         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
58308         and copy gettext configuration files only if configure.ac contains
58309         a use of AM_GNU_GETTEXT_VERSION.
58310
58311 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
58312
58313         * build-aux/bootstrap (gnulib_name): New variable.
58314         (gnulib_tool_options): Use it.
58315
58316 2007-03-13  Simon Josefsson  <simon@josefsson.org>
58317
58318         * tests/test-des.c: Use new namespace.
58319
58320 2007-03-15  Bruno Haible  <bruno@clisp.org>
58321
58322         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
58323         Reported by James Youngman <jay@gnu.org>.
58324
58325 2007-03-15  Bruno Haible  <bruno@clisp.org>
58326
58327         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
58328         declared prototype. Needed with cc on OSF/1 5.1.
58329
58330 2007-03-15  Bruno Haible  <bruno@clisp.org>
58331
58332         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
58333         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
58334         (struct gl_list_implementation): Add dispose_fn argument to the
58335         'create_empty', 'create' methods.
58336         (struct gl_list_impl_base): Add field 'dispose_fn'.
58337         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
58338         argument.
58339         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
58340         dispose_fn argument.
58341         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
58342         dispose_fn on the dropped values.
58343         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
58344         dispose_fn argument.
58345         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
58346         dropped values.
58347         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
58348         (gl_tree_remove_node): Call dispose_fn on the dropped value.
58349         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
58350         (gl_tree_remove_node): Call dispose_fn on the dropped value.
58351         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
58352         argument.
58353         (gl_tree_list_free): Call dispose_fn on the dropped values.
58354         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
58355         the dropped values.
58356         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
58357         Add dispose_fn argument.
58358         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
58359         Call dispose_fn on the dropped values.
58360         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
58361         Add dispose_fn argument.
58362         (gl_sublist_create): Initialize the 'dispose_fn' field.
58363         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
58364         * tests/test-array_list.c (main): Update.
58365         * tests/test-carray_list.c (main): Update.
58366         * tests/test-avltree_list.c (main): Update.
58367         * tests/test-rbtree_list.c (main): Update.
58368         * tests/test-avltreehash_list.c (main): Update.
58369         * tests/test-rbtreehash_list.c (main): Update.
58370         * tests/test-linked_list.c (main): Update.
58371         * tests/test-linkedhash_list.c (main): Update.
58372         * tests/test-array_oset.c (main): Update.
58373
58374 2007-03-15  Bruno Haible  <bruno@clisp.org>
58375
58376         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
58377         (gl_oset_create_empty): Add dispose_fn argument.
58378         (struct gl_oset_implementation): Add dispose_fn argument to
58379         'create_empty' method.
58380         (struct gl_oset_impl_base): Add dispose_fn field.
58381         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
58382         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
58383         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
58384         values.
58385         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
58386         (gl_tree_oset_free): Call dispose_fn on the dropped values.
58387         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
58388         dropped value.
58389         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
58390         dropped value.
58391         * tests/test-array_oset.c (main): Update.
58392         * tests/test-avltree_oset.c (main): Update.
58393         * tests/test-rbtree_oset.c (main): Update.
58394         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
58395
58396 2007-03-13  Bruno Haible  <bruno@clisp.org>
58397
58398         * tests/test-stdbool.c (i): Update after last patch.
58399
58400 2007-03-12  Bruno Haible  <bruno@clisp.org>
58401
58402         * lib/quotearg.c: Include <wctype.h> early, before the definition of
58403         the iswprint macro. Needed on Solaris 2.5.1.
58404
58405 2007-03-12  Bruno Haible  <bruno@clisp.org>
58406
58407         * tests/test-printf-frexp.c (main): Declare x as volatile.
58408
58409 2007-03-12  Simon Josefsson  <simon@josefsson.org>
58410
58411         * doc/gnulib.texi (Build robot for gnulib): New section.
58412
58413 2007-03-12  Jim Meyering  <jim@meyering.net>
58414
58415         * build-aux/bootstrap: New file.
58416         * build-aux/bootstrap.conf: New file, from coreutils.
58417
58418 2007-03-11  Bruno Haible  <bruno@clisp.org>
58419
58420         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
58421
58422 2007-03-12  Simon Josefsson  <simon@josefsson.org>
58423
58424         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
58425         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
58426         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
58427
58428 2007-03-11  Bruno Haible  <bruno@clisp.org>
58429
58430         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
58431         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
58432
58433 2007-03-11  Bruno Haible  <bruno@clisp.org>
58434
58435         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
58436         formula. Needed for SunPRO C 5.0.
58437
58438 2007-03-11  Bruno Haible  <bruno@clisp.org>
58439
58440         * modules/long-options (Depends-on): Add getopt.
58441
58442 2007-03-11  Bruno Haible  <bruno@clisp.org>
58443
58444         * modules/modechange (Depends-on): Add stdbool.
58445
58446 2007-03-11  Bruno Haible  <bruno@clisp.org>
58447
58448         * modules/i-ring (Depends-on): Add stdbool.
58449
58450 2007-03-11  Bruno Haible  <bruno@clisp.org>
58451
58452         * modules/gc-des (Depends-on): Add stdbool.
58453
58454 2007-03-11  Bruno Haible  <bruno@clisp.org>
58455
58456         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
58457
58458 2007-03-11  Bruno Haible  <bruno@clisp.org>
58459
58460         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
58461
58462 2007-03-11  Bruno Haible  <bruno@clisp.org>
58463
58464         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
58465
58466 2007-03-11  Bruno Haible  <bruno@clisp.org>
58467
58468         * lib/vasnprintf.c (sprintf): Undefine.
58469
58470 2007-03-11  Bruno Haible  <bruno@clisp.org>
58471
58472         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
58473         initializers in SunPRO C and Compaq C compilers.
58474
58475 2007-03-11  Bruno Haible  <bruno@clisp.org>
58476
58477         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
58478         decrementing code ANSI C compliant.
58479
58480 2007-03-11  Bruno Haible  <bruno@clisp.org>
58481
58482         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
58483         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
58484
58485 2007-03-11  Bruno Haible  <bruno@clisp.org>
58486
58487         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
58488         <stdbool.h> substitute doesn't pass.
58489
58490 2007-03-11  Bruno Haible  <bruno@clisp.org>
58491
58492         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
58493
58494 2007-03-11  Bruno Haible  <bruno@clisp.org>
58495
58496         * gnulib-tool (func_create_megatestdir): Create also an autobuild
58497         script, for submission to autobuild.josefsson.org.
58498
58499 2007-03-10  Bruno Haible  <bruno@clisp.org>
58500
58501         * modules/canonicalize-lgpl-tests: New file.
58502         * tests/test-canonicalize-lgpl.sh: New file.
58503         * tests/test-canonicalize-lgpl.c: New file.
58504
58505         * modules/c-strcase-tests: New file.
58506         * tests/test-c-strcase.sh: New file.
58507         * tests/test-c-strcasecmp.c: New file.
58508         * tests/test-c-strncasecmp.c: New file.
58509
58510         * modules/atexit-tests: New file.
58511         * tests/test-atexit.sh: New file.
58512         * tests/test-atexit.c: New file.
58513
58514 2007-03-10  Bruno Haible  <bruno@clisp.org>
58515
58516         * tests/test-binary-io.sh: Use temporary filenames that are not so
58517         likely to clash with those of other tests (in a parallel make).
58518         * tests/test-binary-io.c: Likewise.
58519
58520 2007-03-10  Bruno Haible  <bruno@clisp.org>
58521
58522         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
58523         fallback; use #error instead.
58524         Suggested by Simon Josefsson.
58525
58526 2007-03-10  Bruno Haible  <bruno@clisp.org>
58527
58528         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
58529         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
58530         first and the last.
58531
58532 2007-03-10  Bruno Haible  <bruno@clisp.org>
58533
58534         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
58535
58536 2007-03-10  Bruno Haible  <bruno@clisp.org>
58537
58538         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
58539         "make distcheck".
58540         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
58541         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
58542         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
58543
58544 2007-03-10  Bruno Haible  <bruno@clisp.org>
58545
58546         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
58547         variable.
58548         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
58549         variable.
58550
58551 2007-03-09  Eric Blake  <ebb9@byu.net>
58552         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
58553
58554         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
58555         types are not being provided by gnulib.
58556         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
58557         types are supported.
58558
58559 2007-03-10  Bruno Haible  <bruno@clisp.org>
58560
58561         * lib/stdio_.h (__attribute__): New macro.
58562         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
58563         vsprintf): Specify __attribute__ __format__ for GCC.
58564         Suggested by Eric Blake.
58565
58566 2007-03-09  Bruno Haible  <bruno@clisp.org>
58567
58568         * modules/printf-posix-tests: New file.
58569         * tests/test-printf-posix.sh: New file.
58570         * tests/test-printf-posix.c: New file.
58571
58572         * modules/printf-posix: New file.
58573         * lib/printf.c: New file.
58574         * m4/printf-posix-rpl.m4: New file.
58575         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
58576         REPLACE_PRINTF.
58577         * lib/stdio_.h (printf): New declaration.
58578         (format, __format__, ____printf____, ____scanf____, ____strftime____,
58579         ____strfmon____): New macros.
58580         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
58581         REPLACE_PRINTF.
58582
58583 2007-03-09  Bruno Haible  <bruno@clisp.org>
58584
58585         * tests/test-vasnprintf-posix2.sh: New file.
58586         * tests/test-vasnprintf-posix2.c: New file.
58587         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
58588         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
58589         (Makefile.am): Activate test-vasnprintf-posix2.sh.
58590
58591         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
58592         a locale dependent decimal point, rather than always '.'.
58593
58594 2007-03-09  Eric Blake  <ebb9@byu.net>
58595
58596         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
58597         spite of platforms like Tandem/NSK that define it to -1.
58598
58599 2007-03-08  Bruno Haible  <bruno@clisp.org>
58600
58601         * modules/vprintf-posix-tests: New file.
58602         * tests/test-vprintf-posix.sh: New file.
58603         * tests/test-vprintf-posix.c: New file.
58604         * tests/test-printf-posix.h: New file.
58605
58606         * modules/vprintf-posix: New file.
58607         * lib/vprintf.c: New file.
58608         * m4/vprintf-posix.m4: New file.
58609         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
58610         REPLACE_VPRINTF.
58611         * lib/stdio_.h (vprintf): New declaration.
58612         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
58613         REPLACE_VPRINTF.
58614
58615 2007-03-08  Bruno Haible  <bruno@clisp.org>
58616
58617         * modules/fprintf-posix-tests: New file.
58618         * tests/test-fprintf-posix.sh: New file.
58619         * tests/test-fprintf-posix.c: New file.
58620
58621         * modules/fprintf-posix: New file.
58622         * lib/fprintf.c: New file.
58623         * m4/fprintf-posix.m4: New file.
58624         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
58625         REPLACE_FPRINTF.
58626         * lib/stdio_.h (fprintf): New declaration.
58627         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
58628         REPLACE_FPRINTF.
58629
58630 2007-03-08  Bruno Haible  <bruno@clisp.org>
58631
58632         * modules/vfprintf-posix-tests: New file.
58633         * tests/test-vfprintf-posix.sh: New file.
58634         * tests/test-vfprintf-posix.c: New file.
58635         * tests/test-fprintf-posix.h: New file.
58636         * tests/test-fprintf-posix.out: New file.
58637
58638         * modules/vfprintf-posix: New file.
58639         * lib/vfprintf.c: New file.
58640         * m4/vfprintf-posix.m4: New file.
58641         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
58642         REPLACE_VFPRINTF.
58643         * lib/stdio_.h (vfprintf): New declaration.
58644         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
58645         REPLACE_VFPRINTF.
58646
58647 2007-03-08  Bruno Haible  <bruno@clisp.org>
58648
58649         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
58650
58651 2007-03-08  Bruno Haible  <bruno@clisp.org>
58652
58653         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
58654         instead of 'expr' invocations.
58655         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58656         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58657         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58658         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58659         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58660         Suggested by Paul Eggert.
58661
58662 2007-03-08  Bruno Haible  <bruno@clisp.org>
58663
58664         * modules/fseterr-tests: New file.
58665         * tests/test-fseterr.c: New file.
58666
58667         * modules/fseterr: New file.
58668         * lib/fseterr.h: New file.
58669         * lib/fseterr.c: New file.
58670
58671 2007-03-08  Bruno Haible  <bruno@clisp.org>
58672
58673         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
58674         * lib/getopt_.h: Likewise.
58675         * lib/mbswidth.h: Likewise.
58676         * lib/setenv.h: Likewise.
58677         * lib/vasnprintf.h: Likewise.
58678         * lib/vasprintf.h: Likewise.
58679         * lib/verror.h: Likewise.
58680         * lib/xsetenv.h: Likewise.
58681         * lib/xvasprintf.h: Likewise.
58682
58683 2007-03-08  Jim Meyering  <jim@meyering.net>
58684
58685         * users.txt: Add parted.
58686
58687         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
58688
58689 2007-03-07  Bruno Haible  <bruno@clisp.org>
58690
58691         * m4/printf.m4: Make the shell script snippets copy&pastable.
58692
58693 2007-03-02  Bruno Haible  <bruno@clisp.org>
58694
58695         * lib/netinet_in_.h: New file.
58696         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
58697         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
58698         * modules/netinet_in (Files): Add lib/netinet_in_.h.
58699         (Depends-on): Add absolute-header.
58700         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
58701         into netinet/in.h.
58702
58703 2007-03-03  Bruno Haible  <bruno@clisp.org>
58704
58705         * lib/sys_select_.h: New file.
58706         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
58707         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
58708         * modules/sys_select (Files): Add lib/sys_select_.h.
58709         (Depends-on): Add absolute-header.
58710         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
58711         into sys/select.h.
58712
58713 2007-03-02  Bruno Haible  <bruno@clisp.org>
58714
58715         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
58716         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
58717         values.
58718         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
58719         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
58720         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
58721         * modules/sys_socket (Depends-on): Add absolute-header.
58722         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
58723         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
58724         (Include): Remove requirement of inclusion of <sys/types.h>.
58725
58726 2007-03-02  Bruno Haible  <bruno@clisp.org>
58727
58728         * lib/byteswap_.h (bswap_32): Fix formula.
58729
58730 2007-03-06  Bruno Haible  <bruno@clisp.org>
58731
58732         * modules/sprintf-posix-tests: New file.
58733         * tests/test-sprintf-posix.c: New file.
58734
58735         * modules/sprintf-posix: New file.
58736         * lib/sprintf.c: New file.
58737         * m4/sprintf-posix.m4: New file.
58738         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
58739         REPLACE_SPRINTF.
58740         * lib/stdio_.h (sprintf): New declaration.
58741         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
58742         REPLACE_SPRINTF.
58743
58744 2007-03-06  Bruno Haible  <bruno@clisp.org>
58745
58746         * modules/vsprintf-posix-tests: New file.
58747         * tests/test-vsprintf-posix.c: New file.
58748         * tests/test-sprintf-posix.h: New file.
58749
58750         * modules/vsprintf-posix: New file.
58751         * lib/vsprintf.c: New file.
58752         * m4/vsprintf-posix.m4: New file.
58753         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
58754         REPLACE_VSPRINTF.
58755         * lib/stdio_.h (vsprintf): New declaration.
58756         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
58757         REPLACE_VSPRINTF.
58758
58759 2007-03-06  Bruno Haible  <bruno@clisp.org>
58760
58761         * modules/vsnprintf (Depend-on): Remove minmax.
58762
58763 2007-03-06  Bruno Haible  <bruno@clisp.org>
58764
58765         * modules/snprintf-posix-tests: New file.
58766         * tests/test-snprintf-posix.c: New file.
58767
58768         * modules/snprintf-posix: New file.
58769         * m4/snprintf-posix.m4: New file.
58770         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
58771         gl_FUNC_SNPRINTF.
58772         (gl_FUNC_SNPRINTF): Invoke it.
58773         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
58774         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
58775         is set.
58776         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
58777
58778 2007-03-06  Bruno Haible  <bruno@clisp.org>
58779
58780         * modules/vsnprintf-posix-tests: New file.
58781         * tests/test-vsnprintf-posix.c: New file.
58782         * tests/test-snprintf-posix.h: New file.
58783
58784         * modules/vsnprintf-posix: New file.
58785         * m4/vsnprintf-posix.m4: New file.
58786         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
58787         gl_FUNC_VSNPRINTF.
58788         (gl_FUNC_VSNPRINTF): Invoke it.
58789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
58790         * lib/stdio_.h (vsnprintf): Define as a replacement if
58791         REPLACE_VSNPRINTF is set.
58792         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
58793
58794 2007-03-06  Bruno Haible  <bruno@clisp.org>
58795
58796         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
58797         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
58798
58799 2007-03-06  Bruno Haible  <bruno@clisp.org>
58800
58801         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
58802         (asinl): Declare also if HAVE_DECL_ASINL is set.
58803         (atanl): Declare also if HAVE_DECL_ATANL is set.
58804         (ceill): Declare also if HAVE_DECL_CEILL is set.
58805         (cosl): Declare also if HAVE_DECL_COSL is set.
58806         (expl): Declare also if HAVE_DECL_EXPL is set.
58807         (floorl): Declare also if HAVE_DECL_FLOORL is set.
58808         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
58809         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
58810         (logl): Declare also if HAVE_DECL_LOGL is set.
58811         (sinl): Declare also if HAVE_DECL_SINL is set.
58812         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
58813         (tanl): Declare also if HAVE_DECL_TANL is set.
58814         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
58815         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
58816         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
58817         declaration of frexpl, ldexpl.
58818         * modules/printf-frexpl (Depends-on): Add math.
58819         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
58820
58821 2007-03-05  Bruno Haible  <bruno@clisp.org>
58822
58823         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
58824         frexpl and ldexpl are declared.
58825         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
58826
58827 2007-03-05  Bruno Haible  <bruno@clisp.org>
58828
58829         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
58830         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
58831
58832 2007-03-05  Bruno Haible  <bruno@clisp.org>
58833
58834         * lib/stdio_.h: Include <stddef.h>.
58835
58836 2007-03-05  Bruno Haible  <bruno@clisp.org>
58837
58838         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
58839
58840 2007-03-05  Bruno Haible  <bruno@clisp.org>
58841
58842         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
58843         NetBSD 4, from Ralf Wildenhues.
58844
58845 2007-03-04  Bruno Haible  <bruno@clisp.org>
58846
58847         * lib/vasprintf.h: Update #if logic for the case when the functions
58848         exist but are overridden.
58849
58850 2007-03-04  Bruno Haible  <bruno@clisp.org>
58851
58852         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
58853         implementations: glibc-2.4 and MacOS X 10.3.
58854         * tests/test-vasnprintf-posix.c (test_function): Test also the case
58855         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
58856         * tests/test-vasprintf-posix.c (test_function): Likewise.
58857
58858 2007-03-04  Bruno Haible  <bruno@clisp.org>
58859
58860         * modules/vasprintf-posix-tests: New file.
58861         * tests/test-vasprintf-posix.c: New file.
58862
58863         * modules/vasprintf-posix: New file.
58864         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
58865         defined.
58866         * m4/vasprintf-posix.m4: New file.
58867         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
58868         gl_FUNC_VASPRINTF.
58869         (gl_FUNC_VASPRINTF): Invoke it.
58870         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
58871         here.
58872         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
58873
58874 2007-03-04  Bruno Haible  <bruno@clisp.org>
58875
58876         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
58877         REPLACE_GETTIMEOFDAY.
58878         * modules/sys_time (Makefile.am): Likewise.
58879         * m4/sys_time_h.m4: Likewise.
58880         * m4/gettimeofday.m4: Likewise.
58881
58882 2007-03-04  Bruno Haible  <bruno@clisp.org>
58883
58884         * modules/vasnprintf-posix-tests: New file.
58885         * tests/test-vasnprintf-posix.c: New file.
58886
58887         * modules/vasnprintf-posix: New file.
58888         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
58889         printf-frexpl.h.
58890         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
58891         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
58892         REPLACE_VASNPRINTF is defined.
58893         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
58894         gl_FUNC_VASNPRINTF.
58895         (gl_FUNC_VASNPRINTF): Invoke it.
58896         * m4/vasnprintf-posix.m4: New file.
58897         * m4/printf.m4: New file.
58898
58899 2007-03-04  Bruno Haible  <bruno@clisp.org>
58900
58901         Compile progreloc.c only if --enable-relocatable is specified.
58902         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
58903         if --enable-relocatable was specified.
58904         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
58905         lib_SOURCES.
58906
58907 2007-03-04  Jim Meyering  <jim@meyering.net>
58908
58909         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
58910         Use it consistently, rather than enumerating errno constants.
58911
58912 2007-03-04  Bruno Haible  <bruno@clisp.org>
58913
58914         * modules/xvasprintf-tests: New file.
58915         * tests/test-xvasprintf.c: New file.
58916
58917         * modules/vasprintf-tests: New file.
58918         * tests/test-vasprintf.c: New file.
58919
58920         * modules/vasnprintf-tests: New file.
58921         * tests/test-vasnprintf.c: New file.
58922
58923         * modules/vsnprintf-tests: New file.
58924         * tests/test-vsnprintf.c: New file.
58925
58926         * modules/snprintf-tests: New file.
58927         * tests/test-snprintf.c: New file.
58928
58929 2007-03-04  Bruno Haible  <bruno@clisp.org>
58930
58931         Compile relocatable.c only if --enable-relocatable is specified.
58932         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
58933         gl_RELOCATABLE_LIBRARY.
58934         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
58935         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
58936         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
58937         gl_RELOCATABLE_LIBRARY.
58938         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
58939         (Makefile.am): Remove lib_SOURCES.
58940         * modules/relocatable-lib-lgpl (configure.ac): Invoke
58941         gl_RELOCATABLE_LIBRARY.
58942         (Makefile.am): Remove lib_SOURCES.
58943         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
58944         always.
58945         * modules/relocatable-prog-wrapper (configure.ac): Invoke
58946         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
58947
58948 2007-03-04  Bruno Haible  <bruno@clisp.org>
58949
58950         * modules/argmatch-tests: New file.
58951         * tests/test-argmatch.c: New file.
58952
58953         * tests/test-allocsa.c (main): Halve the number of loop runs.
58954
58955         * modules/alloca-opt-tests: New file.
58956         * tests/test-alloca-opt.c: New file.
58957
58958 2007-03-04  Jim Meyering  <jim@meyering.net>
58959
58960         Work around difference between Linux ACLs and Solaris 10 ZFS.
58961         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
58962         for EINVAL.
58963
58964 2007-03-03  Bruno Haible  <bruno@clisp.org>
58965
58966         * modules/relocatable-prog (Depends-on): Add back progreloc's
58967         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
58968
58969 2007-03-03  Bruno Haible  <bruno@clisp.org>
58970
58971         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
58972         * modules/relocatable-lib: New file.
58973
58974 2007-03-03  Bruno Haible  <bruno@clisp.org>
58975
58976         * modules/relocatable-prog: Renamed from modules/relocatable.
58977         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
58978
58979 2007-03-03  Bruno Haible  <bruno@clisp.org>
58980
58981         * modules/relocatable-script (Files): Add doc/relocatable.texi,
58982         m4/relocatable-lib.m4.
58983         (Depends-on): Remove 'relocatable'.
58984         (configure.ac): Add gl_RELOCATABLE_NOP.
58985
58986 2007-03-03  Bruno Haible  <bruno@clisp.org>
58987
58988         * modules/relocatable-prog-wrapper: New file.
58989         * modules/relocatable (Depends-on): Add it. Remove all other
58990         dependencies except progname.
58991         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
58992
58993         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
58994         (gl_FUNC_STRERROR): Nop.
58995         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
58996
58997         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
58998         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
58999
59000         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
59001         (gl_FUNC_READLINK): Update.
59002
59003         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
59004
59005 2007-03-03  Bruno Haible  <bruno@clisp.org>
59006
59007         * lib/xreadlink.c: Include <unistd.h> unconditionally.
59008         * modules/xreadlink (Depends-on): Add unistd.
59009         * modules/xreadlink-with-size (Depends-on): Likewise.
59010
59011 2007-03-03  Bruno Haible  <bruno@clisp.org>
59012
59013         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
59014         extracted from gt_FUNC_SETENV.
59015         (gt_FUNC_SETENV): Remove macro.
59016         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
59017         remove gt_FUNC_SETENV.
59018
59019 2007-03-03  Bruno Haible  <bruno@clisp.org>
59020
59021         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
59022         ENABLE_RELOCATABLE here.
59023         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
59024
59025 2007-03-03  Bruno Haible  <bruno@clisp.org>
59026
59027         * modules/rbtreehash-list-tests (Depends-on): Add progname.
59028         * tests/test-rbtreehash_list.c: Include progname.h.
59029         (main): Call set_program_name.
59030
59031         * modules/rbtree-oset-tests (Depends-on): Add progname.
59032         * tests/test-rbtree_oset.c: Include progname.h.
59033         (main): Call set_program_name.
59034
59035         * modules/rbtree-list-tests (Depends-on): Add progname.
59036         * tests/test-rbtree_list.c: Include progname.h.
59037         (main): Call set_program_name.
59038
59039         * modules/linked-list-tests (Depends-on): Add progname.
59040         * tests/test-linked_list.c: Include progname.h.
59041         (main): Call set_program_name.
59042
59043 2007-03-03  Bruno Haible  <bruno@clisp.org>
59044
59045         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
59046         All uses of __restrict changed to _Restrict_.
59047         * lib/glob_.h (__restrict): Remove macro.
59048
59049 2007-03-02  Bruno Haible  <bruno@clisp.org>
59050
59051         * modules/gettext (configure.ac): Require gettext infrastructure
59052         from version 0.16.1.
59053
59054 2007-03-02  Bruno Haible  <bruno@clisp.org>
59055
59056         * modules/linkedhash-list-tests (Depends-on): Add progname.
59057         * tests/test-linkedhash_list.c: Include progname.h.
59058         (main): Call set_program_name.
59059
59060         * modules/carray-list-tests (Depends-on): Add progname.
59061         * tests/test-carray_list.c: Include progname.h.
59062         (main): Call set_program_name.
59063
59064         * modules/avltreehash-list-tests (Depends-on): Add progname.
59065         * tests/test-avltreehash_list.c: Include progname.h.
59066         (main): Call set_program_name.
59067
59068         * modules/avltree-oset-tests (Depends-on): Add progname.
59069         * tests/test-avltree_oset.c: Include progname.h.
59070         (main): Call set_program_name.
59071
59072         * modules/avltree-list-tests (Depends-on): Add progname.
59073         * tests/test-avltree_list.c: Include progname.h.
59074         (main): Call set_program_name.
59075
59076         * modules/array-oset-tests (Depends-on): Add progname.
59077         * tests/test-array_oset.c: Include progname.h.
59078         (main): Call set_program_name.
59079
59080         * modules/array-list-tests (Depends-on): Add progname.
59081         * tests/test-array_list.c: Include progname.h.
59082         (main): Call set_program_name.
59083
59084         * modules/argp-tests (Depends-on): Add progname.
59085         * tests/test-argp.c: Include argp.h first. Include progname.h.
59086         (main): Call set_program_name.
59087
59088 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
59089
59090         * doc/gnulib-tool.texi (Initial import): Reword description of
59091         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
59092         limited effect even if defined after the first system include.
59093
59094 2007-03-01  Bruno Haible  <bruno@clisp.org>
59095
59096         * build-aux/config.libpath: Update to libtool-1.5.22.
59097         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59098
59099 2007-03-01  Bruno Haible  <bruno@clisp.org>
59100
59101         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
59102         foo_CFLAGS.
59103         Reported by Ralf Wildenhues.
59104
59105 2007-03-01  Bruno Haible  <bruno@clisp.org>
59106
59107         * build-aux/install-reloc: Remove object files left over by some
59108         compilers.
59109         Reported by Ralf Wildenhues.
59110
59111 2007-03-01  Bruno Haible  <bruno@clisp.org>
59112
59113         * build-aux/install-reloc: Break long lines.
59114
59115 2007-03-01  Bruno Haible  <bruno@clisp.org>
59116
59117         * doc/relocatable.texi: Document that it may not work on OpenBSD.
59118         Reported by Ralf Wildenhues.
59119
59120 2007-03-01  Bruno Haible  <bruno@clisp.org>
59121
59122         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
59123         include ordering constraints.
59124
59125 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59126
59127         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
59128         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
59129         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
59130         as another example.
59131         * lib/time_.h: Fix misspelling.
59132         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59133         Require gl_HEADER_TIME_H_DEFAULTS.
59134         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
59135         * m4/time_r.m4 (gl_TIME_R): Likewise.
59136         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
59137
59138 2007-03-01  Bruno Haible  <bruno@clisp.org>
59139
59140         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
59141         * m4/utimens.m4 (gl_UTIMENS): Likewise.
59142
59143 2007-03-01  Jim Meyering  <jim@meyering.net>
59144
59145         * modules/xreadlink (Maintainer): Add my name.
59146         * modules/xreadlink-with-size (Depends-on): Alphabetize.
59147
59148 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
59149             Bruno Haible  <bruno@clisp.org>
59150
59151         * build-aux/install-reloc: Compile also c-ctype.c.
59152         * build-aux/relocatable.sh.in: New file.
59153         * doc/relocatable.texi: New file.
59154         * doc/relocatable-maint.texi: New file.
59155         * doc/gnulib.texi: Include relocatable-maint.texi.
59156         * lib/progreloc.c: Include unistd.h unconditionally.
59157         * lib/relocwrapper.c: Include unistd.h unconditionally.
59158         Include c-ctype.h.
59159         (add_dotbin): Use c_tolower.
59160         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
59161         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
59162         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
59163         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
59164         to m4/relocatable-lib.m4.
59165         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
59166         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
59167         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
59168         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
59169         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
59170         * modules/relocatable: New file.
59171         * modules/relocatable-lib: New file.
59172         * modules/relocatable-script: New file.
59173
59174 2007-02-28  Bruno Haible  <bruno@clisp.org>
59175
59176         Import --enable-relocatable infrastructure.
59177         * build-aux/config.libpath: New file, from GNU gettext.
59178         * build-aux/install-reloc: New file, from GNU gettext.
59179         * build-aux/reloc-ldflags: New file, from GNU gettext.
59180         * lib/relocatable.h: New file, from GNU gettext.
59181         * lib/relocatable.c: New file, from GNU gettext.
59182         * lib/relocwrapper.c: New file, from GNU gettext.
59183         * m4/relocatable.m4: New file, from GNU gettext.
59184
59185 2007-02-28  Bruno Haible  <bruno@clisp.org>
59186
59187         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
59188
59189         * modules/xreadlink: New file, from GNU gettext with modifications.
59190         * lib/xreadlink.c: New file, from GNU gettext.
59191         * lib/xreadlink.h: Add comments.
59192         (xreadlink): New declaration.
59193
59194         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
59195         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
59196         lib/xreadlink-with-size.c.
59197         (configure.ac): Remove gl_XREADLINK invocation.
59198         (Makefile.am): Augment lib_SOURCES.
59199         * m4/xreadlink.m4: Remove file.
59200         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
59201         (xreadlink_with_size): Renamed from xreadink.
59202         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
59203         * modules/canonicalize (Depends-on): Replace xreadlink with
59204         xreadlink-with-size.
59205         * lib/canonicalize.c (canonicalize_filename_mode): Update.
59206
59207 2007-02-25  Jim Meyering  <jim@meyering.net>
59208
59209         * build-aux/announce-gen: When complaining about excess arguments,
59210         list them.
59211
59212 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59213
59214         * README: Document signed integer overflow situation more
59215         accurately.
59216
59217 2007-02-25  Bruno Haible  <bruno@clisp.org>
59218
59219         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
59220         'a' or 'A' conversion.
59221
59222 2007-02-25  Bruno Haible  <bruno@clisp.org>
59223
59224         * modules/filename: Renamed from modules/pathname.
59225         (Files): Replace lib/pathname.h with lib/filename.h. Replace
59226         lib/concatpath.c with lib/concat-filename.c.
59227         (Makefile.am): Update.
59228         (Include): Replace pathname.h with filename.h.
59229         * lib/filename.h: Renamed from lib/pathname.h.
59230         (concatenated_filename): Renamed from concatenated_pathname.
59231         * lib/concat-filename.c: Renamed from lib/concatpath.c.
59232         (concatenated_filename): Renamed from concatenated_pathname.
59233         * lib/findprog.c: Include filename.h instead of pathname.h.
59234         (find_in_path): Update.
59235         * lib/javacomp.c: Include filename.h instead of pathname.h.
59236         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
59237         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
59238         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
59239         is_oldgcj_14_13_usable, is_javac_usable): Update.
59240         * lib/javaexec.c: Include filename.h instead of pathname.h.
59241         (execute_java_class): Update.
59242         * modules/findprog: Update.
59243         * modules/javacomp: Update.
59244         * modules/javaexec: Update.
59245         * MODULES.html.sh (File system functions): Add 'filename', remove
59246         'pathname'.
59247
59248 2007-02-25  Bruno Haible  <bruno@clisp.org>
59249
59250         * modules/printf-frexpl-tests: New file.
59251         * tests/test-printf-frexpl.c: New file.
59252
59253         * modules/printf-frexpl: New file.
59254         * lib/printf-frexpl.h: New file.
59255         * lib/printf-frexpl.c: New file.
59256         * m4/printf-frexpl.m4: New file.
59257
59258 2007-02-25  Bruno Haible  <bruno@clisp.org>
59259
59260         * modules/printf-frexp-tests: New file.
59261         * tests/test-printf-frexp.c: New file.
59262
59263         * modules/printf-frexp: New file.
59264         * lib/printf-frexp.h: New file.
59265         * lib/printf-frexp.c: New file.
59266         * m4/printf-frexp.m4: New file.
59267
59268 2007-02-25  Bruno Haible  <bruno@clisp.org>
59269
59270         Assume automake >= 1.10 for the tests.
59271         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
59272         * modules/arctwo-tests: Likewise.
59273         * modules/argp-tests: Likewise.
59274         * modules/avltree-list-tests: Likewise.
59275         * modules/avltree-oset-tests: Likewise.
59276         * modules/avltreehash-list-tests: Likewise.
59277         * modules/carray-list-tests: Likewise.
59278         * modules/crc-tests: Likewise.
59279         * modules/des-tests: Likewise.
59280         * modules/gc-arcfour-tests: Likewise.
59281         * modules/gc-arctwo-tests: Likewise.
59282         * modules/gc-des-tests: Likewise.
59283         * modules/gc-hmac-md5-tests: Likewise.
59284         * modules/gc-hmac-sha1-tests: Likewise.
59285         * modules/gc-md2-tests: Likewise.
59286         * modules/gc-md4-tests: Likewise.
59287         * modules/gc-md5-tests: Likewise.
59288         * modules/gc-pbkdf2-sha1-tests: Likewise.
59289         * modules/gc-rijndael-tests: Likewise.
59290         * modules/gc-sha1-tests: Likewise.
59291         * modules/gc-tests: Likewise.
59292         * modules/getaddrinfo-tests: Likewise.
59293         * modules/hmac-md5-tests: Likewise.
59294         * modules/hmac-sha1-tests: Likewise.
59295         * modules/linked-list-tests: Likewise.
59296         * modules/linkedhash-list-tests: Likewise.
59297         * modules/lock-tests: Likewise.
59298         * modules/md2-tests: Likewise.
59299         * modules/md4-tests: Likewise.
59300         * modules/md5-tests: Likewise.
59301         * modules/rbtree-list-tests: Likewise.
59302         * modules/rbtree-oset-tests: Likewise.
59303         * modules/rbtreehash-list-tests: Likewise.
59304         * modules/read-file-tests: Likewise.
59305         * modules/rijndael-tests: Likewise.
59306         * modules/stdint-tests: Likewise.
59307         * modules/tls-tests: Likewise.
59308
59309 2007-02-24  Bruno Haible  <bruno@clisp.org>
59310
59311         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
59312         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
59313         function; instead check whether isnan with a double argument links.
59314         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
59315         function; instead check whether isnan with a 'long double' argument
59316         links.
59317         Reported by Eric Blake <ebb9@byu.net>.
59318
59319 2007-02-24  Bruno Haible  <bruno@clisp.org>
59320
59321         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
59322         defined.
59323         * lib/isnanl.c: Remove all code. Just include isnan.c.
59324         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
59325
59326 2007-02-25  Jim Meyering  <jim@meyering.net>
59327
59328         Avoid conflicting types for 'unsetenv' on FreeBSD.
59329         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
59330         conflicting with FreeBSD's (5.0 and 6.1) function declaration
59331         in stdlib.h.
59332
59333 2007-02-24  Bruno Haible  <bruno@clisp.org>
59334
59335         * modules/isnanl-nolibm-tests: New file.
59336         * tests/test-isnanl.c: New file.
59337
59338         * modules/isnanl-nolibm: New file.
59339         * lib/isnanl.h: New file.
59340         * lib/isnanl.c: New file.
59341         * m4/isnanl.m4: New file.
59342
59343 2007-02-24  Bruno Haible  <bruno@clisp.org>
59344
59345         * modules/isnan-nolibm-tests: New file.
59346         * tests/test-isnan.c: New file.
59347
59348         * modules/isnan-nolibm: New file.
59349         * lib/isnan.h: New file.
59350         * lib/isnan.c: New file.
59351         * m4/isnan.m4: New file.
59352
59353 2007-02-24  Bruno Haible  <bruno@clisp.org>
59354
59355         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
59356         assume that an exponent fits in 20 bits.
59357
59358 2007-02-24  Jim Meyering  <jim@meyering.net>
59359
59360         * m4/regex.m4: Update the description of the configure-time option,
59361         --without-included-regex, to state accurately what the defaults are,
59362         and perhaps to give people an idea why using this option is risky.
59363
59364 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
59365
59366         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
59367         loops on small arguments.  This attempts to avoid the problem
59368         Bruno Haible reported for AIX 4.3.2 in
59369         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
59370
59371 2007-02-23  Bruno Haible  <bruno@clisp.org>
59372
59373         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
59374         Needed for help2man.
59375
59376 2007-02-23  Karl Berry  <karl@gnu.org>
59377
59378         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
59379         exists, foo.h should be cvs-ignored, not committed.
59380
59381 2007-02-23  Eric Blake  <ebb9@byu.net>
59382
59383         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
59384         * lib/stat-time.h (includes): Likewise.
59385         * lib/utimecmp.c (includes): Likewise.
59386         * lib/utimens.h (includes): Likewise.
59387         * lib/getdate.y (includes): Also include "timespec.h" for use
59388         internal to the module.
59389         * modules/utimens (Depends-on): Revert yesterday's patch.
59390         * modules/nanosleep (Depends-on): Add missing dependency.
59391
59392 2007-02-22  Bruno Haible  <bruno@clisp.org>
59393
59394         * lib/glob.c: Don't include getlogin_r.h.
59395
59396 2007-02-22  Jim Meyering  <jim@meyering.net>
59397
59398         * modules/utimens (Depends-on): Add timespec, required for
59399         utimens.h's inclusion of timespec.h.
59400
59401 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
59402
59403         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
59404         long unreadable paths in GNU/Linux.  Problem reported by Andreas
59405         Schwab in
59406         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
59407         I'll try to think of a better way to fix the Solaris problem.
59408
59409         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
59410         like glibc; on Solaris 10, it fails with errno == EINVAL.
59411         POSIX says the behavior is unspecified if the first argument is NULL,
59412         so play it safe and never pass NULL to the system getcwd.
59413
59414 2007-02-21  Jim Meyering  <jim@meyering.net>
59415
59416         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
59417         of gettimeofday.  It would conflict with the one now always
59418         provided via sys_time_.h.  Reported by Matthew Woehlke, as
59419         an IRIX 6.5 build failure.
59420
59421 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
59422
59423         Minor fixups to port to Solaris 10 with Sun C 5.8.
59424         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
59425         * modules/getcwd (Depends-on): Add dirfd.
59426         * lib/putenv.c (putenv): #undef it.
59427         (rpl_putenv): New decl.
59428         (malloc, free): Include <stdlib.h> rather than prototyping separately.
59429
59430 2007-02-20  Bruno Haible  <bruno@clisp.org>
59431
59432         * modules/stdio-tests: New file.
59433         * tests/test-stdio.c: New file.
59434
59435         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
59436         (Depends-on): Add stdio.
59437         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
59438         (Include): Use <stdio.h> instead of vsnprintf.h.
59439         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
59440         HAVE_DECL_VSNPRINTF.
59441         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
59442
59443         * modules/snprintf (Files): Remove lib/snprintf.h.
59444         (Depends-on): Add stdio.
59445         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
59446         (Include): Use <stdio.h> instead of snprintf.h.
59447         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
59448         HAVE_DECL_SNPRINTF.
59449         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
59450         * lib/getaddrinfo.c: Likewise.
59451
59452         * modules/stdio: New file.
59453         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
59454         * lib/snprintf.h: Remove file.
59455         * lib/vsnprintf.h: Remove file.
59456         * lib/.cppi-disable: Remove snprintf.h.
59457         * m4/stdio_h.m4: New file.
59458         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
59459
59460 2007-02-20  Jim Meyering  <jim@meyering.net>
59461
59462         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
59463         used by e.g., mingw.  From Bruno Haible.
59464
59465 2007-02-19  Bruno Haible  <bruno@clisp.org>
59466
59467         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
59468         warnings.
59469         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59470
59471 2007-02-19  Bruno Haible  <bruno@clisp.org>
59472
59473         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
59474         from mingw users.
59475
59476 2007-02-19  Bruno Haible  <bruno@clisp.org>
59477
59478         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
59479         warnings.
59480         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
59481
59482 2007-02-19  Jim Meyering  <jim@meyering.net>
59483
59484         Don't use FD after a successful "fdopendir (fd)".
59485         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
59486         Reset it by calling dirfd on the just-obtained DIR*.
59487
59488         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
59489         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
59490
59491 2007-02-18  Bruno Haible  <bruno@clisp.org>
59492
59493         * lib/readlink.c: Include <unistd.h>.
59494         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
59495         HAVE_READLINK.
59496         * modules/readlink (Depends-on): Add unistd.
59497         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59498         (Include): Add <unistd.h>.
59499
59500         * lib/getlogin_r.h: Remove file.
59501         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
59502         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
59503         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
59504         HAVE_DECL_GETLOGIN_R.
59505         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
59506         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59507         (Include): Use <unistd.h> instead of getlogin_r.h.
59508
59509         * lib/getcwd.h: Remove file.
59510         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
59511         * lib/xgetcwd.c: Likewise.
59512         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
59513         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
59514         * modules/getcwd (Files): Remove lib/getcwd.h.
59515         (Depends-on): Add unistd.
59516         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59517         (Include): Use <unistd.h> instad of getcwd.h.
59518
59519         * lib/ftruncate.c: Include <unistd.h> first.
59520         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
59521         Set HAVE_FTRUNCATE.
59522         * modules/ftruncate (Depends-on): Add unistd.
59523         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59524
59525         * lib/fchdir.c: Include <unistd.h> first.
59526         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
59527         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
59528         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
59529         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59530         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
59531
59532         * lib/dup2.c: Include <unistd.h> first.
59533         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
59534         HAVE_DUP2.
59535         * modules/dup2 (Depends-on): Add unistd.
59536         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59537
59538         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
59539         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
59540         REPLACE_CHOWN. Don't define chown as a macro here.
59541         * modules/chown (Depends-on): Add unistd.
59542         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59543
59544         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
59545         Add definition for GL_LINK_WARNING.
59546         (chown, dup2): New declarations.
59547         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
59548         link warning.
59549         (ftruncate): New declaration.
59550         (getcwd): New declaration, taken from old getcwd.h.
59551         (getlogin_r): New declaration, taken from old getlogin_r.h.
59552         (readlink): New declaration.
59553         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
59554         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
59555         (gl_PREREQ_UNISTD): Remove macro.
59556         (gl_UNISTD_MODULE_INDICATOR): New macro.
59557         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
59558         many new variables. Don't set UNISTD_H.
59559         * modules/unistd (Description): Change.
59560         (Depends-on): Add link-warning.
59561         (configure.ac): Update.
59562         (Makefile.am): Create unistd.h always. Substitute many new variables
59563         into it.
59564
59565 2007-02-18  Bruno Haible  <bruno@clisp.org>
59566
59567         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
59568         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
59569         HAVE_GETSUBOPT.
59570         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
59571         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
59572         * lib/getsubopt.h: Remove file.
59573         * modules/getsubopt (Files): Remove lib/getsubopt.h.
59574         (Depends-on): Add stdlib.
59575         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59576         (Includes): Use <stdlib.h> instead of getsubopt.h.
59577         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
59578         Set HAVE_GETSUBOPT.
59579         * lib/getsubopt.c: Don't include getsubopt.h.
59580
59581 2007-02-18  Bruno Haible  <bruno@clisp.org>
59582
59583         * modules/fchdir (Depends-on): Add dup2.
59584
59585 2007-02-18  Bruno Haible  <bruno@clisp.org>
59586
59587         * lib/stdlib_.h: Handle glibc's special invocation convention
59588         specially.
59589
59590 2007-02-18  Bruno Haible  <bruno@clisp.org>
59591
59592         * modules/stdlib-tests: New file.
59593         * tests/test-stdlib.c: New file.
59594
59595         * modules/mkstemp (Files): Remove lib/mkstemp.h.
59596         (Depends-on): Add stdlib.
59597         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59598         (Includes): Use <stdlib.h> instead of mkstemp.h.
59599         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
59600         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
59601         * lib/mkstemp.c: Don't include mkstemp.h.
59602         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
59603         * lib/stdlib--.h: Don't include mkstemp.h.
59604
59605         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
59606         (Depends-on): Add stdlib.
59607         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59608         (Includes): Use <stdlib.h> instead of mkdtemp.h.
59609         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
59610         HAVE_MKDTEMP.
59611         * lib/mkdtemp.c: Don't include mkdtemp.h.
59612         * lib/clean-temp.c: Don't include mkdtemp.h.
59613
59614         * modules/exit (Files): Remove lib/exit.h.
59615         (Depends-on): Add stdlib.
59616         (Makefile.am): Remove lib_SOURCES.
59617         (Include): Use <stdlib.h> instead of exit.h.
59618         * lib/argmatch.c: Don't include exit.h.
59619         * lib/execute.c: Likewise.
59620         * lib/pagealign_alloc.c: Likewise.
59621         * lib/pipe.c: Likewise.
59622         * lib/wait-process.c: Likewise.
59623         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
59624         * lib/exitfail.c: Likewise.
59625         * lib/savewd.c: Likewise.
59626         * lib/xsetenv.c: Likewise.
59627
59628         * modules/stdlib: New file.
59629         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
59630         and extra comments about mkstemp().
59631         * lib/exit.h: Remove file.
59632         * lib/mkdtemp.h: Remove file.
59633         * lib/mkstemp.h: Remove file.
59634         * m4/stdlib_h.m4: New file.
59635         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
59636
59637 2007-02-18  Bruno Haible  <bruno@clisp.org>
59638
59639         * modules/math-tests: New file.
59640         * tests/test-math.c: New file.
59641
59642         * modules/math: New file.
59643         * modules/mathl (Files): Remove lib/mathl.h.
59644         (Depends-on): Add math.
59645         (Makefile.am): Don't mention mathl.h.
59646         (Include): Use <math.h> instead of mathl.h.
59647         * lib/math_.h: New file.
59648         * lib/mathl.h: Remove file.
59649         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
59650         mathl.h.
59651         * lib/asinl.c: Likewise.
59652         * lib/atanl.c: Likewise.
59653         * lib/ceill.c: Likewise.
59654         * lib/cosl.c: Likewise.
59655         * lib/expl.c: Likewise.
59656         * lib/floorl.c: Likewise.
59657         * lib/frexpl.c: Likewise.
59658         * lib/ldexpl.c: Likewise.
59659         * lib/logl.c: Likewise.
59660         * lib/sincosl.c: Likewise.
59661         * lib/sinl.c: Likewise.
59662         * lib/sqrtl.c: Likewise.
59663         * lib/tanl.c: Likewise.
59664         * lib/trigl.c: Likewise.
59665         * m4/math_h.m4: New file.
59666         * MODULES.html.sh (Mathematics): Add math.
59667
59668 2007-02-17  Bruno Haible  <bruno@clisp.org>
59669
59670         * modules/wctype-tests: New file.
59671         * tests/test-wctype.c: New file.
59672
59673         * modules/wchar-tests: New file.
59674         * tests/test-wchar.c: New file.
59675
59676         * modules/unistd-tests: New file.
59677         * tests/test-unistd.c: New file.
59678
59679         * modules/time-tests: New file.
59680         * tests/test-time.c: New file.
59681
59682         * modules/sysexits-tests: New file.
59683         * tests/test-sysexits.c: New file.
59684
59685         * modules/sys_time-tests: New file.
59686         * tests/test-sys_time.c: New file.
59687
59688         * modules/sys_stat-tests: New file.
59689         * tests/test-sys_stat.c: New file.
59690
59691         * modules/sys_socket-tests: New file.
59692         * tests/test-sys_socket.c: New file.
59693
59694         * modules/sys_select-tests: New file.
59695         * tests/test-sys_select.c: New file.
59696
59697         * modules/string-tests: New file.
59698         * tests/test-string.c: New file.
59699
59700         * modules/stdbool-tests: New file.
59701         * tests/test-stdbool.c: New file.
59702
59703         * modules/netinet_in-tests: New file.
59704         * tests/test-netinet_in.c: New file.
59705
59706         * modules/inttypes-tests: New file.
59707         * tests/test-inttypes.c: New file.
59708
59709         * modules/fcntl-tests: New file.
59710         * tests/test-fcntl.c: New file.
59711
59712         * modules/byteswap-tests: New file.
59713         * tests/test-byteswap.c: New file.
59714
59715         * modules/arpa_inet-tests: New file.
59716         * tests/test-arpa_inet.c: New file.
59717
59718 2007-02-17  Bruno Haible  <bruno@clisp.org>
59719
59720         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
59721         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
59722         if the corresponding module is not enabled. Emit link warnings if
59723         the function is used nevertheless.
59724         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
59725         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
59726         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
59727         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
59728         * modules/inttypes (Depends-on): Add link-warning.
59729         (Makefile.am): Copy the contents of build-aux/link-warning.h into
59730         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
59731         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
59732         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
59733         * modules/imaxdiv (configure.ac): Likewise.
59734         * modules/strtoimax (configure.ac): Likewise.
59735         * modules/strtoumax (configure.ac): Likewise.
59736
59737 2007-02-17  Bruno Haible  <bruno@clisp.org>
59738
59739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
59740         gl_STRING_MODULE_INDICATOR_DEFAULTS.
59741         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
59742         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
59743
59744 2007-02-17  Bruno Haible  <bruno@clisp.org>
59745
59746         * modules/link-warning: New file.
59747         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
59748         * lib/string_.h (GL_LINK_WARNING): Remove definition.
59749         * modules/string (Depends-on): Add link-warning.
59750         (Makefile.am): Copy the contents of build-aux/link-warning.h into
59751         string.h.
59752         * MODULES.html.sh (Support for building libraries and executables): Add
59753         link-warning.
59754
59755 2007-02-17  Bruno Haible  <bruno@clisp.org>
59756
59757         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
59758         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
59759         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
59760         long lines.
59761
59762 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
59763             Bruno Haible  <bruno@clisp.org>
59764
59765         * modules/tmpfile: New file.
59766         * lib/tmpfile.c: New file.
59767         * m4/tmpfile.m4: New file.
59768         * MODULES.html.sh (func_all_modules): New section "Input/output".
59769
59770 2007-02-15  Bruno Haible  <bruno@clisp.org>
59771
59772         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
59773         (supports_delete_on_close): New function.
59774         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
59775
59776 2007-02-14  Bruno Haible  <bruno@clisp.org>
59777
59778         * modules/mbspcasecmp-tests: New file.
59779         * tests/test-mbspcasecmp.sh: New file.
59780         * tests/test-mbspcasecmp.c: New file.
59781
59782         New module mbspcasecmp.
59783         * modules/mbspcasecmp: New file.
59784         * lib/mbspcasecmp.c: New file.
59785         * lib/string_.h (strncasecmp): Change warning message.
59786         (mbspcasecmp): New declaration.
59787         * m4/mbspcasecmp.m4: New file.
59788         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59789         GNULIB_MBSPCASECMP.
59790         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
59791         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
59792
59793 2007-02-14  Bruno Haible  <bruno@clisp.org>
59794
59795         * modules/mbsncasecmp-tests: New file.
59796         * tests/test-mbsncasecmp.sh: New file.
59797         * tests/test-mbsncasecmp.c: New file.
59798
59799         New module mbsncasecmp.
59800         * modules/mbsncasecmp: New file.
59801         * lib/mbsncasecmp.c: New file.
59802         * lib/string_.h (mbsncasecmp): New declaration.
59803         * m4/mbsncasecmp.m4: New file.
59804         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59805         GNULIB_MBSNCASECMP.
59806         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
59807         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
59808
59809 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
59810
59811         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
59812         Verify that it doesn't overlap with our flags.
59813         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
59814         do not have the desired effect in multibyte locales; instead, use
59815         mbscasecmp.
59816         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
59817         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
59818         we don't require GNU fnmatch ourselves (if our users require it, they
59819         should do so explicitly).
59820
59821         Fix regex code so it doesn't rely on strcasecmp.
59822         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
59823         Otherwise, include gnulib's langinfo.h.
59824         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
59825         undesirable behavior in non-C locales.  Instead, rely on localecharset.
59826         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
59827         * modules/regex (FILES): Remove m4/codeset.m4.
59828         (Depends-on): Add localcharset.  Remove strcase.
59829
59830 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59831
59832         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
59833         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
59834
59835 2007-02-13  Bruno Haible  <bruno@clisp.org>
59836
59837         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
59838         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59839
59840 2007-02-12  Bruno Haible  <bruno@clisp.org>
59841
59842         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
59843         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
59844         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
59845         time warning rather than a link error.
59846
59847 2007-02-12  Bruno Haible  <bruno@clisp.org>
59848
59849         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
59850         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59851         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59852
59853 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59854
59855         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
59856         args, not 2.
59857
59858 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59859
59860         New module 'time', so that apps can include <time.h> as per
59861         POSIX and GNU instead of separate include files like time_r.h
59862         and timegm.h.  This implementation tries out a simpler approach
59863         for replacing decls in standard include files (as compared to
59864         the string module), somewhat as an experiment.
59865
59866         * config/srclist.txt: Comment out mktime.c for now.
59867         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
59868         since it doesn't apply any more.  Use generic wording instead.
59869         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
59870         'time'.
59871         * lib/time_.h, m4/time_h.m4, modules/time: New files.
59872         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
59873         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
59874         Don't include <sys/types.h>; no longer needed since we assume C89.
59875         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
59876         * lib/strftime.c: Likewise.
59877         * lib/time_r.c: Likewise.
59878         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
59879         * lib/nanosleep.c: Include <time.h> first, to check interface.
59880         * lib/strptime.c: Likewise.
59881         * lib/time_r.c: Likewise.
59882         * lib/timegm.c: Likewise.
59883         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
59884         needed.
59885         * lib/timegm.c: Don't include timegm.h; no longer needed.
59886         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
59887         time.h now handles any problems in that area.
59888         (struct timespec, nanosleep): Remove; time.h now arranges for these.
59889         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
59890         that time.h defines struct timespec.
59891         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
59892         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
59893         handles that.
59894         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
59895         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
59896         needed.  Set REPLACE_LOCALTIME.
59897         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
59898         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
59899         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
59900         nanosleep; time_h.m4 now does that.  Don't require
59901         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
59902         module handles this now.
59903         * modules/getdate (Depends-on): Remove timespec.  Add time.
59904         * modules/nanosleep (Depends-on): Likewise.
59905         * modules/stat-time (Depends-on): Likewise.
59906         * modules/nanosleep (Include): Include time.h, not timespec.h.
59907         * modules/strptime (Files): Remove lib/strptime.h.
59908         (Depends-on): Add extensions, time.
59909         (Include): Include time.h, not strptime.h.
59910         * modules/time_r (Files): Remove lib/time_r.h.
59911         (Depends-on): Add time.
59912         (Include): Include time.h, not time_r.h.
59913         * modules/timegm: Likewise.
59914         * modules/timespec (Description): Now does timespec-related decls
59915         of our own, instead of struct timespec itself.
59916         (Depends-on): Add time; remove extensions.
59917         (Maintainer): Add self.
59918         * modules/utimecmp (Depends-on): Add time; remove timespec.
59919         * modules/utimens (Depends-on): Likewise.
59920         * modules/xnanosleep (Depends-on): Likewise.
59921
59922 2007-02-11  Bruno Haible  <bruno@clisp.org>
59923
59924         * lib/c-strstr.c: Include allocsa.h.
59925         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59926         * lib/c-strcasestr.c: Include allocsa.h.
59927         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59928         * lib/strcasestr.c: Include allocsa.h.
59929         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59930         * lib/mbsstr.c: Include allocsa.h.
59931         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
59932         allocsa/freesa instead of malloc/free.
59933         * lib/mbscasestr.c: Include allocsa.h.
59934         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
59935         allocsa/freesa instead of malloc/free.
59936         * modules/c-strstr (Depends-on): Add allocsa.
59937         * modules/c-strcasestr (Depends-on): Likewise.
59938         * modules/strcasestr (Depends-on): Likewise.
59939         * modules/mbsstr (Depends-on): Likewise.
59940         * modules/mbscasestr (Depends-on): Likewise.
59941
59942 2007-02-11  Bruno Haible  <bruno@clisp.org>
59943
59944         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
59945
59946         * modules/mbsspn-tests: New file.
59947         * tests/test-mbsspn.sh: New file.
59948         * tests/test-mbsspn.c: New file.
59949
59950 2007-02-11  Bruno Haible  <bruno@clisp.org>
59951
59952         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
59953
59954         * modules/mbspbrk-tests: New file.
59955         * tests/test-mbspbrk.sh: New file.
59956         * tests/test-mbspbrk.c: New file.
59957
59958 2007-02-11  Bruno Haible  <bruno@clisp.org>
59959
59960         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
59961         unneeded cast.
59962
59963         * modules/mbscspn-tests: New file.
59964         * tests/test-mbscspn.sh: New file.
59965         * tests/test-mbscspn.c: New file.
59966
59967 2007-02-11  Bruno Haible  <bruno@clisp.org>
59968
59969         * modules/mbscasecmp-tests: New file.
59970         * tests/test-mbscasecmp.sh: New file.
59971         * tests/test-mbscasecmp.c: New file.
59972
59973 2007-02-11  Bruno Haible  <bruno@clisp.org>
59974
59975         Ensure O(n) worst-case complexity of mbscasestr.
59976         * lib/mbscasestr.c: Include stdbool.h.
59977         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
59978         functions.
59979         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
59980         the bookkeeping indicates that it's worth it.
59981         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
59982
59983         * modules/mbscasestr-tests: New file.
59984         * tests/test-mbscasestr1.c: New file.
59985         * tests/test-mbscasestr2.sh: New file.
59986         * tests/test-mbscasestr2.c: New file.
59987         * tests/test-mbscasestr3.sh: New file.
59988         * tests/test-mbscasestr3.c: New file.
59989         * tests/test-mbscasestr4.sh: New file.
59990         * tests/test-mbscasestr4.c: New file.
59991         * m4/locale-tr.m4: New file.
59992
59993 2007-02-11  Bruno Haible  <bruno@clisp.org>
59994
59995         Ensure O(n) worst-case complexity of mbsstr.
59996         * lib/mbsstr.c: Include stdbool.h.
59997         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
59998         functions.
59999         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
60000         bookkeeping indicates that it's worth it.
60001         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
60002
60003         * modules/mbsstr-tests: New file.
60004         * tests/test-mbsstr1.c: New file.
60005         * tests/test-mbsstr2.sh: New file.
60006         * tests/test-mbsstr2.c: New file.
60007         * tests/test-mbsstr3.sh: New file.
60008         * tests/test-mbsstr3.c: New file.
60009         * m4/locale-fr.m4: New file.
60010
60011 2007-02-11  Bruno Haible  <bruno@clisp.org>
60012
60013         * lib/mbsrchr.c (mbsrchr): Fix bug.
60014
60015         * modules/mbsrchr-tests: New file.
60016         * tests/test-mbsrchr.sh: New file.
60017         * tests/test-mbsrchr.c: New file.
60018
60019 2007-02-11  Bruno Haible  <bruno@clisp.org>
60020
60021         * lib/mbschr.c (mbschr): Fix bug.
60022
60023         * modules/mbschr-tests: New file.
60024         * tests/test-mbschr.sh: New file.
60025         * tests/test-mbschr.c: New file.
60026         * m4/locale-zh.m4: New file.
60027
60028 2007-02-11  Bruno Haible  <bruno@clisp.org>
60029
60030         Support for copying multibyte string iterators.
60031         * lib/mbiter.h: Include <string.h>.
60032         (mbiter_multi_copy): New function.
60033         (mbi_copy): New macro.
60034         * lib/mbuiter.h: Include <string.h>.
60035         (mbuiter_multi_copy): New function.
60036         (mbui_copy): New macro.
60037
60038 2007-02-11  Bruno Haible  <bruno@clisp.org>
60039
60040         New module mbslen.
60041         * modules/mbslen: New file.
60042         * lib/mbslen.c: New file.
60043         * lib/string_.h (mbslen): New declaration.
60044         * m4/mbslen.m4: New file.
60045         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60046         GNULIB_MBSLEN.
60047         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
60048         * MODULES.html.sh (Internationalization functions): Add mbslen.
60049
60050 2007-02-11  Bruno Haible  <bruno@clisp.org>
60051
60052         Ensure O(n) worst-case complexity of strcasestr substitute.
60053         * lib/strcasestr.c: Include stdbool.h.
60054         (knuth_morris_pratt): New function.
60055         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
60056         bookkeeping indicates that it's worth it.
60057         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
60058
60059         * modules/strcasestr-tests: New file.
60060         * tests/test-strcasestr.c: New file.
60061
60062 2007-02-11  Bruno Haible  <bruno@clisp.org>
60063
60064         Ensure O(n) worst-case complexity of c_strcasestr.
60065         * lib/c-strcasestr.c: Include stdbool.h, string.h.
60066         (knuth_morris_pratt): New function.
60067         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
60068         the bookkeeping indicates that it's worth it.
60069         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
60070
60071         * modules/c-strcasestr-tests: New file.
60072         * tests/test-c-strcasestr.c: New file.
60073
60074 2007-02-11  Bruno Haible  <bruno@clisp.org>
60075
60076         Ensure O(n) worst-case complexity of c_strstr.
60077         * lib/c-strstr.c: Include stdbool.h, string.h.
60078         (knuth_morris_pratt): New function.
60079         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
60080         bookkeeping indicates that it's worth it.
60081         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
60082
60083         * lib/c-strstr.c: Complete rewrite for maintainability.
60084
60085         * modules/c-strstr-tests: New file.
60086         * tests/test-c-strstr.c: New file.
60087
60088 2007-02-11  Bruno Haible  <bruno@clisp.org>
60089
60090         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
60091         5.2.1 and earlier, whereby \055 was treated just like the range
60092         delimiter '-'.
60093         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60094
60095 2007-02-08  Bruno Haible  <bruno@clisp.org>
60096
60097         * modules/regex (Depends-on): Add stdbool.
60098         Reported by Dalibor Topic <robilad@kaffe.org>.
60099
60100 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60101
60102         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
60103         Prefer returning from main to exiting from it.
60104         Remove unnecessary parens after sizeof.
60105
60106 2007-02-05  Bruno Haible  <bruno@clisp.org>
60107
60108         New module mbssep.
60109         * modules/mbssep: New file.
60110         * lib/mbssep.c: New file.
60111         * lib/string_.h (strsep): Add a conditional link warning.
60112         (mbssep): New declaration.
60113         * m4/mbssep.m4: New file.
60114         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60115         GNULIB_MBSSEP.
60116         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
60117         * MODULES.html.sh (Internationalization functions): Add mbssep.
60118
60119 2007-02-05  Bruno Haible  <bruno@clisp.org>
60120
60121         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
60122         Optimize search in case of 1 delimiter.
60123
60124 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
60125
60126         * lib/acl.h: Include sys/types.h before sys/acl.h.
60127
60128 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
60129
60130         Merge upstream fix for glibc bugzilla #3957:
60131
60132         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
60133
60134         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
60135         bit for RE_HAT_LISTS_NOT_NEWLINE.
60136         (build_charclass_op): Remove bogus comment.
60137
60138 2007-02-05  Simon Josefsson  <simon@josefsson.org>
60139
60140         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
60141
60142 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60143
60144         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
60145         * lib/memmem.c [!defined _LIBC]: Include config.h.
60146
60147 2007-02-04  Bruno Haible  <bruno@clisp.org>
60148
60149         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
60150         warning message.
60151
60152 2007-02-04  Bruno Haible  <bruno@clisp.org>
60153
60154         New module mbstok_r.
60155         * modules/mbstok_r: New file.
60156         * lib/mbstok_r.c: New file.
60157         * lib/string_.h (strtok_r): Change argument names to match the
60158         comments. Add a conditional link warning.
60159         (mbstok_r): New declaration.
60160         * m4/mbstok_r.m4: New file.
60161         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60162         GNULIB_MBSTOK_R.
60163         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
60164         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
60165
60166 2007-02-04  Bruno Haible  <bruno@clisp.org>
60167
60168         New module mbsspn.
60169         * modules/mbsspn: New file.
60170         * lib/mbsspn.c: New file.
60171         * lib/string_.h (strspn): Add a conditional link warning.
60172         (mbsspn): New declaration.
60173         * m4/mbsspn.m4: New file.
60174         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60175         GNULIB_MBSSPN.
60176         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
60177         * MODULES.html.sh (Internationalization functions): Add mbsspn.
60178
60179 2007-02-04  Bruno Haible  <bruno@clisp.org>
60180
60181         New module mbspbrk.
60182         * modules/mbspbrk: New file.
60183         * lib/mbspbrk.c: New file.
60184         * lib/string_.h (strpbrk): Add a conditional link warning.
60185         (mbspbrk): New declaration.
60186         * m4/mbspbrk.m4: New file.
60187         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60188         GNULIB_MBSPBRK.
60189         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
60190         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
60191
60192 2007-02-04  Bruno Haible  <bruno@clisp.org>
60193
60194         New module mbscspn.
60195         * modules/mbscspn: New file.
60196         * lib/mbscspn.c: New file.
60197         * lib/string_.h (strcspn): Add a conditional link warning.
60198         (mbscspn): New declaration.
60199         * m4/mbscspn.m4: New file.
60200         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60201         GNULIB_MBSCSPN.
60202         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
60203         * MODULES.html.sh (Internationalization functions): Add mbscspn.
60204
60205 2007-02-04  Bruno Haible  <bruno@clisp.org>
60206
60207         New module mbscasestr, reduced goal of strcasestr.
60208         * modules/mbscasestr: New file.
60209         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
60210         (mbscasestr): Renamed from strcasestr.
60211         * lib/strcasestr.c: Don't include mbuiter.h.
60212         (strcasestr): Remove support for multibyte locales.
60213         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
60214         Change the conditional link warning.
60215         (mbscasestr): New declaration.
60216         * m4/mbscasestr.m4: New file.
60217         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
60218         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
60219         REPLACE_STRCASESTR.
60220         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
60221         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60222         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
60223         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
60224         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
60225         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
60226         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
60227         (Depends-on): Remove mbuiter.
60228         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
60229
60230 2007-02-04  Bruno Haible  <bruno@clisp.org>
60231
60232         Simplify handling of strncasecmp.
60233         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
60234         the conditional link warning.
60235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60236         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
60237         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
60238         * modules/strcase (configure.ac): Don't invoke
60239         gl_STRING_MODULE_INDICATOR.
60240         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
60241
60242 2007-02-04  Bruno Haible  <bruno@clisp.org>
60243
60244         New module mbscasecmp, reduced goal of strcasecmp.
60245         * modules/mbscasecmp: New file.
60246         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
60247         (mbscasecmp): Renamed from strcasecmp.
60248         * lib/strcasecmp.c: Don't include mbuiter.h.
60249         (strcasecmp): Remove support for multibyte locales.
60250         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
60251         Change the conditional link warning.
60252         (mbscasecmp): New declaration.
60253         * m4/mbscasecmp.m4: New file.
60254         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
60255         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
60256         REPLACE_STRCASECMP.
60257         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
60258         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60259         GNULIB_MBSCASECMP.
60260         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
60261         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
60262         * modules/strcase (Files): Remove m4/mbrtowc.m4.
60263         (Depends-on): Remove mbuiter.
60264         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
60265
60266 2007-02-04  Bruno Haible  <bruno@clisp.org>
60267
60268         New module mbsstr. Remove module strstr.
60269         * modules/mbsstr: New file.
60270         * modules/strstr: Remove file.
60271         * lib/mbsstr.c: Renamed from lib/strstr.c.
60272         (mbsstr): Renamed from strstr.
60273         * lib/string_.h (strstr): Remove declaration. Change the conditional
60274         link warning.
60275         (mbsstr): New declaration.
60276         * m4/mbsstr.m4: New file.
60277         * m4/strstr.m4: Remove file.
60278         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
60279         REPLACE_STRSTR.
60280         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
60281         Don't initialize GNULIB_STRSTR.
60282         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
60283         substitute GNULIB_STRSTR and REPLACE_STRSTR.
60284         * MODULES.html.sh (Internationalization functions): Add mbsstr.
60285         (Support for systems lacking ANSI C 89): Remove strstr.
60286
60287 2007-02-04  Bruno Haible  <bruno@clisp.org>
60288
60289         New module mbsrchr.
60290         * modules/mbsrchr: New file.
60291         * lib/mbsrchr.c: New file.
60292         * lib/string_.h (strrchr): Add a conditional link warning.
60293         (mbsrchr): New declaration.
60294         * m4/mbsrchr.m4: New file.
60295         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60296         GNULIB_MBSRCHR.
60297         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
60298         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
60299
60300 2007-02-04  Bruno Haible  <bruno@clisp.org>
60301
60302         New module mbschr.
60303         * modules/mbschr: New file.
60304         * lib/mbschr.c: New file.
60305         * lib/string_.h (strchr): Add a conditional link warning.
60306         (mbschr): New declaration.
60307         * m4/mbschr.m4: New file.
60308         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60309         GNULIB_MBSCHR.
60310         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
60311         * MODULES.html.sh (Internationalization functions): Add mbschr.
60312
60313 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60314
60315         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
60316
60317         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
60318
60319 2007-02-04  Bruno Haible  <bruno@clisp.org>
60320
60321         New module description section 'configure.ac-early'.
60322         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
60323         (func_get_autoconf_early_snippet): New function.
60324         (func_import, func_create_testdir): Use it. Remove special cases for
60325         modules 'extensions' and 'lock'.
60326         * modules/extensions (configure.ac-early): Require
60327         gl_USE_SYSTEM_EXTENSIONS.
60328         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
60329
60330 2007-02-04  Bruno Haible  <bruno@clisp.org>
60331
60332         Make use of gcj-4.3's -fsource and -ftarget option.
60333         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
60334         and if so try the options -fsource and -ftarget.
60335         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
60336         source_version, ftarget_option, target_version arguments.
60337         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
60338         (is_envjavac_oldgcj_14_14_usable): Renamed from
60339         is_envjavac_gcj_14_14_usable.
60340         (is_envjavac_oldgcj_14_13_usable): Renamed from
60341         is_envjavac_gcj_14_13_usable.
60342         (is_gcj_present): Update.
60343         (is_gcj_43, is_gcj43_usable): New functions.
60344         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
60345         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
60346         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
60347         try the options -fsource and -ftarget.
60348
60349 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
60350
60351         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
60352         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
60353         larger value.
60354
60355 2007-02-03  Jim Meyering  <jim@meyering.net>
60356
60357         Give tools a better chance to allocate space for very large buffers.
60358         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
60359
60360         Make pwd and readlink work also when run with an unreadable parent dir
60361         on systems with openat support.
60362         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
60363         provided getcwd function, even when we have openat support.
60364         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
60365
60366 2007-02-02  Bruno Haible  <bruno@clisp.org>
60367
60368         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
60369         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
60370         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
60371         portability problems if one of these functions is only used on specific
60372         platforms.
60373         Reported by Paul Eggert.
60374
60375 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
60376
60377         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
60378         is causing more trouble than it's curing.
60379         * lib/regex_internal.h (__mempcpy): Remove.
60380         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
60381         (and make the code a tad smaller to boot).
60382         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
60383
60384 2007-02-02  Jim Meyering  <jim@meyering.net>
60385
60386         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
60387         section, not in the Makefile.am: one.
60388
60389 2007-02-02  Eric Blake  <ebb9@byu.net>
60390
60391         * lib/strchrnul.c: Always include config.h first.
60392
60393         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
60394         gnulib strstr is not necessary here.
60395
60396 2007-02-02  Simon Josefsson  <simon@josefsson.org>
60397
60398         * m4/socklen.m4: Fix typo.
60399
60400 2007-02-02  Eric Blake  <ebb9@byu.net>
60401
60402         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
60403         * modules/netinet_in (Makefile.am): Likewise.
60404
60405 2007-02-01  Bruno Haible  <bruno@clisp.org>
60406
60407         * lib/string_.h (GL_LINK_WARNING): New macro.
60408         (strcasecmp, strstr, strcasestr): If provided by the system,
60409         conditionally define as a macro that leads to a warning instead of to
60410         an error.
60411         (strncasecmp): Conditionally define as a macro that leads to a warning.
60412
60413 2007-02-01  Karl Berry  <karl@gnu.org>
60414
60415         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
60416
60417 2007-02-01  Bruno Haible  <bruno@clisp.org>
60418
60419         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
60420         renamings.
60421
60422 2007-02-01  Eric Blake  <ebb9@byu.net>
60423
60424         * modules/regex (Depends-on): Revert dependence on mempcpy.
60425         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
60426         module's definition of mempcpy.
60427         Reported by Paul Eggert.
60428
60429 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
60430
60431         * lib/string_.h: If the gnulib module XYZ is not present, undefine
60432         the symbol XYZ before redefining it.  This fixes a problem with
60433         programs that don't use XYZ, when compiled on systems that define
60434         XYZ to something else.
60435
60436 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
60437
60438         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
60439         occurs when "mkdir -m foo" creates a setgid directory that is (1)
60440         writeable to group or other and (2) is intended to have a special
60441         mode bit that is set or cleared.  In such a case, the directory
60442         should be neither group- nor other-writeable until the special
60443         mode bits are right.
60444
60445 2007-01-31  Eric Blake  <ebb9@byu.net>
60446
60447         * modules/mountlist (Depends-on): Add strstr.
60448
60449         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
60450         bug.
60451         * modules/string (Makefile.am): Remove redundant replacement.
60452         * modules/regex (Depends-on): Add mempcpy.
60453
60454 2007-01-31  Bruno Haible  <bruno@clisp.org>
60455
60456         New module description field 'Link'.
60457         * gnulib-tool (func_usage): Document --extract-link-directive.
60458         (sed_extract_prog): Recognize 'Link' directive.
60459         (func_get_link_directive): New function.
60460         (func_import): Show summary of link directives.
60461         Handle --extract-link-directive option.
60462         * modules/acl (Link): New section.
60463         * modules/clock-time (Link): New section.
60464         * modules/euidaccess (Link): New section.
60465         * modules/gettext (Link): New section.
60466         * modules/iconv (Link): New section.
60467         * modules/lock (Link): New section.
60468         * modules/nanosleep (Link): New section.
60469         * modules/readline (Link): New section.
60470
60471 2007-01-27  Bruno Haible  <bruno@clisp.org>
60472
60473         Enforce the use of gnulib modules for unportable <string.h> functions.
60474         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
60475         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
60476         (gl_HEADER_STRING_H_BODY): Require it.
60477         * lib/string_.h: If the gnulib module XYZ is not present, redefine
60478         the symbol XYZ to one that gives a link error.
60479         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
60480         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
60481         * modules/mempcpy (configure.ac): Likewise.
60482         * modules/memrchr (configure.ac): Likewise.
60483         * modules/stpcpy (configure.ac): Likewise.
60484         * modules/stpncpy (configure.ac): Likewise.
60485         * modules/strcase (configure.ac): Likewise.
60486         * modules/strcasestr (configure.ac): Likewise.
60487         * modules/strchrnul (configure.ac): Likewise.
60488         * modules/strdup (configure.ac): Likewise.
60489         * modules/strndup (configure.ac): Likewise.
60490         * modules/strnlen (configure.ac): Likewise.
60491         * modules/strpbrk (configure.ac): Likewise.
60492         * modules/strsep (configure.ac): Likewise.
60493         * modules/strstr (configure.ac): Likewise.
60494         * modules/strtok_r (configure.ac): Likewise.
60495
60496 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
60497
60498         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
60499
60500 2007-01-30  Jim Meyering  <jim@meyering.net>
60501
60502         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
60503
60504 2007-01-29  Bruno Haible  <bruno@clisp.org>
60505
60506         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
60507         * lib/execute.c: Likewise.
60508         * lib/pipe.c: Likewise.
60509         * lib/printf-args.h: Likewise.
60510         * lib/printf-args.c: Likewise.
60511         * lib/printf-parse.c: Likewise.
60512         * lib/vasnprintf.c: Likewise.
60513
60514 2007-01-29  Eric Blake  <ebb9@byu.net>
60515
60516         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
60517         declaration.
60518
60519 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
60520
60521         * lib/strptime.h (strptime): Use 'restrict' for args where
60522         POSIX requires this.
60523         * lib/strptime.c (strptime): Likewise.
60524         Change license notice from LGPL to GPL, since gnulib-tool will
60525         change this as needed.
60526         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
60527         defined.
60528         Include "strptime.h" first, to check interface.
60529         Do not #undef _LIBC and _NL_CURRENT.
60530         Do not include <stdlib.h>; no longer needed.
60531         Include "time_r.h" and declare ptime_locale_status
60532         only if _LIBC is not defined.
60533         (__P): Remove unused macro.
60534         (match_string): Bring back glibc version, but use it only if _LIBC
60535         is defined.
60536         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
60537         Remove unnecessary assertion and abort() call.
60538         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
60539         * m4/strptime.m4: Fix serial number comment.
60540         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
60541         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
60542         (Depends-on): Add time_r.
60543
60544 2007-01-29  Bruno Haible  <bruno@clisp.org>
60545
60546         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60547         strptime.
60548         * modules/strptime (Depends-on): Add stdbool.
60549         * lib/strptime.h: Include <time.h> always. Add comments.
60550
60551 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60552
60553         * modules/strptime: New file.
60554         * lib/strptime.h: New file.
60555         * lib/strptime.c: New file.
60556         * m4/strptime.m4: New file.
60557
60558 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
60559
60560         * MODULES.html.sh: New module mpsort.
60561         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
60562
60563         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
60564         a circularity problem with HP-UX ia64 reported by Bob Proulx in
60565         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
60566         All uses changed.
60567         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
60568         All uses changed.
60569         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
60570         to _Restrict_.
60571         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
60572         the parameter matches the prototype.
60573
60574 2007-01-28  Jim Meyering  <jim@meyering.net>
60575
60576         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
60577         sys/time.h here, reverting that part of the previous patch:
60578         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
60579
60580 2007-01-28  Bruno Haible  <bruno@clisp.org>
60581
60582         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
60583         value of $(SYS_TIME_H).
60584         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
60585         remove it conditionally, too. [added by Jim Meyering]
60586         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
60587         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
60588         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
60589         GETTIMEOFDAY_REPLACEMENT to 1.
60590
60591 2007-01-28  Bruno Haible  <bruno@clisp.org>
60592
60593         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
60594         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
60595         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
60596         Set UNISTD_H instead of UNISTD_H2.
60597         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
60598
60599 2007-01-28  Bruno Haible  <bruno@clisp.org>
60600
60601         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
60602         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
60603
60604 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60605
60606         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
60607         (func_create_testdir): Ensure C locale for `grep' and `tr'
60608         character ranges.
60609         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
60610         ACLOCAL_AMFLAGS parsing state machine.
60611
60612 2007-01-27  Bruno Haible  <bruno@clisp.org>
60613
60614         * modules/unistr/base: Update.
60615
60616 2007-01-27  Bruno Haible  <bruno@clisp.org>
60617
60618         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
60619         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
60620         * modules/unistr/u32-mbtouc-unsafe: Renamed from
60621         modules/unistr/u32-mbtouc.
60622         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
60623         * lib/unistr.h: Update.
60624         * lib/linebreak.c: Update.
60625         * modules/unistr/u32-mbtouc: Renamed from
60626         modules/unistr/u32-mbtouc-safe.
60627         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
60628         * lib/unistr.h: Update.
60629         * lib/unistr/u32-to-u8.c: Update.
60630         * lib/unistr/u32-to-u16.c: Update.
60631
60632 2007-01-27  Bruno Haible  <bruno@clisp.org>
60633
60634         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
60635         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
60636         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
60637         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
60638         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
60639         * modules/unistr/u16-mbtouc-unsafe: Renamed from
60640         modules/unistr/u16-mbtouc.
60641         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
60642         * lib/unistr.h: Update.
60643         * lib/linebreak.c: Update.
60644         * modules/linebreak: Update.
60645         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
60646         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
60647         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
60648         * modules/unistr/u16-mbtouc: Renamed from
60649         modules/unistr/u16-mbtouc-safe.
60650         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
60651         * lib/unistr.h: Update.
60652         * lib/unistr/u16-to-u8.c: Update.
60653         * modules/unistr/u16-to-u8: Update.
60654         * lib/unistr/u16-to-u32.c: Update.
60655         * modules/unistr/u16-to-u32: Update.
60656
60657 2007-01-27  Bruno Haible  <bruno@clisp.org>
60658
60659         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
60660         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
60661         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
60662         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
60663         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
60664         * modules/unistr/u8-mbtouc-unsafe: Renamed from
60665         modules/unistr/u8-mbtouc.
60666         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
60667         * lib/unistr.h: Update.
60668         * lib/striconveh.c: Update.
60669         * modules/striconveh: Update.
60670         * lib/linebreak.c: Update.
60671         * modules/linebreak: Update.
60672         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
60673         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
60674         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
60675         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
60676         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
60677         * lib/unistr.h: Update.
60678         * lib/striconveh.c: Update.
60679         * modules/striconveh: Update.
60680         * lib/unistr/u8-to-u16.c: Update.
60681         * modules/unistr/u8-to-u16: Update.
60682         * lib/unistr/u8-to-u32.c: Update.
60683         * modules/unistr/u8-to-u32: Update.
60684
60685 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60686
60687         Sync from Libtool.
60688         * lib/argz.c: Do not include strings.h nor memory.h, include
60689         string.h unconditionally.  Patch by Simon Josefsson.
60690
60691 2007-01-27  Bruno Haible  <bruno@clisp.org>
60692
60693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
60694         from gl_HEADER_STRING_H_BODY.
60695         (gl_HEADER_STRING_H_BODY): Require it.
60696         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
60697         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
60698         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
60699         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
60700         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60701         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
60702         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60703         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
60704         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
60705         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60706         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
60707         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
60708         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
60709         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60710         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60711
60712 2007-01-27  Bruno Haible  <bruno@clisp.org>
60713
60714         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
60715         check_PROGRAMS into noinst_PROGRAMS.
60716         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
60717         check_PROGRAMS in this case.
60718         (func_import): Set for_test to false.
60719         (func_create_testdir): Set for_test to true.
60720
60721 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
60722             Bruno Haible  <bruno@clisp.org>
60723
60724         * modules/strcasestr (Files): Remove lib/strcasestr.h.
60725         (Depends-on): Add string.
60726         (Includes): Use <string.h> instead of strcasestr.h.
60727         * modules/string (Makefile.am): Also substitute the value of
60728         REPLACE_STRCASESTR.
60729         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
60730         assume strcasestr is declared in <string.h> not <strings.h>. Also
60731         set REPLACE_STRCASESTR.
60732         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
60733         REPLACE_STRCASESTR.
60734         * lib/strcasestr.h: Remove file.
60735         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
60736         * lib/string_.h (strcasestr): New declaration.
60737
60738 2007-01-27  Bruno Haible  <bruno@clisp.org>
60739
60740         * lib/string_.h: Use 'extern'.
60741
60742 2007-01-27  Jim Meyering  <jim@meyering.net>
60743
60744         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
60745         of set-but-not-used local, "q".
60746
60747         * lib/mempcpy.c: Include <config.h> before <string.h>.
60748         This fixes a compilation error on HP-UX, due to the system's
60749         "restrict"-using mempcpy prototype.
60750
60751 2007-01-26  Bruno Haible  <bruno@clisp.org>
60752
60753         Small optimization.
60754         * lib/javacomp.c: Include c-strstr.h.
60755          (is_envjavac_gcj): Use c_strstr instead of strstr.
60756         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
60757
60758 2007-01-26  Bruno Haible  <bruno@clisp.org>
60759
60760         * MODULES.html.sh (Unicode string functions): Add the new modules.
60761
60762         * modules/uniconv/u32-strconv-to-locale: New file.
60763         * lib/uniconv/u32-strconv-to-locale.c: New file.
60764
60765         * modules/uniconv/u16-strconv-to-locale: New file.
60766         * lib/uniconv/u16-strconv-to-locale.c: New file.
60767
60768         * modules/uniconv/u8-strconv-to-locale: New file.
60769         * lib/uniconv/u8-strconv-to-locale.c: New file.
60770
60771         * modules/uniconv/u32-strconv-from-locale: New file.
60772         * lib/uniconv/u32-strconv-from-locale.c: New file.
60773
60774         * modules/uniconv/u16-strconv-from-locale: New file.
60775         * lib/uniconv/u16-strconv-from-locale.c: New file.
60776
60777         * modules/uniconv/u8-strconv-from-locale: New file.
60778         * lib/uniconv/u8-strconv-from-locale.c: New file.
60779
60780         * modules/uniconv/u32-strconv-to-enc: New file.
60781         * lib/uniconv/u32-strconv-to-enc.c: New file.
60782         * modules/uniconv/u32-strconv-to-enc-tests: New file.
60783         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
60784
60785         * modules/uniconv/u16-strconv-to-enc: New file.
60786         * lib/uniconv/u16-strconv-to-enc.c: New file.
60787         * lib/uniconv/u-strconv-to-enc.h: New file.
60788         * modules/uniconv/u16-strconv-to-enc-tests: New file.
60789         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
60790
60791         * modules/uniconv/u8-strconv-to-enc: New file.
60792         * lib/uniconv/u8-strconv-to-enc.c: New file.
60793         * modules/uniconv/u8-strconv-to-enc-tests: New file.
60794         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
60795
60796         * modules/uniconv/u32-strconv-from-enc: New file.
60797         * lib/uniconv/u32-strconv-from-enc.c: New file.
60798         * modules/uniconv/u32-strconv-from-enc-tests: New file.
60799         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
60800
60801         * modules/uniconv/u16-strconv-from-enc: New file.
60802         * lib/uniconv/u16-strconv-from-enc.c: New file.
60803         * modules/uniconv/u16-strconv-from-enc-tests: New file.
60804         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
60805
60806         * modules/uniconv/u8-strconv-from-enc: New file.
60807         * lib/uniconv/u8-strconv-from-enc.c: New file.
60808         * lib/uniconv/u-strconv-from-enc.h: New file.
60809         * modules/uniconv/u8-strconv-from-enc-tests: New file.
60810         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
60811
60812         * modules/uniconv/u32-conv-from-enc: New file.
60813         * lib/uniconv/u32-conv-from-enc.c: New file.
60814         * modules/uniconv/u32-conv-from-enc-tests: New file.
60815         * tests/uniconv/test-u32-conv-from-enc.c: New file.
60816
60817         * modules/uniconv/u16-conv-from-enc: New file.
60818         * lib/uniconv/u16-conv-from-enc.c: New file.
60819         * lib/uniconv/u-conv-from-enc.h: New file.
60820         * modules/uniconv/u16-conv-from-enc-tests: New file.
60821         * tests/uniconv/test-u16-conv-from-enc.c: New file.
60822
60823         * modules/uniconv/u8-conv-from-enc: New file.
60824         * lib/uniconv/u8-conv-from-enc.c: New file.
60825         * modules/uniconv/u8-conv-from-enc-tests: New file.
60826         * tests/uniconv/test-u8-conv-from-enc.c: New file.
60827
60828         * modules/uniconv/base: New file.
60829         * lib/uniconv.h: New file.
60830
60831 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
60832
60833         * doc/gnulib-tool.texi (Initial import): Update to match current
60834         behavior with strdup module.
60835         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
60836         * lib/memmem.h: Remove; all uses removed.  This is now done
60837         by <string.h>.
60838         * lib/mempcpy.h: Likewise.
60839         * lib/memrchr.h: Likewise.
60840         * lib/stpcpy.h: Likewise.
60841         * lib/stpncpy.h: Likewise.
60842         * lib/strcase.h: Likewise.
60843         * lib/strchrnul.h: Likewise.
60844         * lib/strdup.h: Likewise.
60845         * lib/strndup.h: Likewise.
60846         * lib/strnlen.h: Likewise.
60847         * lib/strpbrk.h: Likewise.
60848         * lib/strsep.h: Likewise.
60849         * lib/strstr.h: Likewise.
60850         * lib/strtok_r.h: Likewise.
60851         * lib/string_.h: New file.
60852         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
60853         Rely on <string.h> instead.
60854         * lib/canon-host.c: Likewise.
60855         * lib/chdir-long.c: Likewise.
60856         * lib/concatpath.c: Likewise.
60857         * lib/exclude.c: Likewise.
60858         * lib/fchdir.c: Likewise.
60859         * lib/getaddrinfo.c: Likewise.
60860         * lib/getcwd.c: Likewise.
60861         * lib/getsubopt.c: Likewise.
60862         * lib/glob.c: Likewise.
60863         * lib/hard-locale.c: Likewise.
60864         * lib/iconvme.c: Likewise.
60865         * lib/javacomp.c: Likewise.
60866         * lib/mempcpy.c: Likewise.
60867         * lib/memrchr.c: Likewise.
60868         * lib/regex_internal.h: Likewise.
60869         * lib/stpncpy.c: Likewise.
60870         * lib/strcasecmp.c: Likewise.
60871         * lib/strchrnul.c: Likewise.
60872         * lib/strdup.c: Likewise.
60873         * lib/striconv.c: Likewise.
60874         * lib/striconveh.c: Likewise.
60875         * lib/striconveha.c: Likewise.
60876         * lib/strncasecmp.c: Likewise.
60877         * lib/strndup.c: Likewise.
60878         * lib/strnlen.c: Likewise.
60879         * lib/strsep.c: Likewise.
60880         * lib/strstr.c: Likewise.
60881         * lib/strtok_r.c: Likewise.
60882         * lib/userspec.c: Likewise.
60883         * lib/w32spawn.h: Likewise.
60884         * lib/xstrndup.c: Likewise.
60885         * lib/mountlist.c (strstr): Remove decl.
60886         * m4/string_h.m4: New file.
60887         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
60888         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
60889         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
60890         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
60891         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
60892         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
60893         Set REPLACE_STRCASECMP if necessary.
60894         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
60895         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
60896         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
60897         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
60898         HAVE_DECL_STRDUP if necessary.
60899         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
60900         since gl_FUNC_STRNDUP does that now.
60901         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
60902         Check for decl here...
60903         (gl_PREREQ_STRNLEN): ... not here.
60904         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
60905         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
60906         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
60907         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
60908         necessary.
60909         * modules/string: New file.
60910         * modules/memmem (Files): Remove special-purpose include file.
60911         (Depends-on): Add string.
60912         (Include): Include <string.h>, not the removed file.
60913         * modules/mempcpy: Likewise.
60914         * modules/memrchr: Likewise.
60915         * modules/stpcpy: Likewise.
60916         * modules/stpncpy: Likewise.
60917         * modules/strcase: Likewise.
60918         * modules/strchrnul: Likewise.
60919         * modules/strdup: Likewise.
60920         * modules/strndup: Likewise.
60921         * modules/strnlen: Likewise.
60922         * modules/strpbrk: Likewise.
60923         * modules/strsep: Likewise.
60924         * modules/strstr: Likewise.
60925         * modules/strtok_r: Likewise.
60926         * tests/test-dirname.c: Don't include "strdup.h", since
60927         <string.h> now suffices.
60928         * tests/test-memmem.c: Don't include "memmem.h", since
60929         <string.h> now suffices.
60930
60931 2007-01-25  Bruno Haible  <bruno@clisp.org>
60932
60933         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
60934         *resultp is 0.
60935
60936         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
60937         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
60938         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
60939         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
60940
60941         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
60942         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
60943         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
60944         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
60945         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
60946         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
60947
60948 2007-01-24  Bruno Haible  <bruno@clisp.org>
60949
60950         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
60951         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
60952         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
60953         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
60954         gl_FUNC_FTS_CORE.
60955         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
60956         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
60957         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60958         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
60959         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
60960         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
60961         gl_FUNC_FCHOWNAT.
60962         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
60963         gl_FUNC_STRFTIME.
60964         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
60965         Reported by Ralf Wildenhues.
60966
60967 2007-01-24  Bruno Haible  <bruno@clisp.org>
60968
60969         Drop AC_REQUIRE calls that are redundant with the module dependencies.
60970         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
60971         gl_GETADDRINFO.
60972         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
60973         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
60974         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
60975
60976 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
60977
60978         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
60979         Don't use 'exit'; just return from 'main'.
60980         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
60981
60982         * lib/fnmatch_.h: Readjust white space and comments to match
60983         glibc, to avoid spurious diffs.
60984
60985 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60986
60987         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
60988         2004-12-01 change by Jakub Jelinek, since this code won't compile
60989         if !LIBC.  Problem reported by Bob Proulx.
60990
60991 2007-01-23  Bruno Haible  <bruno@clisp.org>
60992
60993         * lib/striconveh.c: Include c-strcaseeq.h.
60994         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
60995         * modules/striconveh (Depends-on): Add c-strcaseeq.
60996
60997 2007-01-23  Bruno Haible  <bruno@clisp.org>
60998
60999         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
61000
61001         * modules/c-strcaseeq: New file.
61002         * lib/c-strcaseeq.h: New file.
61003
61004         * modules/streq: New file.
61005         * lib/streq.h: New file.
61006
61007 2007-01-23  Bruno Haible  <bruno@clisp.org>
61008
61009         * modules/striconveha-tests: New file.
61010         * tests/test-striconveha.c: New file.
61011
61012         * lib/striconveha.h: Include <stdbool.h>.
61013         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
61014         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
61015         (mem_iconveha_notranslit): Renamed from mem_iconveha.
61016         (mem_iconveha): New function.
61017         (str_iconveha_notranslit): Renamed from str_iconveha.
61018         (str_iconveha): New function.
61019         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
61020         c-strcase.
61021
61022 2007-01-23  Bruno Haible  <bruno@clisp.org>
61023
61024         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
61025         encodings without forgiving before trying any encoding with handler.
61026         (str_iconveha): Try all encodings without forgiving before trying any
61027         encoding with handler.
61028
61029 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61030
61031         Import the following changes from libc.
61032
61033         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
61034
61035         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
61036
61037         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
61038
61039         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
61040         normal_bracket label.
61041
61042         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
61043
61044         [BZ #361]
61045         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
61046         to normal_bracket after fetching the next character.
61047
61048 2007-01-22  Bruno Haible  <bruno@clisp.org>
61049
61050         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
61051         argument.
61052         * lib/striconveh.c (iconv_carefully_1): New function.
61053         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
61054         argument.
61055         (str_cd_iconveh): Update.
61056         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
61057         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
61058         * tests/test-striconveh.c (MAGIC): New macro.
61059         (new_offsets): New function.
61060         (main): Test call with and without offsets.
61061
61062 2007-01-22  Bruno Haible  <bruno@clisp.org>
61063
61064         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
61065         * modules/sys_select (Makefile.am): Likewise.
61066         * modules/sys_socket (Makefile.am): Likewise.
61067         * modules/sys_time (Makefile.am): Likewise.
61068
61069 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
61070
61071         * modules/gettimeofday (License): Change from GPL to LGPL, since
61072         gettimeofday is a library function.
61073
61074 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61075
61076         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
61077
61078 2007-01-21  Bruno Haible  <bruno@clisp.org>
61079
61080         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
61081
61082 2007-01-21  Bruno Haible  <bruno@clisp.org>
61083
61084         * modules/striconveha: New file.
61085         * lib/striconveha.h: New file.
61086         * lib/striconveha.c: New file.
61087         * MODULES.html.sh (Internationalization functions): Add striconveha.
61088         * lib/striconv.c (str_iconv): Optimize the case of an empty input
61089         string.
61090         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
61091
61092 2007-01-21  Bruno Haible  <bruno@clisp.org>
61093
61094         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
61095         * lib/striconveh.c (str_iconveh): Likewise.
61096
61097 2007-01-21  Bruno Haible  <bruno@clisp.org>
61098
61099         * lib/striconveh.h (mem_iconveh): New declaration.
61100         * lib/striconveh.c (mem_iconveh): New function.
61101         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
61102
61103 2007-01-21  Bruno Haible  <bruno@clisp.org>
61104
61105         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
61106
61107         * lib/striconveh.h (mem_cd_iconveh): Change specification.
61108         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
61109         original result buffer.
61110         (str_cd_iconveh): Update.
61111         * tests/test-striconveh.c (main): Update.
61112
61113         * lib/striconv.h (mem_cd_iconv): Change specification.
61114         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
61115         result buffer.
61116         (str_cd_iconv): Update.
61117         * tests/test-striconv.c (main): Update.
61118
61119 2007-01-21  Bruno Haible  <bruno@clisp.org>
61120
61121         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
61122
61123 2007-01-20  Jim Meyering  <jim@meyering.net>
61124
61125         * lib/userspec.c (parse_with_separator): If a user or group string
61126         starts with "+", skip the corresponding name-to-ID look-up, since
61127         such a look-up must fail: user and group names may not include "+".
61128
61129 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
61130
61131         * lib/poll.c: Include sys/time.h and time.h unconditionally,
61132         since we now assume the sys_time module.
61133         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
61134         check for sys/time.h; no longer needed.
61135         * modules/poll (Depends-on): Depend on sys_time.
61136
61137 2007-01-18  Bruno Haible  <bruno@clisp.org>
61138
61139         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
61140         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
61141
61142         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
61143         gettimeofday.
61144
61145         * tests/test-gettimeofday.c: Include <time.h>.
61146         (dummy): Remove variable.
61147
61148         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
61149         gl_HEADER_SYS_TIME_H.
61150         (gl_HEADER_SYS_TIME_H): New macro.
61151
61152         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
61153         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61154         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
61155         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
61156         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61157         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
61158         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
61159         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61160         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
61161         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
61162         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61163
61164         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
61165         last change; it caused a compilation error when cross-compiling to
61166         Cygwin.
61167
61168 2007-01-18  Jim Meyering  <jim@meyering.net>
61169
61170         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
61171         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
61172         than the race-prone "test -d sys || mkdir sys".
61173         (configure.ac): Use AC_PROG_MKDIR_P.
61174         * modules/sys_select: Likewise.
61175         * modules/sys_socket: Likewise.
61176         * modules/sys_time: Likewise.
61177
61178 2007-01-18  Eric Blake  <ebb9@byu.net>
61179
61180         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
61181         replace gettimeofday.
61182         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
61183         name, to avoid infinite recursion.
61184
61185 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
61186
61187         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
61188         module sys_time.
61189         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
61190         assume timespec.h defines struct timeval.
61191         * lib/settime.c: Likewise.
61192         * lib/utimens.c: Likewise.
61193         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
61194         since we now assume the gettimeofday module.
61195         * lib/tempname.c (__gen_tempname): Likewise.
61196         * lib/gettimeofday.h: Remove.
61197         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
61198         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
61199         Include <time.h>, for 'time()'.
61200         (localtime_buffer_addr): Also use this workaround if
61201         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
61202         to simplify the uses.  All uses changed.
61203         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
61204         that #undef is inside {}, and 'const' follows type name consistently.
61205         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
61206         (gettimeofday): Do not use the maximum possible value for
61207         tv->tv_usec, since that might break usages other than ls.c.
61208         Instead, we'll leave ls.c alone.  This undoes today's patch
61209         by Bruno.  Add a compile-time warning for 1s-clock resolution;
61210         we've never observed the problem but might as well keep the
61211         canary.
61212         * lib/nanosleep.c: Include timespec.h first, for interface check.
61213         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
61214         now assume the sys_time module.
61215         * lib/tempname.c: Likewise.
61216         * lib/timespec.h: Likewise.
61217         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
61218         needed.
61219         * lib/strftime.c: Likewise.
61220         * lib/timespec.h: Likewise.
61221         * lib/posixtm.c: Include posixtm.h first, for interface check.
61222         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
61223         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
61224         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
61225         * lib/sys_time_.h: New file.
61226         * lib/timespec.h (struct timespec): Use long int, not long.
61227         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
61228         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
61229         Remove obsolescent call to AC_HEADER_TIME.
61230         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
61231         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61232         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
61233         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
61234         Likewise.
61235         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
61236         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
61237         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
61238         into the sys_time module.  Check for gettimeofday just once.
61239         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
61240         for gettimeofday signature to just check the signature.  Merely
61241         compile it, since linking doesn't test signature.  Improve test for
61242         whether gettimeofday.o is actually needed.
61243         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
61244         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
61245         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
61246         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61247         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
61248         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
61249         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
61250         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
61251         than worrying about sys/time.h.
61252         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61253         Don't bother worrying about TIME_WITH_SYS_TIME.
61254         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
61255         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
61256         * m4/sys_time_h.m4: New file.
61257         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
61258         Don't include sys/time.h.  Return from main rather than exiting.
61259         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
61260         all uses changed.
61261         * modules/gethrxtime (Depends-on): Add sys_time.
61262         * modules/gettime (Depends-on): Likewise.
61263         * modules/gettimeofday (Depends-on): Likewise.
61264         * modules/nanosleep (Depends-on): Likewise.
61265         * modules/settime (Depends-on): Likewise.
61266         * modules/tempname (Depends-on): Likewise.
61267         * modules/utimens (Depends-on): Likewise.
61268         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
61269         (Include): Change back to <sys/time.h>.
61270         (Maintainer): Add self.
61271         * modules/sys_time: New file.
61272         * modules/tempname (Depends-on): Add gettimeofday.
61273         * tests/test-gettimeofday.c: Include <sys/time.h>
61274         rather than gettimeofday.h.
61275
61276 2007-01-17  Bruno Haible  <bruno@clisp.org>
61277
61278         * gnulib-tool (func_get_license): Revert last patch. Instead, let
61279         the license default to GPL.
61280         (func_create_testdir): Don't complain if a module is LGPL and its
61281         tests module depends on GPLed modules.
61282
61283 2007-01-17  Bruno Haible  <bruno@clisp.org>
61284
61285         * lib/gettimeofday.c (gettimeofday): Add code for the case
61286         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
61287         maximum possible value for tv->tv_usec, rather than the minimum one.
61288
61289 2005-10-08  Martin Lambers  <marlam@marlam.de>
61290 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61291 2007-01-16  Bruno Haible  <bruno@clisp.org>
61292
61293         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
61294         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
61295         gl_FUNC_GETTIMEOFDAY.
61296         (Include): Add gettimeofday.h.
61297         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
61298         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
61299         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
61300         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
61301         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
61302         * lib/gettimeofday.h: New file.
61303         * lib/gettimeofday.c: Include <sys/timeb.h>.
61304         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
61305         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
61306         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
61307         fall back on time().
61308
61309         * tests/test-gettimeofday.c: New file.
61310         * modules/gettimeofday-tests: New file.
61311
61312 2007-01-16  Eric Blake  <ebb9@byu.net>
61313
61314         * modules/fnmatch (Depends-on): Depend on wchar.
61315         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
61316         * m4/fnmatch.m4: Likewise.
61317         * modules/mbchar (Makefile.am): Assume <wchar.h>.
61318         * m4/mbchar.m4: Likewise.
61319         * modules/mbswidth (Depends-on): Depend on wchar.
61320         * lib/mbswidth.c: Assume <wchar.h>.
61321         * m4/mbswidth.m4: Likewise.
61322         * modules/quotearg (Depends-on): Depend on wchar.
61323         * lib/quotearg.c: Assume <wchar.h>.
61324         * m4/quotearg.m4: Likewise.
61325         * modules/regex (Depends-on): Depend on wchar.
61326         * lib/regex_internal.h: Assume <wchar.h>.
61327         * m4/regex.m4: Likewise.
61328         * modules/stdint (Depends-on): Depend on wchar.
61329         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
61330         * m4/stdint.m4: Likewise.
61331         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
61332         * modules/strftime (Depends-on): Depend on wchar.
61333         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
61334         * modules/strtol (Depends-on): Depend on wchar.
61335         * lib/strtol.c: Assume <wchar.h>.
61336         * modules/wcwidth (Depends-on): Depend on wchar.
61337         * lib/wcwidth.h: Assume <wchar.h>.
61338         * m4/wcwidth.m4: Likewise.
61339
61340 2007-01-16  Bruno Haible  <bruno@clisp.org>
61341
61342         * modules/csharpexec-script: New, created from...
61343         * modules/csharpexec: ... this.
61344
61345 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
61346
61347         * modules/javaexec-script: New, created from...
61348         * modules/javaexec: ... this.
61349
61350 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61351
61352         * modules/poll (Dependencies): Add sys_select.
61353
61354 2007-01-15  Jim Meyering  <jim@meyering.net>
61355
61356         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
61357         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
61358         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
61359         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
61360
61361 2007-01-15  Bruno Haible  <bruno@clisp.org>
61362
61363         * modules/striconveh: New file.
61364         * lib/striconveh.h: New file.
61365         * lib/striconveh.c: New file.
61366         * MODULES.html.sh (Internationalization functions): Add striconveh.
61367
61368         * modules/striconveh-tests: New file.
61369         * tests/test-striconveh.c: New file.
61370
61371 2007-01-15  Bruno Haible  <bruno@clisp.org>
61372
61373         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
61374         not from GNU libiconv or GNU libc.
61375
61376 2007-01-15  Bruno Haible  <bruno@clisp.org>
61377
61378         * doc/gnulib-intro.texi (Copyright): Explain the different license
61379         terms for module descriptions, autoconf macros, tests, documentation.
61380
61381 2007-01-14  Bruno Haible  <bruno@clisp.org>
61382
61383         * modules/striconv-tests: New file.
61384         * tests/test-striconv.c: New file.
61385
61386 2007-01-14  Bruno Haible  <bruno@clisp.org>
61387
61388         * modules/iconv-tests: New file.
61389         * tests/test-iconv.c: New file.
61390
61391 2007-01-14  Bruno Haible  <bruno@clisp.org>
61392
61393         * gnulib-tool (func_get_license): For test modules, use the license of
61394         the main module.
61395
61396 2007-01-14  Bruno Haible  <bruno@clisp.org>
61397
61398         * modules/iconv (Include): Clarify that <iconv.h> can only be included
61399         if iconv is found to exist.
61400
61401 2007-01-14  Bruno Haible  <bruno@clisp.org>
61402
61403         * modules/c-ctype-tests: New file.
61404         * tests/test-c-ctype.c: New file.
61405
61406 2007-01-14  Bruno Haible  <bruno@clisp.org>
61407
61408         * modules/binary-io-tests: New file.
61409         * tests/test-binary-io.sh: New file.
61410         * tests/test-binary-io.c: New file.
61411
61412 2007-01-14  Bruno Haible  <bruno@clisp.org>
61413
61414         * modules/array-oset-tests: New file.
61415         * tests/test-array_oset.c: New file.
61416
61417 2007-01-14  Bruno Haible  <bruno@clisp.org>
61418
61419         * modules/array-list-tests: New file.
61420         * tests/test-array_list.c: New file.
61421
61422 2007-01-14  Bruno Haible  <bruno@clisp.org>
61423
61424         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
61425         and make.
61426         Reported by Simon Josefsson in
61427         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
61428
61429 2007-01-14  Bruno Haible  <bruno@clisp.org>
61430
61431         * modules/allocsa-tests: New file.
61432         * tests/test-allocsa.c: New file.
61433
61434 2007-01-14  Bruno Haible  <bruno@clisp.org>
61435
61436         * modules/fchdir (Depends-on): Add absolute-header.
61437         * modules/unistd (Depends-on): Likewise.
61438
61439 2006-12-30  Bruno Haible  <bruno@clisp.org>
61440
61441         * modules/fchdir: New file.
61442         * modules/unistd (Files): Add lib/unistd_.h.
61443         (Makefile.am): Generate unistd.h from unistd_.h.
61444         * lib/fchdir.c: New file.
61445         * lib/dirent_.h: New file.
61446         * lib/unistd_.h: New file.
61447         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
61448         * m4/fchdir.m4: New file.
61449         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
61450         (gl_HEADER_UNISTD): Invoke it.
61451         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
61452         function.
61453         * lib/backupfile.c (opendir, closedir): Undefine.
61454         * lib/chown.c (open, close): Undefine.
61455         * lib/clean-temp.c (open, close): Undefine.
61456         * lib/copy-file.c (open, close): Undefine.
61457         * lib/execute.c (open, close): Undefine.
61458         * lib/fsusage.c (open, close): Undefine.
61459         * lib/gc-gnulib.c (open, close): Undefine.
61460         * lib/getcwd.c (opendir, closedir): Undefine.
61461         * lib/glob.c (opendir, closedir): Undefine.
61462         * lib/javacomp.c (open, close): Undefine.
61463         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
61464         * lib/openat-proc.c (open, close): Undefine.
61465         * lib/pagealign_alloc.c (open, close): Undefine.
61466         * lib/pipe.c (open, close): Undefine.
61467         * lib/progreloc.c (open, close): Undefine.
61468         * lib/savedir.c (opendir, closedir): Undefine.
61469         * lib/utime.c (open, close): Undefine.
61470         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
61471
61472 2007-01-10  Bruno Haible  <bruno@clisp.org>
61473
61474         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
61475
61476 2007-01-12  Eric Blake  <ebb9@byu.net>
61477
61478         Provide a robust <wchar.h>.  Further simplifications are now
61479         possible in other modules, but not included here.
61480         * modules/wchar: New module.
61481         * m4/wchar.m4: New file.
61482         * lib/wchar_.h: Likewise.
61483         * modules/mbchar (Depends-on): Depend on wchar, as the first use
61484         of the new module.
61485         * MODULES.html.sh (Extended multibyte and wide character utilities):
61486         New section.
61487
61488 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
61489
61490         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
61491         to a reasonable default for memory allocation.
61492         (xreadlink): Don't allocate a huge buffer, to work around a buggy
61493         file system that reports garbage st_size values for symlinks.
61494         Problem reported by Liyang Hu.
61495
61496 2007-01-11  Simon Josefsson  <simon@josefsson.org>
61497
61498         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
61499         Emacs .#* auto-save files).
61500
61501 2007-01-11  Bruno Haible  <bruno@clisp.org>
61502
61503         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
61504         directory.
61505
61506 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61507
61508         Use @...@ consistently in lib/wctype_.h.
61509         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
61510         on it being set to 1 or 0.
61511         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
61512         go back to AC_SUBSTing it.
61513         * modules/wctype (Makefile.am): Undo previous change.
61514
61515 2007-01-10  Eric Blake  <ebb9@byu.net>
61516
61517         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
61518         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
61519         * modules/wctype (Makefile.am): Likewise.
61520         Reported by Chris McGuire.
61521
61522 2007-01-10  Jim Meyering  <jim@meyering.net>
61523
61524         fts.c: a small readability/maintainability improvement
61525         * lib/fts.c (fts_read): Make this code slightly more readable and
61526         maintainable by hoisting the "sp->fts_cur = p" assignments to
61527         immediately follow the statements that set P.  Derived from
61528         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
61529
61530 2007-01-10  Eric Blake  <ebb9@byu.net>
61531
61532         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
61533         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
61534         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61535         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
61536         Reported by Chris McGuire.
61537
61538 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61539
61540         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
61541         in sed script.
61542
61543 2007-01-09  Bruno Haible  <bruno@clisp.org>
61544
61545         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
61546         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
61547         variables.
61548         (func_module): Use them.
61549
61550 2007-01-09  Bruno Haible  <bruno@clisp.org>
61551
61552         * modules/unistr/base: New file.
61553         * lib/unistr.h: New file.
61554
61555         * modules/unistr/u8-to-u16: New file.
61556         * lib/unistr/u8-to-u16.c: New file.
61557
61558         * modules/unistr/u8-to-u32: New file.
61559         * lib/unistr/u8-to-u32.c: New file.
61560
61561         * modules/unistr/u16-to-u8: New file.
61562         * lib/unistr/u16-to-u8.c: New file.
61563
61564         * modules/unistr/u16-to-u32: New file.
61565         * lib/unistr/u16-to-u32.c: New file.
61566
61567         * modules/unistr/u32-to-u8: New file.
61568         * lib/unistr/u32-to-u8.c: New file.
61569
61570         * modules/unistr/u32-to-u16: New file.
61571         * lib/unistr/u32-to-u16.c: New file.
61572
61573         * modules/unistr/u8-check: New file.
61574         * modules/unistr/u16-check: New file.
61575         * modules/unistr/u32-check: New file.
61576         * lib/unistr/u8-check.c: New file.
61577         * lib/unistr/u16-check.c: New file.
61578         * lib/unistr/u32-check.c: New file.
61579
61580         * modules/unistr/u8-chr: New file.
61581         * modules/unistr/u16-chr: New file.
61582         * modules/unistr/u32-chr: New file.
61583         * lib/unistr/u8-chr.c: New file.
61584         * lib/unistr/u16-chr.c: New file.
61585         * lib/unistr/u32-chr.c: New file.
61586
61587         * modules/unistr/u8-cmp: New file.
61588         * modules/unistr/u16-cmp: New file.
61589         * modules/unistr/u32-cmp: New file.
61590         * lib/unistr/u8-cmp.c: New file.
61591         * lib/unistr/u16-cmp.c: New file.
61592         * lib/unistr/u32-cmp.c: New file.
61593
61594         * modules/unistr/u8-cpy: New file.
61595         * modules/unistr/u16-cpy: New file.
61596         * modules/unistr/u32-cpy: New file.
61597         * lib/unistr/u8-cpy.c: New file.
61598         * lib/unistr/u16-cpy.c: New file.
61599         * lib/unistr/u32-cpy.c: New file.
61600         * lib/unistr/u-cpy.h: New file.
61601
61602         * modules/unistr/u8-cpy-alloc: New file.
61603         * modules/unistr/u16-cpy-alloc: New file.
61604         * modules/unistr/u32-cpy-alloc: New file.
61605         * lib/unistr/u8-cpy-alloc.c: New file.
61606         * lib/unistr/u16-cpy-alloc.c: New file.
61607         * lib/unistr/u32-cpy-alloc.c: New file.
61608         * lib/unistr/u-cpy-alloc.h: New file.
61609
61610         * modules/unistr/u8-endswith: New file.
61611         * modules/unistr/u16-endswith: New file.
61612         * modules/unistr/u32-endswith: New file.
61613         * lib/unistr/u8-endswith.c: New file.
61614         * lib/unistr/u16-endswith.c: New file.
61615         * lib/unistr/u32-endswith.c: New file.
61616         * lib/unistr/u-endswith.h: New file.
61617
61618         * modules/unistr/u8-mblen: New file.
61619         * modules/unistr/u16-mblen: New file.
61620         * modules/unistr/u32-mblen: New file.
61621         * lib/unistr/u8-mblen.c: New file.
61622         * lib/unistr/u16-mblen.c: New file.
61623         * lib/unistr/u32-mblen.c: New file.
61624
61625         * modules/unistr/u8-mbtouc: New file.
61626         * modules/unistr/u16-mbtouc: New file.
61627         * modules/unistr/u32-mbtouc: New file.
61628         * lib/unistr/u8-mbtouc.c: New file.
61629         * lib/unistr/u16-mbtouc.c: New file.
61630         * lib/unistr/u32-mbtouc.c: New file.
61631
61632         * modules/unistr/u8-mbtouc-safe: New file.
61633         * modules/unistr/u16-mbtouc-safe: New file.
61634         * modules/unistr/u32-mbtouc-safe: New file.
61635         * lib/unistr/u8-mbtouc-safe.c: New file.
61636         * lib/unistr/u16-mbtouc-safe.c: New file.
61637         * lib/unistr/u32-mbtouc-safe.c: New file.
61638
61639         * modules/unistr/u8-move: New file.
61640         * modules/unistr/u16-move: New file.
61641         * modules/unistr/u32-move: New file.
61642         * lib/unistr/u8-move.c: New file.
61643         * lib/unistr/u16-move.c: New file.
61644         * lib/unistr/u32-move.c: New file.
61645         * lib/unistr/u-move.h: New file.
61646
61647         * modules/unistr/u8-next: New file.
61648         * modules/unistr/u16-next: New file.
61649         * modules/unistr/u32-next: New file.
61650         * lib/unistr/u8-next.c: New file.
61651         * lib/unistr/u16-next.c: New file.
61652         * lib/unistr/u32-next.c: New file.
61653
61654         * modules/unistr/u8-prev: New file.
61655         * modules/unistr/u16-prev: New file.
61656         * modules/unistr/u32-prev: New file.
61657         * lib/unistr/u8-prev.c: New file.
61658         * lib/unistr/u16-prev.c: New file.
61659         * lib/unistr/u32-prev.c: New file.
61660
61661         * modules/unistr/u8-set: New file.
61662         * modules/unistr/u16-set: New file.
61663         * modules/unistr/u32-set: New file.
61664         * lib/unistr/u8-set.c: New file.
61665         * lib/unistr/u16-set.c: New file.
61666         * lib/unistr/u32-set.c: New file.
61667         * lib/unistr/u-set.h: New file.
61668
61669         * modules/unistr/u8-startswith: New file.
61670         * modules/unistr/u16-startswith: New file.
61671         * modules/unistr/u32-startswith: New file.
61672         * lib/unistr/u8-startswith.c: New file.
61673         * lib/unistr/u16-startswith.c: New file.
61674         * lib/unistr/u32-startswith.c: New file.
61675         * lib/unistr/u-startswith.h: New file.
61676
61677         * modules/unistr/u8-stpcpy: New file.
61678         * modules/unistr/u16-stpcpy: New file.
61679         * modules/unistr/u32-stpcpy: New file.
61680         * lib/unistr/u8-stpcpy.c: New file.
61681         * lib/unistr/u16-stpcpy.c: New file.
61682         * lib/unistr/u32-stpcpy.c: New file.
61683         * lib/unistr/u-stpcpy.h: New file.
61684
61685         * modules/unistr/u8-stpncpy: New file.
61686         * modules/unistr/u16-stpncpy: New file.
61687         * modules/unistr/u32-stpncpy: New file.
61688         * lib/unistr/u8-stpncpy.c: New file.
61689         * lib/unistr/u16-stpncpy.c: New file.
61690         * lib/unistr/u32-stpncpy.c: New file.
61691         * lib/unistr/u-stpncpy.h: New file.
61692
61693         * modules/unistr/u8-strcat: New file.
61694         * modules/unistr/u16-strcat: New file.
61695         * modules/unistr/u32-strcat: New file.
61696         * lib/unistr/u8-strcat.c: New file.
61697         * lib/unistr/u16-strcat.c: New file.
61698         * lib/unistr/u32-strcat.c: New file.
61699         * lib/unistr/u-strcat.h: New file.
61700
61701         * modules/unistr/u8-strchr: New file.
61702         * modules/unistr/u16-strchr: New file.
61703         * modules/unistr/u32-strchr: New file.
61704         * lib/unistr/u8-strchr.c: New file.
61705         * lib/unistr/u16-strchr.c: New file.
61706         * lib/unistr/u32-strchr.c: New file.
61707
61708         * modules/unistr/u8-strcmp: New file.
61709         * modules/unistr/u16-strcmp: New file.
61710         * modules/unistr/u32-strcmp: New file.
61711         * lib/unistr/u8-strcmp.c: New file.
61712         * lib/unistr/u16-strcmp.c: New file.
61713         * lib/unistr/u32-strcmp.c: New file.
61714
61715         * modules/unistr/u8-strcpy: New file.
61716         * modules/unistr/u16-strcpy: New file.
61717         * modules/unistr/u32-strcpy: New file.
61718         * lib/unistr/u8-strcpy.c: New file.
61719         * lib/unistr/u16-strcpy.c: New file.
61720         * lib/unistr/u32-strcpy.c: New file.
61721         * lib/unistr/u-strcpy.h: New file.
61722
61723         * modules/unistr/u8-strcspn: New file.
61724         * modules/unistr/u16-strcspn: New file.
61725         * modules/unistr/u32-strcspn: New file.
61726         * lib/unistr/u8-strcspn.c: New file.
61727         * lib/unistr/u16-strcspn.c: New file.
61728         * lib/unistr/u32-strcspn.c: New file.
61729         * lib/unistr/u-strcspn.h: New file.
61730
61731         * modules/unistr/u8-strdup: New file.
61732         * modules/unistr/u16-strdup: New file.
61733         * modules/unistr/u32-strdup: New file.
61734         * lib/unistr/u8-strdup.c: New file.
61735         * lib/unistr/u16-strdup.c: New file.
61736         * lib/unistr/u32-strdup.c: New file.
61737         * lib/unistr/u-strdup.h: New file.
61738
61739         * modules/unistr/u8-strlen: New file.
61740         * modules/unistr/u16-strlen: New file.
61741         * modules/unistr/u32-strlen: New file.
61742         * lib/unistr/u8-strlen.c: New file.
61743         * lib/unistr/u16-strlen.c: New file.
61744         * lib/unistr/u32-strlen.c: New file.
61745         * lib/unistr/u-strlen.h: New file.
61746
61747         * modules/unistr/u8-strmblen: New file.
61748         * modules/unistr/u16-strmblen: New file.
61749         * modules/unistr/u32-strmblen: New file.
61750         * lib/unistr/u8-strmblen.c: New file.
61751         * lib/unistr/u16-strmblen.c: New file.
61752         * lib/unistr/u32-strmblen.c: New file.
61753
61754         * modules/unistr/u8-strmbtouc: New file.
61755         * modules/unistr/u16-strmbtouc: New file.
61756         * modules/unistr/u32-strmbtouc: New file.
61757         * lib/unistr/u8-strmbtouc.c: New file.
61758         * lib/unistr/u16-strmbtouc.c: New file.
61759         * lib/unistr/u32-strmbtouc.c: New file.
61760
61761         * modules/unistr/u8-strncat: New file.
61762         * modules/unistr/u16-strncat: New file.
61763         * modules/unistr/u32-strncat: New file.
61764         * lib/unistr/u8-strncat.c: New file.
61765         * lib/unistr/u16-strncat.c: New file.
61766         * lib/unistr/u32-strncat.c: New file.
61767         * lib/unistr/u-strncat.h: New file.
61768
61769         * modules/unistr/u8-strncmp: New file.
61770         * modules/unistr/u16-strncmp: New file.
61771         * modules/unistr/u32-strncmp: New file.
61772         * lib/unistr/u8-strncmp.c: New file.
61773         * lib/unistr/u16-strncmp.c: New file.
61774         * lib/unistr/u32-strncmp.c: New file.
61775
61776         * modules/unistr/u8-strncpy: New file.
61777         * modules/unistr/u16-strncpy: New file.
61778         * modules/unistr/u32-strncpy: New file.
61779         * lib/unistr/u8-strncpy.c: New file.
61780         * lib/unistr/u16-strncpy.c: New file.
61781         * lib/unistr/u32-strncpy.c: New file.
61782         * lib/unistr/u-strncpy.h: New file.
61783
61784         * modules/unistr/u8-strnlen: New file.
61785         * modules/unistr/u16-strnlen: New file.
61786         * modules/unistr/u32-strnlen: New file.
61787         * lib/unistr/u8-strnlen.c: New file.
61788         * lib/unistr/u16-strnlen.c: New file.
61789         * lib/unistr/u32-strnlen.c: New file.
61790         * lib/unistr/u-strnlen.h: New file.
61791
61792         * modules/unistr/u8-strpbrk: New file.
61793         * modules/unistr/u16-strpbrk: New file.
61794         * modules/unistr/u32-strpbrk: New file.
61795         * lib/unistr/u8-strpbrk.c: New file.
61796         * lib/unistr/u16-strpbrk.c: New file.
61797         * lib/unistr/u32-strpbrk.c: New file.
61798         * lib/unistr/u-strpbrk.h: New file.
61799
61800         * modules/unistr/u8-strrchr: New file.
61801         * modules/unistr/u16-strrchr: New file.
61802         * modules/unistr/u32-strrchr: New file.
61803         * lib/unistr/u8-strrchr.c: New file.
61804         * lib/unistr/u16-strrchr.c: New file.
61805         * lib/unistr/u32-strrchr.c: New file.
61806
61807         * modules/unistr/u8-strspn: New file.
61808         * modules/unistr/u16-strspn: New file.
61809         * modules/unistr/u32-strspn: New file.
61810         * lib/unistr/u8-strspn.c: New file.
61811         * lib/unistr/u16-strspn.c: New file.
61812         * lib/unistr/u32-strspn.c: New file.
61813         * lib/unistr/u-strspn.h: New file.
61814
61815         * modules/unistr/u8-strstr: New file.
61816         * modules/unistr/u16-strstr: New file.
61817         * modules/unistr/u32-strstr: New file.
61818         * lib/unistr/u8-strstr.c: New file.
61819         * lib/unistr/u16-strstr.c: New file.
61820         * lib/unistr/u32-strstr.c: New file.
61821         * lib/unistr/u-strstr.h: New file.
61822
61823         * modules/unistr/u8-strtok: New file.
61824         * modules/unistr/u16-strtok: New file.
61825         * modules/unistr/u32-strtok: New file.
61826         * lib/unistr/u8-strtok.c: New file.
61827         * lib/unistr/u16-strtok.c: New file.
61828         * lib/unistr/u32-strtok.c: New file.
61829         * lib/unistr/u-strtok.h: New file.
61830
61831         * modules/unistr/u8-uctomb: New file.
61832         * modules/unistr/u16-uctomb: New file.
61833         * modules/unistr/u32-uctomb: New file.
61834         * lib/unistr/u8-uctomb.c: New file.
61835         * lib/unistr/u16-uctomb.c: New file.
61836         * lib/unistr/u32-uctomb.c: New file.
61837
61838         * MODULES.html.sh (Unicode string functions): Add the new modules.
61839
61840 2007-01-08  Bruno Haible  <bruno@clisp.org>
61841
61842         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
61843         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
61844         subdirectories.
61845
61846 2007-01-08  Karl Berry  <karl@gnu.org>
61847
61848         * doc/error.texi: mention that main() fns must set program_name
61849         when progname is used.
61850
61851 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
61852
61853         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
61854         WCTYPE_H is empty, for the benefit of builds from non-distclean
61855         directories.  Problem reported by Eric Blake in
61856         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
61857
61858 2007-01-08  Bruno Haible  <bruno@clisp.org>
61859
61860         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
61861         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
61862         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
61863         PROVIDE_CANONICALIZE_FILENAME_MODE.
61864         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
61865
61866 2007-01-08  Bruno Haible  <bruno@clisp.org>
61867
61868         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
61869         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
61870         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
61871         * lib/fts.c: Likewise.
61872         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
61873
61874 2006-12-25  Bruno Haible  <bruno@clisp.org>
61875
61876         * modules/utf8-ucs4-safe: New file.
61877         * lib/utf8-ucs4-safe.h: New file.
61878         * lib/unistr/utf8-ucs4-safe.c: New file.
61879
61880         * modules/utf16-ucs4-safe: New file.
61881         * lib/utf16-ucs4-safe.h: New file.
61882         * lib/unistr/utf16-ucs4-safe.c: New file.
61883
61884         * MODULES.html.sh (Unicode string functions): Add the new modules.
61885
61886 2007-01-08  Bruno Haible  <bruno@clisp.org>
61887
61888         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
61889         (Depends-on): Add unitypes.
61890         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
61891         (u8_mbtouc_aux): Move out to separate file.
61892         (u8_mbtouc): Use ucs4_t, uint8_t types.
61893         * lib/unistr/utf8-ucs4.c: New file.
61894
61895         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
61896         (Depends-on): Add unitypes.
61897         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
61898         (u16_mbtouc_aux): Move out to separate file.
61899         (u16_mbtouc): Use ucs4_t, uint16_t types.
61900         * lib/unistr/utf16-ucs4.c: New file.
61901
61902         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
61903         (Depends-on): Add unitypes.
61904         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
61905         (u8_uctomb_aux): Move out to separate file.
61906         (u8_uctomb): Use ucs4_t, uint8_t types.
61907         * lib/unistr/ucs4-utf8.c: New file.
61908
61909         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
61910         (Depends-on): Add unitypes.
61911         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
61912         (u16_uctomb_aux): Move out to separate file.
61913         (u16_uctomb): Use ucs4_t, uint16_t types.
61914         * lib/unistr/ucs4-utf16.c: New file.
61915
61916 2006-12-25  Bruno Haible  <bruno@clisp.org>
61917
61918         * modules/unitypes: New file.
61919         * lib/unitypes.h: New file.
61920         * MODULES.html.sh (func_all_modules): New section "Unicode string
61921         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
61922         this section. Add unitypes.
61923
61924 2007-01-08  Bruno Haible  <bruno@clisp.org>
61925
61926         Avoid variable names that conflict with those from libtool.
61927         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
61928         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
61929         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
61930         library_names_spec to acl_library_names_spec, hardcode_* to
61931         acl_hardcode_*.
61932         Reported by Ralf Wildenhues.
61933
61934 2007-01-08  Bruno Haible  <bruno@clisp.org>
61935
61936         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
61937         definition.
61938         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
61939         definition.
61940         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
61941         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
61942         definition.
61943         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
61944         definition.
61945         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
61946         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
61947         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
61948         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
61949         definition.
61950         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
61951         definition.
61952         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
61953         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
61954         GC_USE_<algorithm>.
61955         * lib/gc-libgcrypt.c: Likewise.
61956         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
61957         * modules/gc-arctwo (configure.ac): Likewise.
61958         * modules/gc-des (configure.ac): Likewise.
61959         * modules/gc-hmac-md5 (configure.ac): Likewise.
61960         * modules/gc-hmac-sha1 (configure.ac): Likewise.
61961         * modules/gc-md2 (configure.ac): Likewise.
61962         * modules/gc-md4 (configure.ac): Likewise.
61963         * modules/gc-md5 (configure.ac): Likewise.
61964         * modules/gc-random (configure.ac): Likewise.
61965         * modules/gc-rijndael (configure.ac): Likewise.
61966         * modules/gc-sha1 (configure.ac): Likewise.
61967
61968 2007-01-08  Bruno Haible  <bruno@clisp.org>
61969
61970         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
61971         macro definition.
61972         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
61973         definition.
61974         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
61975         definition.
61976         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
61977         * modules/fcntl-safer (configure.ac): Likewise.
61978         * modules/fopen-safer (configure.ac): Likewise.
61979         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
61980         GNULIB_FWRITEERROR macro definition.
61981
61982 2007-01-08  Bruno Haible  <bruno@clisp.org>
61983
61984         * m4/gnulib-common.m4: New file.
61985         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
61986         (func_get_filelist): Add m4/gnulib-common.m4.
61987
61988 2007-01-08  Bruno Haible  <bruno@clisp.org>
61989
61990         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
61991         command.
61992
61993 2007-01-08  Jim Meyering  <jim@meyering.net>
61994
61995         Use a more robust test for a "can't happen" condition.
61996         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
61997         narrowed the st_size value.  Presuming the "can't happen" condition
61998         is true, that narrowing could conceivably convert an invalid st_size
61999         value into a valid one.  Instead, use a change based on Matthew
62000         Woehlke's original patch.
62001
62002         Slight readability improvement: use an assert-like macro
62003         in place of literal "abort ()" uses.
62004         * lib/fts.c (fts_assert): Define.
62005         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
62006         Use this macro instead of a bare 'abort'.
62007
62008 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
62009
62010         Don't worry about using IRIX 5.3's wctype.h broken definitions;
62011         simply work around them.
62012         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
62013         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
62014         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
62015         declaring.
62016         Don't bother to define as macros, since the standard doesn't require it.
62017         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
62018         longer worry about IRIX 5.3.
62019         (HAVE_WCTYPE_CTMP_BUG): Remove.
62020
62021 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
62022
62023         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
62024         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
62025         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62026         Problems reported by Georg Schwarz for IRIX 5.3.
62027
62028         * gnulib-tool (autoconf_minversion): Take the maximum version number
62029         found, not the minimum.  Problem reported by James Youngman.
62030
62031 2007-01-03  Karl Berry  <karl@gnu.org>
62032
62033         * doc/error.texi: new file, explaining interaction with progname.
62034         * doc/gnulib.texi: include it.  Update copyright.
62035
62036 2007-01-03  Simon Josefsson  <simon@josefsson.org>
62037
62038         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
62039         AC_CANONICAL_HOST, to improve autobuild outputs.
62040
62041 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
62042             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
62043
62044         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
62045         sockets, server sockets, and other file descriptors.  Count errors
62046         to compute the return value.  Reorder the code a bit to be easier
62047         to follow.  Don't set event bits that were not requested (except
62048         POLLERR and POLLHUP).
62049
62050 2007-01-01  Bruno Haible  <bruno@clisp.org>
62051
62052         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
62053
62054 2007-01-03  Jim Meyering  <jim@meyering.net>
62055
62056         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
62057
62058 2007-01-02  Bruno Haible  <bruno@clisp.org>
62059
62060         * modules/settime (Include): Require timespec.h.
62061         * modules/nanosleep (Include): Likewise.
62062
62063 2007-01-01  Bruno Haible  <bruno@clisp.org>
62064
62065         * gnulib-tool (func_emit_copyright_notice): Bump year.
62066         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
62067
62068 2007-01-01  Bruno Haible  <bruno@clisp.org>
62069
62070         Improve support for OpenBSD.
62071         * build-aux/config.rpath (libname_spec): Export.
62072         (library_names_spec): New variable. Export.
62073         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
62074         library_names_spec from the config.rpath output. Locate shared library
62075         through the name pattern in library_names_spec.
62076
62077 2007-01-01  Eric Blake  <ebb9@byu.net>
62078
62079         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
62080
62081 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
62082
62083         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
62084         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
62085         assume the C locale, and avoid an "eval" that could cause trouble.
62086         Problem with SORT reported by Bob Proulx.
62087
62088         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
62089         Define.  Trivial patch from Henning Nielsen Lund, originally
62090         sent to bug-grep@gnu.org today.
62091
62092 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62093
62094         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
62095         struct stat.  Problem reported by Henning Nielsen Lund.
62096         * lib/acl.c: Include acl.h first, to check interface.  Don't
62097         bother to include sys/types.h and sys/stat.h again.
62098
62099 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62100
62101         Import the following change from libc; problem reported by
62102         Sven Verdoolaege.
62103
62104         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
62105
62106         [BZ #1373]
62107         * lib/argp.h: Remove __NTH for __argp_usage inline function.
62108
62109 2006-12-28  Jim Meyering  <jim@meyering.net>
62110
62111         * build-aux/announce-gen: Do not assume that the package
62112         builds any of tar.gz, tar.bz2, and .xdelta files.
62113         Suggestion from Simon Josefsson.
62114
62115 2006-12-28  Simon Josefsson  <simon@josefsson.org>
62116
62117         * modules/announce-gen: New file.
62118
62119 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62120
62121         * lib/mbchar.h: Just include <wctype.h>; the wctype module
62122         handles its gotchas now.
62123         * lib/mbswidth.c: Likewise.
62124         * lib/wcwidth.h: Likewise.
62125         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
62126         and iswcntrl; the wctype module does this stuff now.
62127         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
62128         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62129         * modules/mbchar (Depends-on): Add wctype.
62130         * modules/mbswidth (Depends-on): Likewise.
62131         * modules/wcwidth (Depends-on): Likewise.
62132
62133 2006-12-27  Eric Blake  <ebb9@byu.net>
62134
62135         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
62136         module uses more than what <wctype.h> is required to provide.
62137
62138 2006-12-26  Eric Blake  <ebb9@byu.net>
62139
62140         * gnulib-tool (sed_extract_prog): Avoid space-tab.
62141
62142 2006-12-26  Eric Blake  <ebb9@byu.net>
62143
62144         * modules/absolute-header: New module.
62145         * modules/fcntl (Depends-on): Depend on it.
62146         * modules/inttypes (Depends-on): Likewise.
62147         * modules/stdint (Depends-on): Likewise.
62148         * modules/sys_stat (Depends-on): Likewise.
62149         * modules/wctype (Depends-on): Likewise.
62150         * MODULES.html.sh (Support for building libraries and
62151         executables): Document it.
62152
62153 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62154
62155         * gnulib-tool (SED): Remove, undoing previous change.
62156         The problem was that it broke coreutils on Solaris, because
62157         "sed --posix" leaked into a makefile.
62158         (sed): New alias, if 'alias' and GNU sed.
62159
62160 2006-12-24  Jim Meyering  <jim@meyering.net>
62161
62162         Work around an fchownat bug in glibc-2.4:
62163         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
62164         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
62165         in spite of the -P option.
62166         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
62167         New macros.
62168         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
62169         * modules/openat (Files): Add lib/fchownat.c.
62170         * lib/openat.c (fchownat): Don't define here.  Move to...
62171         * lib/fchownat.c: ...this new file.
62172
62173 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
62174
62175         Fix bug reported by Bruno Haible in
62176         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
62177         where quotearg.c didn't compile on Mac OS X 10.2 because it
62178         lacks <wchar.h> and wint_t.
62179         * lib/wctype_.h (__wctype_wint_t): New type.
62180         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
62181         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
62182         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
62183         Arg is now of type __wctype_wint_t, not wint_t.
62184         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
62185         substitute HAVE_WINT_T.
62186         * modules/wctype (Files): Add m4/wint_t.m4.
62187         (wctype.h): Substitute HAVE_WINT_T.
62188
62189 2006-12-23  Bruno Haible  <bruno@clisp.org>
62190
62191         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
62192
62193 2006-12-23  Bruno Haible  <bruno@clisp.org>
62194
62195         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
62196         S_ISLNK.
62197         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
62198         mingw.
62199
62200 2006-12-22  Bruno Haible  <bruno@clisp.org>
62201
62202         * lib/copy-file.c: Include acl.h.
62203         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
62204         Close the file descriptors only after being done with copy_acl.
62205         * modules/copy-file (Depends-on): Add acl.
62206
62207 2006-12-22  Bruno Haible  <bruno@clisp.org>
62208
62209         * gnulib-tool (SED): New variable.
62210         Use $SED instead of sed everywhere.
62211
62212 2006-12-22  Bruno Haible  <bruno@clisp.org>
62213
62214         * modules/no-c++: New file.
62215         * m4/no-c++.m4: New file.
62216         * MODULES.html.sh (Support for building libraries and executables):
62217         Add no-c++.
62218
62219 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62220
62221         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
62222         Include <limits.h>, and use its INT_MAX to rewrite the
62223         j loop so that it does not overflow 'int'.  Problem reported by
62224         Ralf Wildenhues in
62225         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
62226         Play it safe by shifting left by 1 rather than multiplying by 2,
62227         as GCC is less likely to optimize this away when the value
62228         is signed (when it assumes overflow leads to undefined behavior).
62229         Also, don't assume time_t uses two's complement.
62230
62231 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
62232
62233         * MODULES.html.sh: New module wctype.
62234         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
62235         * lib/fnmatch.c: Don't bother to include <wchar.h> before
62236         <wctype.h>, since the new wctype module should fix this.
62237         * lib/quotearg.c: Include <wctype.h> unconditionally, since
62238         the wctype module should arrange for it.
62239         * lib/regex_internal.h: Likewise.
62240         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
62241         since the wctype module should handle this now.
62242         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
62243         * modules/fnmatch (Depends-on): Add wctype.
62244         * modules/quotearg (Depends-on): Likewise.
62245         * modules/regex (Depends-on): Likewise.
62246
62247 2006-12-19  Bruno Haible  <bruno@clisp.org>
62248
62249         * lib/strdup.h [C++]: Wrap definitions in extern "C".
62250         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
62251
62252 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62253
62254         * modules/savewd (Depends-on): Fix dependency on fcntl.
62255
62256 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62257
62258         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
62259         conforms to C99, rather than relying on the user's environment
62260         setting of STDINT_H.
62261
62262 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62263         and Eric Blake  <ebb9@byu.net>
62264
62265         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
62266         This is more consistent with the other defines here.
62267         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
62268         Port to z/OS.  Problem reported by Paul Gilmartin.
62269         Change local vars to use gl_ prefix rather than ac_.
62270         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
62271         with other defines.
62272         * modules/double-slash-root: New module.
62273         * modules/dirname (Files): Remove m4/double-slash-root.m4.
62274         (Depends-on): Add double-slash-root.
62275         * MODULES.html.sh (File system functions): Mention new module.
62276
62277 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
62278
62279         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
62280         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
62281         This is for the benefit of gzip, which doesn't do i18n.
62282
62283 2006-12-12  Jim Meyering  <jim@meyering.net>
62284
62285         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
62286         Reported by Andreas Schwab <schwab@suse.de>.
62287
62288 2006-12-12  Bruno Haible  <bruno@clisp.org>
62289
62290         Merge these changes.
62291         2006-09-05  Bruno Haible  <bruno@clisp.org>
62292         * lib/iconvme.c (iconv_string): No need to save and restore errno when
62293         iconv_alloc succeeded.
62294         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
62295         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
62296         test for " && dest " at the end - dest is always != NULL there. Call
62297         iconv with 4xNULL arguments initially, to reset the state. Call iconv
62298         with 2xNULL arguments, also to flush the state storage. Handle the
62299         IRIX iconv behaviour. Realloc the final result, to throw away unused
62300         memory.
62301
62302 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
62303
62304         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
62305         and fchmodat unconditionally, since glibc 2.4 has them.
62306         Problem reported by Arkadiusz Miskiewicz.
62307
62308 2006-12-10  Bruno Haible  <bruno@clisp.org>
62309
62310         * gnulib-tool (func_import): Show the include files only for those
62311         modules that are copied and specified.
62312         Reported by Karl Berry.
62313
62314 2006-12-08  Jim Meyering  <jim@meyering.net>
62315
62316         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
62317         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
62318
62319         * build-aux/announce-gen: Add two new options, both optional:
62320         --bootstrap-tools=TOOL_LIST
62321               a comma-separated list of tools, e.g.,
62322               autoconf,automake,bison,gnulib
62323         --gnulib-snapshot-date=DATE
62324               if gnulib is in the bootstrap tool list,
62325               then report this as the snapshot date.
62326               If not specified, use the current date/time.
62327               If you specify a date here, be sure it's UTC.
62328
62329 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62330
62331         * tests/test-argp-2.sh: Fix test to match actual output.
62332         (func_compare): Fix sed script to be portable.
62333
62334 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
62335
62336         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
62337         workaround for this case.  It is not autoconfigured now; offhand
62338         it's hard to see how to autoconfigure it.
62339
62340 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
62341
62342         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
62343         a directory that is about to be chowned.  Such a directory's
62344         initial file permissions should permit the owner only and this
62345         should not be changed until after the chown, since the group and
62346         other bits would be incorrect if they granted permission before
62347         the chown.
62348
62349         Fix porting problem for iswctype reported by Georg Schwarz in:
62350         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
62351         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
62352         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
62353         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
62354         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62355
62356 2006-12-03  Jim Meyering  <jim@meyering.net>
62357
62358         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
62359         p->fts_statp may not yet be defined.
62360         (fts_read): Instead, set it in the caller, once p->fts_statp is
62361         sure to be defined, and corresponds to a top-level directory.
62362         This bug made du -x fail.  Here's the coreutils test case:
62363         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
62364         Reported by Mike Frysinger.
62365
62366 2006-12-01  Jim Meyering  <jim@meyering.net>
62367
62368         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
62369         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
62370         Reported by Simon Josefsson.
62371
62372 2006-11-30  Jim Meyering  <jim@meyering.net>
62373
62374         * m4/warning.m4: Use the all-permissive copyright notice
62375         recommended by RMS (rather than LGPL).
62376         * m4/vararrays.m4: Likewise.
62377         * m4/flexmember.m4: Likewise.
62378
62379 2006-11-29  Bruno Haible  <bruno@clisp.org>
62380
62381         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
62382         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
62383         using +=.
62384         Reported by Simon Josefsson <simon@josefsson.org>.
62385
62386 2006-11-28  James Youngman <jay@gnu.org>
62387
62388         * README: Advise users that they might find the bug-gnulib@gnu.org
62389         and autotools-announce@gnu.org mailing lists useful.
62390
62391 2006-11-28  Bruno Haible  <bruno@clisp.org>
62392
62393         * m4/ptrdiff_max.m4: Remove file.
62394
62395 2006-11-21  Bruno Haible  <bruno@clisp.org>
62396
62397         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
62398         _AC_COMPUTE_INT.
62399         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
62400         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
62401         _AC_COMPUTE_INT.
62402         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
62403         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
62404         _AC_COMPUTE_INT.
62405         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
62406
62407 2006-11-28  Jim Meyering  <jim@meyering.net>
62408
62409         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
62410         warning from "gcc -Wshadow" about shadowing the builtin.
62411
62412 2006-11-27  Bruno Haible  <bruno@clisp.org>
62413
62414         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
62415         _AC_COMPUTE_INT.
62416         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
62417
62418 2006-11-27  Bruno Haible  <bruno@clisp.org>
62419             Paul Eggert  <eggert@cs.ucla.edu>
62420
62421         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
62422
62423 2006-11-26  Bruno Haible  <bruno@clisp.org>
62424
62425         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
62426         noinst_LTLIBRARIES.
62427
62428 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
62429             Bruno Haible  <bruno@clisp.org>
62430
62431         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
62432         if compiling with "gcc -ansi".
62433
62434 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
62435
62436         Fix some incompatibilities with gcc -ansi -pedantic.
62437         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
62438         if compiling pedantically with GCC, unless it's C99 or later.
62439         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
62440         it mishandles gcc -ansi -pedantic as well.
62441         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
62442         if gcc -pedantic.
62443         * lib/regexec.c (check_node_accept_bytes): Don't use auto
62444         initializers for struct if -pedantic, unless it's C99 or later.
62445
62446 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
62447
62448         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
62449         Don't close an fd more than once. Identical atimes indicate
62450         success, not failure.
62451
62452 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
62453
62454         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
62455
62456 2006-11-23  Jim Meyering  <jim@meyering.net>
62457
62458         * build-aux/announce-gen: New file.  From coreutils.
62459
62460 2006-11-22  Jim Meyering  <jim@meyering.net>
62461
62462         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
62463         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
62464         (fts_read): Use a temporary to narrow the overused st_size member
62465         before using it in a switch statement.  Reported by Matthew Woehlke.
62466
62467         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
62468         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62469
62470 2006-11-20  Bruno Haible  <bruno@clisp.org>
62471
62472         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
62473         changequote instead of pairs of brackets.
62474         Reported by Andreas Schwab <schwab@suse.de>.
62475
62476 2006-11-21  Jim Meyering  <jim@meyering.net>
62477
62478         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
62479         so as to remain compatible with older compilers.
62480         Patch from Michael Deutschmann.
62481
62482 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
62483
62484         * MODULES.html.sh (File system functions): Add openat.
62485
62486         * lib/openat.h (rpl_fstatat): New macro, if
62487         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
62488         (fstatat): Define to rpl_fstatat under the same conditions,
62489         unless COMPILING_FSTATAT.
62490         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
62491         seems to have the bug.
62492         * lib/fstatat.c: New file.
62493         * modules/openat (Files): Add it.
62494
62495 2006-11-20  Bruno Haible  <bruno@clisp.org>
62496
62497         * Makefile: New file.
62498
62499 2006-11-20  Jim Meyering  <jim@meyering.net>
62500
62501         The beginnings of syntax-related checks for gnulib.
62502         * lib/Makefile: New file.
62503         * lib/t-idcache: New script.  Ensure that the two halves of
62504         idcache.c stay in sync.
62505
62506         * lib/idcache.c: Adjust comments in user- and group- portions to
62507         be more accurate, and to be consistent with one another.
62508
62509 2006-11-20  Jim Meyering  <jim@meyering.net>
62510
62511         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
62512         continue using the flexible array member (thus, this module performs
62513         half as many malloc calls), with the addition that...
62514         (getgroup, getuser): Consistently record a non-match via an empty
62515         "name" string, and map an empty string match to a NULL return value.
62516         * modules/idcache (Depends-on): Re-add flexmember.
62517
62518         * lib/idcache.c (getuser): Remove all uses of the register keyword.
62519         (getuidbyname, getgroup, getgidbyname): Likewise.
62520
62521         Use cleaner syntax: NULL rather than 0.
62522         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
62523
62524 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
62525
62526         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
62527         It mishandled the case where the group was missing.
62528         Problem reported by Greg Schafer.
62529         * modules/idcache: Likewise.
62530
62531 2006-11-18  Jim Meyering  <jim@meyering.net>
62532
62533         * check-module (%exempt_header): Add exception for some
62534         conditionally-included headers.
62535
62536         * modules/i-ring (Depends-on): Add verify.
62537         (License): Change to LGPL.
62538
62539 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62540
62541         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
62542         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
62543         and inttostr.h.  Use snprintf rather than uinttostr, so that
62544         LGPLed code doesn't depend on GPLed.
62545
62546 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
62547
62548         * modules/inline (License): Change from GPL to LGPL.
62549
62550 2006-11-17  Jim Meyering  <jim@meyering.net>
62551
62552         * modules/d-type (License): Switch to LGPL.
62553
62554 2006-11-15  Bruno Haible  <bruno@clisp.org>
62555
62556         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
62557
62558 2006-11-15  Eric Blake  <ebb9@byu.net>
62559
62560         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
62561         the module dependency.
62562
62563 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62564             Bruno Haible  <bruno@clisp.org>
62565
62566         * gnulib-tool (func_create_testdir): Add license consistency check.
62567
62568 2006-11-15  Eric Blake  <ebb9@byu.net>
62569
62570         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
62571         random "(cached)" in configure output.
62572
62573 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62574
62575         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
62576         test for conforming inttypes.h is both announced and cached.
62577
62578         * MODULES.html.sh (seen_modules, seen_files): New variables.
62579         (func_module): Rewrite to use a few less gnulib-tool and sed
62580         invocations.  Avoid a couple of quadratic algorithms for ...
62581         (missed_modules, missed_files): ... these, with ...
62582         (func_append, func_tmpdir): ... these new functions, from
62583         gnulib-tool.  Analogously, install traps for cleanup.
62584
62585         * tests/test-gc.c (main): Remove unused variables.
62586         * tests/test-read-file.c: Include stdlib.h, for 'free'.
62587
62588 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
62589
62590         * modules/inttostr (License): Change to LGPL.
62591
62592 2006-11-14  Eric Blake  <ebb9@byu.net>
62593
62594         * modules/tempname (License): Change to LGPL.
62595
62596 2006-11-14  Eric Blake  <ebb9@byu.net>
62597
62598         * doc/functions.texi (Function Portability): *printf functions on
62599         Cygwin now understand all POSIX size specifiers.
62600
62601 2006-11-14  Bruno Haible  <bruno@clisp.org>
62602
62603         * modules/c-ctype (License): Change to LGPL.
62604
62605 2006-11-12  Bruno Haible  <bruno@clisp.org>
62606
62607         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
62608         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
62609         for GNOME libraries, for which the include files are installed in
62610         subdirectories of $prefix/include.
62611
62612 2006-11-12  Bruno Haible  <bruno@clisp.org>
62613
62614         * m4/lib-link.m4: Require at least autoconf-2.54.
62615         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
62616         name to underscores for the --with option.
62617
62618 2006-11-13  Bruno Haible  <bruno@clisp.org>
62619
62620         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
62621         the tests directory.
62622         Reported by Ralf Wildenhues.
62623
62624 2006-11-13  Bruno Haible  <bruno@clisp.org>
62625
62626         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
62627         (func_emit_initmacro_end): Undo the override here.
62628         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
62629         Works around the famous automake error in coreutils.
62630
62631 2006-11-13  Eric Blake  <ebb9@byu.net>
62632
62633         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
62634         element, not its node.
62635
62636 2006-11-12  Bruno Haible  <bruno@clisp.org>
62637
62638         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
62639         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
62640
62641 2006-11-12  Bruno Haible  <bruno@clisp.org>
62642
62643         * gnulib-tool: New option --local-symlink.
62644         (func_usage): Document it.
62645         (lsymbolic): New variable.
62646         (func_import, func_create_testdir): If --symlink was not specified,
62647         test whether --local-symlink was specified and the file comes from
62648         the local_gnulib_dir.
62649
62650 2006-11-12  Bruno Haible  <bruno@clisp.org>
62651
62652         * gnulib-tool (func_ln): New function.
62653         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
62654
62655 2006-11-12  Bruno Haible  <bruno@clisp.org>
62656
62657         Finish support for source files in subdirectories.
62658         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
62659         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
62660         AUTOMAKE_OPTIONS.
62661         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
62662
62663 2006-11-12  Bruno Haible  <bruno@clisp.org>
62664
62665         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62666         EXTRA_lib_SOURCES augmentation.
62667         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
62668
62669 2006-11-12  Jim Meyering  <jim@meyering.net>
62670
62671         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
62672         file descriptors.  This also averts a failure on systems with
62673         native openat support when a traversed directory lacks "x" access.
62674         * lib/fts_.h: Include "i-ring.h"
62675         (struct FTS) [fts_fd_ring]: New member.
62676         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
62677         (FCHDIR): Add parentheses.
62678         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
62679         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
62680         When descending, rather than simply closing the previous
62681         fts_cwd_fd value, push that file descriptor onto the ring.
62682         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
62683         (fts_open): Initialize the new fd_ring member.
62684         (fts_close): Clear the ring.
62685         (fts_safe_changedir): When possible, use our new fd_ring to skip
62686         the diropen and fstat and dev/ino comparison that would normally
62687         accompany a virtual `chdir ("..")'.
62688
62689         * modules/fts (Depends-on): Add i-ring.
62690         * modules/i-ring: New module.
62691         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
62692         * m4/i-ring.m4: New file.
62693
62694 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62695
62696         * gnulib-tool (func_create_testdir): Fix replacement of
62697         `build-aux' in configure.ac.  Run autotools in gltests
62698         subdirectory.
62699         (func_create_testdir, func_create_megatestdir, test): There is
62700         no need for '--force' in most autotool invocations in a new
62701         tree.  Actually fail the whole test if any of the tools, or the
62702         configure or make stages fail.
62703
62704         Sync from Automake.
62705         * build-aux/gnupload: Revert last change.  Add pointer to upload
62706         instructions of the GNU Maintenance Instructions.
62707         Suggestion by Karl Berry.
62708
62709 2006-11-10  Jim Meyering  <jim@meyering.net>
62710
62711         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
62712
62713 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
62714
62715         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
62716         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
62717         (bind_textdomain_codeset) [! ENABLE_NLS]:
62718         Evaluate all the arguments.  That way, callers get compatible behavior
62719         if the arguments have side effects.  Also, it avoids some GCC
62720         diagnostics in some cases; Joel E. Denny reported problems when Bison
62721         was configured with --enable-gcc-warnigs.
62722
62723 2006-11-10  Jim Meyering  <jim@meyering.net>
62724
62725         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
62726         relevant options in CFLAGS (like -O, -fno-inline) are taken into
62727         account.
62728
62729 2006-11-10  Jim Meyering  <jim@meyering.net>
62730
62731         * modules/inline: New file/module.
62732         * modules/xalloc (Files): Remove m4/inline.m4.
62733         (Depends-on): Add inline, instead.
62734         * modules/oset: Likewise.
62735         * modules/list: Likewise.
62736
62737 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
62738
62739         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
62740         Problem reported by Matthew Woehlke.
62741
62742 2006-11-09  Bruno Haible  <bruno@clisp.org>
62743
62744         * lib/tempname.c (gen_tempname): Remove variant that invokes
62745         __gen_tempname.
62746         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
62747         __gen_tempname.
62748
62749 2006-11-08  Bruno Haible  <bruno@clisp.org>
62750
62751         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
62752         to 'yes' instead of 'cross-compiling'.
62753
62754 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
62755
62756         * lib/quotearg.h (quotearg_free): New decl.
62757         * lib/quotearg.c (quotearg_free): New function.
62758         (slot0, nslots, slotvec0, slotvec):
62759         Now file-scope so that quotearg_free can get at them.
62760
62761 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62762
62763         Sync from Automake.
62764         * build-aux/gnupload: Add missing 'gnu' to example URL.
62765         Report by Karl Berry.
62766
62767 2006-11-08  Bruno Haible  <bruno@clisp.org>
62768
62769         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
62770         Suggested by Paul Eggert.
62771
62772 2006-11-08  Jim Meyering  <jim@meyering.net>
62773
62774         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
62775         It's already included if !_LIBC.
62776         (fts_safe_changedir): Add a comment.
62777
62778 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
62779
62780         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
62781         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
62782         Matthew Woehlke.
62783
62784         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
62785         definitions up, to avoid colliding with change below.
62786         (static_inline) [HAVE_INLINE]: New macro.
62787         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
62788         Provide extern decls when !HAVE_INLINE.  Do not define unless
62789         static_inline is defined, either by us or by xmalloc.c.  Use
62790         static_inline rather than static inline.
62791         (XCALLOC): Optimize sizeof(T) = 1 case.
62792         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
62793
62794 2006-11-07  Bruno Haible  <bruno@clisp.org>
62795
62796         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
62797         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
62798         AC_C_INLINE.
62799         * modules/xalloc (Files): Add m4/inline.m4.
62800
62801 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62802
62803         * README: Fix typo.
62804         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
62805         (Miscellanous Notes): ...from this.
62806
62807 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
62808
62809         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
62810         Mention that offsetof should be used instead of sizeof.
62811         From Bruno Haible.
62812
62813 2006-11-07  Bruno Haible  <bruno@clisp.org>
62814
62815         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
62816
62817 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
62818
62819         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
62820         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
62821         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
62822         (gl_tree_add_before, gl_tree_add_after):
62823         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
62824         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
62825         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
62826         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
62827         (gl_linked_add_after, gl_linked_add_at): Likewise.
62828         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
62829         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
62830         (gl_tree_add_before, gl_tree_add_after): Likewise.
62831         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
62832         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
62833         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
62834
62835 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62836
62837         * lib/gl_oset.h: Use C comment style, not C++ comment style.
62838
62839 2006-11-06  Bruno Haible  <bruno@clisp.org>
62840
62841         * m4/inline.m4: New file.
62842         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
62843         * modules/list (Files): Add m4/inline.m4.
62844         * modules/oset (Files): Likewise.
62845
62846 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
62847
62848         * lib/idcache.c: Include <stddef.h>, for offsetof.
62849         (struct userid.name): Change from char * to a flexible array member.
62850         All uses changed.
62851         * modules/idcache (Depends-on): Add flexmember.
62852
62853         * MODULES.html.sh (Core language properties): New module flexmember.
62854         * modules/flexmember, m4/flexmember.m4: New files.
62855
62856         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
62857         inline functions that are identical with the old xnmalloc_inline,
62858         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
62859         that we can avoid some unnecessary integer multiplications and
62860         divisions in the common case where the element size is known at
62861         compile time.
62862         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
62863         needed.
62864         (xnboundedmalloc): Remove.
62865         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
62866         arguments, for consistency with rest of this header.
62867         (xcharalloc): Rewrite using XNMALLOC.
62868         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
62869         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
62870         versions have been moved to lib/xalloc.h and renamed to be the
62871         non-*_inline versions.
62872         (xmalloc, xrealloc): Implement without reference to the xnmalloc
62873         and xnrealloc functions, since those functions are now inline and
62874         now call us.
62875         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
62876         renaming described above.
62877         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
62878         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
62879         captures the dependency in AC_C_INLINE.
62880
62881         New module canonicalize-lgpl, proposed by Charles Wilson in
62882         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
62883         with a few small changes afterwards.
62884         * MODULES.html.sh (File system functions): New module
62885         canonicalize-lgpl.
62886         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
62887         and canonicalize_file_name.
62888         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
62889         * modules/canonicalize-lgpl: New files.
62890
62891 2006-11-05  Bruno Haible  <bruno@clisp.org>
62892
62893         * gnulib-tool (func_import, func_create_testdir): Create directories
62894         also for files in subdirectories of lib/.
62895
62896 2006-11-05  Bruno Haible  <bruno@clisp.org>
62897
62898         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
62899         ANSI C compliant.
62900
62901 2006-11-03  Bruno Haible  <bruno@clisp.org>
62902
62903         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
62904         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
62905         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
62906         (xnboundedmalloc): New inline function.
62907         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
62908         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
62909         xmalloc.
62910         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
62911         xmalloc.
62912         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
62913         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
62914         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
62915         xmalloc.
62916         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
62917         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
62918         xmalloc.
62919         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
62920         gl_tree_add_after): Use XMALLOC instead of xmalloc.
62921         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
62922         xmalloc.
62923         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
62924         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
62925         gl_tree_add_after): Use XMALLOC instead of xmalloc.
62926         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
62927         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
62928         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
62929         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
62930
62931 2006-11-03  Bruno Haible  <bruno@clisp.org>
62932
62933         * lib/c-ctype.h [C++]: Define functions without name mangling.
62934         * lib/fwriteerror.h [C++]: Likewise.
62935         * lib/gcd.h [C++]: Likewise.
62936         * lib/linebreak.h [C++]: Likewise.
62937
62938 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
62939
62940         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
62941         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
62942         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
62943         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
62944         Check for functions and headers just once.
62945         Check for declaration of canonicalize_file_name.
62946         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
62947
62948 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62949
62950         * gnulib-tool (func_import): Fix typo in actioncmd.
62951
62952 2006-11-02  Bruno Haible  <bruno@clisp.org>
62953
62954         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
62955         newline sequence in the Makefile.am snippet as a space, like "make"
62956         does.
62957         Reported by Roger Persson <perrog@gmail.com>.
62958
62959 2006-11-01  Bruno Haible  <bruno@clisp.org>
62960
62961         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
62962         already declared in <string.h>.
62963         * lib/strcase.h (strncasecmp): Don't declare it if yes.
62964
62965 2006-11-01  Bruno Haible  <bruno@clisp.org>
62966
62967         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
62968         * lib/strcase.h: Include <string.h>.
62969         (strcasecmp): Define to rpl_strcasecmp here.
62970
62971 2006-11-01  Bruno Haible  <bruno@clisp.org>
62972
62973         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
62974
62975 2006-11-01  Eric Blake  <ebb9@byu.net>
62976
62977         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
62978
62979         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
62980
62981 2006-10-29  Bruno Haible  <bruno@clisp.org>
62982
62983         Make it compile in C++ mode.
62984         * lib/full-write.c (full_rw): Add a cast.
62985
62986 2006-11-01  Bruno Haible  <bruno@clisp.org>
62987
62988         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
62989         be POSIX compliant.
62990         Reported by Roger Persson <perrog@gmail.com>.
62991
62992 2006-11-01  Eric Blake  <ebb9@byu.net>
62993
62994         * lib/getopt_.h: Fix comments.
62995
62996 2006-10-31  Eric Blake  <ebb9@byu.net>
62997
62998         * modules/tmpdir (Depends-on): Add sys_stat.
62999         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
63000         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
63001         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
63002         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
63003         tempname.
63004
63005 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
63006
63007         Avoid some C++ diagnostics reported by Bruno Haible.
63008         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
63009         xmalloc.
63010         (quotearg_alloc): Use xcharalloc rather than xmalloc.
63011         (struct slotvec): Move to top level.
63012         (quotearg_n_options): Rewrite to avoid xmalloc.
63013         * lib/xalloc.h (xcharalloc): New function.
63014         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
63015         [defined __cplusplus]: Add function template that provides result
63016         type propagation.  This part of the change is from Bruno Haible.
63017
63018 2006-10-29  Bruno Haible  <bruno@clisp.org>
63019
63020         Make it compile in C++ mode.
63021         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
63022         * lib/strnlen1.c (strnlen1): Cast memchr result.
63023         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
63024         * lib/clean-temp.c (string_equals, string_hash): Add casts.
63025         (create_temp_dir): Rename local variable 'template'.
63026         (compile_csharp_using_sscli): Add cast.
63027         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
63028         * lib/findprog.c (find_in_path): Likewise.
63029         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
63030         * lib/wait-process.c (register_slave_subprocess): Likewise.
63031
63032 2006-10-22  Bruno Haible  <bruno@clisp.org>
63033
63034         * modules/tsearch: New file.
63035         * lib/tsearch.h: New file.
63036         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
63037         * m4/tsearch.m4: New file.
63038         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
63039
63040 2006-10-29  Eric Blake  <ebb9@byu.net>
63041
63042         * lib/arcfour.c: Assume config.h.
63043         * lib/arctwo.c: Likewise.
63044         * lib/base64.c: Likewise.
63045         * lib/check-version.c: Likewise.
63046         * lib/crc.c: Likewise.
63047         * lib/des.c: Likewise.
63048         * lib/gc-gnulib.c: Likewise.
63049         * lib/gc-libgcrypt.c: Likewise.
63050         * lib/gc-pbkdf2-sha1.c: Likewise.
63051         * lib/getaddrinfo.c: Likewise.
63052         * lib/getdelim.c: Likewise.
63053         * lib/getline.c: Likewise.
63054         * lib/hmac-md5.c: Likewise.
63055         * lib/hmac-sha1.c: Likewise.
63056         * lib/iconvme.c: Likewise.
63057         * lib/md2.c: Likewise.
63058         * lib/md4.c: Likewise.
63059         * lib/memxor.c: Likewise.
63060         * lib/read-file.c: Likewise.
63061         * lib/readline.c: Likewise.
63062         * lib/rijndael-alg-fst.c: Likewise.
63063         * lib/rijndael-api-fst.c: Likewise.
63064         * lib/xgetdomainname.c: Likewise.
63065
63066 2006-10-28  Eric Blake  <ebb9@byu.net>
63067
63068         * lib/xstrndup.c: Assume config.h.
63069
63070 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
63071
63072         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
63073         stat-macros.h is now for our own macros, whereas stat_h is for
63074         macros in the <sys/stat.h> name space.
63075         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
63076         (STAT_MACROS_H): Remove.
63077         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
63078         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
63079         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
63080         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
63081         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
63082         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
63083         Move these macros to ...
63084         * lib/stat_.h: here.  Don't include stat-macros.h.
63085         * lib/canonicalize.c: Don't include stat-macros.h.
63086         * lib/chown.c: Likewise.
63087         * lib/euidaccess.c: Likewise.
63088         * lib/file-type.c: Likewise.
63089         * lib/filemode.c: Likewise.
63090         * lib/glob.c: Likewise.
63091         * lib/isapipe.c: Likewise.
63092         * lib/lchown.c: Likewise.
63093         * lib/lstat.c: Likewise.
63094         * lib/mkdir-p.c: Likewise.
63095         * lib/rmdir.c: Likewise.
63096         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
63097         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
63098         unless mkdir isn't declared, to speed up 'configure'.
63099         Always create sys/stat.h, since it's unlikely any real sys/stat.h
63100         would define all the S_* symbols.
63101         * modules/canonicalize (Depends-on):
63102         Depend on sys_stat, not stat-macros.
63103         * modules/chown: Likewise.
63104         * modules/euidaccess: Likewise.
63105         * modules/filemode: Likewise.
63106         * modules/file-type: Likewise.
63107         * modules/glob: Likewise.
63108         * modules/isapipe: Likewise.
63109         * modules/lchown: Likewise.
63110         * modules/lstat: Likewise.
63111         * modules/mkancesdirs: Likewise.
63112         * modules/rmdir: Likewise.
63113         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
63114         * modules/modechange: Likewise.
63115         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
63116         (configure.ac): Remove gl_STAT_MACROS.
63117         * modules/sys_stat (Depends-on): Remove stat-macros.
63118
63119 2006-10-27  Bruno Haible  <bruno@clisp.org>
63120
63121         * m4/signed.m4: Remove file.
63122         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
63123         invocation.
63124         * modules/vasnprintf (Files): Remove m4/signed.m4.
63125
63126 2006-10-27  Bruno Haible  <bruno@clisp.org>
63127
63128         Update to GNU gettext 0.16.
63129         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
63130         m4/inttypes-h.m4, m4/signed.m4.
63131         * m4/gettext.m4: Update to GNU gettext 0.16.
63132         * m4/intl.m4: New file, from GNU gettext.
63133         * m4/intldir.m4: New file, from GNU gettext.
63134         * config/srclist.txt: Update
63135
63136 2006-10-27  Eric Blake  <ebb9@byu.net>
63137
63138         * MODULES.html.sh: Document tempname.
63139         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
63140         dependencies.
63141         (Files): Move lib/tempname.c...
63142         * modules/tempname: ...to this new module.
63143         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
63144         (gl_PREREQ_TEMPNAME): Move...
63145         * m4/tempname.m4: ...to this new file.
63146         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
63147         * modules/sys_stat (Depends-on): Add stat-macros.
63148         * lib/stat_.h (includes): Pick up stat macros.
63149         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
63150         if stat macros are broken.
63151         * lib/tempname.c (includes): No need to include "stat-macros.h".
63152         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
63153         (direxists, __path_search) [!_LIBC]: Don't compile these in
63154         gnulib; the tmpdir module covers that.
63155         * lib/tempname.h: New file.
63156
63157 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
63158
63159         * COPYING: Explain how gnulib-tool converts licence headers.
63160         Almost all wording by Eric Blake.
63161
63162 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
63163
63164         * lib/mbchar.h (is_basic_table): Make read-only.
63165         * lib/mbchar.c (is_basic_table): Likewise.
63166         Reported by John Darrington.
63167
63168 2006-10-25  Bruno Haible  <bruno@clisp.org>
63169
63170         * lib/progname.h (set_program_name): Undefine before defining.
63171
63172 2006-10-25  Bruno Haible  <bruno@clisp.org>
63173
63174         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
63175         false for non-gcc C++ compilers.
63176         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
63177
63178 2006-10-24  Bruno Haible  <bruno@clisp.org>
63179
63180         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
63181         iconv implementations like Irix iconv.
63182
63183 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63184
63185         * modules/vararrays: New file.
63186         * m4/vararrays.m4: New file, taken from diffutils.
63187         * MODULES.html.sh: New module vararrays.
63188
63189 2006-10-24  Karl Berry  <karl@gnu.org>
63190
63191         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
63192         Don't call GNU Unix.
63193
63194 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63195
63196         * users.txt: Add Libtool.
63197
63198         Sync from Libtool:
63199
63200         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63201
63202         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
63203         to gnulib's policy of including config.h unconditionally.
63204
63205 2006-10-24  Bruno Haible  <bruno@clisp.org>
63206
63207         * modules/wcwidth (Files): Add m4/wint_t.m4.
63208         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
63209         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
63210
63211 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63212
63213         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
63214         to pacify GCC with some -W flags enabled.  Problem reported by
63215         Bruno Haible.
63216
63217 2006-10-24  Jim Meyering  <jim@meyering.net>
63218
63219         * MODULES.html.sh: Remove uinttostr.  It's not a module.
63220         Reported by Karl Berry.
63221
63222 2006-10-23  Bruno Haible  <bruno@clisp.org>
63223
63224         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
63225
63226 2006-10-24  Bruno Haible  <bruno@clisp.org>
63227
63228         * lib/gl_list.h: Use C comment style, not C++ comment style.
63229
63230 2006-10-23  Eric Blake  <ebb9@byu.net>
63231
63232         * lib/getaddrinfo.c (includes): Add missing include.
63233
63234 2006-10-23  Bruno Haible  <bruno@clisp.org>
63235             Paul Eggert  <eggert@cs.ucla.edu>
63236
63237         Ability to rename obstack_free.
63238         * lib/obstack.h (__obstack_free): New macro. Declare instead of
63239         obstack_free.
63240         (obstack_free): Invoke the __obstack_free macro.
63241         * lib/obstack.c (obstack_free): Use __obstack_free macro.
63242
63243 2006-10-23  Bruno Haible  <bruno@clisp.org>
63244             Paul Eggert  <eggert@cs.ucla.edu>
63245
63246         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
63247         __argc, __argv from the declaration. (They are defined as macros on
63248         mingw.)
63249
63250 2006-10-22  Bruno Haible  <bruno@clisp.org>
63251
63252         * doc/gnulib-intro.texi: New file.
63253         * doc/gnulib.texi: Include it.
63254
63255 2006-10-21  Bruno Haible  <bruno@clisp.org>
63256
63257         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
63258         "Introduction", "Miscellanous Notes", "Particular Modules".
63259
63260 2006-10-21  Bruno Haible  <bruno@clisp.org>
63261
63262         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63263         Change mostlyclean-local rule to avoid sh syntax error from bash
63264         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
63265
63266 2006-10-23  Jim Meyering  <jim@meyering.net>
63267
63268         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
63269         in place of snprintf.
63270
63271         * modules/inttostr (Files): Add lib/uinttostr.c.
63272         * lib/uinttostr.c (inttostr): New file/function.
63273         * lib/inttostr.h (uinttostr): Declare.
63274         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
63275         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
63276         Add uinttostr.
63277         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
63278
63279 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
63280
63281         * lib/canonicalize.c (ELOOP): Define if not already defined.
63282         Problem reported by Bruno Haible in
63283         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
63284
63285 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
63286
63287         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
63288         Problem reported by Perry Smith and Ville Laurikari.
63289
63290         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
63291         uses.
63292
63293 2006-10-19  Bruno Haible  <bruno@clisp.org>
63294
63295         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
63296         for mingw.
63297
63298 2006-10-19  Bruno Haible  <bruno@clisp.org>
63299
63300         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
63301         Needed for mingw.
63302
63303 2006-10-19  Bruno Haible  <bruno@clisp.org>
63304
63305         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
63306
63307 2006-10-19  Bruno Haible  <bruno@clisp.org>
63308
63309         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
63310         it.
63311
63312 2006-10-19  Bruno Haible  <bruno@clisp.org>
63313
63314         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
63315         invocation.
63316
63317 2006-10-19  Bruno Haible  <bruno@clisp.org>
63318
63319         * gnulib-tool (func_create_testdir): Don't include ftruncate and
63320         mountlist by default.
63321
63322 2006-10-16  Bruno Haible  <bruno@clisp.org>
63323
63324         * lib/c-strstr.c: Include c-strstr.h.
63325
63326 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
63327
63328         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
63329         in a slash.
63330
63331 2006-10-18  Bruno Haible  <bruno@clisp.org>
63332
63333         * lib/lock.h [C++]: Wrap definitions in extern "C".
63334
63335 2006-10-18  Bruno Haible  <bruno@clisp.org>
63336
63337         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
63338         gl_LIBOBJS list.
63339
63340 2006-10-18  Bruno Haible  <bruno@clisp.org>
63341
63342         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
63343
63344 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
63345
63346         * lib/xstrtol.h: Include gettext.h.
63347         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
63348         Problem reported by Eric Blake.
63349         * modules/xstrtol (Depends-on): Add gettext-h.
63350
63351 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
63352
63353         * lib/strftime.c (advance): New macro.
63354         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
63355         incomplete type, so you can't add 0 to it.  Problem and patch
63356         reported by Eelco Dolstra for dietlibc.
63357
63358 2006-10-18  Jim Meyering  <jim@meyering.net>
63359
63360         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
63361         type for a local, and rename it: s/up/user_proc/.
63362
63363 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63364
63365         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
63366         READ_UTMP_USER_PROCESS.
63367         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
63368
63369 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
63370
63371         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
63372         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
63373
63374 2006-10-17  Eric Blake  <ebb9@byu.net>
63375
63376         * lib/sigprocmask.c (sigprocmask): Fix typo.
63377
63378         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
63379
63380         * modules/clean-temp (Makefile.am): Don't add to make output...
63381         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
63382         config.h.
63383
63384 2006-10-17  Bruno Haible  <bruno@clisp.org>
63385
63386         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
63387         differently if DEFAULT_TEXT_DOMAIN is set.
63388
63389 2006-10-16  Bruno Haible  <bruno@clisp.org>
63390
63391         * lib/clean-temp.c: Include fwriteerror.h.
63392
63393 2006-10-16  Bruno Haible  <bruno@clisp.org>
63394
63395         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
63396
63397 2006-10-16  Bruno Haible  <bruno@clisp.org>
63398
63399         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
63400         * lib/sigprocmask.h: Include <sys/types.h>.
63401         (sigset_t): Use the system's definition if present.
63402
63403 2006-10-17  Eric Blake  <ebb9@byu.net>
63404
63405         * lib/xvasprintf.c (includes): Assume config.h.
63406         * lib/xasprintf.c (includes): Likewise.
63407
63408 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63409
63410         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
63411         at least as wide as intmax_t.
63412
63413 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
63414
63415         (Imported from Automake.)
63416         * build-aux/gnupload: Update to version 1.1 of directive file.
63417
63418 2006-10-16  Eric Blake  <ebb9@byu.net>
63419
63420         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
63421         match Automake 1.10a.
63422
63423 2006-10-14  Bruno Haible  <bruno@clisp.org>
63424
63425         * modules/sigprocmask: New file.
63426         * lib/sigprocmask.h: New file.
63427         * lib/sigprocmask.c: New file.
63428         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
63429         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
63430         request sigprocmask.o.
63431         (gl_PREREQ_SIGPROCMASK): New macro.
63432         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
63433         (Depends-on): Add sigprocmask.
63434         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
63435         gt_SIGNALBLOCKING. Test for 'raise' only once.
63436         * lib/fatal-signal.c: Include sigprocmask.h.
63437         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
63438         unblock_fatal_signals): Define always.
63439         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63440         sigprocmask.
63441
63442 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63443
63444         Sync from Automake.
63445         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
63446         which incorrectly sets the mode of an existing destination
63447         directory.  In some cases the unpatched install-sh could do the
63448         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
63449         system.  We hope this is rare in practice, but it's clearly worth
63450         fixing.  Problem reported by Alex Unleashed in
63451         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
63452         Also, don't bother to check for -m bugs unless we're using -m;
63453         suggested by Stepan Kasal.
63454
63455 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63456
63457         Sync from Automake.
63458         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
63459         `-c' flag, so they appear at the same position as in %FASTDEP%
63460         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
63461         which ignores unknown options only after the first non-option.
63462         Bug report against M4 by Nelson H. F. Beebe.
63463
63464 2006-10-13  Jim Meyering  <jim@meyering.net>
63465
63466         Fix a bug in yesterday's change.
63467         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
63468         p->fts_statp->st_dev would be used uninitialized.
63469         Ensures that we always call fts_stat on the very first entry.
63470         Miklos Szeredi reported that find -xdev stopped working.
63471
63472 2006-10-12  Bruno Haible  <bruno@clisp.org>
63473
63474         * gnulib-tool (func_get_automake_snippet): Append an automatically
63475         computed EXTRA_DIST augmentation.
63476         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
63477         * modules/alloca-opt (Makefile.am): Likewise.
63478         * modules/allocsa (Makefile.am): Likewise.
63479         * modules/arcfour (Makefile.am): Likewise.
63480         * modules/arctwo (Makefile.am): Likewise.
63481         * modules/argmatch (Makefile.am): Likewise.
63482         * modules/argz (Makefile.am): Likewise.
63483         * modules/atexit (Makefile.am): Likewise.
63484         * modules/backupfile (Makefile.am): Likewise.
63485         * modules/byteswap (Makefile.am): Likewise.
63486         * modules/c-strtod (Makefile.am): Likewise.
63487         * modules/c-strtold (Makefile.am): Likewise.
63488         * modules/calloc (Makefile.am): Likewise.
63489         * modules/canon-host (Makefile.am): Likewise.
63490         * modules/canonicalize (Makefile.am): Likewise.
63491         * modules/chdir-long (Makefile.am): Likewise.
63492         * modules/chdir-safer (Makefile.am): Likewise.
63493         * modules/check-version (Makefile.am): Likewise.
63494         * modules/chown (Makefile.am): Likewise.
63495         * modules/cloexec (Makefile.am): Likewise.
63496         * modules/close-stream (Makefile.am): Likewise.
63497         * modules/closeout (Makefile.am): Likewise.
63498         * modules/crc (Makefile.am): Likewise.
63499         * modules/csharpexec (Makefile.am): Likewise.
63500         * modules/cycle-check (Makefile.am): Likewise.
63501         * modules/des (Makefile.am): Likewise.
63502         * modules/dev-ino (Makefile.am): Likewise.
63503         * modules/dirfd (Makefile.am): Likewise.
63504         * modules/dirname (Makefile.am): Likewise.
63505         * modules/dup2 (Makefile.am): Likewise.
63506         * modules/eealloc (Makefile.am): Likewise.
63507         * modules/error (Makefile.am): Likewise.
63508         * modules/euidaccess (Makefile.am): Likewise.
63509         * modules/exclude (Makefile.am): Likewise.
63510         * modules/exitfail (Makefile.am): Likewise.
63511         * modules/fcntl-safer (Makefile.am): Likewise.
63512         * modules/fcntl (Makefile.am): Likewise.
63513         * modules/file-type (Makefile.am): Likewise.
63514         * modules/fileblocks (Makefile.am): Likewise.
63515         * modules/filemode (Makefile.am): Likewise.
63516         * modules/filenamecat (Makefile.am): Likewise.
63517         * modules/fnmatch (Makefile.am): Likewise.
63518         * modules/fopen-safer (Makefile.am): Likewise.
63519         * modules/fpending (Makefile.am): Likewise.
63520         * modules/fprintftime (Makefile.am): Likewise.
63521         * modules/free (Makefile.am): Likewise.
63522         * modules/fsusage (Makefile.am): Likewise.
63523         * modules/ftruncate (Makefile.am): Likewise.
63524         * modules/fts (Makefile.am): Likewise.
63525         * modules/gc-arcfour (Makefile.am): Likewise.
63526         * modules/gc-des (Makefile.am): Likewise.
63527         * modules/gc-hmac-md5 (Makefile.am): Likewise.
63528         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
63529         * modules/gc-md4 (Makefile.am): Likewise.
63530         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
63531         * modules/gc-sha1 (Makefile.am): Likewise.
63532         * modules/gc (Makefile.am): Likewise.
63533         * modules/getaddrinfo (Makefile.am): Likewise.
63534         * modules/getcwd (Makefile.am): Likewise.
63535         * modules/getdelim (Makefile.am): Likewise.
63536         * modules/getdomainname (Makefile.am): Likewise.
63537         * modules/getgroups (Makefile.am): Likewise.
63538         * modules/gethostname (Makefile.am): Likewise.
63539         * modules/gethrxtime (Makefile.am): Likewise.
63540         * modules/getline (Makefile.am): Likewise.
63541         * modules/getloadavg (Makefile.am): Likewise.
63542         * modules/getlogin_r (Makefile.am): Likewise.
63543         * modules/getndelim2 (Makefile.am): Likewise.
63544         * modules/getopt (Makefile.am): Likewise.
63545         * modules/getpagesize (Makefile.am): Likewise.
63546         * modules/getpass-gnu (Makefile.am): Likewise.
63547         * modules/getpass (Makefile.am): Likewise.
63548         * modules/getsubopt (Makefile.am): Likewise.
63549         * modules/gettime (Makefile.am): Likewise.
63550         * modules/gettimeofday (Makefile.am): Likewise.
63551         * modules/getugroups (Makefile.am): Likewise.
63552         * modules/getusershell (Makefile.am): Likewise.
63553         * modules/glob (Makefile.am): Likewise.
63554         * modules/group-member (Makefile.am): Likewise.
63555         * modules/hard-locale (Makefile.am): Likewise.
63556         * modules/hash (Makefile.am): Likewise.
63557         * modules/hmac-md5 (Makefile.am): Likewise.
63558         * modules/hmac-sha1 (Makefile.am): Likewise.
63559         * modules/human (Makefile.am): Likewise.
63560         * modules/idcache (Makefile.am): Likewise.
63561         * modules/imaxabs (Makefile.am): Likewise.
63562         * modules/imaxdiv (Makefile.am): Likewise.
63563         * modules/inet_ntop (Makefile.am): Likewise.
63564         * modules/inet_pton (Makefile.am): Likewise.
63565         * modules/intprops (Makefile.am): Likewise.
63566         * modules/inttostr (Makefile.am): Likewise.
63567         * modules/inttypes (Makefile.am): Likewise.
63568         * modules/isapipe (Makefile.am): Likewise.
63569         * modules/javaversion (Makefile.am): Likewise.
63570         * modules/lchmod (Makefile.am): Likewise.
63571         * modules/lchown (Makefile.am): Likewise.
63572         * modules/localcharset (Makefile.am): Likewise.
63573         * modules/long-options (Makefile.am): Likewise.
63574         * modules/lstat (Makefile.am): Likewise.
63575         * modules/malloc (Makefile.am): Likewise.
63576         * modules/mathl (Makefile.am): Likewise.
63577         * modules/mbchar (Makefile.am): Likewise.
63578         * modules/md2 (Makefile.am): Likewise.
63579         * modules/md4 (Makefile.am): Likewise.
63580         * modules/md5 (Makefile.am): Likewise.
63581         * modules/memcasecmp (Makefile.am): Likewise.
63582         * modules/memchr (Makefile.am): Likewise.
63583         * modules/memcmp (Makefile.am): Likewise.
63584         * modules/memcoll (Makefile.am): Likewise.
63585         * modules/memcpy (Makefile.am): Likewise.
63586         * modules/memmem (Makefile.am): Likewise.
63587         * modules/memmove (Makefile.am): Likewise.
63588         * modules/mempcpy (Makefile.am): Likewise.
63589         * modules/memrchr (Makefile.am): Likewise.
63590         * modules/memset (Makefile.am): Likewise.
63591         * modules/memxor (Makefile.am): Likewise.
63592         * modules/mkancesdirs (Makefile.am): Likewise.
63593         * modules/mkdir-p (Makefile.am): Likewise.
63594         * modules/mkdir (Makefile.am): Likewise.
63595         * modules/mkdtemp (Makefile.am): Likewise.
63596         * modules/mkstemp (Makefile.am): Likewise.
63597         * modules/mktime (Makefile.am): Likewise.
63598         * modules/modechange (Makefile.am): Likewise.
63599         * modules/mountlist (Makefile.am): Likewise.
63600         * modules/nanosleep (Makefile.am): Likewise.
63601         * modules/obstack (Makefile.am): Likewise.
63602         * modules/openat (Makefile.am): Likewise.
63603         * modules/pagealign_alloc (Makefile.am): Likewise.
63604         * modules/pathmax (Makefile.am): Likewise.
63605         * modules/physmem (Makefile.am): Likewise.
63606         * modules/poll (Makefile.am): Likewise.
63607         * modules/posixtm (Makefile.am): Likewise.
63608         * modules/posixver (Makefile.am): Likewise.
63609         * modules/putenv (Makefile.am): Likewise.
63610         * modules/quote (Makefile.am): Likewise.
63611         * modules/quotearg (Makefile.am): Likewise.
63612         * modules/raise (Makefile.am): Likewise.
63613         * modules/read-file (Makefile.am): Likewise.
63614         * modules/readline (Makefile.am): Likewise.
63615         * modules/readlink (Makefile.am): Likewise.
63616         * modules/readtokens (Makefile.am): Likewise.
63617         * modules/readutmp (Makefile.am): Likewise.
63618         * modules/realloc (Makefile.am): Likewise.
63619         * modules/regex (Makefile.am): Likewise.
63620         * modules/rename-dest-slash (Makefile.am): Likewise.
63621         * modules/rename (Makefile.am): Likewise.
63622         * modules/rijndael (Makefile.am): Likewise.
63623         * modules/rmdir (Makefile.am): Likewise.
63624         * modules/rpmatch (Makefile.am): Likewise.
63625         * modules/safe-read (Makefile.am): Likewise.
63626         * modules/safe-write (Makefile.am): Likewise.
63627         * modules/same-inode (Makefile.am): Likewise.
63628         * modules/same (Makefile.am): Likewise.
63629         * modules/save-cwd (Makefile.am): Likewise.
63630         * modules/savedir (Makefile.am): Likewise.
63631         * modules/setenv (Makefile.am): Likewise.
63632         * modules/settime (Makefile.am): Likewise.
63633         * modules/sha1 (Makefile.am): Likewise.
63634         * modules/sig2str (Makefile.am): Likewise.
63635         * modules/snprintf (Makefile.am): Likewise.
63636         * modules/stat-macros (Makefile.am): Likewise.
63637         * modules/stat-time (Makefile.am): Likewise.
63638         * modules/stdbool (Makefile.am): Likewise.
63639         * modules/stdint (Makefile.am): Likewise.
63640         * modules/stdlib-safer (Makefile.am): Likewise.
63641         * modules/stpcpy (Makefile.am): Likewise.
63642         * modules/stpncpy (Makefile.am): Likewise.
63643         * modules/strcase (Makefile.am): Likewise.
63644         * modules/strcasestr (Makefile.am): Likewise.
63645         * modules/strchrnul (Makefile.am): Likewise.
63646         * modules/strcspn (Makefile.am): Likewise.
63647         * modules/strdup (Makefile.am): Likewise.
63648         * modules/strerror (Makefile.am): Likewise.
63649         * modules/strftime (Makefile.am): Likewise.
63650         * modules/strndup (Makefile.am): Likewise.
63651         * modules/strnlen (Makefile.am): Likewise.
63652         * modules/strpbrk (Makefile.am): Likewise.
63653         * modules/strsep (Makefile.am): Likewise.
63654         * modules/strstr (Makefile.am): Likewise.
63655         * modules/strtod (Makefile.am): Likewise.
63656         * modules/strtoimax (Makefile.am): Likewise.
63657         * modules/strtok_r (Makefile.am): Likewise.
63658         * modules/strtol (Makefile.am): Likewise.
63659         * modules/strtoll (Makefile.am): Likewise.
63660         * modules/strtoul (Makefile.am): Likewise.
63661         * modules/strtoull (Makefile.am): Likewise.
63662         * modules/strtoumax (Makefile.am): Likewise.
63663         * modules/strverscmp (Makefile.am): Likewise.
63664         * modules/sys_socket (Makefile.am): Likewise.
63665         * modules/sys_stat (Makefile.am): Likewise.
63666         * modules/sysexits (Makefile.am): Likewise.
63667         * modules/time_r (Makefile.am): Likewise.
63668         * modules/timegm (Makefile.am): Likewise.
63669         * modules/timespec (Makefile.am): Likewise.
63670         * modules/tmpfile-safer (Makefile.am): Likewise.
63671         * modules/trim (Makefile.am): Likewise.
63672         * modules/unistd-safer (Makefile.am): Likewise.
63673         * modules/unlinkdir (Makefile.am): Likewise.
63674         * modules/unlocked-io (Makefile.am): Likewise.
63675         * modules/userspec (Makefile.am): Likewise.
63676         * modules/utime (Makefile.am): Likewise.
63677         * modules/utimecmp (Makefile.am): Likewise.
63678         * modules/utimens (Makefile.am): Likewise.
63679         * modules/vasnprintf (Makefile.am): Likewise.
63680         * modules/vasprintf (Makefile.am): Likewise.
63681         * modules/vsnprintf (Makefile.am): Likewise.
63682         * modules/xalloc (Makefile.am): Likewise.
63683         * modules/xgetcwd (Makefile.am): Likewise.
63684         * modules/xnanosleep (Makefile.am): Likewise.
63685         * modules/xreadlink (Makefile.am): Likewise.
63686         * modules/xstrtod (Makefile.am): Likewise.
63687         * modules/xstrtol (Makefile.am): Likewise.
63688         * modules/xstrtold (Makefile.am): Likewise.
63689         * modules/yesno (Makefile.am): Likewise.
63690         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
63691
63692 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
63693
63694         * modules/error (Makefile.am): Distribute files through
63695         EXTRA_DIST, not lib_SOURCES.
63696
63697 2006-10-12  Eric Blake  <ebb9@byu.net>
63698
63699         * modules/error (Makefile.am): Distribute files in /lib.
63700         * modules/obstack (Makefile.am): Likewise.
63701
63702 2006-10-12  Bruno Haible  <bruno@clisp.org>
63703
63704         * modules/acl (Makefile.am): Distribute all files in lib/ through
63705         EXTRA_DIST.
63706         * modules/arcfour (Makefile.am): Likewise.
63707         * modules/arctwo (Makefile.am): Likewise.
63708         * modules/argmatch (Makefile.am): Likewise.
63709         * modules/argz (Makefile.am): Likewise.
63710         * modules/atexit (Makefile.am): Likewise.
63711         * modules/backupfile (Makefile.am): Likewise.
63712         * modules/c-strtod (Makefile.am): Likewise.
63713         * modules/c-strtold (Makefile.am): Likewise.
63714         * modules/calloc (Makefile.am): Likewise.
63715         * modules/canon-host (Makefile.am): Likewise.
63716         * modules/canonicalize (Makefile.am): Likewise.
63717         * modules/chdir-long (Makefile.am): Likewise.
63718         * modules/chdir-safer (Makefile.am): Likewise.
63719         * modules/check-version (Makefile.am): Likewise.
63720         * modules/chown (Makefile.am): Likewise.
63721         * modules/cloexec (Makefile.am): Likewise.
63722         * modules/close-stream (Makefile.am): Likewise.
63723         * modules/closeout (Makefile.am): Likewise.
63724         * modules/crc (Makefile.am): Likewise.
63725         * modules/cycle-check (Makefile.am): Likewise.
63726         * modules/des (Makefile.am): Likewise.
63727         * modules/dirfd (Makefile.am): Likewise.
63728         * modules/dirname (Makefile.am): Likewise.
63729         * modules/dup2 (Makefile.am): Likewise.
63730         * modules/euidaccess (Makefile.am): Likewise.
63731         * modules/exclude (Makefile.am): Likewise.
63732         * modules/exitfail (Makefile.am): Likewise.
63733         * modules/fcntl-safer (Makefile.am): Likewise.
63734         * modules/file-type (Makefile.am): Likewise.
63735         * modules/fileblocks (Makefile.am): Likewise.
63736         * modules/filemode (Makefile.am): Likewise.
63737         * modules/filenamecat (Makefile.am): Likewise.
63738         * modules/fnmatch (Makefile.am): Likewise.
63739         * modules/fopen-safer (Makefile.am): Likewise.
63740         * modules/fpending (Makefile.am): Likewise.
63741         * modules/fprintftime (Makefile.am): Likewise.
63742         * modules/free (Makefile.am): Likewise.
63743         * modules/fsusage (Makefile.am): Likewise.
63744         * modules/ftruncate (Makefile.am): Likewise.
63745         * modules/fts (Makefile.am): Likewise.
63746         * modules/gc (Makefile.am): Likewise.
63747         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
63748         * modules/getaddrinfo (Makefile.am): Likewise.
63749         * modules/getcwd (Makefile.am): Likewise.
63750         * modules/getdelim (Makefile.am): Likewise.
63751         * modules/getdomainname (Makefile.am): Likewise.
63752         * modules/getgroups (Makefile.am): Likewise.
63753         * modules/gethostname (Makefile.am): Likewise.
63754         * modules/gethrxtime (Makefile.am): Likewise.
63755         * modules/getline (Makefile.am): Likewise.
63756         * modules/getloadavg (Makefile.am): Likewise.
63757         * modules/getlogin_r (Makefile.am): Likewise.
63758         * modules/getopt (Makefile.am): Likewise.
63759         * modules/getpass (Makefile.am): Likewise.
63760         * modules/getpass-gnu (Makefile.am): Likewise.
63761         * modules/getsubopt (Makefile.am): Likewise.
63762         * modules/gettime (Makefile.am): Likewise.
63763         * modules/gettimeofday (Makefile.am): Likewise.
63764         * modules/getugroups (Makefile.am): Likewise.
63765         * modules/getusershell (Makefile.am): Likewise.
63766         * modules/glob (Makefile.am): Likewise.
63767         * modules/group-member (Makefile.am): Likewise.
63768         * modules/hard-locale (Makefile.am): Likewise.
63769         * modules/hash (Makefile.am): Likewise.
63770         * modules/hmac-md5 (Makefile.am): Likewise.
63771         * modules/hmac-sha1 (Makefile.am): Likewise.
63772         * modules/human (Makefile.am): Likewise.
63773         * modules/idcache (Makefile.am): Likewise.
63774         * modules/imaxabs (Makefile.am): Likewise.
63775         * modules/imaxdiv (Makefile.am): Likewise.
63776         * modules/inet_ntop (Makefile.am): Likewise.
63777         * modules/inet_pton (Makefile.am): Likewise.
63778         * modules/inttostr (Makefile.am): Likewise.
63779         * modules/isapipe (Makefile.am): Likewise.
63780         * modules/lchown (Makefile.am): Likewise.
63781         * modules/long-options (Makefile.am): Likewise.
63782         * modules/lstat (Makefile.am): Likewise.
63783         * modules/malloc (Makefile.am): Likewise.
63784         * modules/mathl (Makefile.am): Likewise.
63785         * modules/mbchar (Makefile.am): Likewise.
63786         * modules/md2 (Makefile.am): Likewise.
63787         * modules/md4 (Makefile.am): Likewise.
63788         * modules/md5 (Makefile.am): Likewise.
63789         * modules/memcasecmp (Makefile.am): Likewise.
63790         * modules/memchr (Makefile.am): Likewise.
63791         * modules/memcmp (Makefile.am): Likewise.
63792         * modules/memcoll (Makefile.am): Likewise.
63793         * modules/memcpy (Makefile.am): Likewise.
63794         * modules/memmem (Makefile.am): Likewise.
63795         * modules/memmove (Makefile.am): Likewise.
63796         * modules/mempcpy (Makefile.am): Likewise.
63797         * modules/memrchr (Makefile.am): Likewise.
63798         * modules/memset (Makefile.am): Likewise.
63799         * modules/memxor (Makefile.am): Likewise.
63800         * modules/mkancesdirs (Makefile.am): Likewise.
63801         * modules/mkdir (Makefile.am): Likewise.
63802         * modules/mkdir-p (Makefile.am): Likewise.
63803         * modules/mkdtemp (Makefile.am): Likewise.
63804         * modules/mkstemp (Makefile.am): Likewise.
63805         * modules/mktime (Makefile.am): Likewise.
63806         * modules/modechange (Makefile.am): Likewise.
63807         * modules/mountlist (Makefile.am): Likewise.
63808         * modules/nanosleep (Makefile.am): Likewise.
63809         * modules/openat (Makefile.am): Likewise.
63810         * modules/pagealign_alloc (Makefile.am): Likewise.
63811         * modules/physmem (Makefile.am): Likewise.
63812         * modules/poll (Makefile.am): Likewise.
63813         * modules/posixtm (Makefile.am): Likewise.
63814         * modules/posixver (Makefile.am): Likewise.
63815         * modules/putenv (Makefile.am): Likewise.
63816         * modules/quote (Makefile.am): Likewise.
63817         * modules/quotearg (Makefile.am): Likewise.
63818         * modules/raise (Makefile.am): Likewise.
63819         * modules/read-file (Makefile.am): Likewise.
63820         * modules/readline (Makefile.am): Likewise.
63821         * modules/readlink (Makefile.am): Likewise.
63822         * modules/readtokens (Makefile.am): Likewise.
63823         * modules/readutmp (Makefile.am): Likewise.
63824         * modules/realloc (Makefile.am): Likewise.
63825         * modules/regex (Makefile.am): Likewise.
63826         * modules/rename (Makefile.am): Likewise.
63827         * modules/rename-dest-slash (Makefile.am): Likewise.
63828         * modules/rijndael (Makefile.am): Likewise.
63829         * modules/rmdir (Makefile.am): Likewise.
63830         * modules/rpmatch (Makefile.am): Likewise.
63831         * modules/safe-read (Makefile.am): Likewise.
63832         * modules/safe-write (Makefile.am): Likewise.
63833         * modules/same (Makefile.am): Likewise.
63834         * modules/save-cwd (Makefile.am): Likewise.
63835         * modules/savedir (Makefile.am): Likewise.
63836         * modules/setenv (Makefile.am): Likewise.
63837         * modules/settime (Makefile.am): Likewise.
63838         * modules/sha1 (Makefile.am): Likewise.
63839         * modules/sig2str (Makefile.am): Likewise.
63840         * modules/snprintf (Makefile.am): Likewise.
63841         * modules/stdlib-safer (Makefile.am): Likewise.
63842         * modules/stpcpy (Makefile.am): Likewise.
63843         * modules/stpncpy (Makefile.am): Likewise.
63844         * modules/strcase (Makefile.am): Likewise.
63845         * modules/strcasestr (Makefile.am): Likewise.
63846         * modules/strchrnul (Makefile.am): Likewise.
63847         * modules/strcspn (Makefile.am): Likewise.
63848         * modules/strdup (Makefile.am): Likewise.
63849         * modules/strerror (Makefile.am): Likewise.
63850         * modules/strftime (Makefile.am): Likewise.
63851         * modules/strndup (Makefile.am): Likewise.
63852         * modules/strnlen (Makefile.am): Likewise.
63853         * modules/strpbrk (Makefile.am): Likewise.
63854         * modules/strsep (Makefile.am): Likewise.
63855         * modules/strstr (Makefile.am): Likewise.
63856         * modules/strtod (Makefile.am): Likewise.
63857         * modules/strtoimax (Makefile.am): Likewise.
63858         * modules/strtok_r (Makefile.am): Likewise.
63859         * modules/strtol (Makefile.am): Likewise.
63860         * modules/strtoll (Makefile.am): Likewise.
63861         * modules/strtoul (Makefile.am): Likewise.
63862         * modules/strtoull (Makefile.am): Likewise.
63863         * modules/strtoumax (Makefile.am): Likewise.
63864         * modules/strverscmp (Makefile.am): Likewise.
63865         * modules/time_r (Makefile.am): Likewise.
63866         * modules/timegm (Makefile.am): Likewise.
63867         * modules/tmpfile-safer (Makefile.am): Likewise.
63868         * modules/unistd-safer (Makefile.am): Likewise.
63869         * modules/unlinkdir (Makefile.am): Likewise.
63870         * modules/userspec (Makefile.am): Likewise.
63871         * modules/utime (Makefile.am): Likewise.
63872         * modules/utimecmp (Makefile.am): Likewise.
63873         * modules/utimens (Makefile.am): Likewise.
63874         * modules/vasnprintf (Makefile.am): Likewise.
63875         * modules/vasprintf (Makefile.am): Likewise.
63876         * modules/vsnprintf (Makefile.am): Likewise.
63877         * modules/xalloc (Makefile.am): Likewise.
63878         * modules/xgetcwd (Makefile.am): Likewise.
63879         * modules/xnanosleep (Makefile.am): Likewise.
63880         * modules/xreadlink (Makefile.am): Likewise.
63881         * modules/xstrtod (Makefile.am): Likewise.
63882         * modules/xstrtol (Makefile.am): Likewise.
63883         * modules/xstrtold (Makefile.am): Likewise.
63884         * modules/yesno (Makefile.am): Likewise.
63885
63886 2006-10-12  Jim Meyering  <jim@meyering.net>
63887
63888         * m4/getloadavg.m4: Revert the change below.
63889
63890         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
63891         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
63892         fail with a symlink, which is what coreutils' ./bootstrap now
63893         creates by default.
63894
63895 2006-10-12  Bruno Haible  <bruno@clisp.org>
63896
63897         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
63898         mingw.
63899         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
63900         MSVC and mingw explicitly.
63901
63902 2006-10-11  Simon Josefsson  <jas@extundo.com>
63903             Bruno Haible  <bruno@clisp.org>
63904
63905         Add support for multiple gnulib-tool invocations in the scope of a
63906         single configure.ac file.
63907         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
63908         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
63909         with the same contents as the _LIBADD variable.
63910         (func_emit_initmacro_start, func_emit_initmacro_end,
63911         func_emit_initmacro_done): New functions.
63912         (func_import, func_create_testdir): Invoke them. Allow the identifiers
63913         gl_LIBOBJS and gl_LTLIBOBJS.
63914
63915 2006-10-11  Bruno Haible  <bruno@clisp.org>
63916
63917         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
63918         (func_create_testdir): Don't create po/Makefile.am, don't invoke
63919         autoreconf. Instead, invoke autopoint explicitly but move back the
63920         *.m4 files from gnulib.
63921
63922 2006-10-11  Bruno Haible  <bruno@clisp.org>
63923
63924         * gnulib-tool (func_usage): Make module names after --create-testdir
63925         optional.
63926         (func_create_testdir): If no module was specified, use nearly all
63927         modules.
63928
63929 2006-10-12  Jim Meyering  <jim@meyering.net>
63930
63931         Big performance improvement for fts-based tools that use FTS_NOSTAT.
63932         Avoid spurious inode-mismatch problems on non-POSIX file systems.
63933         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
63934         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
63935         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
63936         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
63937         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
63938         (fts_set_stat_required): New function.
63939         (fts_open): Defer the calls to fts_stat, if possible or requested.
63940         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
63941         into fts_stat itself.
63942         (fts_read): Perform any required (deferred) fts_stat call.
63943         (fts_build): Likewise, for the directory we're about to open and read.
63944         In the readdir loop, carefully decide whether each entry will require
63945         an eventual call to fts_stat, using dirent.d_type info if available.
63946         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
63947         a command line argument into this function.  Update all callers.
63948         Map a return value of FTS_DOT to FTS_D for a command line argument.
63949         * modules/fts (Depends-on): Add d-type.  Alphabetize.
63950         Thanks to Miklos Szeredi for his tenacity and for the initial
63951         bug report about "find" failing on a FUSE-based file system.
63952
63953         * lib/fts.c (fts_open): Use consistent indentation.
63954
63955 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
63956
63957         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
63958         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
63959         reported by Jim Meyering.  All uses of cache variables renamed
63960         to match Autoconf's.
63961         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
63962         the other one.
63963
63964         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
63965         Fix misspelling in diagnostic.
63966
63967 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63968
63969         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
63970         defined.  Problem reported by Matthew Woehlke.
63971
63972         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
63973         Add support for Tandem NonStop R series.
63974         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
63975         Use new macro.
63976
63977         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
63978         (has_trailing_slash): Omit size arg; all callers changed.
63979         Omit 'inline', since it doesn't help performance and we'd
63980         need to configure it.
63981         Don't count //, ///, etc. as having a trailing slash.
63982         As a side effect, this removes a C99ism reported by Matthew Woehlke.
63983         (rpl_rename_dest_slash): On failure, use rename's errno rather
63984         than (in some cases) an incorrect or junk errno.
63985         Simplify code by removing need to compute length; this does
63986         cause it to make two passes instead of one over the file name,
63987         but it's worth it.
63988
63989         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
63990         change, since Autoconf's version may no longer be appropriate now
63991         that we are using CVS Autoconf's version.  Add support for Tandem.
63992
63993 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63994             Bruno Haible  <bruno@clisp.org>
63995
63996         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
63997         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
63998         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
63999         gl_AC_TYPE_LONG_LONG.
64000
64001         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
64002         instead of HAVE_LONG_LONG.
64003         * lib/printf-args.c (printf_fetchargs): Likewise.
64004         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
64005         * lib/vasnprintf.c (VASNPRINTF): Likewise.
64006         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
64007         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
64008         gl_AC_TYPE_LONG_LONG.
64009
64010 2006-10-11  Bruno Haible  <bruno@clisp.org>
64011
64012         * m4/longlong.m4: Add comments.
64013         * m4/ulonglong.m4: Likewise.
64014
64015 2006-10-10  Bruno Haible  <bruno@clisp.org>
64016
64017         Make it possible to #define stpcpy, strdup to aliases.
64018         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
64019         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
64020
64021 2006-10-10  Bruno Haible  <bruno@clisp.org>
64022
64023         Make it possible to #define gcd to an alias.
64024         * lib/gcd.c: Include config.h.
64025
64026 2006-10-10  Bruno Haible  <bruno@clisp.org>
64027
64028         Make it possible to #define c_isascii to an alias.
64029         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
64030         defined. Undefine the macros before defining them, to avoid gcc
64031         warnings.
64032         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
64033         define NO_C_CTYPE_MACROS early.
64034
64035 2006-10-10  Bruno Haible  <bruno@clisp.org>
64036
64037         Make it possible to #define set_program_name to an alias.
64038         * lib/progname.c: Don't undefine set_program_name; instead, undefine
64039         ENABLE_RELOCATABLE early.
64040
64041 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64042
64043         Port to Tandem NSK OSS, which has 64-bit signed int but at most
64044         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
64045         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
64046         More generally, don't assume that 64-bit signed int is available
64047         if unsigned int is, and vice versa.
64048         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
64049         unsigned symbols, not on their signed counterparts.
64050         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
64051         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
64052         (UINT64_C, UINTMAX_C):
64053         Likewise.
64054         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
64055         unsigned counterparts.
64056         (Have_long_long, Unsigned): New macros.
64057         (Int): Renamed from INT.
64058         (strtoimax): Use the new macros.
64059         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
64060         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
64061         * modules/inttypes (inttypes.h): Substitute
64062         HAVE_UNSIGNED_LONG_LONG_INT.
64063         * modules/stdint (stdint.h): Likewise.
64064         (Files): Add m4/ulonglong.m4.
64065
64066 2006-10-10  Bruno Haible  <bruno@clisp.org>
64067
64068         Fix a gcc -Wshadow warning.
64069         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
64070         to 'bucket'.
64071         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
64072         gl_linked_indexof_from_to): Likewise.
64073         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
64074         Likewise.
64075         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
64076         Likewise.
64077         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
64078         Reported by Eric Blake.
64079
64080 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
64081
64082         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
64083         for NetBSD.  Problem reported by Bruno Haible.
64084
64085 2006-10-09  Jim Meyering  <jim@meyering.net>
64086
64087         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
64088         Patch from Bruno Haible.
64089
64090 2006-10-09  Jim Meyering  <jim@meyering.net>
64091
64092         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
64093         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
64094         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
64095
64096 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64097
64098         Don't include <config.h> twice; this doesn't work in some cases,
64099         e.g., when config.h has "#define intmax_t long long int" and
64100         we include <config.h>, <inttypes.h>, <config.h> in that order.
64101         Problem reported by Matthew Woehlke in:
64102         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
64103         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
64104         * lib/fts-cycle.c: Don't include config.h.
64105         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
64106         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
64107         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
64108         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
64109         inttypes.h.
64110         * lib/xstrtoumax.c: Likewise.
64111         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
64112         __strtol and the like, so that this module is more like its siblings.
64113         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
64114         Remove; no longer needed now that we assume gnulib inttypes.h.
64115
64116 2006-10-08  Bruno Haible  <bruno@clisp.org>
64117
64118         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
64119         option.
64120
64121 2006-10-07  Jim Meyering  <jim@meyering.net>
64122
64123         * modules/inttypes (inttypes.h): Revert what seems to have been
64124         an inadvertent part of today's change: use "|", not "/" in the
64125         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
64126
64127 2006-10-07  Bruno Haible  <bruno@clisp.org>
64128
64129         * modules/sublist: New file.
64130
64131 2006-10-07  Bruno Haible  <bruno@clisp.org>
64132
64133         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
64134         * modules/argz (argz.h): Likewise.
64135         * modules/arpa_inet (arpa/inet.h): Likewise.
64136         * modules/byteswap (byteswap.h): Likewise.
64137         * modules/configmake (configmake.h): Likewise.
64138         * modules/fcntl (fcntl.h): Likewise.
64139         * modules/fnmatch (fnmatch.h): Likewise.
64140         * modules/getopt (getopt.h): Likewise.
64141         * modules/glob (glob.h): Likewise.
64142         * modules/inttypes (inttypes.h): Likewise.
64143         * modules/netinet_in (netinet/in.h): Likewise.
64144         * modules/poll (poll.h): Likewise.
64145         * modules/stdbool (stdbool.h): Likewise.
64146         * modules/stdint (stdint.h): Likewise.
64147         * modules/sys_select (sys/select.h): Likewise.
64148         * modules/sys_socket (sys/socket.h): Likewise.
64149         * modules/sys_stat (sys/stat.h): Likewise.
64150         * modules/sysexits (sysexits.h): Likewise.
64151         * modules/unistd (unistd.h): Likewise.
64152         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64153         Add a "DO NOT EDIT" comment to the generated file.
64154         (func_import): Likewise for gnulib-comp.m4.
64155
64156 2006-10-07  Bruno Haible  <bruno@clisp.org>
64157
64158         * lib/gl_sublist.h: New file.
64159         * lib/gl_sublist.c: New file.
64160
64161 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
64162
64163         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
64164         name (relative to the original working directory) and the file
64165         name component (relative to the temporary working directory).  All
64166         callers changed.
64167         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
64168         * lib/mkdir-p.c (make_dir_parents): Likewise.
64169         * lib/mkdir-p.h (make_dir_parents): Likewise.
64170
64171 2006-10-06  Eric Blake  <ebb9@byu.net>
64172
64173         Define several macros for use by the clean-temp module.
64174         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
64175         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
64176         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
64177
64178         * lib/clean-temp.h (close_stream_temp): New declaration.
64179         * lib/clean-temp.c (includes): Pull in headers according to what
64180         other modules are in use.
64181         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
64182
64183 2006-10-06  Bruno Haible  <bruno@clisp.org>
64184
64185         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
64186         instead of fopen, fwriteerror.
64187
64188 2006-10-06  Bruno Haible  <bruno@clisp.org>
64189
64190         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
64191         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
64192         int.
64193         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
64194         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
64195         Return an error indicator.
64196         Suggested by Eric Blake.
64197
64198 2006-10-06  Bruno Haible  <bruno@clisp.org>
64199
64200         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
64201         Reported by Eric Blake.
64202
64203 2006-10-06  Bruno Haible  <bruno@clisp.org>
64204
64205         * modules/closeout (Description): Mention stderr too.
64206
64207 2006-10-06  Bruno Haible  <bruno@clisp.org>
64208         and Paul Eggert  <eggert@cs.ucla.edu>
64209
64210         * lib/closeout.c (close_stdout): Also close stderr.
64211         * lib/closeout.h: Update comment.
64212
64213 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64214
64215         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
64216         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
64217         * lib/dirchownmod.c: Include lchown.h.
64218         * lib/lchown.c: Don't include files that lchown.h now includes.
64219         Don't declare chown, since lchown.h now does that.
64220         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
64221         (lchown): Define to rpl_chown if lchown is declared but
64222         does not exist.  Declare using a prototype if lchown is not
64223         declared.  Add a copyright notice.
64224         * lib/mkstemp.h: Include <unistd.h>.
64225         * lib/openat.c: Include lchown.h.
64226
64227         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
64228         we now test for that separately.
64229         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
64230         rather than O_NOFOLLOW, when testing whether it's possible to
64231         avoid a race condition reliably.
64232         * lib/savewd.c (savewd_chdir): Likewise.
64233
64234         Remove macros that are no longer needed now that stdint.h is
64235         reliable.
64236         * lib/fsusage.c (UINTMAX_MAX): Remove.
64237         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
64238         * lib/utimecmp.c (SIZE_MAX): Remove.
64239
64240         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
64241
64242         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
64243         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
64244         O_NOATIME works.
64245
64246 2006-10-05  Bruno Haible  <bruno@clisp.org>
64247
64248         * lib/gl_list.h (gl_sortedlist_search_from_to,
64249         gl_sortedlist_indexof_from_to): New declarations.
64250         (gl_list_implementation): New fields sortedlist_search_from_to,
64251         sortedlist_indexof_from_to.
64252         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
64253         inline functions.
64254         * lib/gl_list.c (gl_sortedlist_search_from_to,
64255         gl_sortedlist_indexof_from_to): New functions.
64256         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
64257         function.
64258         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
64259         (gl_array_sortedlist_search_from_to): New function.
64260         (gl_array_list_implementation): Update.
64261         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
64262         function.
64263         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
64264         (gl_carray_sortedlist_search_from_to): New function.
64265         (gl_carray_list_implementation): Update.
64266         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
64267         gl_linked_sortedlist_indexof_from_to): New functions.
64268         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
64269         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
64270         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
64271         gl_tree_sortedlist_indexof_from_to): New functions.
64272         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
64273         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
64274         Update.
64275         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
64276         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
64277         Update.
64278
64279 2006-10-05  Bruno Haible  <bruno@clisp.org>
64280
64281         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
64282         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
64283         (struct gl_list_implementation): Add fields search_from_to,
64284         indexof_from_to. Remove fields search, indexof.
64285         (gl_list_search): Use the search_from_to method.
64286         (gl_list_search_from, gl_list_search_from_to): New functions.
64287         (gl_list_indexof): Use the indexof_from_to method.
64288         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
64289         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
64290         (gl_list_search_from, gl_list_search_from_to): New functions.
64291         (gl_list_indexof): Use the indexof_from_to method.
64292         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
64293         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
64294         gl_array_indexof. Add start_index, end_index arguments.
64295         (gl_array_search_from_to): Renamed from gl_array_search. Add
64296         start_index, end_index arguments.
64297         (gl_array_remove, gl_array_list_implementation): Update.
64298         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
64299         gl_carray_indexof. Add start_index, end_index arguments.
64300         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
64301         start_index, end_index arguments.
64302         (gl_carray_remove, gl_carray_list_implementation): Update.
64303         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
64304         gl_linked_search. Add start_index, end_index arguments.
64305         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
64306         start_index, end_index arguments.
64307         (gl_linked_remove): Update.
64308         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
64309         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
64310         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
64311         field to 'size_t'.
64312         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
64313         gl_tree_search. Add start_index, end_index arguments.
64314         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
64315         start_index, end_index arguments.
64316         (gl_tree_remove): Update.
64317         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
64318         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
64319         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
64320         function.
64321         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
64322         gl_tree_search. Add start_index, end_index arguments.
64323         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
64324         start_index, end_index arguments.
64325         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
64326         Update.
64327         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
64328
64329 2006-10-05  Bruno Haible  <bruno@clisp.org>
64330
64331         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
64332
64333         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
64334         fwriteerror_temp): New declarations.
64335         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
64336         (descriptors): New variable.
64337         (cleanup): First, close the descriptors.
64338         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
64339         fclose_temp, fwriteerror_temp): New functions.
64340
64341 2006-10-04  Jim Meyering  <jim@meyering.net>
64342
64343         * lib/fts.c (fts_open): Tiny comment change.
64344
64345 2006-10-04  Bruno Haible  <bruno@clisp.org>
64346
64347         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
64348         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
64349         gl_LOCK_BODY.
64350         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
64351         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
64352         gl_LOCK_EARLY_BODY.
64353         (gl_LOCK): Require gl_LOCK_BODY.
64354
64355 2006-10-04  Bruno Haible  <bruno@clisp.org>
64356
64357         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
64358         (gl_oset_search_atleast): New declaration.
64359         (struct gl_oset_implementation): Add field 'search_atleast'.
64360         (gl_oset_search_atleast): New inline function.
64361         * lib/gl_oset.c (gl_oset_search_atleast): New function.
64362         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
64363         (gl_array_oset_implementation): Update.
64364         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
64365         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
64366         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
64367
64368 2006-10-04  Bruno Haible  <bruno@clisp.org>
64369
64370         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
64371
64372 2006-10-03  Bruno Haible  <bruno@clisp.org>
64373
64374         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
64375         from gl_avltreehash_list_implementation.
64376
64377 2006-10-03  Bruno Haible  <bruno@clisp.org>
64378
64379         * lib/gl_oset.c (gl_oset_add): Fix return type.
64380
64381 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
64382
64383         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
64384
64385 2006-10-02  Eric Blake  <ebb9@byu.net>
64386
64387         * modules/strnlen (Depends-on): Add extensions.
64388
64389 2006-10-02  Eric Blake  <ebb9@byu.net>
64390
64391         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
64392         definition in 2.60+.
64393
64394 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
64395
64396         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
64397         checks.
64398
64399 2006-10-02  Bruno Haible  <bruno@clisp.org>
64400
64401         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
64402         to the AUTOMAKE_OPTIONS.
64403         Reported by Jim Meyering.
64404
64405 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
64406
64407         Work around bug in Solaris 10 /proc file system:
64408         /proc/self/fd/NNN/.. isn't the parent directory of
64409         the directory whose file descriptor is NNN.  This needs to
64410         be worked around at run time, not compile time, since a
64411         program might be built on Solaris 8, where things work, and
64412         run on Solaris 10.
64413         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
64414         to use the following interface instead:
64415         (OPENAT_BUFFER_SIZE): New macro.
64416         (openat_proc_name): New function.
64417         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
64418         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
64419         Likewise.
64420         * lib/openat-proc.c: New file.
64421         * modules/openat (Files): Add lib/openat-proc.c.
64422         (Depends-on): Add same-inode, stdbool.
64423         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
64424
64425 2006-09-29  Bruno Haible  <bruno@clisp.org>
64426
64427         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
64428         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
64429         argument. Set stdout_closed before testing for ferror, not after.
64430         (fwriteerror, fwriteerror_no_ebadf): New functions.
64431
64432 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64433
64434         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
64435
64436 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
64437
64438         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
64439         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
64440
64441 2006-09-28  Jim Meyering  <jim@meyering.net>
64442
64443         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
64444         Include <unistd.h>.
64445
64446 2006-09-28  Bruno Haible  <bruno@clisp.org>
64447
64448         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
64449         * modules/linkedhash-list (Depends-on): Likewise.
64450         * modules/rbtreehash-list (Depends-on): Likewise.
64451
64452 2006-09-28  Bruno Haible  <bruno@clisp.org>
64453
64454         * lib/strndup.h: Simplify the redefinition of strndup.
64455         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
64456         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
64457
64458 2006-09-28  Bruno Haible  <bruno@clisp.org>
64459
64460         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
64461         * lib/gl_linkedhash_list.c: Likewise.
64462         * lib/gl_rbtreehash_list.c: Likewise.
64463
64464 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
64465
64466         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
64467         getaddrinfo.
64468
64469         * lib/__fpending.h: Don't include <stdio_ext.h> unless
64470         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
64471         it causes <stdio_ext.h> to cause a compile-time error.
64472         Problem reported by Nelson H. F. Beebe.
64473         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
64474         of HAVE_DECL___PENDING.
64475
64476         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
64477         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
64478         declaration.
64479
64480 2006-09-27  Jim Meyering  <jim@meyering.net>
64481
64482         This file could end up with a definition for a function
64483         named __strndup, rather than rpl_strndup on a system with
64484         incomplete weak_alias support.
64485         * lib/strndup.c (strndup): Rename from __strndup.
64486         Remove #defines that used to map __strndup to strndup.
64487         Don't use K&R prototypes.
64488         Remove LIBC-related code, since this file is not sync'd with glibc.
64489         * lib/strndup.h: Revamp, accordingly.
64490         * m4/strndup.m4: Modernize.
64491
64492 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
64493
64494         * modules/savewd (Depends-on): Add 'raise'.
64495         * lib/savewd.c: Include <signal.h>, for 'raise'.
64496
64497 2006-09-26  Jim Meyering  <jim@meyering.net>
64498
64499         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
64500         when we detect Darwin 8.7.0's acl_get_file bug.
64501         Rearrange to perform the new (below) run-test while $LIBS
64502         contains any acl-related library.  Set USE_ACL at the end.
64503         (gl_ACL_GET_FILE): New function.
64504
64505 2006-09-26  Eric Blake  <ebb9@byu.net>
64506
64507         * lib/verror.c: Include <config.h> unconditionally.
64508
64509 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
64510
64511         * modules/clock-time (Maintainer): Add self.
64512         * modules/getlogin_r (Depends-on): Add extensions.
64513
64514 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64515
64516         * modules/clock-time: New module.
64517         * modules/nanosleep (Depends-on): Add clock-time.
64518         * modules/gethrxtime (Depends-on): Likewise.
64519         * modules/gettime (Depends-on): Likewise.
64520         * modules/settime (Depends-on): Likewise.
64521
64522         * modules/fts-lgpl: Depend on openat.
64523         * modules/mkancesdirs: Depend on savewd.
64524         * modules/mkdir-p: Likewise.
64525
64526 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64527
64528         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
64529
64530         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
64531         `gl_have_arbitrary_file_name_length_limit' to
64532         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
64533         actually works between configure runs.
64534
64535 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64536             Bruno Haible  <bruno@clisp.org>
64537
64538         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
64539
64540 2006-09-25  Jim Meyering  <jim@meyering.net>
64541
64542         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
64543         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
64544
64545 2006-09-25  Eric Blake  <ebb9@byu.net>
64546
64547         * gnulib-tool (func_import, func_create_testdir): Fix typos in
64548         exec's in 2006-09-18 patch when shuffling fds.
64549
64550 2006-09-25  Bruno Haible  <bruno@clisp.org>
64551
64552         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
64553         Reported by Jim Meyering.
64554
64555 2006-09-24  Jim Meyering  <jim@meyering.net>
64556
64557         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
64558         compare a pointer against a literal "0".  That caused failures with
64559         at least HP-UX's hpcc.
64560
64561 2006-09-22  Simon Josefsson  <jas@extundo.com>
64562
64563         * modules/gc-sha1:
64564         * modules/gc-md4:
64565         * modules/gc-hmac-sha1:
64566         * modules/gc-hmac-md5:
64567         * modules/gc-des:
64568         * modules/gc-arcfour: Distribute more files.
64569
64570 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64571
64572         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
64573         (gl_linked_iterator_from_to): Initialize struct completely.
64574         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
64575         (gl_tree_iterator_from_to): Likewise
64576         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
64577         * lib/gl_array_list.c [lint] (gl_array_iterator)
64578         (gl_array_iterator_from_to): Likewise.
64579         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
64580         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
64581         (gl_carray_iterator_from_to): Likewise.
64582
64583         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
64584         * lib/md4.c (md4_process_block): Remove unused variable.
64585         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
64586         parentheses for clarity.
64587
64588 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64589
64590         * modules/bison-i18n (Depends-on): Add gettext.
64591
64592 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64593
64594         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
64595         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
64596         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
64597         also add missing comma that caused broken test.
64598         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
64599         stdlib.h, for `abort'.
64600         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
64601         variables.
64602         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
64603         include unistd.h if present, for `rmdir'.
64604         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
64605         variables.
64606         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
64607         in the process include standard headers for prototypes.
64608         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
64609         gets declared on GNU/Linux.
64610         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
64611         unistd.h, for `rmdir'.
64612         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
64613
64614         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
64615         always true.
64616         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
64617
64618         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
64619
64620 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64621
64622         * gnulib-tool (func_version): Create output all at once.  This
64623         may help avoid triggering unnecessary SIGPIPEs, and at any
64624         rate it doesn't hurt.
64625
64626 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64627             Bruno Haible  <bruno@clisp.org>
64628
64629         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
64630         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64631         * m4/signed.m4 (bh_C_SIGNED): Likewise.
64632
64633         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
64634         (gl_FUNC_VASPRINTF): Invoke it.
64635
64636 2006-09-22  Bruno Haible  <bruno@clisp.org>
64637
64638         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
64639         getloadavg.c as first argument.
64640
64641 2006-09-22  Bruno Haible  <bruno@clisp.org>
64642
64643         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
64644         at the beginning of the gl_INIT macro.
64645         * modules/getloadavg (configure.ac): Pass $gl_source_base to
64646         gl_GETLOADAVG.
64647
64648 2006-09-22  Bruno Haible  <bruno@clisp.org>
64649
64650         * gnulib-tool (func_create_megatestdir): Don't include the config-h
64651         module.
64652         Suggested by Ralf Wildenhues.
64653
64654 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64655
64656         Import this patch from libc:
64657
64658         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
64659
64660         * lib/regex_internal.c (re_string_reconstruct): Handle
64661         offset < pstr->valid_raw_len && pstr->offsets_needed case.
64662         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
64663         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
64664         re_string_context_at.
64665
64666         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
64667         now requires it.
64668         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
64669         gl_REGEX now does it for us.
64670         (gl_REGEX): Add test taken from
64671         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
64672
64673         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
64674         Check that large offsets work.  Modernize Autoconf usages.
64675         Prefer "yes" to mean a good thing rather than a bad.
64676         Don't put "#define mkstemp" in config.h, as this might interfere
64677         with standard system headers that "#define mkstemp mkstemp64".
64678
64679         * modules/mkstemp (Depends-on): Add extensions, so that
64680         mkstemp is visible on some platforms.
64681         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
64682         (Include): Change to "mkstemp.h" from <stdlib.h>.
64683         (Files): Add mkstemp.h.
64684
64685         * lib/mkstemp.h: New file, since some standard headers
64686         #define mkstemp.
64687         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
64688         Include "mkstemp.h".
64689         Make the _LIBC code resemble glibc original more,
64690         e.g., use K&R style.
64691         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
64692         (mkstemp): Remove, since mkstemp.h does this for us.
64693         * lib/stdlib--.h: Include mkstemp.h.
64694
64695         Import this patch from libc:
64696
64697         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
64698
64699         * lib/tempname.c (__gen_tempname): Change attempts_min
64700         into a macro.  Use preprocessor to decide how to initialize
64701         attempts [Coverity CID 67].
64702
64703 2006-09-20  Bruno Haible  <bruno@clisp.org>
64704
64705         * lib/mkdtemp.c: Import from libc.
64706         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
64707                 * sysdeps/posix/tempname.c (__gen_tempname): Change
64708                 attempts_min into a macro.  Use preprocessor to decide how to
64709                 initialize attempts [Coverity CID 67].
64710         2001-11-27  Paul Eggert  <eggert@twinsun.com>
64711                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
64712                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
64713
64714 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64715
64716         * gnulib-tool (func_exit): New function, to allow to pass the
64717         exit status portably through the trap.  Use everywhere.
64718         (--help, --version): Signal a write error.
64719         (trap): catch SIGPIPE, for write errors.
64720         Exit at the end of the trap, with the correct exit status.
64721
64722 2006-09-19  Karl Berry  <karl@gnu.org>
64723
64724         * doc/gnulib.texi: note about the license texinfo files.
64725
64726 2006-09-19  Eric Blake  <ebb9@byu.net>
64727
64728         * gnulib-tool: Avoid space-tab.
64729
64730 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
64731
64732         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
64733         that prevented coreutils 6.1 from building.  Problem reported
64734         by Petter Reinholdtsen.
64735
64736 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
64737
64738         * gnulib-tool (avoidlist): Fix typo that broke options like
64739         --avoid=lock that are used by coreutils bootstrap.
64740
64741 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
64742
64743         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
64744         more systematically.
64745
64746 2006-09-18  Jim Meyering  <jim@meyering.net>
64747
64748         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
64749
64750 2006-09-18  Bruno Haible  <bruno@clisp.org>
64751
64752         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
64753
64754 2006-09-18  Bruno Haible  <bruno@clisp.org>
64755
64756         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
64757         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
64758         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
64759         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
64760         * m4/gettext.m4: Require autoconf >= 2.52.
64761         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
64762         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
64763         of gl_cv_header_inttypes_h.
64764
64765 2006-09-18  Bruno Haible  <bruno@clisp.org>
64766
64767         * lib/javaversion.c: Include configmake.h.
64768
64769 2006-09-18  Bruno Haible  <bruno@clisp.org>
64770
64771         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
64772         avoid that the while loops be executed in a subshell.
64773
64774 2006-09-18  Bruno Haible  <bruno@clisp.org>
64775
64776         * MODULES.html.sh (func_module): Break long lines.
64777         Suggested by Bruce Korb <bkorb@gnu.org>.
64778
64779 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64780
64781         Speed up by a factor of 1.12.
64782         * gnulib-tool (nl): New variable.
64783         (func_import): Rewrite include directive extraction to only read each
64784         directive once.
64785
64786 2006-09-17  Bruno Haible  <bruno@clisp.org>
64787
64788         * modules/javaversion (Makefile.am): Remove DEFS setting.
64789         (Depends-on): Add configmake, for PKGDATADIR definition.
64790
64791 2006-09-17  Bruno Haible  <bruno@clisp.org>
64792
64793         * gnulib-tool (func_create_testdir): Rewrite all files at once.
64794
64795 2006-09-17  Bruno Haible  <bruno@clisp.org>
64796
64797         * gnulib-tool (func_append): New function, stolen from libtool.m4.
64798         (func_modules_transitive_closure, func_modules_add_dummy,
64799         func_modules_to_filelist, func_import, func_create_testdir,
64800         func_create_megatestdir, ...): Use it wherever possible.
64801         Suggested by Ralf Wildenhues.
64802
64803 2006-09-16  Karl Berry  <karl@gnu.org>
64804
64805         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
64806         to avoid sectioning errors.
64807         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
64808         [ifinfo]: blank line after @center-ed titles.
64809         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
64810         Spell FSF address consistently with others.
64811         (These changes approved by rms.)
64812
64813 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64814
64815         Speed up by a factor of 1.61.
64816         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
64817         already checked module names again.
64818
64819 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64820
64821         Speed up by a factor of 1.13.
64822         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
64823         for new_files, and the input to func_add_or_update.
64824
64825 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64826
64827         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
64828         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
64829
64830 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64831
64832         * modules/mkancesdirs (Depends-on): Add fcntl.
64833         * modules/savewd: New file.
64834         * MODULES.html.sh (File system functions): Add savewd.
64835
64836         * modules/configmake (Makefile.am): Add support for the
64837         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
64838
64839 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64840
64841         * m4/savewd.m4: New file.
64842
64843 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64844
64845         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
64846         (dirchownmod): New arg FD.  All callers changed.
64847         Use FD rather than opening the directory ourself, as opening is
64848         now the caller's responsibility.
64849         * lib/dirchownmod.h: Likewise.
64850         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
64851         hosts that require <sys/types.h> before <sys/stat.h>.  Include
64852         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
64853         (test_dir): Remove.
64854         (mkancesdirs): Return length of prefix of FILE that has already
64855         been made, or -2 if there is a child doing the work.  Redo
64856         algorithm so that it is O(N) rather than O(N**2).  Optimize away
64857         ".", and treat ".." specially since it might stray back into
64858         already-created areas.  Use a subprocess if necessary.  New arg
64859         WD; all users changed.  MAKE_DIR function should now return 1
64860         if it creates a directory that is not readable.  Return -2 if
64861         a child process is spun off.
64862         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
64863         Adjust signature to match code.
64864         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
64865         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
64866         all users changed.
64867         * lib/savewd.c, lib/savewd.h: New files.
64868
64869 2006-09-15  Jim Meyering  <jim@meyering.net>
64870
64871         * modules/rename-dest-slash: New module.
64872         * MODULES.html.sh (posix_compat): Add it here.
64873
64874         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
64875
64876 2006-09-15  Jim Meyering  <jim@meyering.net>
64877
64878         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
64879         file.
64880
64881         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
64882
64883 2006-09-15  Jim Meyering  <jim@meyering.net>
64884
64885         * lib/rename-dest-slash.c (has_trailing_slash): Use
64886         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
64887         (rpl_rename_dest_slash): Perform the cheaper trailing slash
64888         test before testing whether SRC is a directory.
64889         Suggestions from Bruno Haible.
64890
64891         Avoid a warning about an unused variable.
64892         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
64893         into the #ifdef block where it's used.
64894
64895         * lib/rename-dest-slash.c: New file.
64896
64897 2006-09-14  Bruno Haible  <bruno@clisp.org>
64898
64899         * lib/allocsa.c: Include <config.h> unconditionally.
64900         * lib/asnprintf.c: Likewise.
64901         * lib/asprintf.c: Likewise.
64902         * lib/c-strcasecmp.c: Likewise.
64903         * lib/c-strcasestr.c: Likewise.
64904         * lib/c-strncasecmp.c: Likewise.
64905         * lib/c-strstr.c: Likewise.
64906         * lib/classpath.c: Likewise.
64907         * lib/clean-temp.c: Likewise.
64908         * lib/concatpath.c: Likewise.
64909         * lib/copy-file.c: Likewise.
64910         * lib/csharpcomp.c: Likewise.
64911         * lib/csharpexec.c: Likewise.
64912         * lib/execute.c: Likewise.
64913         * lib/fatal-signal.c: Likewise.
64914         * lib/findprog.c: Likewise.
64915         * lib/fwriteerror.c: Likewise.
64916         * lib/gl_array_list.c: Likewise.
64917         * lib/gl_array_oset.c: Likewise.
64918         * lib/gl_avltree_list.c: Likewise.
64919         * lib/gl_avltree_oset.c: Likewise.
64920         * lib/gl_avltreehash_list.c: Likewise.
64921         * lib/gl_carray_list.c: Likewise.
64922         * lib/gl_linked_list.c: Likewise.
64923         * lib/gl_linkedhash_list.c: Likewise.
64924         * lib/gl_list.c: Likewise.
64925         * lib/gl_oset.c: Likewise.
64926         * lib/gl_rbtree_list.c: Likewise.
64927         * lib/gl_rbtree_oset.c: Likewise.
64928         * lib/gl_rbtreehash_list.c: Likewise.
64929         * lib/imaxabs.c: Likewise.
64930         * lib/imaxdiv.c: Likewise.
64931         * lib/javacomp.c: Likewise.
64932         * lib/javaexec.c: Likewise.
64933         * lib/javaversion.c: Likewise.
64934         * lib/linebreak.c: Likewise.
64935         * lib/localcharset.c: Likewise.
64936         * lib/lock.c: Likewise.
64937         * lib/mbchar.c: Likewise.
64938         * lib/mbswidth.c: Likewise.
64939         * lib/mkdtemp.c: Likewise.
64940         * lib/pipe.c: Likewise.
64941         * lib/printf-args.c: Likewise.
64942         * lib/printf-parse.c: Likewise.
64943         * lib/progname.c: Likewise.
64944         * lib/progreloc.c: Likewise.
64945         * lib/readlink.c: Likewise.
64946         * lib/sh-quote.c: Likewise.
64947         * lib/stpcpy.c: Likewise.
64948         * lib/stpncpy.c: Likewise.
64949         * lib/strcasecmp.c: Likewise.
64950         * lib/strcasestr.c: Likewise.
64951         * lib/strcspn.c: Likewise.
64952         * lib/striconv.c: Likewise.
64953         * lib/strncasecmp.c: Likewise.
64954         * lib/strnlen1.c: Likewise.
64955         * lib/strstr.c: Likewise.
64956         * lib/strtok_r.c: Likewise.
64957         * lib/tls.c: Likewise.
64958         * lib/tmpdir.c: Likewise.
64959         * lib/unicodeio.c: Likewise.
64960         * lib/unsetenv.c: Likewise.
64961         * lib/vasnprintf.c: Likewise.
64962         * lib/vasprintf.c: Likewise.
64963         * lib/wait-process.c: Likewise.
64964         * lib/xallocsa.c: Likewise.
64965         * lib/xsetenv.c: Likewise.
64966         * lib/xstriconv.c: Likewise.
64967
64968 2006-09-13  Simon Josefsson  <jas@extundo.com>
64969
64970         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
64971         that internally, suggested by Ralf Wildenhues
64972         <Ralf.Wildenhues@gmx.de>.
64973
64974 2006-09-13  Simon Josefsson  <jas@extundo.com>
64975
64976         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
64977         @LIBOBJS@.
64978         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64979
64980 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64981
64982         * lib/_fpending.c: Include <config.h> unconditionally, since we no
64983         longer worry about uses that don't define HAVE_CONFIG_H.
64984         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
64985         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
64986         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
64987         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
64988         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
64989         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
64990         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
64991         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
64992         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
64993         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
64994         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
64995         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
64996         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
64997         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
64998         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
64999         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
65000         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
65001         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
65002         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
65003         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
65004         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
65005         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
65006         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
65007         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
65008         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
65009         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
65010         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
65011         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
65012         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
65013         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
65014         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
65015         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
65016         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
65017         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
65018         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
65019         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
65020         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
65021         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
65022         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
65023         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
65024         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
65025         Likewise.
65026
65027 2006-09-13  Eric Blake  <ebb9@byu.net>
65028
65029         * lib/getopt.c: Fix typo in last commit.
65030
65031 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65032
65033         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
65034         dgettext.
65035
65036 2006-09-12  Jim Meyering  <jim@meyering.net>
65037
65038         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
65039         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
65040         Reported by Nelson H. F. Beebe.
65041
65042 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65043
65044         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
65045         program_invocation_name and program_invocation_short_name are
65046         initialized.
65047         * lib/argp-namefrob.h: Move declarations of program_invocation_name
65048         and program_invocation_short_name to argp.h, so they are visible
65049         to user programs.
65050         * lib/argp.h: Likewise
65051
65052 2006-09-10  Bruno Haible  <bruno@clisp.org>
65053
65054         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
65055         m4/inttypes_h.m4, m4/uintmax_t.m4.
65056
65057 2006-09-10  Bruno Haible  <bruno@clisp.org>
65058
65059         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
65060         gl_AC_TYPE_UINTMAX_T.
65061
65062 2006-09-10  Bruno Haible  <bruno@clisp.org>
65063
65064         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
65065
65066 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65067
65068         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
65069         convention.  Text proposed by Bruno Haible.
65070         (struct argp_option): Document the use of N_() wrappers.
65071
65072         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
65073         '\v', and translate the two parts separately, instead of feeding
65074         the whole string to gettext.  This allows to exclude
65075         '\v' from the strings visible to the translator by writing doc
65076         strings as N_("..") "\v" N_("..").
65077
65078 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
65079
65080         * config/srclist.txt: Undo latest change; the bug was fixed.
65081
65082 2006-09-09  Bruno Haible  <bruno@clisp.org>
65083
65084         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
65085         assignments if building a library without libtool.
65086         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
65087         in func_emit_lib_Makefile_am.
65088         (func_import): When building a static library libfoo.a, arrange to
65089         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
65090         (func_create_testdir): Likewise.
65091         * modules/gc (configure.ac, Makefile.am): If building statically,
65092         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
65093         * modules/iconvme (configure.ac, Makefile.am): Likewise.
65094         * modules/striconv (configure.ac, Makefile.am): Likewise.
65095         Based on a suggestion by Ralf Wildenhues.
65096
65097 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65098
65099         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65100         Check for unistd.h too, since Autoconf doesn't assume POSIX.
65101         Also:
65102
65103         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65104         Add year_2050_test to catch glibc bug 2821
65105         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
65106
65107         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65108         Prefer #ifdef to #if.
65109
65110         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
65111         Return from 'main' instead of calling 'exit'.
65112
65113 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65114
65115         * lib/mktime.c (guess_time_tm): Fix bug where mktime
65116         returned the maximum time_t value rather than (time_t) -1.
65117         Problem originally reported by William Bardwell
65118         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
65119
65120         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
65121         Moved to here ...
65122         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
65123         ... from here.
65124
65125 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65126
65127         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
65128         2821 is fixed.
65129
65130 2006-09-08  Jim Meyering  <jim@meyering.net>
65131
65132         Don't make generated files read-only.  That would bother too many
65133         people.  However, do retain the ability to work when targets are
65134         read-only: remove the destination and temporary files before writing
65135         them (when generated via sed or echo), or by using the -f option for
65136         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
65137         * modules/alloca-opt, modules/argz, modules/arpa_inet:
65138         * modules/byteswap, modules/configmake, modules/fcntl:
65139         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
65140         * modules/localcharset, modules/netinet_in, modules/poll:
65141         * modules/stdbool, modules/stdint, modules/sys_select:
65142         * modules/sys_socket, modules/sys_stat, modules/sysexits:
65143
65144 2006-09-08  Jim Meyering  <jim@meyering.net>
65145
65146         Avoid new build failure on FreeBSD 6.0.
65147         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
65148         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
65149         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
65150
65151 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65152
65153         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
65154
65155 2006-09-07  Jim Meyering  <jim@meyering.net>
65156
65157         Fix global typo in last change: use chmod u-w, not chmod u-x.
65158         Spotted by Paul Eggert and Bruce Korb.
65159         * modules/alloca-opt, modules/argz, modules/arpa_inet:
65160         * modules/byteswap, modules/configmake, modules/fcntl:
65161         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
65162         * modules/localcharset, modules/netinet_in, modules/poll:
65163         * modules/stdbool, modules/stdint, modules/sys_select:
65164         * modules/sys_socket, modules/sys_stat, modules/sysexits:
65165
65166 2006-09-06  Jim Meyering  <jim@meyering.net>
65167
65168         Make generated files be read-only.
65169         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
65170         Ensure that each generated file is now read-only.
65171         * modules/argz: Likewise.
65172         * modules/arpa_inet: Likewise.
65173         * modules/byteswap: Likewise.
65174         * modules/configmake: Likewise.
65175         * modules/fcntl: Likewise.
65176         * modules/fnmatch: Likewise.
65177         * modules/getopt: Likewise.
65178         * modules/glob: Likewise.
65179         * modules/inttypes: Likewise.
65180         * modules/netinet_in: Likewise.
65181         * modules/poll: Likewise.
65182         * modules/stdbool: Likewise.
65183         * modules/stdint: Likewise.
65184         * modules/sys_select: Likewise.
65185         * modules/sys_socket: Likewise.
65186         * modules/sys_stat: Likewise.
65187         * modules/sysexits: Likewise.
65188         * modules/localcharset: Same as above, but continue using temporary
65189         file named "t-$@" (why different?) rather than the "$@-t" used
65190         everywhere else.
65191
65192         * modules/sysexits (Makefile.am): Replace literal occurrences
65193         of "sysexit.h" more readable, and more consistent, "$@".
65194
65195 2006-09-06  Bruno Haible  <bruno@clisp.org>
65196
65197         * modules/striconv: New file.
65198         * modules/xstriconv: New file.
65199         * MODULES.html.sh (Internationalization functions): Add striconv,
65200         xstriconv.
65201
65202 2006-09-06  Bruno Haible  <bruno@clisp.org>
65203
65204         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
65205         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
65206         not using libtool correctly.
65207
65208 2006-09-06  Bruno Haible  <bruno@clisp.org>
65209
65210         * lib/striconv.h: New file.
65211         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
65212         iconvstring.c.
65213         * lib/xstriconv.h: New file.
65214         * lib/xstriconv.c: New file.
65215
65216 2006-09-06  Bruno Haible  <bruno@clisp.org>
65217
65218         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65219         lib_..._LDFLAGS.
65220
65221 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65222
65223         * lib/argz_.h: Sync from Libtool.
65224
65225         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
65226                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
65227
65228         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
65229
65230 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
65231
65232         * modules/trim: New file.
65233
65234 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
65235
65236         * lib/trim.h: New file.
65237         * lib/trim.c: New file.
65238
65239 2006-09-05  Bruno Haible  <bruno@clisp.org>
65240
65241         * MODULES.html.sh (String handling): Add trim.
65242
65243 2006-09-04  Karl Berry  <karl@gnu.org>
65244
65245         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
65246         until next release.
65247
65248 2006-09-03  Bruno Haible  <bruno@clisp.org>
65249
65250         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
65251         correctly.
65252
65253 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65254
65255         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
65256         not gl_GETLOADAVG.  Omit unneeded semicolons.
65257         Problems reported by Ralf Wildenhues in
65258         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
65259         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
65260         at the end, which is the usual gnulib style.
65261
65262         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
65263         of doing all the work ourselves.
65264         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
65265         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
65266
65267 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65268
65269         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
65270         Problem reported by Ralf Wildenhues in
65271         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
65272
65273         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
65274         HAVE_STRUCT_STATFS_F_FSTYPENAME.
65275
65276 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65277
65278         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
65279         yesterday's patch by changing test -n to test -z.
65280
65281 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65282
65283         * modules/getloadavg (Files): Add m4/getloadavg.m4.
65284         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
65285         the former is now obsolescent.
65286
65287         * modules/chdir-long (Depends-on): Add fcntl.
65288
65289 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65290
65291         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
65292         obsolescent, and programs should use gnulib instead.
65293         * m4/getloadavg.m4: New file, with contents taken from Autoconf
65294         but with prefixes changed.
65295
65296 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65297
65298         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
65299         or stdbool.h, because they might not exist while configuring.
65300
65301         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
65302         Don't include unistd.h or limits.h; not needed, since chdir-long.h
65303         does that for us.
65304         (O_DIRECTORY): Remove.
65305
65306 2006-08-31  Eric Blake  <ebb9@byu.net>
65307
65308         * gnulib-tool: Don't let emacs change spaces to TAB.
65309
65310 2006-08-31  Bruno Haible  <bruno@clisp.org>
65311
65312         * gnulib-tool: When calling func_import more than once, do it in a
65313         subshell.
65314         Reported by Eric Blake <ebb9@byu.net>.
65315
65316 2006-08-31  Bruno Haible  <bruno@clisp.org>
65317
65318         * gnulib-tool (nl): Remove variable.
65319         (sed_transform_lib_file): Use more robust test for config-h module.
65320         (func_import): Fix typo in 2006-08-25 patch.
65321
65322 2006-08-31  Bruno Haible  <bruno@clisp.org>
65323
65324         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
65325         specified, augment Makefile.am variables instead of assigning them.
65326
65327 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
65328
65329         Work around a bug in both the Linux and SunOS 64-bit kernels:
65330         nanosleep mishandles sleeps for longer than 2**31 seconds.
65331         Problem reported by Frank v Waveren in
65332         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
65333         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
65334         Check for nanosleep bug.
65335         (LIB_NANOSLEEP): Append clock_gettime library if needed.
65336
65337 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
65338
65339         Work around a bug in both the Linux and SunOS 64-bit kernels:
65340         nanosleep mishandles sleeps for longer than 2**31 seconds.
65341         Problem reported by Frank v Waveren in
65342         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
65343         * lib/nanosleep.c (BILLION): New constant.
65344         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
65345         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
65346         implementation.
65347
65348 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
65349
65350         * modules/nanosleep (Depends-on): Add gettime.
65351
65352 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
65353         and Simon Josefsson  <jas@extundo.com>
65354         and Oskar Liljeblad  <oskar@osk.mine.nu>
65355
65356         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
65357         * gnulib-tool (func_import): New license type 'unmodifiable license
65358         text'.
65359         * modules/fdl: Use it.  Longer description.
65360         * module/gpl, module/lgpl: New files.
65361
65362 2006-08-30  Jim Meyering  <jim@meyering.net>
65363
65364         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
65365         shadowing the parameter.
65366
65367 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65368
65369         Sync from Libtool:
65370
65371         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65372
65373         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
65374         sharing with gnulib.  Report by Eric Blake.
65375
65376 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
65377
65378         * modules/isapipe: New file.
65379         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
65380
65381 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
65382
65383         * modules/configmake (Makefile.am): Add a comment, and omit
65384         the CONFIGMAKE_ prefix from generated macro names.  Suggested
65385         by Bruno Haible.
65386
65387 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
65388
65389         * m4/isapipe.m4: New file.
65390
65391 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
65392
65393         * lib/isapipe.c, lib/isapipe.h: New files.
65394
65395 2006-08-29  Jim Meyering  <jim@meyering.net>
65396
65397         * modules/configmake (Makefile.am): Make configmake.h depend on
65398         Makefile.  Otherwise, a stale configmake.h could hang around.
65399
65400 2006-08-29  Eric Blake  <ebb9@byu.net>
65401
65402         * lib/error.c (error_at_line, print_errno_message): Match libc, after
65403         resolution of upstream bug 3044.
65404
65405 2006-08-29  Bruno Haible  <bruno@clisp.org>
65406
65407         * modules/localcharset (Depends-on): Add configmake.
65408         (Makefile.am): Remove setting of LIBDIR through DEFS.
65409
65410 2006-08-29  Bruno Haible  <bruno@clisp.org>
65411
65412         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
65413         defined.
65414
65415 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
65416
65417         * modules/fcntl: New file.
65418         * modules/chdir-safer (Depends-on): Add fcntl.
65419         * modules/fts: Likewise.
65420         * modules/mkdir-p: Likewise.
65421
65422         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
65423         This undoes the most recent change, since we're now addressing the
65424         problem in a different way.
65425
65426         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
65427         into output, since the output might be called Makefile.am even
65428         if $makefile_name is something different.
65429         (func_import): Use $makefile_am rather than
65430         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
65431         empty.
65432
65433         * modules/inttypes (Files): Add m4/inttypes-h.m4.
65434
65435 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
65436
65437         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
65438         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
65439         recent change to stdint.m4, since we're now addressing the problem in a
65440         different way.
65441
65442 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
65443
65444         * m4/fcntl_h.m4: New file.
65445
65446 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
65447
65448         * lib/fcntl_.h: New file.
65449         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
65450         the fcntl module.
65451         * lib/dirchownmod.c: Likewise.
65452         * lib/fts.c: Likewise.
65453
65454         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
65455         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
65456         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
65457         just before including <inttypes.h>, to avoid circular inclusion.
65458
65459 2006-08-28  Jim Meyering  <jim@meyering.net>
65460
65461         * doc/visibility.texi: Actually read and correct the grammar of the
65462         sentence affected by yesterday's change.
65463
65464 2006-08-28  Eric Blake  <ebb9@byu.net>
65465
65466         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
65467         needs wrapper.
65468
65469 2006-08-28  Eric Blake  <ebb9@byu.net>
65470
65471         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
65472
65473 2006-08-28  Eric Blake  <ebb9@byu.net>
65474
65475         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
65476
65477 2006-08-28  Bruno Haible  <bruno@clisp.org>
65478
65479         * modules/c-strstr: New file, from GNU gettext.
65480         * MODULES.html.sh (String handling): Add c-strstr.
65481
65482 2006-08-28  Bruno Haible  <bruno@clisp.org>
65483
65484         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
65485         macros.
65486         Reported by Eric Blake.
65487
65488 2006-08-28  Bruno Haible  <bruno@clisp.org>
65489
65490         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
65491         (VASNPRINTF): Return a string of length > INT_MAX without failing.
65492         * lib/vasprintf.c: Include errno.h, limits.h.
65493         (EOVERFLOW): New fallback definition.
65494         (vasprintf): Test here whether the string length is > INT_MAX.
65495         * lib/vsnprintf.c: Include errno.h, limits.h.
65496         (EOVERFLOW): New fallback definition.
65497         (vsnprintf): Fix bug when generated string was too long for the buffer.
65498         Test here whether the string length is > INT_MAX.
65499
65500 2006-08-28  Bruno Haible  <bruno@clisp.org>
65501
65502         * lib/inttypes_.h (SCNX*): Remove definitions.
65503         Reported by Eric Blake.
65504
65505 2006-08-28  Bruno Haible  <bruno@clisp.org>
65506
65507         * lib/c-strstr.h: New file, from GNU gettext.
65508         * lib/c-strstr.c: New file, from GNU gettext.
65509
65510 2006-08-28  Bruno Haible  <bruno@clisp.org>
65511
65512         * gnulib-tool: Reorder some statements.
65513
65514 2006-08-28  Bruno Haible  <bruno@clisp.org>
65515
65516         * gnulib-tool: New option --makefile-name.
65517         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
65518         $makefile_name.
65519         (func_import): Write $makefile_name to the cache file, and read it from
65520         there unless explicitly specified. Use $makefile_name as file name
65521         instead of Makefile.am. Adjust the recommendations accordingly.
65522
65523 2006-08-28  Bruno Haible  <bruno@clisp.org>
65524
65525         * gnulib-tool (func_verify_module): Check against misapplying patch.
65526
65527 2006-08-28  Bruno Haible  <bruno@clisp.org>
65528
65529         * gnulib-tool (func_relativize, func_relconcat): New functions.
65530         Give an error if --local-dir is given with --update.
65531         Remove trailing slashes from $local_gnulib_dir.
65532         (func_import): Store the relativized $local_gnulib_dir in
65533         gnulib-cache.m4, and read it from there if not specified explicitly.
65534
65535 2006-08-28  Bruno Haible  <bruno@clisp.org>
65536
65537         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
65538         is the current directory. Respect also $local_gnulib_dir.
65539
65540 2006-08-28  Bruno Haible  <bruno@clisp.org>
65541             Simon Josefsson  <jas@extundo.com>
65542
65543         BeOS portability.
65544         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
65545
65546 2006-08-27  Jim Meyering  <jim@meyering.net>
65547
65548         * doc/visibility.texi: Remove duplicate word: "pointer".
65549
65550 2006-08-26  Bruno Haible  <bruno@clisp.org>
65551
65552         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
65553         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
65554         (Makefile.am): Create inttypes.h from inttypes_.h.
65555         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
65556
65557         * modules/imaxabs: New file.
65558
65559         * modules/imaxdiv: New file.
65560
65561 2006-08-26  Bruno Haible  <bruno@clisp.org>
65562
65563         * m4/inttypes.m4: New file.
65564         * m4/_inttypes_h.m4: Remove file.
65565         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
65566         PRI_MACROS_BROKEN.
65567         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
65568
65569         * m4/imaxabs.m4: New file.
65570
65571         * m4/imaxdiv.m4: New file.
65572
65573 2006-08-26  Bruno Haible  <bruno@clisp.org>
65574
65575         * lib/inttypes_.h: New file.
65576         * lib/inttypes.h: Remove file.
65577         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
65578
65579         * lib/imaxabs.c: New file.
65580
65581         * lib/imaxdiv.c: New file.
65582
65583 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65584
65585         New config-h module, so that "make" output needn't be cluttered
65586         by -DHAVE_CONFIG_H.
65587         * MODULES.html.sh (Support for building libraries and executables):
65588         Add config-h.
65589         * modules/config-h: New file.
65590         * gnulib-tool (nl, sed_transform_lib_file): New vars.
65591         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
65592         the config-h module is used.
65593
65594         New configmake module, so that "make" output needn't be cluttered
65595         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
65596         * MODULES.html.sh (Support for building libraries and executables):
65597         Add configmake.
65598         * modules/configmake: New file.
65599
65600 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65601
65602         * m4/config-h.m4: New file.
65603
65604 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65605
65606         * config/srclist.txt: Add elisp-comp.
65607
65608 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65609
65610         * MODULES.html.sh (Support for building libraries and executables):
65611         Add elisp-comp.
65612         * build-aux/elisp-comp: New file.
65613         * modules/elisp-comp: New file.
65614
65615 2006-08-24  Bruno Haible  <bruno@clisp.org>
65616
65617         * gnulib-tool (func_create_testdir): Use non-default values of
65618         sourcebase and m4base.
65619
65620 2006-08-24  Bruno Haible  <bruno@clisp.org>
65621
65622         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
65623         HTML structure.
65624
65625 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65626
65627         * modules/openat (Depends-on): Add lchown.
65628
65629 2006-08-23  Bruno Haible  <bruno@clisp.org>
65630
65631         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
65632         of gl_LOCK_EARLY instead of gl_LOCK.
65633
65634 2006-08-23  Bruno Haible  <bruno@clisp.org>
65635
65636         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
65637         on OSF/1 to no.
65638         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
65639
65640 2006-08-23  Bruno Haible  <bruno@clisp.org>
65641
65642         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
65643         as unusable.
65644
65645         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
65646         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
65647         (gl_LOCK): New macro.
65648
65649 2006-08-22  Simon Josefsson  <jas@extundo.com>
65650
65651         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
65652         to md5 module.
65653
65654 2006-08-22  Simon Josefsson  <jas@extundo.com>
65655
65656         * MODULES.html.sh: Add "Support for maintaining and release
65657         projects".
65658
65659         * build-aux/gnupload: New file, from coreutils.
65660
65661 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
65662
65663         Avoid the need for AC_LIBSOURCES in m4 macros.
65664         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
65665         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
65666         * modules/check-version (EXTRA_DIST): Add check-version.h.
65667         * modules/crc (EXTRA_DIST): Add crc.h.
65668         * modules/des (EXTRA_DIST): Add des.h.
65669         * modules/gc (EXTRA_DIST): Add gc.h.
65670         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
65671         * modules/getline (EXTRA_DIST): Add getline.h.
65672         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
65673         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
65674         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
65675         * modules/md2 (EXTRA_DIST): Add md2.h.
65676         * modules/md4 (EXTRA_DIST): Add md4.h.
65677         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
65678         * modules/read-file (EXTRA_DIST): Add read-file.h.
65679         * modules/readline (EXTRA_DIST): Add readline.h.
65680         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
65681         rijndael-api-fst.h.
65682
65683 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
65684
65685         * m4/rijndael.m4 (gl_ARCFOUR):
65686         * m4/arctwo.m4 (gl_ARCTWO):
65687         * m4/check-version.m4 (gl_CHECK_VERSION):
65688         * m4/crc.m4 (gl_CRC):
65689         * m4/des.m4 (gl_DES):
65690         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
65691         * m4/gc.m4 (gl_GC):
65692         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
65693         * m4/getline.m4 (gl_FUNC_GETLINE):
65694         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
65695         * m4/hmac-md5.m4 (gl_HMAC_MD5):
65696         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
65697         * m4/md2.m4 (gl_MD2):
65698         * m4/md4.m4 (gl_MD4):
65699         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
65700         * m4/read-file.m4 (gl_FUNC_READ_FILE):
65701         * m4/readline.m4 (gl_FUNC_READLINE):
65702         * m4/rijndael.m4 (gl_RIJNDAEL):
65703         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
65704         to get the necessary .h files and whatnot.
65705
65706 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
65707
65708         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
65709         gnulib rather than the other way around.
65710         * config/srclistvars.sh (COREUTILS): Remove.
65711
65712 2006-08-22  Jim Meyering  <jim@meyering.net>
65713
65714         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
65715
65716         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
65717
65718 2006-08-22  Eric Blake  <ebb9@byu.net>
65719
65720         * modules/regexprops-generic: New file.
65721         * MODULES.html.sh (Support for building documentation): List it.
65722
65723 2006-08-22  Eric Blake  <ebb9@byu.net>
65724
65725         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
65726         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
65727         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
65728         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
65729
65730 2006-08-22  Bruno Haible  <bruno@clisp.org>
65731
65732         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
65733         and lib_LTLIBRARIES like the other lib_* variables.
65734
65735 2006-08-22  Bruno Haible  <bruno@clisp.org>
65736
65737         * build-aux/x-to-1.in: New file, from GNU gettext.
65738
65739 2006-08-22  Bruno Haible  <bruno@clisp.org>
65740
65741         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
65742         <utmpx.h> exists.
65743
65744 2006-08-22  Bruno Haible  <bruno@clisp.org>
65745
65746         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
65747         <utmpx.h> exists.
65748
65749 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
65750
65751         BeOS portability.
65752         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
65753         exist.
65754         Problem reported by Bruno Haible.
65755
65756 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
65757
65758         Avoid the need for AC_LIBSOURCES in m4 macros.
65759         * modules/acl (EXTRA_DIST): Add acl.h.
65760         * modules/argmatch (Files): Add m4/argmatch.m4.
65761         (configure.ac): Add gl_ARGMATCH.
65762         (EXTRA_DIST): Renamed from lib_SOURCES, for
65763         consistency with the other modules.  Remove argmatch.c.
65764         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
65765         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
65766         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
65767         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
65768         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
65769         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
65770         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
65771         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
65772         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
65773         * modules/closeout (EXTRA_DIST): Add closeout.h.
65774         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
65775         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
65776         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
65777         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
65778         dirname.h; remove basename.c and stripslash.c.
65779         * modules/exclude (EXTRA_DIST): Add exclude.h.
65780         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
65781         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
65782         * modules/file-type (EXTRA_DIST): Add file-type.h.
65783         * modules/filemode (EXTRA_DIST): Add filemode.h.
65784         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
65785         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
65786         * modules/fpending (EXTRA_DIST): Add __fpending.h.
65787         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
65788         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
65789         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
65790         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
65791         * modules/getdate (EXTRA_DIST): Add getdate.c.
65792         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
65793         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
65794         * modules/getpass (EXTRA_DIST): Add getpass.h.
65795         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
65796         * modules/group-member (EXTRA_DIST): Add group-member.h.
65797         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
65798         * modules/hash (EXTRA_DIST): Add hash.h.
65799         * modules/human (EXTRA_DIST): Add human.h.
65800         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
65801         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
65802         * modules/lchown (EXTRA_DIST): Add lchown.h.
65803         * modules/long-options (EXTRA_DIST): Add long-options.h.
65804         * modules/lstat (EXTRA_DIST): Add lstat.h.
65805         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
65806         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
65807         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
65808         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
65809         * modules/memxor (EXTRA_DIST): Add memxor.h.
65810         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
65811         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
65812         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
65813         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
65814         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
65815         * modules/physmem (EXTRA_DIST): Add physmem.h.
65816         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
65817         * modules/posixver (EXTRA_DIST): Add posixver.h.
65818         * modules/quote (EXTRA_DIST): Add quote.h.
65819         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
65820         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
65821         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
65822         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
65823         regex_internal.h regexec.c.
65824         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
65825         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
65826         * modules/same (EXTRA_DIST): Add same.h.
65827         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
65828         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
65829         * modules/savedir (EXTRA_DIST): Add savedir.h.
65830         * modules/sha1 (EXTRA_DIST): Add sha1.h.
65831         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
65832         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
65833         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
65834         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
65835         * modules/strdup (EXTRA_DIST): Add strdup.h.
65836         * modules/strftime (EXTRA_DIST): Add strftime.h.
65837         * modules/strndup (EXTRA_DIST): Add strndup.h.
65838         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
65839         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
65840         * modules/time_r (EXTRA_DIST): Add time_r.h.
65841         * modules/timespec (EXTRA_DIST): Add timespec.h.
65842         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
65843         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
65844         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
65845         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
65846         * modules/userspec (EXTRA_DIST): Add userspec.h.
65847         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
65848         * modules/utimens (EXTRA_DIST): Add utimens.h.
65849         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
65850         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
65851         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
65852         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
65853         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
65854         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
65855         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
65856         * modules/yesno (EXTRA_DIST): Add yesno.h.
65857
65858 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
65859
65860         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
65861
65862         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
65863         * m4/dev-ino.m4, same-inode.m4: Remove.
65864
65865         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
65866         * m4/acl.m4 (AC_FUNC_ACL):
65867         * m4/backupfile.m4 (gl_BACKUPFILE):
65868         * m4/c-strtod.m4 (gl_C99_STRTOLD):
65869         * m4/canon-host.m4 (gl_CANON_HOST):
65870         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65871         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
65872         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
65873         * m4/cloexec.m4 (gl_CLOEXEC):
65874         * m4/close-stream.m4 (gl_CLOSE_STREAM):
65875         * m4/closeout.m4 (gl_CLOSEOUT):
65876         * m4/dirfd.m4 (gl_FUNC_DIRFD):
65877         * m4/dirname.m4 (gl_DIRNAME):
65878         * m4/exclude.m4 (gl_EXCLUDE):
65879         * m4/exitfail.m4 (gl_EXITFAIL):
65880         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
65881         * m4/file-type.m4 (gl_FILE_TYPE):
65882         * m4/filemode.m4 (gl_FILEMODE):
65883         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
65884         * m4/fpending.m4 (gl_FUNC_FPENDING):
65885         * m4/fprintftime.m4 (gl_FPRINTFTIME):
65886         * m4/fts.m4 (gl_FUNC_FTS):
65887         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
65888         * m4/getdate.m4 (gl_GETDATE):
65889         * m4/gethrxtime.m4 (gl_GETHRXTIME):
65890         * m4/getpagesize.m4 (gl_GETPAGESIZE):
65891         * m4/getpass.m4 (gl_FUNC_GETPASS):
65892         * m4/gettime.m4 (gl_GETTIME):
65893         * m4/getugroups.m4 (gl_GETUGROUPS):
65894         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
65895         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
65896         * m4/hard-locale.m4 (gl_HARD_LOCALE):
65897         * m4/hash.m4 (gl_HASH):
65898         * m4/idcache.m4 (gl_IDCACHE):
65899         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
65900         * m4/lchown.m4 (gl_FUNC_LCHOWN):
65901         * m4/long-options.m4 (gl_LONG_OPTIONS):
65902         * m4/lstat.m4 (gl_FUNC_LSTAT):
65903         * m4/md5.m4 (gl_MD5):
65904         * m4/memcasecmp.m4 (gl_MEMCASECMP):
65905         * m4/memcoll.m4 (gl_MEMCOLL):
65906         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
65907         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
65908         * m4/memxor.m4 (gl_MEMXOR):
65909         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
65910         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
65911         * m4/modechange.m4 (gl_MODECHANGE):
65912         * m4/mountlist.m4 (gl_MOUNTLIST):
65913         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65914         * m4/openat.m4 (gl_FUNC_OPENAT):
65915         * m4/pathmax.m4 (gl_PATHMAX):
65916         * m4/physmem.m4 (gl_PHYSMEM):
65917         * m4/posixtm.m4 (gl_POSIXTM):
65918         * m4/posixver.m4 (gl_POSIXVER):
65919         * m4/quote.m4 (gl_QUOTE):
65920         * m4/quotearg.m4 (gl_QUOTEARG):
65921         * m4/readtokens.m4 (gl_READTOKENS):
65922         * m4/readutmp.m4 (gl_READUTMP):
65923         * m4/regex.m4 (gl_REGEX):
65924         * m4/safe-read.m4 (gl_SAFE_READ):
65925         * m4/safe-write.m4 (gl_SAFE_WRITE):
65926         * m4/same.m4 (gl_SAME):
65927         * m4/save-cwd.m4 (gl_SAVE_CWD):
65928         * m4/savedir.m4 (gl_SAVEDIR):
65929         * m4/settime.m4 (gl_SETTIME):
65930         * m4/sha1.m4 (gl_SHA1):
65931         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
65932         * m4/stat-macros.m4 (gl_STAT_MACROS):
65933         * m4/stat-time.m4 (gl_STAT_TIME):
65934         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
65935         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
65936         * m4/strdup.m4 (gl_FUNC_STRDUP):
65937         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
65938         * m4/strndup.m4 (gl_FUNC_STRNDUP):
65939         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
65940         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
65941         * m4/time_r.m4 (gl_TIME_R):
65942         * m4/timespec.m4 (gl_TIMESPEC):
65943         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
65944         * m4/unlinkdir.m4 (gl_UNLINKDIR):
65945         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
65946         * m4/userspec.m4 (gl_USERSPEC):
65947         * m4/utimecmp.m4 (gl_UTIMECMP):
65948         * m4/utimens.m4 (gl_UTIMENS):
65949         * m4/xalloc.m4 (gl_XALLOC):
65950         * m4/xgetcwd.m4 (gl_XGETCWD):
65951         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
65952         * m4/xreadlink.m4 (gl_XREADLINK):
65953         * m4/xstrtod.m4 (gl_XSTRTOD):
65954         * m4/yesno.m4 (gl_YESNO):
65955         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
65956         to get the necessary .h files and whatnot.
65957
65958 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
65959             Bruno Haible  <bruno@clisp.org>
65960
65961         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
65962         /bin/sh understanding of '!' conditional negation.
65963
65964 2006-08-21  Jim Meyering  <jim@meyering.net>
65965
65966         * modules/openat (Depends-on): Really alphabetize.
65967
65968         * modules/acl (Depends-on): Add error and quote.
65969
65970         * check-module (find_included_lib_files): Add at-func.c to the
65971         ok-to-include-more-than-once white list.
65972
65973         * modules/openat (Depends-on): Add lstat.  Alphabetize.
65974
65975 2006-08-21  Bruno Haible  <bruno@clisp.org>
65976
65977         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65978         Emit a pkgdata_DATA variable only if some snippets add contents to it.
65979         Reported by Martin Lambers <marlam@marlam.de>.
65980
65981 2006-08-21  Bruno Haible  <bruno@clisp.org>
65982
65983         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
65984         specify an installation location, don't emit a noinst_LIBRARIES or
65985         noinst_LTLIBRARIES assignment.
65986
65987 2006-08-21  Bruno Haible  <bruno@clisp.org>
65988
65989         BeOS portability.
65990         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
65991         BeOS has mbrtowc() but no <wctype.h>.
65992
65993 2006-08-21  Bruno Haible  <bruno@clisp.org>
65994
65995         BeOS portability.
65996         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
65997         exist.
65998
65999 2006-08-21  Bruno Haible  <bruno@clisp.org>
66000
66001         BeOS portability.
66002         * lib/mbchar.h: Include <wctype.h> only if it exists.
66003
66004 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66005
66006         Remove files that are no longer needed by their respective modules.
66007         * m4/obstack.m4: Remove.
66008         * m4/strerror_r.m4: Remove.
66009         * m4/uint32_t.m4: Remove.
66010         * m4/uintptr_t.m4: Remove.
66011         * m4/ullong_max.m4: Remove.
66012         * m4/xstrtoimax.m4: Remove.
66013         * m4/xstrtoumax.m4: Remove.
66014
66015         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
66016         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
66017         dependencies now capture this.
66018
66019         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
66020         Do not use AC_LIBSOURCES, since gnulib modules now do this.
66021         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
66022         * m4/human.m4 (gl_HUMAN): Likewise.
66023         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
66024         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
66025
66026         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
66027
66028         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
66029         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
66030         stdint.
66031         * m4/human.m4 (gl_HUMAN): Likewise.
66032         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
66033         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
66034         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
66035         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
66036         * m4/xstrtol (gl_XSTRTOL): Likewise.
66037
66038         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
66039         AC_TYPE_LONG_LONG_INT.
66040         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
66041         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
66042         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
66043         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
66044
66045         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
66046         on stdbool.
66047
66048         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
66049         (gl_PREREQ_XSTRTOUL): Remove.
66050
66051         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
66052
66053         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
66054         mode.
66055
66056 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66057
66058         Add and change modules to make it easier for coreutils to use
66059         gnulib-tool.
66060         * modules/backupfile (Files): Remove m4/d-ino.m4.
66061         (Depends-on): Add d-ino.
66062         * modules/cycle-check (Depends-on): Add stdint.
66063         (lib_SOURCES): Add cycle-check.h.
66064         * modules/d-ino: New module.
66065         * modules/d-type: New module.
66066         * modules/error (Files): Remove m4/strerror_r.m4.
66067         * modules/filemode (Files): Add m4/st_dm_mode.m4.
66068         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
66069         m4/inttypes_h.m4, m4/uintmax_t.m4.
66070         (Depends-on): Add stdint.
66071         (lib_SOURCES): Add fsusage.h.
66072         * modules/getcwd (Files): Remove d-ino.m4.
66073         (Depends-on): Add d-ino.
66074         * modules/getndelim2 (Depends-on): Add stdint.
66075         * modules/glob (Files): Remove m4/d-type.m4.
66076         (Depends-on): Add d-type.
66077         * modules/host-os: New module.
66078         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
66079         m4/inttypes_h.m4, m4/uintmax_t.m4.
66080         * Depends-on: Add stdint.
66081         (lib_SOURCES): Add human.h.
66082         * modules/inttostr (Files): Remove m4/intmax_t.m4,
66083         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
66084         m4/uintmax_t.m4, m4/ulonglong.m4.
66085         (Depends-on): Add stdint.
66086         (EXTRA_DIST): Add inttostr.h.
66087         * modules/lchmod: New module.
66088         * modules/link-follow: New module.
66089         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
66090         (Depends-on): Add lchmod.
66091         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
66092         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
66093         (Depends-on): Add stdint.
66094         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
66095         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
66096         (Depends-on): Add stdint.
66097         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
66098         * modules/perl: New module.
66099         * modules/regex (Depends-on): Add stdint.
66100         * modules/rmdir-errno: New module.
66101         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
66102         m4/intmax_t.m4.
66103         (Depends-on): Add stdint.
66104         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
66105         m4/uintmax_t.m4.
66106         (Depends-on): Add stdint.
66107         * modules/unlink-busy: New module.
66108         * modules/utimecmp (Depends-on): Add stdint.
66109         * modules/uptime: New module.
66110         * modules/winsz-ioctl: New module.
66111         * modules/winsz-termios: New module.
66112         * modules/xnanosleep (Depends-on): Add nanosleep.
66113         * modules/ullong_max: Remove.
66114         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
66115         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
66116         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
66117         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
66118         (Depends-on): Add inttypes.
66119         (lib_SOURCES): Add xstrtol.h.
66120         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
66121         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
66122         * MODULES.html.sh: Move 'assert' into the assert section.
66123         Move 'dummy' into the linking section.
66124         Remove ullong_max.
66125         Add section for compatibility checks for POSIX:2001 functions,
66126         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
66127         winsz-ioctl, and winsz-termios into it.
66128         Add lchmod.
66129         Add top-level Misc section and put host-os, perl, and uptime
66130         into it.
66131
66132 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66133
66134         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
66135         now assume the stdint module.  Do not include inttypes.h.
66136         * lib/fsusage.h: Likewise.
66137         * lib/getndelim2.c: Likewise.
66138         * lib/human.h: Likewise.
66139         * lib/inttostr.h: Likewise.
66140         * lib/obstack.c: Likewise.
66141         * lib/regex_internal.h: Likewise.
66142         * lib/tempname.c: Likewise.
66143         * lib/utimecmp.c: Likewise.
66144         * lib/xstrtol.h: Likewise.
66145
66146         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
66147
66148         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
66149         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
66150         * lib/xtime.h: Likewise.
66151
66152 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66153
66154         * modules/openat (Files): Add lib/fchmodat.c.
66155         Fixes problem reported by Jay Youngman.
66156
66157 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66158
66159         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
66160         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
66161
66162 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
66163             Bruno Haible  <bruno@clisp.org>
66164
66165         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
66166         and is a script that invokes bison. Tighten the code. Add comments.
66167
66168 2006-08-18  Jim Meyering  <jim@meyering.net>
66169
66170         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
66171         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
66172         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
66173         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
66174
66175 2006-08-18  Bruno Haible  <bruno@clisp.org>
66176
66177         * modules/bison-i18n: New file.
66178         * MODULES.html.sh (Internationalization functions): Add it.
66179
66180 2006-08-18  Bruno Haible  <bruno@clisp.org>
66181
66182         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
66183         sys/statvfs.h. When getmntinfo was found, check its declaration and
66184         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
66185
66186 2006-08-18  Bruno Haible  <bruno@clisp.org>
66187
66188         * m4/bison-i18n.m4: New file, from bison.
66189
66190 2006-08-18  Bruno Haible  <bruno@clisp.org>
66191
66192         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
66193         (ME_DUMMY): Treat "kernfs" as a dummy.
66194         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
66195
66196 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66197
66198         Update from coreutils.
66199
66200         2006-08-15  Jim Meyering  <jim@meyering.net>
66201
66202         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
66203
66204         2006-01-17  Jim Meyering  <jim@meyering.net>
66205
66206         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
66207
66208         2006-01-11  Jim Meyering  <jim@meyering.net>
66209
66210         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
66211         Check for the lchmod function.
66212
66213 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66214
66215         Update from coreutils.
66216
66217         * lib/__fpending.h: Add copyright notice.
66218         * lib/fprintftime.h: Likewise.
66219         * lib/savedir.c: Use (C) in copyright notice.
66220         * lib/savedir.h: Likewise.
66221
66222         2006-08-15  Jim Meyering  <jim@meyering.net>
66223
66224         * lib/at-func.c: New file, with the logic of all emulated at-functions.
66225         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
66226         in support of the EXPECTED_ERRNO macro.
66227         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
66228         definitions.  Instead, define the appropriate symbols and include
66229         "at-func.c".
66230         * lib/mkdirat.c (mkdirat): Likewise.
66231         * lib/fchmodat.c (fchmodat): Likewise.
66232         (ENOSYS): Remove definition.
66233         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
66234         it.  Don't include "unistd--.h" -- it wasn't ever used.
66235
66236         2006-01-17  Jim Meyering  <jim@meyering.net>
66237
66238         Rewrite fts.c not to change the current working directory,
66239         by using openat, fstatat, fdopendir, etc..
66240
66241         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
66242         (HAVE_OPENAT_SUPPORT): Define.
66243         [_LIBC] (fchdir): Don't undef or define; no longer used.
66244         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
66245         Now, this `function' always succeeds, and consumes its file descriptor
66246         parameter -- so callers must not close such FDs.  Update callers.
66247         (diropen_fd, opendirat, cwd_advance_fd): New functions.
66248         (diropen): Add parameter, SP.  Adjust all callers.
66249         Implement using diropen_fd, rather than open.
66250         (fts_open): Initialize new member, fts_cwd_fd.
66251         Remove fts_rft-setting code.
66252         (fts_close): Close fts_cwd_fd, if necessary.
66253         (__opendir2): Define in terms of opendir or opendirat,
66254         depending on whether the FST_NOCHDIR flag is set.
66255         (fts_build): Since fts_safe_changedir consumes its FD, and since
66256         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
66257         and close the dup'd file descriptor upon failure.
66258         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
66259         (fts_safe_changedir): Tweak semantics to reflect that this function
66260         now calls cwd_advance_fd and hence consumes its FD argument.
66261         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
66262         [struct FTS] (fts_rft): Remove now-unused member.
66263         [struct FTS] (fts_cycle.state): Improve comment.
66264
66265         * lib/openat.c (openat_needs_fchdir): New function.
66266         * lib/openat.h (openat_needs_fchdir): Declare it.
66267
66268 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
66269
66270         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
66271         Problem and fix reported by Pádraig Brady in
66272         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
66273
66274 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66275
66276         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
66277
66278 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66279
66280         * lib/memcoll.c (memcoll): Optimize for the common case where the
66281         arguments are bytewise equal.
66282
66283 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66284
66285         * doc/regexprops-generic.texi: Add a copyright notice.
66286
66287 2006-08-15  Bruno Haible  <bruno@clisp.org>
66288
66289         * modules/tmpdir (License): Change to LGPL.
66290
66291 2006-08-15  Bruno Haible  <bruno@clisp.org>
66292
66293         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
66294         module.
66295
66296 2006-08-14  Simon Josefsson  <jas@extundo.com>
66297
66298         * config/srclist.txt: Add gnupload.
66299
66300 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
66301
66302         Change copyright notice from LGPL 2 to GPL 2, since that's the
66303         standard form used in the gnulib repository.
66304         * tests/test-lock.c: Likewise.
66305         * tests/test-stdint.c: Likewise.
66306         * tests/test-tls.c: Likewise.
66307
66308         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
66309         prelude-manager.  User shorter URLs for GNU projects, without '?'.
66310         Add copyright notice.
66311
66312         * check-module: Add copyright notice.  Output a copyright
66313         notice if "--version" is specified.
66314         * modules/COPYING: New file.
66315         * tests/test-getaddrinfo.c: Add copyright notice.
66316         * tests/test-verify.c: Likewise.
66317
66318 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
66319
66320         Change copyright notice from LGPL 2 to GPL 2, since that's the
66321         standard form used in the gnulib repository.
66322         * lib/lock.c: LGPL -> GPL.
66323         * lib/lock.h: Likewise.
66324         * lib/strnlen1.c: Likewise.
66325         * lib/strnlen1.h: Likewise.
66326         * lib/tls.c: Likewise.
66327         * lib/tls.h: Likewise.
66328         * lib/tmpdir.c: Likewise.
66329
66330         * lib/TODO: Remove; this belongs only in coreutils.
66331
66332 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
66333
66334         Add copyright notices to long-enough files that lack them, since
66335         otherwise the files aren't clearly free.  Use the same notice that
66336         getdate.texi already uses.
66337         * doc/alloca-opt.texi: Add copyright notice.
66338         * doc/alloca.texi: Likewise.
66339         * doc/ctime.texi: Likewise.
66340         * doc/functions.texi: Likewise.
66341         * doc/gcd.texi: Likewise.
66342         * doc/gnulib-tool.texi: Likewise.
66343         * doc/inet_ntoa.texi: Likewise.
66344         * doc/visibility.texi: Likewise.
66345
66346         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
66347         * doc/quote.texi: Add copyright notice.
66348
66349         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
66350         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
66351         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
66352         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
66353         is now obsolete, and give a pointer to the Sun list.
66354         Add copyright notice.
66355
66356 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
66357
66358         * config/srclistvars.sh: Add copyright notice.
66359
66360 2006-08-14  Eric Blake  <ebb9@byu.net>
66361
66362         Import the following change from libc:
66363
66364         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
66365
66366         Upstream bug 2997.
66367         * lib/misc/error.c: Add space between program name and message if file
66368         name is missing.
66369
66370 2006-08-12  Karl Berry  <karl@gnu.org>
66371
66372         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
66373         remove, these originate in gnulib now.
66374
66375 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66376
66377         * doc/Makefile (standards.info standards.html standards.dvi):
66378         Also depend on make-stds.texi.
66379
66380 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
66381
66382         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
66383         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
66384
66385         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
66386         in wchar_t.  Problem reported by Eric Blake.
66387
66388         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
66389         LEN is smaller than SIZE.  Suggested by Bruno Haible.
66390         Also, help the compiler to keep LEN in a register.
66391
66392 2006-08-11  Eric Blake  <ebb9@byu.net>
66393
66394         * users.txt: Sort.  Add tar.
66395
66396 2006-08-11  Bruno Haible  <bruno@clisp.org>
66397
66398         * users.txt: New file.
66399
66400 2006-08-11  Bruno Haible  <bruno@clisp.org>
66401
66402         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
66403         before <wchar.h>. Needed for OSF/1 and BSD/OS.
66404
66405 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66406
66407         * modules/snprintf (Depends-on): Remove minmax.
66408         (Maintainer): Add self and Bruno.
66409
66410 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66411
66412         * lib/.cppi-disable: Add snprintf.h, socket_.h.
66413         * lib/snprintf.c: Include <errno.h> and <limits.h>.
66414         (EOVERFLOW): Define if the system does not.
66415         Do not include "minmax.h"; it wasn't used.
66416         (snprintf): Don't assume size_t promotes to an unsigned type.
66417         Fix bug when generated string was too long for the buffer: the
66418         buffer's contents are supposed to be the initial prefix of the
66419         output.  Don't assume vasnprintf returns EOVERFLOW if the size
66420         exceeds INT_MAX; do the check ourselves.
66421
66422         Import the following changes from libc:
66423
66424         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
66425
66426         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
66427         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
66428         set wc to the byte which couldn't be converted.
66429         (re_string_reconstruct): Don't clear valid_raw_len before calling
66430         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
66431         tip_context using re_string_context_at.
66432
66433         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
66434
66435         * lib/posix/regex.h: g++ still cannot handled [restrict].
66436
66437         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
66438
66439         * lib/posix/regex.h: Remove special handling for VMS.
66440
66441 2006-08-10  Jim Meyering  <jim@meyering.net>
66442
66443         * modules/same-inode: New module.
66444         * modules/dev-ino: New module.
66445         * modules/cycle-check: Depend on these modules, rather than simply
66446         including their .h files.
66447         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
66448         required via m4/cycle-check.m4.
66449         * modules/same: Depend on new same-inode module, rather than
66450         including same-inode.h.
66451         * modules/chdir-safer: New file.
66452
66453         * modules/chown (Depends-on): Add stat-macros.
66454
66455 2006-08-10  Jim Meyering  <jim@meyering.net>
66456
66457         * m4/cycle-check.m4: New file.
66458         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
66459         * m4/dev-ino.m4, m4/same-inode.m4: New files.
66460
66461 2006-08-10  Eric Blake  <ebb9@byu.net>
66462
66463         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
66464         in from original proposal.
66465
66466 2006-08-10  Eric Blake  <ebb9@byu.net>
66467         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
66468
66469         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
66470         namespace.
66471
66472 2006-08-10  Bruno Haible  <bruno@clisp.org>
66473
66474         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
66475         as well.
66476
66477 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66478
66479         Sync from coreutils.
66480
66481         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
66482
66483         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
66484         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
66485
66486 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66487
66488         * modules/restrict: Remove; no longer needed now that we assume
66489         Autoconf 2.59 or later.
66490         * MODULES.html.sh: Remove 'restrict'.
66491         * modules/argp (Depends-on): Remove 'restrict'.
66492         * modules/base64 (Depends-on): Likewise.
66493         * modules/gc (Depends-on): Likewise.
66494         * modules/getaddrinfo (Depends-on): Likewise.
66495         * modules/glob (Depends-on): Likewise.
66496         * modules/inet_ntop (Depends-on): Likewise.
66497         * modules/inet_pton (Depends-on): Likewise.
66498         * modules/memxor (Depends-on): Likewise.
66499         * modules/regex (Depends-on): Likewise.
66500         * modules/strtok_r (Depends-on): Likewise.
66501         * modules/time_r (Depends-on): Likewise.
66502
66503 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66504
66505         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
66506         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
66507         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66508         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
66509         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
66510         * m4/memxor.m4 (gl_MEMXOR): Likewise.
66511         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
66512         gl_C_RESTRICT replaced by AC_C_RESTRICT.
66513
66514         Merge from coreutils.
66515         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
66516         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
66517         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66518         * m4/time_r.m4 (gl_TIME_R): Likewise.
66519
66520 2006-08-09  Karl Berry  <karl@gnu.org>
66521
66522         * config/srclist.txt: no more gettext-tools, per Bruno.
66523
66524 2006-08-08  Eric Blake  <ebb9@byu.net>
66525
66526         * modules/verror: New module.
66527         * MODULES.html.sh: Document it.
66528
66529 2006-08-08  Eric Blake  <ebb9@byu.net>
66530
66531         * lib/verror.h, lib/verror.c: New files.
66532
66533 2006-08-08  Eric Blake  <ebb9@byu.net>
66534
66535         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
66536         verror_at_line output complies with GNU Coding Standards even when
66537         file is NULL.
66538
66539 2006-08-07  Bruno Haible  <bruno@clisp.org>
66540
66541         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
66542         versions of AIX.
66543         Reported by Ralf Wildenhues.
66544
66545 2006-08-07  Bruno Haible  <bruno@clisp.org>
66546
66547         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
66548         in an AC_DEFUN. Needed so that the autoconf snippets can use
66549         AC_REQUIRE.
66550
66551 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66552
66553         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66554         Initialize pkgdata_DATA.
66555         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
66556         overriding it.
66557
66558 2006-08-06  Eric Blake  <ebb9@byu.net>
66559
66560         * lib/error.h: Fold in some upstream changes from glibc.
66561         * lib/error.c: Likewise.
66562
66563 2006-08-04  Bruno Haible  <bruno@clisp.org>
66564
66565         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66566         Make the mostlyclean-local rule depend on mostlyclean-generic.
66567         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
66568
66569 2006-07-31  Bruno Haible  <bruno@clisp.org>
66570
66571         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
66572         <stdlib.h>, <string.h>.
66573
66574 2006-07-30  Bruno Haible  <bruno@clisp.org>
66575
66576         * modules/readlink (License): Change to LGPL.
66577
66578 2006-07-30  Bruno Haible  <bruno@clisp.org>
66579
66580         * modules/javaversion (Makefile.am): Distribute javaversion.java and
66581         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
66582         set PKGDATADIR to point to it.
66583
66584 2006-07-30  Bruno Haible  <bruno@clisp.org>
66585
66586         * modules/csharpexec (configure.ac): Comment out macro invocation.
66587         * modules/javaexec (configure.ac): Likewise.
66588         * modules/javacomp-script (configure.ac): Likewise.
66589
66590         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
66591
66592 2006-07-30  Bruno Haible  <bruno@clisp.org>
66593
66594         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
66595         linked-list.
66596
66597 2006-07-30  Bruno Haible  <bruno@clisp.org>
66598
66599         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
66600
66601 2006-07-30  Bruno Haible  <bruno@clisp.org>
66602
66603         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66604         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
66605         get removed.
66606
66607 2006-07-29  Bruno Haible  <bruno@clisp.org>
66608
66609         Make it possible for gnulib-tool to work with locally modified or
66610         augmented gnulib repositories.
66611         * gnulib-tool (func_usage): Document --local-dir option.
66612         (local_gnulib_dir): New variable.
66613         Handle --local-dir option.
66614         (func_lookup_file): New function.
66615         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
66616         (func_get_description, func_get_filelist, func_get_description,
66617         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
66618         func_get_automake_snippet, func_get_include_directive,
66619         func_get_license, func_get_maintainer): Use func_lookup_file.
66620         (func_import, func_create_testdir): Use func_lookup_file.
66621
66622 2006-07-29  Bruno Haible  <bruno@clisp.org>
66623
66624         * modules/setenv (Depends-on): Add unistd.
66625
66626 2006-07-29  Bruno Haible  <bruno@clisp.org>
66627
66628         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
66629
66630 2006-07-29  Bruno Haible  <bruno@clisp.org>
66631
66632         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
66633
66634 2006-07-29  Bruno Haible  <bruno@clisp.org>
66635
66636         * gnulib-tool (import, update): If there is no Makefile.am, look at
66637         aclocal.m4, instead of bailing out.
66638
66639 2006-07-29  Bruno Haible  <bruno@clisp.org>
66640
66641         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
66642         Categorize the options by when they are useful.
66643
66644 2006-07-29  Bruno Haible  <bruno@clisp.org>
66645
66646         * gnulib-tool (func_usage): Document option --no-libtool.
66647         Handle option --no-libtool.
66648         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
66649         for changed semantics of $libtool variable.
66650         (func_import): Likewise. If libtool is not used, show this through
66651         an option --no-libtool.
66652         (func_create_testdir): Update.
66653
66654 2006-07-29  Bruno Haible  <bruno@clisp.org>
66655
66656         * gnulib-tool (func_import): Extend error message about missing
66657         --doc-base.
66658
66659 2006-07-29  Bruno Haible  <bruno@clisp.org>
66660
66661         * gnulib-tool (func_import): Don't create the $docbase directory if
66662         there is no file to store there.
66663
66664 2006-07-29  Bruno Haible  <bruno@clisp.org>
66665
66666         * gnulib-tool (autoconf_minversion): If a --dir option is given and
66667         relevant, look for configure.ac there, not in the current directory.
66668         Also use a simple search for AC_PREREQ, not "autoconf --trace".
66669
66670 2006-07-29  Bruno Haible  <bruno@clisp.org>
66671
66672         * gnulib-tool (SORT): New variable.
66673         (func_usage): Undocument --assume-autoconf option.
66674         Remove --assume-autoconf option handling.
66675         (autoconf_minversion): Determine from the contents of configure.ac.
66676         (func_import): Remove autoconf_minversion handling.
66677         Suggested by Eric Blake.
66678
66679 2006-07-29  Bruno Haible  <bruno@clisp.org>
66680
66681         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
66682
66683 2006-07-29  Bruno Haible  <bruno@clisp.org>
66684
66685         * config/srclist.txt (*setenv.[ch]): Remove rules.
66686
66687 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66688
66689         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
66690
66691 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66692
66693         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
66694         arpa/inet.h.
66695
66696 2006-07-28  Simon Josefsson  <jas@extundo.com>
66697
66698         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
66699         * modules/inet_pton (Depends-on): Likewise.
66700
66701 2006-07-28  Simon Josefsson  <jas@extundo.com>
66702
66703         * m4/netinet_in_h.m4: New file.
66704
66705 2006-07-28  Simon Josefsson  <jas@extundo.com>
66706
66707         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
66708         #include's.
66709
66710 2006-07-28  Simon Josefsson  <jas@extundo.com>
66711
66712         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
66713         #include's.
66714
66715 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
66716
66717         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
66718         setgid on directories only if they set these bits.
66719         * lib/modechange.h: Remove obsolete comment about masks.
66720
66721 2006-07-28  Eric Blake  <ebb9@byu.net>
66722
66723         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
66724         macro expansion.
66725
66726 2006-07-28  Bruno Haible  <bruno@clisp.org>
66727
66728         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
66729
66730 2006-07-28  Bruno Haible  <bruno@clisp.org>
66731
66732         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
66733
66734 2006-07-28  Bruno Haible  <bruno@clisp.org>
66735
66736         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
66737         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
66738         Define fallbacks.
66739         Avoids link error on FreeBSD 4.x.
66740         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66741
66742         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
66743         encoding.
66744         * lib/mbswidth.c (iswcntrl): Likewise.
66745
66746 2006-07-27  Bruno Haible  <bruno@clisp.org>
66747
66748         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
66749         test.
66750
66751 2006-07-27  Bruno Haible  <bruno@clisp.org>
66752
66753         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
66754         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
66755         defined.
66756
66757 2006-07-26  Eric Blake  <ebb9@byu.net>
66758
66759         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
66760
66761 2006-07-26  Eric Blake  <ebb9@byu.net>
66762
66763         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
66764         like mingw that lack mkstemp.
66765         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
66766         avoid compilation warning on mingw.
66767
66768 2006-07-26  Bruno Haible  <bruno@clisp.org>
66769
66770         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
66771         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
66772         INT_FAST*_MIN, INTPTR_MIN.
66773
66774 2006-07-25  Bruno Haible  <bruno@clisp.org>
66775
66776         * modules/version-etc (Depends-on): Add stdarg.
66777
66778 2006-07-25  Bruno Haible  <bruno@clisp.org>
66779
66780         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
66781         complex commands.
66782
66783 2006-07-25  Bruno Haible  <bruno@clisp.org>
66784
66785         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
66786         defined in <stdarg.h> or config.h.
66787
66788 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
66789
66790         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
66791         (gl_STDIO_SAFER): Remove.
66792
66793 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
66794
66795         * MODULES.html.sh (File stream based Input/Output):
66796         Add fopen-safer, tmpfile-safer; remove stdio-safer.
66797         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
66798         * modules/fopen-safer, modules/tmpfile-safer: New files.
66799         * modules/stdio-safer: Remove.
66800
66801 2006-07-24  Bruno Haible  <bruno@clisp.org>
66802
66803         * modules/tmpdir: New file.
66804         * MODULES.html.sh (File system functions): Add it.
66805
66806 2006-07-24  Bruno Haible  <bruno@clisp.org>
66807
66808         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
66809         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
66810
66811 2006-07-24  Bruno Haible  <bruno@clisp.org>
66812
66813         * modules/clean-temp: New file.
66814
66815 2006-07-24  Bruno Haible  <bruno@clisp.org>
66816
66817         * m4/tmpdir.m4: New file, from GNU gettext.
66818
66819 2006-07-24  Bruno Haible  <bruno@clisp.org>
66820
66821         * lib/tmpdir.h: New file, from GNU gettext.
66822         * lib/tmpdir.c: New file, from GNU gettext.
66823
66824 2006-07-24  Bruno Haible  <bruno@clisp.org>
66825
66826         * lib/clean-temp.h: New file, from GNU gettext.
66827         * lib/clean-temp.c: New file, from GNU gettext.
66828
66829 2006-07-23  Eric Blake  <ebb9@byu.net>
66830
66831         * modules/stdio-safer (Files): Add tmpfile-safer.c.
66832         (Depends-on): Add binary-io.
66833
66834 2006-07-23  Eric Blake  <ebb9@byu.net>
66835
66836         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
66837
66838 2006-07-23  Eric Blake  <ebb9@byu.net>
66839
66840         * lib/tmpfile-safer.c: New file.
66841         * lib/stdio-safer.h (fopen_safer): Add prototype.
66842         * lib/stdio--.h (tmpfile): Make safer.
66843
66844 2006-07-23  Bruno Haible  <bruno@clisp.org>
66845
66846         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
66847         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
66848         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
66849         gl_linked_remove_at): Use it.
66850
66851 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66852         and Simon Josefsson <jas@extundo.com>
66853
66854         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
66855
66856         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
66857
66858 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66859
66860         * modules/close-stream: New file.
66861         * modules/closeout (Description): Make it clear that it exits
66862         with a diagnostic on error.
66863         (Depends-on): Add close-stream.  Remove fpending, stdbool.
66864         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
66865
66866 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66867
66868         * m4/close-stream.m4: New file.
66869
66870 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66871
66872         * lib/close-stream.c, lib/close-stream.h: New files.
66873
66874 2006-07-22  Bruno Haible  <bruno@clisp.org>
66875
66876         Merge from GNU gettext 0.15.
66877
66878         2006-05-01  Bruno Haible  <bruno@clisp.org>
66879
66880                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
66881
66882         2006-07-22  Bruno Haible  <bruno@clisp.org>
66883
66884                 * modules/javaversion: New file.
66885                 * MODULES.html.sh (Java): Add javaversion.
66886
66887         2006-03-12  Bruno Haible  <bruno@clisp.org>
66888
66889                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
66890
66891         2005-12-04  Bruno Haible  <bruno@clisp.org>
66892
66893                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
66894                 (untested).
66895
66896         2006-06-21  Bruno Haible  <bruno@clisp.org>
66897
66898                 Avoid warnings from recent versions of mcs.
66899                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
66900                 -o, -L, -r any more. Use options documented since mcs-1.0
66901                 instead. Similarly for -g.
66902
66903         2005-12-04  Bruno Haible  <bruno@clisp.org>
66904
66905                 * build-aux/csharpcomp.sh.in: Suffix for resources is
66906                 .resources, not .resource.
66907
66908         2005-07-09  Bruno Haible  <bruno@clisp.org>
66909
66910                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
66911                 add a .dll suffix.
66912                 Reported by Mark Junker <mjscod@gmx.de>.
66913
66914         2006-07-22  Bruno Haible  <bruno@clisp.org>
66915
66916                 * modules/gettext: Upgrade to gettext-0.15.
66917                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
66918                 m4/visibility.m4.
66919                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
66920
66921 2006-07-22  Bruno Haible  <bruno@clisp.org>
66922
66923         Merge from GNU gettext 0.15.
66924
66925         2006-03-25  Bruno Haible  <bruno@clisp.org>
66926
66927                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
66928
66929         2006-07-21  Bruno Haible  <bruno@clisp.org>
66930
66931                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
66932                 "1.1".
66933
66934         2006-05-09  Bruno Haible  <bruno@clisp.org>
66935
66936                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
66937                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
66938                 for the conftestver execution.
66939
66940         2006-05-01  Bruno Haible  <bruno@clisp.org>
66941
66942                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
66943                 optional target-version argument. Verify that the compiler
66944                 groks source of the specified source-version, or add -source
66945                 option as necessary. Verify that the compiler produces
66946                 bytecode in the specified target-version, or add -target and
66947                 -source options as necessary. Make the result of the test
66948                 available as variable CONF_JAVAC. Also log error output in
66949                 config.log.
66950
66951         2006-03-11  Bruno Haible  <bruno@clisp.org>
66952
66953                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
66954
66955         2006-05-09  Bruno Haible  <bruno@clisp.org>
66956
66957                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
66958                 CLASSPATH_SEPARATOR to a semicolon.
66959
66960         2006-03-12  Bruno Haible  <bruno@clisp.org>
66961
66962                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
66963                 available as variable CONF_JAVA, for subsequent autoconf
66964                 tests. Also log error output in config.log.
66965
66966         2006-07-19  Bruno Haible  <bruno@clisp.org>
66967
66968                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
66969                 that getline works on glibc2 systems. Needed to avoid trouble
66970                 in relocatable.c.
66971                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
66972
66973         2005-12-04  Bruno Haible  <bruno@clisp.org>
66974
66975                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
66976                 launcher (untested).
66977
66978         2005-12-04  Bruno Haible  <bruno@clisp.org>
66979
66980                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
66981
66982         2006-07-22  Bruno Haible  <bruno@clisp.org>
66983
66984                 * gettext.m4: Update from GNU gettext-0.15.
66985                 * nls.m4: Likewise.
66986                 * po.m4: Likewise.
66987                 * inttypes-pri.m4: Likewise.
66988                 * inttypes-h.m4: Renamed from inttypes.m4.
66989                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
66990
66991 2006-07-22  Bruno Haible  <bruno@clisp.org>
66992
66993         Merge from GNU gettext 0.15.
66994
66995         2005-07-05  Bruno Haible  <bruno@clisp.org>
66996
66997                 * printf-args.c (printf_fetchargs): Work around broken
66998                 definition of wint_t on mingw.
66999
67000         2005-02-12  Bruno Haible  <bruno@clisp.org>
67001
67002                 * xallocsa.h: Add extern "C" for C++.
67003
67004         2006-05-17  Bruno Haible  <bruno@clisp.org>
67005
67006                 Cygwin portability.
67007                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
67008
67009         2006-04-30  Bruno Haible  <bruno@clisp.org>
67010
67011                 * progreloc.c: Include <mach-o/dyld.h> if available.
67012                 (find_executable): Use _NSGetExecutablePath when possible.
67013
67014         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
67015
67016                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
67017                 function.
67018
67019         2005-12-29  Bruno Haible  <bruno@clisp.org>
67020
67021                 * progreloc.c (set_program_name_and_installdir): Fix
67022                 compilation error.
67023
67024         2005-12-04  Bruno Haible  <bruno@clisp.org>
67025
67026                 Cygwin portability.
67027                 * progreloc.c: Include <windows.h> also on Cygwin.
67028                 (find_executable): Add support for Cygwin.
67029                 (set_program_name_and_installdir): Handle also platforms with
67030                 nonempty EXEEXT.
67031
67032         2006-07-11  Bruno Haible  <bruno@clisp.org>
67033
67034                 * javacomp.c: Fix a comment.
67035                 Reported by Jim Meyering.
67036
67037         2006-04-30  Bruno Haible  <bruno@clisp.org>
67038
67039                 * javacomp.h (compile_java_class): Add source_version,
67040                 target_version arguments.
67041                 * javacomp.c: Rewritten to choose only a compiler that
67042                 respects the specified source_version and target_version.
67043
67044         2006-06-27  Bruno Haible  <bruno@clisp.org>
67045
67046                 Assume correct S_ISDIR macro.
67047                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
67048
67049         2006-07-22  Bruno Haible  <bruno@clisp.org>
67050
67051                 * javaversion.h: New file, from GNU gettext.
67052                 * javaversion.c: New file, from GNU gettext.
67053                 * javaversion.java: New file, from GNU gettext.
67054                 * javaversion.class: New file, from GNU gettext.
67055
67056         2006-05-17  Bruno Haible  <bruno@clisp.org>
67057
67058                 Cygwin portability.
67059                 * javaexec.c (execute_java_class): Test for jview program
67060                 also on Cygwin.
67061
67062         2006-04-09  Bruno Haible  <bruno@clisp.org>
67063
67064                 * fatal-signal.c: Don't include string.h.
67065                 (at_fatal_signal): Use a copying loop instead of memcpy.
67066
67067         2005-12-04  Bruno Haible  <bruno@clisp.org>
67068
67069                 * csharpexec.c: Add support for 'clix' launcher (untested).
67070                 (execute_csharp_using_sscli): New function.
67071                 (execute_csharp_program): Call it.
67072
67073         2006-06-21  Bruno Haible  <bruno@clisp.org>
67074
67075                 Avoid warnings from recent versions of mcs.
67076                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
67077                 -o, -L, -r any more. Use options documented since mcs-1.0
67078                 instead. Similarly for -g.
67079
67080         2005-07-09  Bruno Haible  <bruno@clisp.org>
67081
67082                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
67083                 add a .dll suffix.
67084                 Reported by Mark Junker <mjscod@gmx.de>.
67085
67086         2006-06-17  Bruno Haible  <bruno@clisp.org>
67087
67088                 * config.charset: Update for NetBSD 3.0.
67089
67090         2006-05-17  Bruno Haible  <bruno@clisp.org>
67091
67092                 Cygwin portability.
67093                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
67094
67095         2006-05-16  Bruno Haible  <bruno@clisp.org>
67096
67097                 * localcharset.c [CYGWIN]: Include <windows.h>.
67098                 (get_charset_aliases): For Cygwin, return the same CPxxx
67099                 aliases list as under WIN32.
67100                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
67101                 the environment variables. Fall back to GetACP().
67102
67103         2006-04-05  Bruno Haible  <bruno@clisp.org>
67104
67105                 * config.charset: Update Juan Manuel Guerrero's address.
67106
67107         2005-02-12  Bruno Haible  <bruno@clisp.org>
67108
67109                 * allocsa.h: Add extern "C" for C++.
67110
67111         2005-02-10  Bruno Haible  <bruno@clisp.org>
67112
67113                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
67114                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
67115
67116         2006-07-22  Bruno Haible  <bruno@clisp.org>
67117
67118                 * gettext.h: Update to GNU gettext-0.15.
67119
67120 2006-07-22  Bruno Haible  <bruno@clisp.org>
67121
67122         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
67123         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
67124         lib-prefix.m4, longdouble.m4, ssize_t.m4.
67125
67126 2006-07-21  Eric Blake  <ebb9@byu.net>
67127
67128         * modules/stdlib-safer: New file.
67129         * MODULES.html.sh (File stream based Input/Output): Add
67130         stdlib-safer.
67131
67132 2006-07-21  Eric Blake  <ebb9@byu.net>
67133
67134         * lib/stdlib-safer.h: New file from coreutils, required by
67135         stdlib--.h.
67136
67137 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
67138
67139         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
67140
67141 2006-07-20  Bruno Haible  <bruno@clisp.org>
67142
67143         * gnulib-tool: Recognize new option --assume-autoconf.
67144         (autoconf_minversion): New variable.
67145         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
67146
67147 2006-07-20  Bruno Haible  <bruno@clisp.org>
67148
67149         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
67150
67151 2006-07-19  Derek R. Price  <derek@ximbiot.com>
67152
67153         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
67154         Reindent and repaginate.
67155
67156 2006-07-19  Derek Price  <derek@ximbiot.com>
67157
67158         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
67159         Correct grammar.
67160
67161 2006-07-17  Bruno Haible  <bruno@clisp.org>
67162
67163         * modules/list: New file.
67164         * modules/array-list: New file.
67165         * modules/carray-list, modules/carray-list-tests: New files.
67166         * modules/linked-list, modules/linked-list-tests: New files.
67167         * modules/avltree-list, modules/avltree-list-tests: New files.
67168         * modules/rbtree-list, modules/rbtree-list-tests: New files.
67169         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
67170         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
67171         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
67172         * modules/oset: New file.
67173         * modules/array-oset: New file.
67174         * modules/avltree-oset, modules/avltree-oset-tests: New files.
67175         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
67176         * tests/test-carray_list.c: New file.
67177         * tests/test-linked_list.c: New file.
67178         * tests/test-avltree_list.c: New file.
67179         * tests/test-rbtree_list.c: New file.
67180         * tests/test-linkedhash_list.c: New file.
67181         * tests/test-avltreehash_list.c: New file.
67182         * tests/test-rbtreehash_list.c: New file.
67183         * tests/test-avltree_oset.c: New file.
67184         * tests/test-rbtree_oset.c: New file.
67185         * MODULES.html.sh (Container data structures): New section.
67186
67187 2006-07-17  Bruno Haible  <bruno@clisp.org>
67188
67189         * m4/gl_list.m4: New file.
67190
67191 2006-07-17  Bruno Haible  <bruno@clisp.org>
67192
67193         * lib/gl_list.h: New file.
67194         * lib/gl_list.c: New file.
67195         * lib/gl_array_list.h: New file.
67196         * lib/gl_array_list.c: New file.
67197         * lib/gl_carray_list.h: New file.
67198         * lib/gl_carray_list.c: New file.
67199         * lib/gl_linked_list.h: New file.
67200         * lib/gl_linked_list.c: New file.
67201         * lib/gl_anylinked_list1.h: New file.
67202         * lib/gl_anylinked_list2.h: New file.
67203         * lib/gl_avltree_list.h: New file.
67204         * lib/gl_avltree_list.c: New file.
67205         * lib/gl_anyavltree_list1.h: New file.
67206         * lib/gl_anyavltree_list2.h: New file.
67207         * lib/gl_rbtree_list.h: New file.
67208         * lib/gl_rbtree_list.c: New file.
67209         * lib/gl_anyrbtree_list1.h: New file.
67210         * lib/gl_anyrbtree_list2.h: New file.
67211         * lib/gl_anytree_list1.h: New file.
67212         * lib/gl_anytree_list2.h: New file.
67213         * lib/gl_linkedhash_list.h: New file.
67214         * lib/gl_linkedhash_list.c: New file.
67215         * lib/gl_anyhash_list1.h: New file.
67216         * lib/gl_anyhash_list2.h: New file.
67217         * lib/gl_avltreehash_list.h: New file.
67218         * lib/gl_avltreehash_list.c: New file.
67219         * lib/gl_rbtreehash_list.h: New file.
67220         * lib/gl_rbtreehash_list.c: New file.
67221         * lib/gl_anytreehash_list1.h: New file.
67222         * lib/gl_anytreehash_list2.h: New file.
67223
67224         * lib/gl_oset.h: New file.
67225         * lib/gl_oset.c: New file.
67226         * lib/gl_array_oset.h: New file.
67227         * lib/gl_array_oset.c: New file.
67228         * lib/gl_avltree_oset.h: New file.
67229         * lib/gl_avltree_oset.c: New file.
67230         * lib/gl_rbtree_oset.h: New file.
67231         * lib/gl_rbtree_oset.c: New file.
67232         * lib/gl_anytree_oset.h: New file.
67233
67234 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
67235
67236         * m4/mkancesdirs.m4: New file.
67237         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
67238         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
67239         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
67240         it.
67241
67242 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
67243
67244         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
67245         * lib/mkancesdirs.h: New files.
67246         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
67247         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
67248         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
67249         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
67250         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
67251         callers changed.  Revamp internals significantly, by not
67252         attempting to create directories that are temporarily more
67253         permissive than the final results.  Do not attempt to use
67254         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
67255         This removes some race conditions, fixes some bugs, and simplifies
67256         things.  Use new dirchownmod function to do owner and mode changes.
67257         * lib/mkdir-p.h: Likewise.
67258         * lib/modechange.c (octal_to_mode): New function.
67259         (struct mode_change): New member mentioned.
67260         (make_node_op_equals): New arg mentioned.  All callers changed.
67261         (mode_compile): Keep track of which mode bits the user has explicitly
67262         mentioned.
67263         (mode_adjust): New arg DIR, so that we implement the X op correctly.
67264         New arg PMODE_BITS, to keep track of which mode bits the user
67265         mentioned; it treats S_ISUID and S_ISGID speciall.
67266         All callers changed.
67267         * lib/modechange.h: Likewise.
67268
67269 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
67270
67271         * MODULES.html.sh: Add mkancestors.
67272         * modules/mkancesdirs: New module.
67273         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
67274         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
67275         The chdir-safer and afs files are now orphans; I'll remove them
67276         unless someone speaks up.
67277         Add lib/dirchownmod.c, lib/dirchownmod.h.
67278         (Depends-on): Remove alloca, chown, save-cwd, dirname.
67279         Add lchown, mkancesdirs.
67280         (Maintainer): Add self.
67281
67282 2006-07-15  Karl Berry  <karl@gnu.org>
67283
67284         * gnulib-tool: help message wording/arrangement.
67285
67286 2006-07-14  Simon Josefsson  <jas@extundo.com>
67287
67288         * doc/gnulib.texi (Libtool and Windows): New section.
67289
67290 2006-07-12  Simon Josefsson  <jas@extundo.com>
67291
67292         * modules/gendocs (License): Fix license, approved by Karl.
67293
67294 2006-07-12  Eric Blake  <ebb9@byu.net>
67295
67296         * MODULES.html.sh: Add gendocs.
67297
67298 2006-07-11  Eric Blake  <ebb9@byu.net>
67299
67300         * modules/fdl: New module, to install doc/fdl.texi.
67301         * MODULES.html.sh: Add new section for documentation modules.
67302         * gnulib-tool: Avoid space-tab.
67303         (--doc-base): New option, to manage files from doc.
67304
67305 2006-07-11  Eric Blake  <ebb9@byu.net>
67306
67307         * m4/absolute-header.m4: Fix comments to match recent change.
67308
67309 2006-07-11  Eric Blake  <ebb9@byu.net>
67310
67311         * gnulib-tool: List --doc-base before --tests-base.
67312
67313 2006-07-11  Derek R. Price  <derek@ximbiot.com>
67314
67315         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
67316
67317 2006-07-11  Bruno Haible  <bruno@clisp.org>
67318
67319         * README: Mention where to put documentation.
67320
67321 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67322
67323         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
67324
67325 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
67326
67327         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
67328         to stdint.m4.
67329
67330 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
67331
67332         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
67333         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
67334         "no/such/file/stdint.h" when there is no such file, so that
67335         the resulting C code can be parsed by dodgy compilers.
67336         Problems reported by Bob Proulx.
67337
67338 2006-07-10  Derek R. Price  <derek@ximbiot.com>
67339
67340         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
67341         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
67342         macros into the GNU _D_EXACT_NAMLEN.
67343         * lib/savedir.c:  Likewise.
67344         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
67345
67346 2006-07-10  Derek R. Price  <derek@ximbiot.com>
67347         and Paul Eggert  <eggert@cs.ucla.edu>
67348
67349         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
67350         * m4/savedir.m4:
67351         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
67352         macros into the GNU _D_EXACT_NAMLEN.
67353
67354 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67355
67356         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
67357         around the absolute name, to work around a problem with the HP-UX
67358         11.23 native C compiler, reported by Bob Proulx.
67359
67360 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67361
67362         * doc/maintain.texi, make-stds.texi: Sync from
67363         <http://savannah.gnu.org/projects/gnustandards>.
67364
67365 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67366
67367         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
67368
67369 2006-07-09  Jim Meyering  <jim@meyering.net>
67370
67371         * m4/glob.m4: Remove a doubled word in a comment.
67372
67373 2006-07-09  Jim Meyering  <jim@meyering.net>
67374
67375         * lib/argp-pv.c: Remove a doubled word in a comment.
67376         * lib/check-version.c (check_version): Likewise.
67377         * lib/javacomp.c (compile_java_class): Likewise.
67378
67379 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67380
67381         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
67382         for the benefit of people using Autoconf 2.60.  If you want to
67383         support older Autoconf versions you can copy m4/onceonly_2_57.m4
67384         (or m4/onceonly.m4, if pre-2.57) manually.
67385
67386 2006-07-08  Jim Meyering  <jim@meyering.net>
67387
67388         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
67389         comment.
67390         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
67391         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
67392         comment.
67393
67394 2006-07-08  Jim Meyering  <jim@meyering.net>
67395
67396         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
67397
67398 2006-07-07  Simon Josefsson  <jas@extundo.com>
67399
67400         * tests/test-crc.c: Change expected crc value, the test vector
67401         were probably computed using the old broken crc.c?
67402
67403 2006-07-06  Simon Josefsson  <jas@extundo.com>
67404
67405         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
67406         now the canonical place for the M4 file).
67407
67408         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
67409         from the sys_socket dependency now.
67410
67411         * modules/inet_pton (Files): Ditto.
67412
67413         * modules/inet_ntop (Files): Ditto.
67414
67415 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67416
67417         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
67418         not gl_PREREQ_GETUSERSHELL.
67419
67420 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67421
67422         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
67423         with only one argument, for Autoconf 2.60.
67424         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
67425         expand to nothing, so add a shell command to avoid syntax error.
67426         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
67427
67428 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67429
67430         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
67431
67432 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67433
67434         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
67435         no longer needed.  Check for isblank decl.
67436         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
67437         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
67438         of existence.
67439
67440 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67441
67442         * lib/getloadavg.c: Use __VMS, not VMS.
67443         * lib/getopt.c: Likewise.
67444         * lib/getpagesize.h: Likewise.
67445         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
67446         and probably does not work.
67447
67448 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67449
67450         * lib/.cppi-disable: Add wcwidth.
67451         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
67452         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
67453         (ISGRAPH): Remove.  All uses changed to isgraph.
67454         (FOLD) [!defined _LIBC]: Remove special case.
67455         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
67456         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
67457         HAVE_ISBLANK.
67458         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
67459         case.
67460
67461 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
67462
67463         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
67464         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
67465         brackets.  Other minor changes to suppress some compiler
67466         warnings.
67467
67468 2006-07-06  Derek R. Price  <derek@ximbiot.com>
67469         and Paul Eggert  <eggert@cs.ucla.edu>
67470
67471         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
67472         of invoking obsolescent AC_HEADER_DIRENT macro.
67473         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
67474         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
67475         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
67476         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
67477         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
67478         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67479         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
67480         * m4/readdir.m4: Remove; no longer needed.
67481
67482 2006-07-06  Derek R. Price  <derek@ximbiot.com>
67483         and Paul Eggert  <eggert@cs.ucla.edu>
67484
67485         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
67486         Don't worry about this obsolete case any more.
67487         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
67488         directories.
67489         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
67490         worry about this obsolete case any more.
67491         * lib/fts.c: Likewise.
67492         * lib/getcwd.c: Likewise.
67493         * lib/glob.h: Likewise.
67494         * lib/savedir.c: Likewise.
67495
67496 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67497
67498         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
67499         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
67500         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
67501         needed.
67502         All uses removed.
67503         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
67504         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
67505         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
67506         needed.
67507         * m4/getdate.m4 (gl_GETDATE): Likewise.
67508         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
67509         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
67510         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
67511         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
67512         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
67513         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
67514         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
67515         needed.
67516
67517 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67518
67519         * lib/memcasecmp.c: Include <limits.h>.
67520         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
67521         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
67522         Don't assume isdigit succeeds only on '0' through '9'.
67523
67524 2006-07-05  Eric Blake  <ebb9@byu.net>
67525
67526         * modules/getaddrinfo (Depends-on): Add snprintf.
67527
67528 2006-07-05  Eric Blake  <ebb9@byu.net>
67529
67530         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
67531         to avoid 'header present but could not be compiled' on cygwin.
67532
67533 2006-07-05  Eric Blake  <ebb9@byu.net>
67534
67535         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
67536         missing from netdb.h.
67537         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
67538
67539 2006-07-05  Derek R. Price  <derek@ximbiot.com>
67540
67541         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
67542         no longer needed.
67543         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
67544         * m4/getdate.m4 (gl_GETDATE): Likewise.
67545         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
67546         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
67547         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
67548         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
67549         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
67550
67551 2006-07-05  Derek R. Price  <derek@ximbiot.com>
67552
67553         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
67554         All uses of is_space replaced by isspace.
67555         * lib/exit.h: Don't talk about STDC_HEADERS.
67556         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
67557         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
67558         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
67559         replaced by isprint etc.
67560         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
67561         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
67562         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
67563         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
67564         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
67565         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
67566
67567 2006-07-05  Bruno Haible  <bruno@clisp.org>
67568
67569         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
67570         the function exists, before testing against AIX.
67571         Reported by Martin Lambers <marlam@marlam.de>.
67572
67573 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
67574
67575         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
67576         From Mark D. Baushke.
67577
67578 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
67579
67580         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
67581         to the absolute name, not just one, to bypass Sun C 5.8's
67582         "warning: #include of /usr/include/... may be non-portable".
67583
67584 2006-07-04  Eric Blake  <ebb9@byu.net>
67585
67586         * modules/dirname-tests: New test module.
67587         * tests/test-dirname.c: New file, replacing dirname.c
67588         TEST_DIRNAME section that was recently deleted.
67589
67590 2006-07-04  Bruno Haible  <bruno@clisp.org>
67591
67592         Assume ANSI C header files and <ctype.h> functions.
67593         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
67594         (mbsnwidth): Use isprint, iscntrl instead.
67595
67596 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67597
67598         Merge from coreutils.
67599         * MODULES.html.sh: Add xstrtold.
67600         * modules/xstrtold: New file.
67601         * modules/cycle-check (Files): Add lib/same-inode.h.
67602         * modules/dirname (Files): Add m4/double-slash-root.m4.
67603         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
67604         * modules/mkdir-p (Files): Add lib/same-inode.h.
67605         * modules/same (Files): Add lib/same-inode.h.
67606
67607 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67608
67609         * m4/absolute-header.m4: Renamed from full-header-path.m4.
67610         This is to keep the terminology clean; POSIX talks about
67611         "absolute pathnames", not "full pathnames", but the GNU
67612         Coding Standards say to use "path" for something else;
67613         so use "absolute" to keep both sides happy.
67614         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
67615         Set gl_absolute_header, not gl_full_header_path.
67616         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
67617         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
67618         All uses changed.
67619
67620         Merge from coreutils.
67621
67622         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
67623
67624         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
67625         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
67626         want to require the building of c-strtod.o.
67627         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
67628         needs -lm directly.
67629         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
67630
67631         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
67632
67633         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
67634         --as-needed option if available.  Problem reported by Albert Chin in
67635         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
67636         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
67637         cc merely issues a bunch of annoying warnings for --as-needed
67638         (this problem was reported by Bob Proulx).  Also, try linking with
67639         -lm to detect a bug in binutils 2.16 (this problem was reported
67640         by Ralf Wildenhues).
67641
67642         2006-06-18  Jim Meyering  <jim@meyering.net>
67643
67644         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
67645         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
67646         macro.
67647         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
67648         also check for glibc-2.4's abort-inducing bug.
67649
67650         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
67651         Low-probability clean-up should be to use rmdir to get rid of
67652         the just-created directory, not unlink.
67653
67654         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
67655         configure fail, and request a bug report to inform us about it.
67656         Add a comment that, barring reports to the contrary, in 2007 we'll
67657         assume ftruncate is universally available.
67658
67659         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
67660
67661         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
67662
67663         2006-03-12  Jim Meyering  <jim@meyering.net>
67664
67665         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
67666         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
67667         * m4/same.m4 (gl_SAME): Likewise.
67668         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
67669
67670         2006-03-11  Eric Blake  <ebb9@byu.net>
67671
67672         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
67673         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
67674         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
67675         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
67676
67677 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67678
67679         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
67680         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
67681         reported by Mark D. Baushke, one in
67682         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
67683
67684         Merge from coreutils.
67685
67686         * lib/.cppi-disable: Add stdint_.h.
67687         * lib/.cvsignore: Add stdint.h.
67688
67689         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
67690
67691         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
67692         both double and long double versions.
67693         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
67694         * lib/xstrtold.c: New file.
67695         * lib/xstrtod.h (xstrtold): New decl.
67696
67697         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
67698
67699         * lib/filemode.c (setst): Remove.
67700         (strmode): Rewrite to avoid setst.  This makes the code shorter,
67701         (arguably) clearer, and the generated code is a bit smaller on my
67702         Debian GNU/Linux stable x86 host.
67703
67704         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
67705
67706         * lib/filemode.c: Include "filemode.h" first, to test the interface.
67707         Assume that filemode.h includes sys/types.h and sys/stat.h.
67708         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
67709         (ftypelet): Reorder to put common cases first, for efficiency.
67710         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
67711         to do 'M'.
67712         (strmode): Renamed from mode_string, and now stores 12 bytes instead
67713         of 10, for compatibility with FreeBSD.  All callers changed.
67714         (filemodestring): Now stores 12 bytes instead of 10, and sets file
67715         types that can't be deduced solely from st_mode.  First arg is now a
67716         const pointer.
67717         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
67718         (strmode): Renamed from mode_string.
67719         (filemodestring): New decl.
67720         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
67721         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
67722         needed.
67723         (S_ISPORT, S_ISWHT): New macros, if not already defined.
67724
67725         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
67726
67727         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
67728         fsusage.h now does that.  Include fsusage.h first, to test interface.
67729         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
67730         at most one method (the old code could have generated decls that
67731         didn't conform to C89, not that this was ever exercised).
67732         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
67733
67734         2006-03-19  Jim Meyering  <jim@meyering.net>
67735
67736         Work even in a chroot where d_ino values for entries in "/"
67737         don't match the stat.st_ino values for the same names.
67738         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
67739         number, iterate through all entries again, using lstat instead.
67740         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
67741         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
67742
67743         * lib/getcwd.c (__getcwd): Clarify a comment.
67744         Use memcpy in place of a call to strcpy.
67745
67746         2006-03-12  Jim Meyering  <jim@meyering.net>
67747
67748         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
67749         matches that of the current directory (which we're about to chdir ".."
67750         out of), then save the dev-ino of the parent, instead.
67751
67752         * lib/same-inode.h (SAME_INODE): New file/macro.
67753         * lib/chdir-safer.c (SAME_INODE): Remove definition.
67754         Include "same-inode.h", instead.
67755         * lib/same.c: Likewise.
67756         * lib/cycle-check.h: Include "same-inode.h".
67757         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
67758         * lib/cycle-check.c (SAME_INODE): Remove definition.
67759         * lib/root-dev-ino.h: Include "same-inode.h".
67760
67761         2006-03-11  Eric Blake  <ebb9@byu.net>
67762
67763         * lib/same.c (same_name): s/base_name/last_component/
67764         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
67765         * lib/filenamecat.c (file_name_concat): Likewise.
67766
67767         2006-03-11  Eric Blake  <ebb9@byu.net>,
67768                     Paul Eggert  <eggert@cs.ucla.edu>
67769
67770         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
67771         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
67772         drive prefix.
67773         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
67774         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
67775         (last_component): New method.
67776         * lib/dirname.c (dir_len): Determine when drive letters need a
67777         subsequent slash.  Preserve // when it is special.
67778         (dir_name): Don't append dot when drive letter is absolute.
67779         [TEST_DIRNAME]: Move into a full-blown gnulib test.
67780         * lib/basename.c (base_name): New semantics - malloc the result.
67781         Preserve // when it is special.  Preserve relative files that look
67782         like drive letters.
67783         (base_len): Preserve // when it is special.
67784         (last_component): New method, similar to old base_name semantics.
67785         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
67786         base_name.  Strip redundant slashes from ///.
67787
67788 2006-07-03  Jim Meyering  <jim@meyering.net>
67789
67790         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
67791         macro is used before the first cycle_check call.
67792
67793 2006-07-03  Eric Blake  <ebb9@byu.net>
67794
67795         * modules/dirname (Depends-on): Add xstrndup.
67796
67797 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67798
67799         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
67800         test cases, so that config.log is a bit easier to follow.
67801
67802 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67803
67804         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
67805         both are 64 bits, since this seems to be the tradition, and this
67806         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
67807         we ever run into a host that prefers long long to long in this
67808         case, we'll need another configure-time test.  Problem reported by
67809         Jim Meyering.
67810
67811 2006-07-02  Eric Blake  <ebb9@byu.net>
67812
67813         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
67814
67815 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67816
67817         * modules/inttypes (Depends-on): No longer depends on stdint.
67818         * modules/stdint (Description): Say more about assumptions.
67819         Say that the fast types might differ.  Say macros are used.
67820         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
67821         (Makefile.am): Revise list of substituted symbols to match
67822         new stdint.m4.
67823         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
67824         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
67825         * tests/test-stdint.c (verify_same_types)
67826         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
67827         the code conforms to C99/C89.
67828         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
67829         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
67830
67831 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67832
67833         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
67834         but fix a bug, by requiring at least 64 bits.
67835         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
67836         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
67837         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
67838         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
67839
67840         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
67841         changes.  Make 2.59 a prerequisite.  Check and substitute for
67842         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
67843         inttypes.h.  Do not use special include files; just use the
67844         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
67845         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
67846         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
67847         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
67848         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
67849         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
67850         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
67851         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
67852         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
67853         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
67854         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
67855         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
67856         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
67857         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
67858         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
67859         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
67860         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
67861         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
67862         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
67863         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
67864         WINT_MAX.  Check for C99 conformance more strictly, by detecting
67865         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
67866         not check for things that C99 does not require, e.g., int8_t.  If
67867         a test isn't needed unless <stdint.h> isn't working, and is
67868         unlikely to be needed for any other reason, then don't do it
67869         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
67870         size_t, since we assume C89 freestanding at least.  Do not check
67871         for sig_atomic_t, wchar_t, or wint_t, since the code now does
67872         the right thing even if the types are not defined.  Instead use:
67873         (gl_STDINT_TYPE_PROPERTIES): New macro.
67874         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
67875         testing whether <sys/types.h> clashes, as Autoconf does this for
67876         us now.  All uses removed.
67877         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
67878         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
67879         (gl_CHECK_TYPE_SAME):
67880         Remove; no longer needed.
67881         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
67882         exists, since we'll return 0 anyway in that case.
67883         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
67884
67885 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67886
67887         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
67888         possible collision with system files.
67889         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
67890         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
67891         WCHAR_MIN and WCHAR_MAX in this case.
67892         (<stddef.h>): Do not include; no longer needed.
67893         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
67894         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
67895         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
67896         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
67897         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
67898         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
67899         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
67900         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
67901         !defined(__c99))]: Include in this case too, since it's harmless
67902         now.
67903         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
67904         dangerous to do so.
67905         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
67906         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
67907         (_STDINT_MIN, _STDINT_MAX): New macros.
67908         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
67909         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
67910         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
67911         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
67912         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
67913         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
67914         macros, not typedefs; this simplifies things quite a bit.
67915         Use long int for all types narrower than int64_t.
67916         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
67917         Define in terms of long long int or int64_t or long int,
67918         not int64_t or int32_t.  This saves some compile-time testing.
67919         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
67920         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
67921         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
67922         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
67923         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
67924         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
67925         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
67926         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
67927         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
67928         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
67929         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
67930         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
67931         undef any previous version and define our own version, for
67932         simplicity and consistency with the new macros for types.
67933         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
67934         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
67935         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
67936         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
67937         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
67938         @WINT_T_SUFFIX@ to keep things simple here.
67939         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
67940         Simplify by assuming typical 8/16/32/64 host, since we're
67941         already doing that elsewhere anyway.
67942         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
67943         and assume long long int is 64 bits if available.  This
67944         speeds up 'configure'.
67945
67946 2006-07-01  Eric Blake  <ebb9@byu.net>
67947
67948         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
67949         Reported by Andreas Buening.
67950
67951 2006-07-01  Eric Blake  <ebb9@byu.net>
67952
67953         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
67954
67955 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
67956
67957         * lib/getaddrinfo.c: fixed typo
67958
67959 2006-06-29  Jim Meyering  <jim@meyering.net>
67960
67961         * modules/strftime (Maintainer): Add my name, since with the
67962         FPRINTFTIME changes strftime.c has forked from glibc.
67963
67964 2006-06-29  Eric Blake  <ebb9@byu.net>
67965
67966         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
67967
67968 2006-06-29  Eric Blake  <ebb9@byu.net>
67969
67970         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
67971
67972 2006-06-29  Eric Blake  <ebb9@byu.net>
67973
67974         * lib/stat_.h: New file.
67975
67976 2006-06-29  Eric Blake  <ebb9@byu.net>
67977
67978         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
67979         unused static function.
67980
67981 2006-06-29  Eric Blake  <ebb9@byu.net>
67982
67983         * doc/functions.texi (Function Portability): Document missing lstat
67984         on mingw.
67985
67986 2006-06-29  Eric Blake  <ebb9@byu.net>
67987
67988         * MODULES.html.sh: Add sys_stat.
67989         * modules/sys_stat: New module.
67990         * modules/mkstemp (Depends-on): Add sys_stat.
67991
67992 2006-06-29  Derek R. Price  <derek@ximbiot.com>
67993
67994         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
67995
67996 2006-06-29  Derek R. Price  <derek@ximbiot.com>
67997
67998         * m4/c-bs-a.m4: Removed.
67999
68000 2006-06-29  Derek R. Price  <derek@ximbiot.com>
68001
68002         * lib/strftime.c: Assume strftime() exists.
68003
68004 2006-06-29  Derek Price  <derek@ximbiot.com>
68005
68006         * modules/c-bs-a: Removed - \a is C89.
68007         * MODULES.html.sh: Remove c-bs-a.
68008
68009 2006-06-29  Bruno Haible  <bruno@clisp.org>
68010
68011         * modules/wcwidth (License): Change to LGPL.
68012
68013 2006-06-28  Simon Josefsson  <jas@extundo.com>
68014
68015         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
68016         on _WIN32.
68017
68018         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
68019         getnameinfo.
68020
68021 2006-06-28  Simon Josefsson  <jas@extundo.com>
68022
68023         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
68024
68025 2006-06-28  Simon Josefsson  <jas@extundo.com>
68026
68027         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
68028         functions there.  It will succeed on Windows XP, but on Windows
68029         2000 and (presumably) earlier, it will fail, and use the internal
68030         re-implementation.
68031         (use_win32_p): New function.
68032         (getaddrinfo): Use strtoul on servname, to support numeric ports.
68033         Support AI_NUMERICSERV to disable getservbyname.
68034         (getnameinfo): New function, only supports
68035         NI_NUMERICHOST|NI_NUMERICSERV for now.
68036
68037         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
68038         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
68039         getnameinfo.
68040
68041 2006-06-28  Eric Blake  <ebb9@byu.net>
68042
68043         * modules/wcwidth: New file.
68044         * modules/mbchar (Depends-on): Add wcwidth.
68045         * modules/mbswidth (Depends-on): Add wcwidth.
68046         * MODULES.html.sh: Add wcwidth.
68047
68048 2006-06-28  Eric Blake  <ebb9@byu.net>
68049
68050         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
68051         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
68052
68053 2006-06-28  Eric Blake  <ebb9@byu.net>
68054
68055         * lib/xvasprintf.h: Fix comments.
68056
68057 2006-06-28  Eric Blake  <ebb9@byu.net>
68058
68059         * lib/mbchar.h (wcwidth): Include wcwidth.h.
68060         * lib/mbswidth.c (wcwidth): Move from here...
68061         * lib/wcwidth.h: ...to this new file.
68062
68063 2006-06-28  Derek R. Price  <derek@ximbiot.com>
68064
68065         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
68066
68067         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
68068         it's obsolete.
68069         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
68070
68071 2006-06-28  Derek R. Price  <derek@ximbiot.com>
68072
68073         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
68074         Autoconf 2.60 says this stuff was obsolete.
68075
68076 2006-06-28  Bruno Haible  <bruno@clisp.org>
68077
68078         * modules/wcwidth (Files): Add m4/wchar_t.m4.
68079
68080 2006-06-28  Bruno Haible  <bruno@clisp.org>
68081
68082         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
68083         gt_TYPE_WCHAR_T.
68084
68085 2006-06-28  Bruno Haible  <bruno@clisp.org>
68086
68087         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
68088         declaration for wcwidth.
68089         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
68090
68091 2006-06-28  Bruno Haible  <bruno@clisp.org>
68092
68093         * lib/mkdtemp.c [MINGW]: Include <io.h>.
68094         (mkdir): Define using _mkdir.
68095
68096 2006-06-28  Bruno Haible  <bruno@clisp.org>
68097
68098         * lib/getaddrinfo.h: Fix POSIX URL.
68099         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
68100         _WIN32.
68101         (use_win32_p): Make static.
68102         (getaddrinfo): Reject service name if it is empty or does not consist
68103         solely of decimal digits, or if its value is > 65535.
68104         (getnameinfo): Remove useless casts.
68105
68106 2006-06-27  Simon Josefsson  <jas@extundo.com>
68107
68108         * modules/sys_select: New file, suggested by Bruno Haible, Paul
68109         Eggert and Martin Lambers.
68110
68111 2006-06-27  Simon Josefsson  <jas@extundo.com>
68112
68113         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
68114         Eggert and Martin Lambers.
68115
68116 2006-06-27  Bruno Haible  <bruno@clisp.org>
68117
68118         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
68119         result to 0, not to empty.
68120         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
68121
68122 2006-06-27  Bruno Haible  <bruno@clisp.org>
68123
68124         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
68125
68126 2006-06-26  Simon Josefsson  <jas@extundo.com>
68127
68128         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
68129         present.
68130
68131 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
68132
68133         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
68134         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
68135         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
68136
68137 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
68138
68139         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
68140
68141 2006-06-26  Bruno Haible  <bruno@clisp.org>
68142
68143         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
68144
68145 2006-06-26  Bruno Haible  <bruno@clisp.org>
68146
68147         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
68148
68149 2006-06-26  Bruno Haible  <bruno@clisp.org>
68150
68151         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
68152         SGI C compiler in pre-C99 mode.
68153         Suggested by Mark D. Baushke and Larry Jones.
68154
68155 2006-06-26  Bruno Haible  <bruno@clisp.org>
68156
68157         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
68158         WCHAR_MAX.
68159         Reported by Mark D. Baushke and Larry Jones.
68160
68161 2006-06-26  Bruno Haible  <bruno@clisp.org>
68162
68163         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
68164         in pre-C99 mode.
68165         Suggested by Mark D. Baushke and Larry Jones.
68166
68167 2006-06-23  Simon Josefsson  <jas@extundo.com>
68168             Bruno Haible  <bruno@clisp.org>
68169
68170         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
68171         Emit mostlyclean-local rule.
68172         (func_emit_tests_Makefile_am): Likewise.
68173         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
68174
68175 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
68176
68177         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
68178
68179 2006-06-23  Bruno Haible  <bruno@clisp.org>
68180
68181         * tests/test-stdint.c: Update to match ISO C 99 Technical
68182         Corrigendum 1.
68183
68184 2006-06-23  Bruno Haible  <bruno@clisp.org>
68185
68186         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
68187
68188 2006-06-23  Bruno Haible  <bruno@clisp.org>
68189
68190         * lib/stdint_.h: Treat IRIX like OpenBSD.
68191
68192 2006-06-23  Bruno Haible  <bruno@clisp.org>
68193
68194         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
68195         ISO C 99 Technical Corrigendum 1.
68196
68197 2006-06-22  Simon Josefsson  <jas@extundo.com>
68198
68199         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
68200         MinGW.
68201
68202 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68203
68204         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
68205         needed.  Some compiler complained about some of them.  Problem reported
68206         by Larry Jones in
68207         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
68208
68209 2006-06-21  Simon Josefsson  <jas@extundo.com>
68210
68211         * tests/test-getaddrinfo.c: New file.
68212
68213         * modules/getaddrinfo-tests: New file.
68214
68215         * MODULES.html.sh: Add inet_pton.
68216
68217         * modules/inet_pton: New file.
68218
68219 2006-06-21  Simon Josefsson  <jas@extundo.com>
68220
68221         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
68222         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
68223         of using the (limited) gnulib implementation on Windows XP.
68224
68225         * m4/inet_pton.m4: New file.
68226
68227 2006-06-21  Simon Josefsson  <jas@extundo.com>
68228
68229         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
68230         variable.
68231
68232         * lib/socket_.h: Don't define WINVER.
68233
68234         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
68235         slightly modified to work in gnulib.
68236
68237 2006-06-21  Simon Josefsson  <jas@extundo.com>
68238
68239         * doc/gnulib.texi (Windows sockets): Add.
68240
68241 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68242
68243         * lib/read-file.c (fread_file): Start with buffer allocation of
68244         0 bytes rather than 1 byte; this simplifies the code.
68245         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
68246         code to free buffer and save/restore errno.
68247         (internal_read_file): Remove unused local.
68248
68249 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68250
68251         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
68252         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
68253         Problem reported by Denis Excoffier in
68254         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
68255
68256 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68257
68258         * modules/sys_socket, modules/socklen: Include sys/types since
68259         FreeBSD 4.x's sys/socket.h needs it.
68260
68261 2006-06-19  Simon Josefsson  <jas@extundo.com>
68262
68263         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
68264
68265 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
68266
68267         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
68268
68269 2006-06-19  Bruno Haible  <bruno@clisp.org>
68270
68271         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
68272         and FULL_PATH_INTTYPES_H in angle brackets.
68273         Reported by Mark D. Baushke <mdb@gnu.org>.
68274
68275 2006-06-17  Eric Blake  <ebb9@byu.net>
68276
68277         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
68278         errno.
68279
68280 2006-06-17  Bruno Haible  <bruno@clisp.org>
68281
68282         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
68283         <sys/inttypes.h>.
68284
68285 2006-06-17  Bruno Haible  <bruno@clisp.org>
68286
68287         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
68288         whether errno is declared. Assume <errno.h> declares errno.
68289
68290 2006-06-17  Bruno Haible  <bruno@clisp.org>
68291
68292         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
68293
68294 2006-06-17  Bruno Haible  <bruno@clisp.org>
68295
68296         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
68297         problem on Solaris 2.5.1.
68298
68299 2006-06-16  Eric Blake  <ebb9@byu.net>
68300
68301         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
68302         * lib/unicodeio.c [!defined errno]: Likewise.
68303         * lib/strtol.c [!defined errno]: Likewise.
68304         * lib/strtod.c [!defined errno]: Likewise.
68305
68306 2006-06-15  Eric Blake  <ebb9@byu.net>
68307
68308         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
68309
68310 2006-06-15  Eric Blake  <ebb9@byu.net>
68311
68312         * config/srclist.txt (ssize_t.m4): Lose sync.
68313
68314 2006-06-15  Bruno Haible  <bruno@clisp.org>
68315
68316         * modules/stdint (Files): Include m4/full-header-path.m4,
68317         m4/size_max.m4, m4/wchar_t.m4.
68318         (Makefile.am): Many more substitutions.
68319         * modules/stdint-tests: New file.
68320         * tests/test-stdint.c: New file.
68321
68322 2006-06-15  Bruno Haible  <bruno@clisp.org>
68323
68324         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
68325         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
68326         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
68327         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
68328         gl_CHECK_TYPE_SAME): New macros.
68329
68330 2006-06-15  Bruno Haible  <bruno@clisp.org>
68331
68332         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
68333
68334 2006-06-15  Bruno Haible  <bruno@clisp.org>
68335
68336         * lib/stdint_.h: Rewritten to be fully auto-configured.
68337         Fixes bug on HP-UX/IA64.
68338
68339 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
68340
68341         * lib/getdate.y (__attribute__): Don't define if already defined.
68342         Problem reported by Larry Jones.
68343         * lib/utimens.c (__attribute__): Likewise.
68344
68345 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
68346
68347         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
68348         reported by Andreas Schwab.
68349
68350 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68351             Bruno Haible  <bruno@clisp.org>
68352
68353         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
68354         check for the declaration of strnlen and a run test that exposes the
68355         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
68356         rpl_strndup.
68357
68358 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68359             Bruno Haible  <bruno@clisp.org>
68360
68361         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
68362
68363 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68364
68365         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
68366         compile test, for Tru64 4.0D.
68367
68368 2006-05-28  Karl Berry  <karl@gnu.org>
68369
68370         * config/srclist.txt (printf-args.c): lose sync.
68371
68372 2006-05-26  Martin Lambers  <marlam@marlam.de>
68373
68374         * lib/getpass.c: Updates the test for the native W32 API, and adds
68375         missing includes, thus fixing compilation warnings.
68376
68377 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
68378
68379         * lib/exclude.c (exclude_fnmatch): New function.
68380         (excluded_file_name): Call exclude_fnmatch.
68381         * lib/exclude.h (excluded_file_name): New prototype
68382
68383 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
68384
68385         * lib/tempname.c (small_open, large_open): New macros.
68386         (__open, __open64) [!_LIBC]: Remove.
68387         (__gen_tempname): Use small_open and large_open instead of __open
68388         and __open64.  This fixes a portability bug on HP-UX 11.11i
68389         reported by Simon Wing-Tang in
68390         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
68391
68392 2006-05-24  Bruno Haible  <bruno@clisp.org>
68393
68394         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
68395         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
68396         Reported by Thorsten Maerz <torte@netztorte.de> via
68397         Aaron Stone <aaron@serendipity.cx>.
68398
68399 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
68400
68401         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
68402         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
68403         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
68404         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
68405         not really conditional on the cache.
68406         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
68407
68408 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
68409
68410         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
68411         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
68412         (my_usleep): Don't mishandle maximum value.
68413
68414 2006-05-19  Jim Meyering  <jim@meyering.net>
68415
68416         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
68417
68418 2006-05-17  Bruno Haible  <bruno@clisp.org>
68419
68420         Cygwin portability.
68421         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
68422
68423 2006-05-17  Bruno Haible  <bruno@clisp.org>
68424
68425         * lib/stdint_.h: Fix recognition of Cygwin.
68426
68427 2006-05-15  Bruno Haible  <bruno@clisp.org>
68428
68429         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
68430         on libtool patch by Ralf Wildenhues.
68431
68432 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68433
68434         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
68435         test for C99 conformance; (bool) 0.5 is an integer constant
68436         expression, but (bool) -0.5 is not.  Problem reported by Fedor
68437         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
68438
68439 2006-05-11  Simon Josefsson  <jas@extundo.com>
68440
68441         * m4/xvasprintf.m4: Fix obvious typo.
68442
68443 2006-05-11  Jim Meyering  <jim@meyering.net>
68444
68445         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
68446         James Lemley.
68447
68448 2006-05-10  Simon Josefsson  <jas@extundo.com>
68449
68450         * lib/md4.c: Typo fix, update copyright years.
68451         (K1, K2): Don't use L because it turn computations into 64-bit on
68452         64-bit platforms.
68453
68454 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
68455
68456         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
68457         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
68458         unwanted sign propagation, e.g., on hosts with 64-bit int.
68459         There still are some problems with reeelly weird theoretical hosts
68460         (e.g., 33-bit int) but it's not worth worrying about now.
68461         * lib/sha1.c (rol): Likewise.
68462         (K1, K2, K3, K4): Remove unnecessary L suffix.
68463
68464 2006-05-10  Bruno Haible  <bruno@clisp.org>
68465
68466         * lib/des.c: Cast to avoid warnings.
68467
68468 2006-05-09  Bruno Haible  <bruno@clisp.org>
68469
68470         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
68471         (Depends-on): Depend also on xsize, stdarg.
68472         (configure.ac): Add gl_XVASPRINTF.
68473
68474 2006-05-09  Bruno Haible  <bruno@clisp.org>
68475
68476         * m4/xvasprintf.m4: New file.
68477
68478 2006-05-09  Bruno Haible  <bruno@clisp.org>
68479
68480         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
68481         (EOVERFLOW): Define fallback value.
68482         (xstrcat): New function.
68483         (xvasprintf): Recognize the special case of a string concatenation.
68484
68485 2006-05-08  Eric Blake  <ebb9@byu.net>
68486
68487         * gnulib-tool (func_version): Base copyright year on CVS date.
68488         (func_emit_copyright_notice): New function.
68489         (func_emit_lib_Makefile_am): Use it.
68490         (func_emit_tests_Makefile_am): Likewise.
68491         (func_import): Likewise.
68492
68493 2006-05-08  Bruno Haible  <bruno@clisp.org>
68494
68495         * modules/stdarg: New file.
68496         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
68497
68498 2006-05-08  Bruno Haible  <bruno@clisp.org>
68499
68500         * m4/stdarg.m4: New file, from GNU gettext.
68501
68502 2006-05-08  Bruno Haible  <bruno@clisp.org>
68503
68504         * config/srclist.txt (build-aux/config.rpath): different from latest
68505         release.
68506
68507 2006-05-08  Bruno Haible  <bruno@clisp.org>
68508
68509         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
68510
68511 2006-05-05  Jim Meyering  <jim@meyering.net>
68512
68513         * m4/warning.m4: New file, derived from bison's file by the same name.
68514
68515 2006-05-03  Bruno Haible  <bruno@clisp.org>
68516
68517         * lib/stdint_.h: Shorter URL.
68518         * lib/inttypes.h: Likewise.
68519
68520 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68521
68522         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
68523
68524 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68525
68526         * lib/verify.h: Document the internals better.  Most of this change
68527         was written by Bruno Haible.
68528
68529 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68530
68531         * doc/verify.texi: New file, partly based on a proposal by
68532         Bruno Haible.
68533
68534 2006-05-02  Bruno Haible  <bruno@clisp.org>
68535
68536         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
68537         test from here...
68538         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
68539
68540 2006-04-29  Bruno Haible  <bruno@clisp.org>
68541
68542         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
68543         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
68544
68545 2006-04-29  Bruno Haible  <bruno@clisp.org>
68546
68547         * gnulib-tool: Make --update option actually work.
68548
68549 2006-04-29  Bruno Haible  <bruno@clisp.org>
68550
68551         * doc/gcd.texi: New file.
68552         * doc/gnulib.texi: Include it.
68553
68554 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
68555
68556         * lib/getdate.y (get_date): When adding relative date, start with the
68557         initial time, not with the result of the first mktime call.
68558
68559 2006-04-25  Bruno Haible  <bruno@clisp.org>
68560
68561         * gnulib-tool (func_import): Output the include directives in three
68562         blocks, sorted separately.
68563         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68564
68565 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
68566
68567         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
68568         to define main with arguments, for C++.  Reported by Eric Blake.
68569         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
68570         Prefer 'int main ()' to 'int main (void)', for C++.
68571         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
68572         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
68573         for 'main', for C99 and C++.
68574
68575 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
68576
68577         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
68578         Don't assume that exit status -1 is valid.
68579         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68580         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
68581         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
68582         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
68583         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
68584         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
68585         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
68586         functions can be used without declaring them, or that you can
68587         exit with status -1.
68588         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
68589
68590 2006-04-24  Karl Berry  <karl@gnu.org>
68591
68592         * config/srclist.txt (longdouble.m4): sync lost.
68593
68594 2006-04-24  Eric Blake  <ebb9@byu.net>
68595
68596         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
68597
68598 2006-04-24  Bruno Haible  <bruno@clisp.org>
68599
68600         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
68601         poll() implementation in AIX.
68602         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68603
68604 2006-04-24  Bruno Haible  <bruno@clisp.org>
68605
68606         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
68607         assigned exactly once.
68608
68609 2006-04-23  Claudio Fontana  <claudio@gnu.org>
68610             Bruno Haible  <bruno@clisp.org>
68611
68612         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
68613         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
68614         for AM_CPPFLAGS.
68615
68616 2006-04-23  Bruno Haible  <bruno@clisp.org>
68617
68618         * modules/copy-file: Depend on unistd.
68619         * modules/execute: Likewise.
68620         * modules/fatal-signal: Likewise.
68621         * modules/findprog: Likewise.
68622         * modules/mkdtemp : Likewise.
68623         * modules/pipe: Likewise.
68624         * modules/wait-process: Likewise.
68625
68626 2006-04-23  Bruno Haible  <bruno@clisp.org>
68627
68628         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
68629         condition was already detected.
68630         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68631
68632 2006-04-23  Bruno Haible  <bruno@clisp.org>
68633
68634         * lib/copy-file.c: Include <unistd.h> unconditionally.
68635         * lib/execute.c: Likewise.
68636         * lib/fatal-signal.c: Likewise.
68637         * lib/findprog.c: Likewise.
68638         * lib/mkdtemp.c: Likewise.
68639         * lib/pipe.h: Likewise.
68640         * lib/pipe.c: Likewise.
68641         * lib/wait-process.h: Likewise.
68642
68643 2006-04-23  Bruno Haible  <bruno@clisp.org>
68644
68645         * gnulib-tool (func_usage): Fix --import description. Document
68646         --update.
68647         (func_import): Create temporary file in a temporary directory, if
68648         --dry-run is specified. Silence errors from 'grep' when there are no
68649         m4 files in $m4dir.
68650         (func_create_testdir): Silence errors from 'grep' when there are no
68651         m4 files in $m4dir.
68652         Reported by Karl Berry <karl@freefriends.org>.
68653
68654 2006-04-20  Bruno Haible  <bruno@clisp.org>
68655
68656         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
68657         one argument, so that the code will be portable to Autoconf 2.60.
68658         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
68659         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
68660         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
68661
68662 2006-04-19  Derek Price  <derek@ximbiot.com>
68663             Eric Blake  <ebb9@byu.net>
68664
68665         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
68666         rather than "/full/path.h".  Update comment to match.  Shorten &
68667         generalize m4_translit call via AS_TR_CPP.
68668
68669 2006-04-19  Derek Price  <derek@ximbiot.com>
68670             Eric Blake  <ebb9@byu.net>
68671
68672         * lib/inttypes.h: Correct grammar in comment.
68673
68674 2006-04-18  Derek Price  <derek@ximbiot.com>
68675             Paul Eggert  <eggert@cs.ucla.edu>
68676
68677         * modules/inttypes: New file.
68678         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
68679
68680 2006-04-18  Derek Price  <derek@ximbiot.com>
68681             Paul Eggert  <eggert@cs.ucla.edu>
68682
68683         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
68684         New files.
68685
68686 2006-04-18  Derek Price  <derek@ximbiot.com>
68687             Paul Eggert  <eggert@cs.ucla.edu>
68688
68689         * lib/inttypes.h: New file.
68690         * lib/strtoimax.c: Assume <inttypes.h>.
68691
68692 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
68693
68694         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
68695         isn't mounted.  Problem reported by Kir Kolyshkin.
68696
68697 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68698
68699         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
68700         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
68701         Derek R. Price.
68702         * lib/regex.h (RE_DUP_MAX): Update comment to match current
68703         implementation.
68704
68705 2006-04-12  Eric Blake  <ebb9@byu.net>
68706
68707         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
68708         is now done automatically by the corresponding Autoconf macro.
68709
68710 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
68711
68712         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
68713         time_r.h.
68714
68715 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68716
68717         Merge regex changes from libc, removing some of our
68718         POSIX-conformance changes that were rejected and redoing them in a
68719         less-intrusive way.
68720
68721         * lib/regcomp.c (re_compile_internal, init_dfa):
68722         Length arg is now size_t, not Idx.  All uses changed.
68723         (peek_token): Forward decl now says internal_function.
68724         (__re_error_msgid, __re_error_msgid_idx):
68725         Now static rather than extern with attribute_hidden.
68726         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
68727         For some reason libc prefers K&R style defns for external functions.
68728         (regerror) [!defined _LIBC]: Likewise.
68729         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
68730         (seek_collating_symbol_entry, lookup_collation_sequence_value):
68731         (build_range_exp, build_collating_symbol):
68732         Use K&R-style defn.
68733         (re_compile_fastmap): Use '\0' to memset, not 0.
68734         (utf8_sb_map): Make the calculations more obvious.
68735         (init_dfa, parse_bracket_exp, build_charclass_op):
68736         Call calloc and cast result, as glibc does.
68737         (init_word_char, fetch_token, peek_token, peek_token_bracket):
68738         (build_range_exp, build_collating_symbol):
68739         Now internal functions.
68740
68741         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
68742
68743         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
68744         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
68745         Don't depend on VMS; depend on __VMS instead, for POSIX
68746         namespace cleanness.
68747         (regoff_t): Define to ssize_t, not long int.
68748
68749         Remove the REG_ macros named below.  Instead, make the old names
68750         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
68751         __USE_GNU_REGEX.
68752         (REG_BACKSLASH_ESCAPE_IN_LISTS):
68753         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
68754         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
68755         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
68756         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
68757         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
68758         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
68759         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
68760         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
68761         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
68762         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
68763         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
68764         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
68765         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
68766         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
68767         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
68768         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
68769         (REG_NREGS):
68770         Remove.  All uses replaced by the old RE_* names.
68771         (RE_BACKSLASH_ESCAPE_IN_LISTS):
68772         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
68773         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
68774         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
68775         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
68776         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
68777         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
68778         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
68779         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
68780         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
68781         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
68782         Don't bother having these macros be independent of each others'
68783         values, since they no longer exist in the POSIX name space.
68784
68785         Rename the following member names back to their old names,
68786         unless !__USE_GNU_REGEX.  All uses changed back.
68787         (buffer): Renamed from re_buffer.
68788         (allocated): Renamed from re_allocated.
68789         (used): Renamed from re_used.
68790         (syntax): Renamed from re_syntax.
68791         (fastmap): Renamed from re_fastmap.
68792         (translate): Renamed from re_translate.
68793         (can_be_null): Renamed from re_can_be_null.
68794         (regs_allocated): Renamed from re_regs_allocated.
68795         (fastmap_accurate): Renamed from re_fastmap_accurate.
68796         (no_sub): Renamed from re_no_sub.
68797         (not_bol): Renamed from re_not_bol.
68798         (not_eol): Renamed from re_not_eol.
68799         (newline_anchor): Renamed from re_newline_anchor.
68800         (num_regs): Renamed from rm_num_regs.
68801         (start): Renamed from rm_start.
68802         (end): Renamed from rm_end.
68803
68804         (free_state): Move up a bit.
68805
68806         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
68807         #define to be empty.
68808         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
68809         when that is what is intended.
68810         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
68811         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
68812         (MAX): New macro.
68813         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
68814         All uses changed back to re_malloc, etc.  It's now the caller's
68815         responsibility to check for overflow; all callers changed.
68816         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
68817         (re_x2nrealloc): Remove.
68818         (free_state): Remove decl.
68819
68820         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
68821         (re_set_registers, re_exec):
68822         Use K&R-style defn.
68823
68824         2006-01-31  Roland McGrath  <roland@redhat.com>
68825
68826         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
68827         Reported by Mike Frysinger <vapier@gentoo.org>.
68828
68829         2006-01-15  Andreas Jaeger  <aj@suse.de>
68830
68831         [BZ #1950]
68832         * lib/regex_internal.c (re_string_reconstruct): Adjust for
68833         build_wcs_upper_buffer change.
68834         (build_wcs_upper_buffer): Change return type.
68835
68836         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
68837
68838         * lib/regex_internal.h: Include <stdint.h> if available.
68839
68840         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
68841
68842         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
68843
68844         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68845
68846         * lib/regcomp.c: Adjust for changed secondary hash function.
68847
68848         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
68849
68850         * lib/regex.h: Pretty printing.
68851         Clean up namespace a bit.
68852
68853         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
68854
68855         * lib/regexec.c (update_cur_sifted_state, check_arrival,
68856         check_arrival_add_next_nodes): Avoid using uninitialized variable.
68857
68858         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68859                     Ulrich Drepper  <drepper@redhat.com>
68860
68861         [BZ #1302]
68862         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
68863         changed.
68864         (bitset_word_t): Renamed from bitset_word.  All uses changed.
68865
68866         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
68867
68868         [BZ #281]
68869         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
68870         * lib/regcomp.c: Remove unnecessary uses of
68871         unsigned RE_TRANSLATE_TYPE.
68872         * lib/regex_internal.h: Likewise.
68873         * lib/regex_internal.c: Likewise.
68874         * lib/regexec.c: Likewise.
68875         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
68876
68877         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
68878
68879         * lib/regexec.c (find_recover_state): Remove unnecessary
68880         initialization.
68881         (transit_state_bkref): Make DFA a const pointer.
68882         (get_subexp): Likewise.
68883         (check_arrival): Likewise.
68884         (update_cur_sifted_state): Likewise.
68885         (re_search_internal): Likewise.
68886         (prune_impossible_nodes): Likewise.
68887         (acquire_init_state_context): Likewise.
68888         (proceed_next_node): Likewise.
68889         (set_regs): Likewise.
68890         (free_fail_stack_return): Likewise.
68891         (check_arrival_expand_ecl): Mark DFA parameter as const.
68892         (check_arrival_expand_ecl_sub): Likewise.
68893         (check_subexp_limits): Likewise.
68894         (sub_epsilon_src_nodes):  Likewise.
68895         (add_epsilon_src_nodes):  Likewise.
68896         (merge_state_array): Likewise.
68897         (update_regs): Likewise.
68898         (build_trtable): Likewise.
68899         (sift_states_backward): Mark MCTX parameter as const.
68900         (build_sifted_states): Likewise.
68901         (update_cur_sifted_state): Likewise.
68902         (sift_states_mkref): Likewise.
68903         (check_arrival_expand_ecl): Mark eclosure as const.
68904         (check_dst_limits_calc_pos_1): Likewise.
68905         * lib/regex_internal.h (re_match_context_t): Make dfa a const
68906         pointer.
68907
68908         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
68909
68910         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
68911         (transit_state_sb): Likewise.
68912         (transit_state_mb): Likewise.
68913         (sift_states_iter_mb): Likewise.
68914         (check_arrival_add_next_nodes): Likewise.
68915         (check_node_accept_bytes): Change first parameter to pointer-to-const.
68916         [_LIBC] (re_search_2_stub): Use mempcpy.
68917
68918         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
68919         mbrtowc for very simple UTF-8 case.
68920
68921         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
68922         a pointer-to-const.
68923         (re_acquire_state_context): Likewise.
68924         * lib/regex_internal.h: Adjust prototypes.
68925
68926         * lib/regex.c: Prevent using C++ compilers.
68927
68928         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
68929         (re_acquire_state_context): Likewise.
68930
68931 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68932
68933         * modules/regex (Depends-on): Add ssize_t.
68934
68935 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68936
68937         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
68938         translation table.
68939
68940 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68941
68942         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
68943
68944 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
68945             Bruno Haible  <bruno@clisp.org>
68946
68947         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
68948         <sys/types.h> and <inttypes.h>.
68949
68950 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68951
68952         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
68953         `__error_t_defined', so argp.h will not typedef the former.
68954
68955 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
68956
68957         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
68958         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
68959         glibc names.  Even if glibc is changed to conform to POSIX, the
68960         traditional names will be available anyway, since regex depends on
68961         the extensions module.  Also, fix a longstanding typo in the
68962         implementation of Spencer ERE test #75 from grep 2.3.  Problems
68963         reported by Emanuele Giaquinta.  Also, change sense of cached
68964         variable, so that the message makes sense.
68965
68966 2006-03-24  Simon Josefsson  <jas@extundo.com>
68967
68968         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
68969         including some doc fixes.
68970         (base64_encode_alloc): Fix +1 bug on allocation failures.
68971
68972 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68973
68974         * lib/base64.c (base64_encode): Do not read past end of array with
68975         unsanitized input on systems with CHAR_BIT > 8.
68976
68977 2006-03-24  Eric Blake  <ebb9@byu.net>
68978
68979         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
68980
68981 2006-03-22  Karl Berry  <karl@gnu.org>
68982
68983         * config/srclist.txt (*setenv.[ch]): get from coreutils.
68984         * config/srclistvars.sh (COREUTILS): new var.
68985
68986 2006-03-17  Jim Meyering  <jim@meyering.net>
68987
68988         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
68989         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
68990
68991 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
68992
68993         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
68994         no longer needs it.  Instead, check that regoff_t is as least
68995         as wide as ptrdiff_t.
68996
68997         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
68998         so that our regex.h stays compatible with the installed regex.
68999         This is helpful for installers who configure --without-included-regex.
69000         Problem reported by Emanuele Giaquinta.
69001
69002 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
69003
69004         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
69005         Typedef to long int, not to off_, as POSIX will likely change
69006         in that direction.
69007
69008 2006-03-15  Eric Blake  <ebb9@byu.net>
69009
69010         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
69011
69012 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
69013
69014         * lib/argp-help.c (validate_uparams): Fix typo
69015         * lib/argp-parse.c (argp_default_options): Consistently begin help
69016         messages with a lowercase letter.
69017
69018 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
69019
69020         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
69021         overrun buffers and shouldn't be used (much as gets shouldn't be
69022         used).
69023         * lib/time_r.c (asctime_r, ctime_r): Likewise.
69024
69025 2006-03-08  Simon Josefsson  <jas@extundo.com>
69026
69027         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
69028         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69029
69030 2006-03-08  Simon Josefsson  <jas@extundo.com>
69031
69032         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
69033         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69034
69035 2006-03-08  Simon Josefsson  <jas@extundo.com>
69036
69037         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
69038         signal that configure disabled the device.
69039
69040 2006-03-08  Simon Josefsson  <jas@extundo.com>
69041
69042         * build-aux/maint.mk: Fix refresh-po, to handle no translated
69043         languages.
69044
69045 2006-03-07  Simon Josefsson  <jas@extundo.com>
69046
69047         * modules/getopt (Depends-on): Add unistd.
69048
69049         * modules/unistd: New file.
69050
69051 2006-03-07  Simon Josefsson  <jas@extundo.com>
69052
69053         * modules/gc-random: New file.
69054
69055 2006-03-07  Simon Josefsson  <jas@extundo.com>
69056
69057         * m4/unistd_h.m4: New file.
69058
69059 2006-03-07  Simon Josefsson  <jas@extundo.com>
69060
69061         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
69062         test to be side-effect free by storing the result in the cache
69063         variable gl_cv_lib_readline, and moving the assignment of
69064         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
69065         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69066
69067 2006-03-07  Simon Josefsson  <jas@extundo.com>
69068
69069         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
69070         error on missing devices (the functions will return an error).
69071
69072         * m4/gc.m4: Move random stuff to gc-random.m4
69073
69074 2006-03-07  Simon Josefsson  <jas@extundo.com>
69075
69076         * lib/unistd_.h: New file.
69077
69078 2006-03-07  Simon Josefsson  <jas@extundo.com>
69079
69080         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
69081
69082 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
69083
69084         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
69085         Problem reported by Juan Manuel Guerrero.
69086
69087 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
69088
69089         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
69090         the unistd module.
69091         * lib/getlogin_r.c: Likewise.
69092         * lib/getlogin_r.h: Likewise.
69093         * lib/glob.c: Likewise.
69094         * lib/pagealign_alloc.c: Likewise.
69095         * lib/unistd_.h: Remove; no longer needed.
69096
69097 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
69098
69099         * MODULES.html.sh (Support for systems lacking POSIX:2001):
69100         Add unistd.
69101         * modules/c-stack (Depends-on): Add unistd.
69102         * modules/getlogin_r: Likewise.
69103         * modules/glob: Likewise.
69104         * modules/pagealign_alloc: Likewise.
69105         * modules/unistd (Files): Remove lib/unistd_.h.
69106         (EXTRA_DIST): Remove.
69107         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
69108         need unistd_.h.
69109         (MOSTLYCLEANFILES): Remove unistd.h-t.
69110
69111 2006-03-03  Simon Josefsson  <jas@extundo.com>
69112
69113         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
69114
69115 2006-03-03  Simon Josefsson  <jas@extundo.com>
69116
69117         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
69118         libidn and bison.
69119
69120 2006-03-03  Simon Josefsson  <jas@extundo.com>
69121
69122         * build-aux/maint.mk: Add indent target.
69123
69124 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
69125
69126         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
69127         our replacement poll.h in any case, to avoid a differing
69128         declaration from a system header.  Seen on AIX.
69129
69130 2006-03-01  Simon Josefsson  <jas@extundo.com>
69131
69132         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
69133         <kasal@ucw.cz>.
69134
69135 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69136
69137         * modules/gettime (Depends-on): Add extensions module.
69138         * modules/nanosleep (Depends-on): Likewise.
69139         * modules/settime (Depends-on): Likewise.
69140
69141 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69142
69143         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
69144         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
69145         pedantically.
69146         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69147         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
69148
69149         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
69150         not "==".  Reported by Ralf Wildenhues.
69151
69152 2006-03-01  Karl Berry  <karl@gnu.org>
69153
69154         * doc/Copyright/request-*: new files, synced from gnuorg.
69155
69156 2006-03-01  Karl Berry  <karl@gnu.org>
69157
69158         * config/srclist.txt (Copyright/*): new entries.
69159
69160 2006-02-28  Simon Josefsson  <jas@extundo.com>
69161
69162         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
69163
69164 2006-02-27  Simon Josefsson  <jas@extundo.com>
69165
69166         * lib/base64.h: Indent #define's.  From Jim Meyering
69167         <jim@meyering.net>.
69168
69169 2006-02-27  Jim Meyering  <jim@meyering.net>
69170
69171         Revert the change of 2006-02-24, so these files can continue
69172         to be sync'd from gettext.
69173         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
69174         of `config.h'.
69175
69176 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
69177
69178         * modules/intprops: New file.
69179         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
69180         Add intprops.
69181         * modules/getloadavg (Files): Remove lib/intprops.h.
69182         (Depends-on): Add intprops.
69183         * modules/human: Likewise.
69184         * modules/inttostr: Likewise.
69185         * modules/openat: Likewise.
69186         * modules/sig2str: Likewise.
69187         * modules/userspec: Likewise.
69188         * modules/utimecmp: Likewise.
69189         * modules/xnanosleep: Likewise.
69190         * modules/xstrtol: Likewise.
69191
69192 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
69193
69194         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
69195         * modules/lock-tests (TESTS): Use $(EXEEXT).
69196         * modules/tls-tests: Likewise.
69197         * modules/argp-tests: Likewise.
69198         (check_PROGRAMS): New var, replacing...
69199         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
69200
69201 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69202
69203         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
69204         `config.h'.
69205
69206 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
69207
69208         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
69209
69210 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69211
69212         Sync from coreutils.
69213         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
69214         gl_CHDIR_SAFER.
69215
69216 2006-02-22  Jim Meyering  <jim@meyering.net>
69217
69218         Sync from coreutils.
69219         * m4/chdir-safer.m4: New file.
69220
69221 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
69222
69223         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
69224         AT_FDCWD exceeds INT_MAX.
69225         * lib/openat.h (AT_FDCWD): Likewise.
69226
69227 2006-02-17  Eric Blake  <address@hidden>
69228
69229         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
69230
69231 2006-02-16  Simon Josefsson  <jas@extundo.com>
69232
69233         * modules/getaddrinfo (Depends-on): Add sys_socket.
69234
69235 2006-02-15  Simon Josefsson  <jas@extundo.com>
69236
69237         * build-aux/maint.mk: Add dsyntax-check rule.
69238
69239 2006-02-15  Eric Blake  <ebb9@byu.net>
69240
69241         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
69242         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
69243         'present but cannot compile' warnings on cygwin.
69244         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
69245         use ws2tcpip.h if sys/socket.h works.
69246         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
69247         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
69248
69249 2006-02-14  Simon Josefsson  <jas@extundo.com>
69250
69251         * modules/maintainer-makefile (Files): Rename.
69252
69253         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
69254         and (the local) Makefile.cfg to maint-cfg.mk.
69255
69256         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
69257         to the latter.
69258
69259         * modules/maintainer-makefile: New module.
69260
69261         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
69262         severaly stripped to make it possible to build it up from scratch
69263         with reliable tests.
69264
69265         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
69266         fixes to permit overriding the default actions when configure and
69267         makefile are not available.
69268
69269 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
69270
69271         Sync from coreutils.
69272         * modules/lstat (Depends-on): Don't depend on xalloc.
69273         (License): Change from GPL to LGPL, since this is now simply a
69274         replacement for a libc function.
69275
69276 2006-02-14  Jim Meyering  <jim@meyering.net>
69277
69278         Sync from coreutils.
69279
69280         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
69281         failure on deficient systems, and simplify gnulib lgpl dependencies.
69282         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
69283         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
69284
69285         * lib/xalloc-die.c: Remove unused definition of N_.
69286
69287 2006-02-14  Jim Meyering  <jim@meyering.net>
69288
69289         Sync from coreutils.
69290         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
69291         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
69292         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
69293         double-quote uses of that variable, to accommodate the rare case in
69294         which getmntent is available in none of the libraries checked.  This
69295         happens at least on FreeBSD 5.0.
69296
69297 2006-02-13  Simon Josefsson  <jas@extundo.com>
69298
69299         * gnulib-tool (Usage): Fix --import, from
69300         karl@freefriends.org (Karl Berry).
69301
69302 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
69303
69304         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
69305
69306 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
69307
69308         * lib/argp-namefrob.h: Restore changes accidentally lost during the
69309         "autoupdate" on 2005-12-12.
69310
69311 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
69312
69313         * modules/closeout (Depends-on): Remove atexit.
69314
69315 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
69316
69317         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
69318         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
69319
69320 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69321
69322         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
69323         __EXTENSIONS__ if this causes compilation to fail.  Problem
69324         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
69325         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
69326
69327 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
69328
69329         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
69330         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
69331         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
69332         All uses changed.
69333
69334 2006-01-26  Simon Josefsson  <jas@extundo.com>
69335
69336         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
69337         prototype is visible on mingw32.
69338
69339         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
69340         for mingw32.
69341
69342         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
69343         mingw32).
69344
69345 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
69346
69347         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
69348         attempt to open for write; this always fails, at least on POSIX
69349         hosts.  This reinstates the 2006-01-09 change, which was
69350         inadvertently removed.
69351
69352 2006-01-26  Bruno Haible  <bruno@clisp.org>
69353
69354         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
69355         Reported by Paul Eggert.
69356
69357 2006-01-26  Bruno Haible  <bruno@clisp.org>
69358             Paul Eggert  <eggert@cs.ucla.edu>
69359
69360         * lib/stdbool_.h (_Bool)
69361         [(! (defined __cplusplus || defined __BEOS__)
69362           && !defined __GNUC__
69363           && !(defined __HP_cc || defined __xlc__
69364                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
69365                || defined __sgi))]:
69366         #define to signed char in these cases too; this simplifies
69367         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
69368         etc., separately) and makes it more conservative.
69369
69370 2006-01-25  Simon Josefsson  <jas@extundo.com>
69371
69372         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
69373         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
69374         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
69375
69376 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
69377
69378         * lib/argp-namefrob.h: Bugfix. Remove stray #
69379
69380 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
69381
69382         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
69383         so that we test the test.
69384         Check for yet another HP-UX cc bug involving *bool |= bool.
69385
69386 2006-01-25  Karl Berry  <karl@gnu.org>
69387
69388         * config/srclist.txt (vasnprintf.c): sync lost.
69389
69390 2006-01-25  Jim Meyering  <jim@meyering.net>
69391
69392         Sync from the stable (b5) branch of coreutils:
69393
69394         * lib/fts.c (fts_children): Don't let close() clobber errno from
69395         failed fchdir().
69396
69397         * lib/fts.c (fts_stat): When following a symlink-to-directory,
69398         don't necessarily interpret stat-fails+lstat-succeeds as indicating
69399         a dangling symlink.  That can also happen at least for ELOOP.
69400         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
69401         FYI, this bug predates the inclusion of fts.c in coreutils.
69402
69403         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
69404         in their own block, so pre-c99 compilers don't object.
69405
69406         Avoid the double-free (first in fts_read, second in fts_close) that
69407         would occur when an `active' directory is made inaccessible (e.g.,
69408         via chmod a-x) during a traversal.
69409         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
69410         before returning.  Reproduce this failure by
69411         mkdir -p a/b; cd a; chmod a-x . b
69412         Reported by Stavros Passas.
69413
69414 2006-01-25  Jim Meyering  <jim@meyering.net>
69415
69416         * lib/fileblocks.c: Remove more useless parentheses.
69417         * lib/readutmp.h: Likewise.
69418
69419 2006-01-25  Bruno Haible  <bruno@clisp.org>
69420
69421         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
69422         warnings.
69423         Reported by Paul Eggert.
69424
69425 2006-01-25  Bruno Haible  <bruno@clisp.org>
69426
69427         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
69428         rid of a trap command. For Solaris sh.
69429         Reported by Mark D. Baushke <mdb@gnu.org>.
69430
69431 2006-01-24  Simon Josefsson  <jas@extundo.com>
69432
69433         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
69434         Bruno.
69435
69436 2006-01-24  Karl Berry  <karl@gnu.org>
69437
69438         * config/srclist.txt (argp-namefrob.h): sync lost.
69439
69440 2006-01-24  Jim Meyering  <jim@meyering.net>
69441
69442         * modules/openat (Files): Add lib/intprops.h.
69443         From Mark D. Baushke.
69444
69445 2006-01-24  Jim Meyering  <jim@meyering.net>
69446
69447         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
69448         Reported by Mark D. Baushke.
69449
69450 2006-01-24  Jim Meyering  <jim@meyering.net>
69451
69452         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
69453
69454 2006-01-24  Bruno Haible  <bruno@clisp.org>
69455
69456         * modules/strnlen (Maintainer): Change from glibc to all.
69457
69458 2006-01-24  Bruno Haible  <bruno@clisp.org>
69459
69460         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
69461         Patch by Paul Eggert.
69462
69463 2006-01-24  Bruno Haible  <bruno@clisp.org>
69464
69465         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
69466         already has it.
69467         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
69468         2005-11-26.
69469
69470         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
69471         'signed char' to avoid problems with the built-in _Bool type.
69472         Reported by Paul Eggert on 2005-11-26.
69473
69474 2006-01-24  Bruno Haible  <bruno@clisp.org>
69475
69476         * gnulib-tool (func_import): Avoid constructing complicated sed
69477         expressions inside backquote.
69478         Report and solution by Mark D. Baushke <mdb@gnu.org>.
69479
69480 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
69481
69482         These changes imported from libc.
69483         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
69484         test and two separate function calls.
69485         * lib/strndup.c (__strndup): Add libc_hidden_def.
69486
69487 2006-01-23  Simon Josefsson  <jas@extundo.com>
69488
69489         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
69490         Remove the test_*_SOURCES variable: automake infers it by default.
69491         * modules/tls-tests: Likewise.
69492
69493 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69494
69495         Work around porting bugs reported by Dieter in
69496         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
69497         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
69498         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
69499         Include "getopt.h" first, to check interface.
69500         (getenv): Declare only if defined HAVE_DECL_GETENV &&
69501         !HAVE_DECL_GETENV.
69502         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
69503         (__strndup): Revert to K&R-style function dfns, the glibc style.
69504         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
69505         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
69506         Include strnlen.h first, to get prototype properly.
69507         (strnlen): Renamed from __strnlen.
69508         Remove weak alias.
69509
69510 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69511
69512         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
69513
69514 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69515
69516         * config/srclist.txt: Adjust to reflect glibc reorganization.
69517         This affects only comments.
69518
69519 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69520
69521          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
69522          Reported by Bruce Korb <bkorb@gnu.org>.
69523
69524 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
69525
69526         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
69527         to pacify gcc -Wswitch-default.
69528
69529 2006-01-22  Bruno Haible  <bruno@clisp.org>
69530
69531         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
69532         temporary buffer for sprintf, take into account the precision also
69533         for 'd', 'i', 'u', 'o', 'x', 'X'.
69534
69535 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
69536
69537         * modules/argp-tests: New module
69538         * tests/test-argp.c: New file
69539         * tests/test-argp-2.sh: New file
69540
69541 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
69542
69543         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
69544         (__argp_base_name): Removed
69545         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
69546         typo.
69547         (__argp_base_name): Provide macro definition or extern declaration
69548         depending on the configuration
69549
69550 2006-01-20  Simon Josefsson  <jas@extundo.com>
69551
69552         * modules/inet_ntop (Depends-on): Depend on sys_socket.
69553
69554 2006-01-20  Simon Josefsson  <jas@extundo.com>
69555
69556         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
69557
69558 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69559
69560         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
69561         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
69562         Suggested by Bruno Haible.
69563
69564 2006-01-20  Karl Berry  <karl@gnu.org>
69565
69566         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
69567         until changes propagate, I guess.
69568
69569 2006-01-19  Simon Josefsson  <jas@extundo.com>
69570
69571         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
69572
69573 2006-01-19  Simon Josefsson  <jas@extundo.com>
69574
69575         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
69576
69577 2006-01-19  Simon Josefsson  <jas@extundo.com>
69578
69579         * gnulib-tool: Set check_PROGRAMS.
69580
69581         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
69582         modules/des-tests, modules/gc-arcfour-tests,
69583         modules/gc-arctwo-tests, modules/gc-des-tests,
69584         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
69585         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
69586         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
69587         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
69588         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
69589         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
69590         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
69591         test_*_SOURCES.
69592
69593 2006-01-18  Simon Josefsson  <jas@extundo.com>
69594
69595         * modules/socklen (Depends-on): Depend on sys_socket.
69596
69597 2006-01-18  Simon Josefsson  <jas@extundo.com>
69598
69599         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
69600         modules/des-tests, modules/gc-arcfour-tests,
69601         modules/gc-arctwo-tests, modules/gc-des-tests,
69602         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
69603         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
69604         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
69605         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
69606         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
69607         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
69608         $(EXEEXT) to automake TESTS variable, for mingw32.
69609
69610 2006-01-17  Simon Josefsson  <jas@extundo.com>
69611
69612         * modules/socklen (Include): Need sys/socket.h.
69613
69614 2006-01-17  Bruno Haible  <bruno@clisp.org>
69615
69616         * modules/ssize_t (Include): Add <sys/types.h>.
69617
69618 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
69619
69620         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
69621         it's not portable and it doesn't work with cross-compiles.
69622         Problem reported by Bruno Haible.  Fix missing-$ typo in
69623         'test "gl_cv_ignore_unused_libraries" ...' that prevented
69624         -zignore from being used with Sun's C compiler.
69625
69626 2006-01-12  Simon Josefsson  <jas@extundo.com>
69627
69628         * lib/base64.c: Fix warning, reported by Bruno Haible
69629         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
69630
69631 2006-01-12  Bruno Haible  <bruno@clisp.org>
69632
69633         * modules/ldd: New file.
69634         * build-aux/ldd.sh.in: New file.
69635         * MODULES.html.sh (Support for building libraries and executables): Add
69636         ldd.
69637
69638 2006-01-12  Bruno Haible  <bruno@clisp.org>
69639
69640         * m4/ldd.m4: New file.
69641
69642 2006-01-12  Bruno Haible  <bruno@clisp.org>
69643
69644         * gnulib-tool (func_import, func_create_testdir): Don't go into an
69645         endless loop while replacing $auxdir with build-aux.
69646
69647 2006-01-11  Simon Josefsson  <jas@extundo.com>
69648
69649         * lib/stdint_.h (SIZE_MAX): Add missing (.
69650
69651 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
69652
69653         Sync from coreutils.
69654         * lib/md5.c: Fix commentary typos.
69655         (alignof, UNALIGNED_P): No need for a GCC-specific version.
69656         * lib/md5.h (__attribute__): Remove; unused.
69657         * lib/sha1.c: Fix commentary to match md5 better.
69658         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
69659         so that we don't need to worry about alignment.  All uses changed.
69660         This merges the 2005-10-28 md5 change into sha1.
69661
69662 2006-01-11  Jim Meyering  <jim@meyering.net>
69663
69664         Sync from coreutils.
69665         * lib/md5.c (OP): Fix spacing.
69666
69667 2006-01-11  Bruno Haible  <bruno@clisp.org>
69668
69669         Ensure automatic ordering between gl_LOCK and gl_ARGP.
69670         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
69671         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
69672
69673 2006-01-11  Bruno Haible  <bruno@clisp.org>
69674
69675         Ensure automatic ordering between gl_LOCK and gl_ARGP.
69676         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
69677         the "early" section as well.
69678
69679 2006-01-11  Bruno Haible  <bruno@clisp.org>
69680
69681         Avoid "ar: no archive members specified" error on MacOS X.
69682         * gnulib-tool (func_modules_add_dummy): New function.
69683         (func_import, func_create_testdir): Invoke it.
69684
69685 2006-01-11  Bruno Haible  <bruno@clisp.org>
69686
69687         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
69688         with $auxdir in AC_CONFIG_FILES statements.
69689
69690 2006-01-11  Bruno Haible  <bruno@clisp.org>
69691
69692         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69693         Initialize also noinst_HEADERS to empty.
69694
69695 2006-01-11  Bruno Haible  <bruno@clisp.org>
69696
69697         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
69698         variables.
69699         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
69700         autoreconf.
69701
69702 2006-01-11  Bruno Haible  <bruno@clisp.org>
69703
69704         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
69705         overridable by the user.
69706         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69707
69708 2006-01-10  Simon Josefsson  <jas@extundo.com>
69709
69710         * modules/sys_socket: New file.
69711
69712 2006-01-10  Simon Josefsson  <jas@extundo.com>
69713
69714         * m4/sys_socket_h.m4: New file.
69715
69716 2006-01-10  Simon Josefsson  <jas@extundo.com>
69717
69718         * lib/socket_.h: New file.
69719
69720 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69721
69722         * modules/readutmp (Maintainer): Add myself.
69723
69724 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69725
69726         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
69727         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
69728         People who are still concerned with buggy memcmp implementations
69729         can invoke gl_FUNC_MEMCMP themselves.
69730
69731 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69732
69733         * lib/regex_internal.h (BITSET_WORD_BITS):
69734         Work around a bug in 64-bit PGC (before version 6.1-2), where the
69735         preprocessor mishandles large unsigned values as if they were signed.
69736         Problem reported by Claudio Fontana in
69737         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
69738
69739 2006-01-10  Jim Meyering  <jim@meyering.net>
69740
69741         Avoid the double-free (first in fts_read, second in fts_close) that
69742         would occur when an `active' directory is made inaccessible (e.g.,
69743         via chmod a-x) during a traversal.
69744         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
69745         before returning.  Reproduce this failure by
69746         mkdir -p a/b; cd a; chmod a-x . b
69747         Reported by Stavros Passas.
69748
69749         Sync from coreutils.
69750         * lib/sha1.c: Tweak grammar in a comment.
69751
69752 2006-01-10  Jim Meyering  <jim@meyering.net>
69753
69754         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
69755         Patch by Joerg Sonnenberger.
69756
69757 2006-01-10  Bruno Haible  <bruno@clisp.org>
69758
69759         * modules/readutmp: Depend on module free.
69760         * modules/strtok_r: Depend on module restrict.
69761
69762 2006-01-10  Bruno Haible  <bruno@clisp.org>
69763
69764         * modules/gettext (configure.ac): Add an invocation of
69765         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
69766
69767 2006-01-10  Bruno Haible  <bruno@clisp.org>
69768
69769         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
69770         Reported by Werner Lemberg <wl@gnu.org>.
69771
69772 2006-01-10  Bruno Haible  <bruno@clisp.org>
69773
69774         * lib/localcharset.c: Update from GNU gettext.
69775
69776 2006-01-10  Bruno Haible  <bruno@clisp.org>
69777
69778         * lib/argp.h (__const): Remove macro. Use const instead.
69779         * lib/argp-fmtstream.h (__const): Likewise.
69780         * lib/glob_.h (__const): Remove macro.
69781         * lib/glob-libc.h: Use const instead of __const.
69782
69783 2006-01-10  Bruno Haible  <bruno@clisp.org>
69784
69785         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
69786         variable.
69787         Needed to avoid an automake error regarding the 'gettext' module.
69788
69789 2006-01-09  Simon Josefsson  <jas@extundo.com>
69790
69791         * modules/inet_ntop (Depends-on): Add restrict.
69792
69793 2006-01-09  Simon Josefsson  <jas@extundo.com>
69794
69795         * modules/gc-rijndael-tests (License): Put under LGPL.
69796
69797         * modules/gc-des-tests (License): Likewise.
69798
69799         * modules/gc-arcfour-tests (License): Likewise.
69800
69801         * modules/gc-arctwo-tests (License): Likewise.
69802
69803         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
69804
69805         * modules/gc-hmac-sha1-tests (Files): Likewise.
69806
69807         * modules/gc-hmac-md5-tests (License): Likewise.
69808
69809         * modules/gc-sha1-tests (License): Likewise.
69810
69811         * modules/gc-md5-tests (License): Likewise.
69812
69813         * modules/gc-md4-tests (License): Likewise.
69814
69815         * modules/gc-md2-tests (License): Likewise.
69816
69817         * modules/gc-tests (License): Likewise.
69818
69819         * modules/des-tests (License): Likewise.
69820
69821         * modules/md4-tests (License): Likewise.
69822
69823         * modules/md2-tests (License): Likewise.
69824
69825 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69826
69827         Sync from coreutils:
69828
69829         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
69830         * modules/lib-ignore: New file.
69831         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
69832         chdir-safer.m4, lchmod.m4.
69833         * modules/openat: Add mkdirat.c, openat-priv.h.
69834
69835 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69836
69837         Sync from coreutils.
69838         * m4/lib-ignore.m4: New file.
69839         * m4/lchmod.m4: New file.
69840
69841 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69842
69843         Sync from coreutils.
69844         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
69845         for write access: POSIX says that must fail.
69846         * lib/fts.c (diropen): Likewise.
69847         * lib/save-cwd.c (save_cwd): Likewise.
69848         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
69849         well, for minor improvements on hosts that lack O_DIRECTORY.
69850         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
69851         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
69852         Fall back on chown if open failed with EACCES.
69853
69854         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
69855         Report an error at compile-time if only a 1-second nominal clock
69856         resolution is found.
69857
69858         * lib/lchmod.h: New file.
69859         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
69860         (make_dir_parents): Use lchown rather than chown, and
69861         lchmod rather than chmod.
69862
69863         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
69864         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
69865         "proc" reported by n0dalus.
69866
69867         * lib/mountlist.c: Include <limits.h>.
69868         (dev_from_mount_options)
69869         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
69870         New function.  It no longer assumes "dev=" has the System V meaning
69871         on Linux (since it doesn't).  It also parses "dev=" more carefully.
69872         (read_file_system_list)
69873         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
69874         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
69875         dev= in that case.
69876
69877         * lib/posixtm.h (PDS_PRE_2000): New macro.
69878         * lib/posixtm.c (year): Arg is now syntax_bits rather than
69879         allow_century.  All usages changed.  Reject dates outside the range
69880         1969-1999 if PDS_PRE_2000 is used.
69881
69882 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69883
69884         Sync from coreutils.
69885         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
69886         (Time of day items): Mention the possibility of leap seconds.
69887         Problem reported by Dr. David Alan Gilbert.
69888
69889 2006-01-09  Jim Meyering  <jim@meyering.net>
69890
69891         Sync from coreutils.
69892
69893         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
69894
69895         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
69896
69897         * lib/modechange.c (mode_compile): Reject an invalid mode string
69898         that starts with an octal digit.  From Andreas Gruenbacher.
69899
69900         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
69901         and dup to open_safer and dup_safer, respectively.
69902         (openat_permissive): Fix typo in comment.
69903
69904         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
69905         "gettext.h"; either no longer needed or are guaranteed by openat.h.
69906         (_): Remove; no longer needed.
69907         (openat): Renamed from rpl_openat; no need for rpl_openat
69908         since openat.h renames openat for us.
69909         Replace most of the body with a call to openat_permissive,
69910         to avoid duplicate code.
69911         Port to (probably hypothetical) environments were mode_t is
69912         wider than int.
69913         (openat_permissive): Require mode arg, so that we can check
69914         types better.  Put it just after flags.  Change cwd failure
69915         indicator from pointer-to-bool to pointer-to-errno-value.
69916         All callers changed.
69917         Invoke openat_save_fail and/or openat_restore_fail if
69918         cwd_errno is null, so that openat can call us.
69919         (openat_permissive, fdopendir, fstatat, unlinkat):
69920         Simplify errno handling to avoid some duplicate code,
69921         as it's OK to set errno on success.
69922         * lib/openat.h: Revamp code so that function macros depend on
69923         __OPENAT_PREFIX only, not also on AT_FDCWD.
69924         (openat_ro): Remove.  Caller changed to use openat_permissive.
69925         (openat_permissive): Now a macro, if not a function.
69926         (openat_restore_fail, openat_save_fail): Now always functions,
69927         since mkdirat needs them even if __OPENAT_PREFIX is defined.
69928
69929         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
69930         and openat.c.
69931         * lib/mkdirat.c: Include openat-priv.h.
69932         Remove definitions of macros defined therein.
69933         * lib/openat.c: Likewise.
69934
69935         * lib/mkdirat.c (mkdirat): New file and function.
69936         * lib/openat.h (mkdirat): Declare.
69937
69938         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
69939
69940         * lib/openat.h (openat_permissive): Declare.
69941         (openat_ro): Define.
69942
69943         * lib/openat.c (EXPECTED_ERRNO): New macro.
69944         (openat_permissive): New function -- used in remove.c rewrite.
69945         (all functions): Set errno just before returning, only if there
69946         was an actual failure.
69947         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
69948
69949         Emulate openat-family functions using Linux's procfs, if possible.
69950         Idea and some code based on Ulrich Drepper's glibc changes.
69951
69952         * lib/openat.c: (BUILD_PROC_NAME): New macro.
69953         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
69954         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
69955         before falling back on save_cwd and restore_cwd.
69956         (fdopendir, fstatat, unlinkat): Likewise.
69957
69958         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
69959         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
69960
69961         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
69962         as second argument to va_arg.  Otherwise, some versions of gcc
69963         warn that `if this code is reached, the program will abort'.
69964
69965 2006-01-09  Jim Meyering  <jim@meyering.net>
69966
69967         Sync from coreutils.
69968         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
69969         Require openat-priv.h.
69970
69971 2006-01-09  Bruno Haible  <bruno@clisp.org>
69972
69973         * modules/strnlen (Include): Use strnlen.h.
69974
69975 2006-01-09  Bruno Haible  <bruno@clisp.org>
69976
69977         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
69978
69979 2006-01-09  Bruno Haible  <bruno@clisp.org>
69980
69981         * lib/sysexit_.h (EX_OK): New macro.
69982         Suggested by Martin Lambers <marlam@marlam.de>.
69983
69984 2006-01-09  Bruno Haible  <bruno@clisp.org>
69985
69986         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
69987         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
69988
69989 2006-01-09  Bruno Haible  <bruno@clisp.org>
69990
69991         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
69992         numbers.
69993
69994 2006-01-09  Bruno Haible  <bruno@clisp.org>
69995
69996         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
69997         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
69998         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
69999         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
70000
70001 2006-01-09  Bruno Haible  <bruno@clisp.org>
70002
70003         * build-aux/javacomp.sh.in: New file, moved from lib/.
70004         * modules/javacomp-script (Files): Update.
70005         (configure.ac): Add AC_CONFIG_FILES invocation.
70006         (EXTRA_DIST): Remove variable.
70007
70008         * build-aux/javaexec.sh.in: New file, moved from lib/.
70009         * modules/javaexec (Files): Update.
70010         (configure.ac): Add AC_CONFIG_FILES invocation.
70011         (EXTRA_DIST): Remove javaexec.sh.in.
70012
70013         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
70014         * modules/csharpcomp-script (Files): Update.
70015         (configure.ac): Add AC_CONFIG_FILES invocation.
70016         (EXTRA_DIST): Remove variable.
70017
70018         * build-aux/csharpexec.sh.in: New file, moved from lib/.
70019         * modules/csharpexec (Files): Update.
70020         (configure.ac): Add AC_CONFIG_FILES invocation.
70021         (EXTRA_DIST): Remove csharpexec.sh.in.
70022
70023 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
70024
70025         Sync from coreutils.
70026
70027         Add POSIX ACL support
70028         * lib/acl.h (copy_acl, set_acl): Add declarations.
70029         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
70030         systems other than Linux.
70031         (chmod_or_fchmod): New function: use fchmod when possible,
70032         and chmod otherwise.
70033         (file_has_acl): Add a POSIX ACL implementation, with a
70034         Linux-specific subcase.
70035         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
70036         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
70037         acls are unsupported.
70038         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
70039         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
70040         are unsupported.
70041
70042 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
70043
70044         Sync from coreutils.
70045         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
70046
70047 2006-01-07  Bruno Haible  <bruno@clisp.org>
70048
70049         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
70050         gl_EARLY.
70051
70052 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70053
70054         * lib/strftime.c (tzname): Don't declare if it is already #defined.
70055         Problem reported for Mingw by Mark Junker.
70056
70057 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70058
70059         * README: Gnulib normally doesn't generate a tarball.
70060
70061 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
70062
70063         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
70064         long int, not int, for nanosecond counts, so that people who are
70065         used to POSIX struct timespec won't be surprised.  Reported by Jim
70066         Meyering.
70067
70068 2005-12-28  Bruno Haible  <bruno@clisp.org>
70069
70070         * build-aux/config.rpath: Update from GNU gettext.
70071
70072 2005-12-16  Jim Meyering  <jim@meyering.net>
70073
70074         * modules/fprintftime: New module.
70075         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
70076
70077 2005-12-16  Jim Meyering  <jim@meyering.net>
70078
70079         * m4/fprintftime.m4: New file.
70080
70081 2005-12-16  Jim Meyering  <jim@meyering.net>
70082
70083         * lib/fprintftime.c, lib/fprintftime.h: New files.
70084
70085 2005-12-15  Simon Josefsson  <jas@extundo.com>
70086
70087         * modules/socklen (configure.ac): Fix M4 macro name, to align with
70088         new m4/socklen.m4.
70089
70090 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70091
70092         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
70093         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
70094
70095 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70096
70097         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
70098         * lib/argp-help.c (fill_in_uparams): Check if the constructed
70099         struct uparams is valid. Fall back to the default values if it is
70100         not.
70101
70102 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70103
70104         * modules/argp (Files): Add argp-pin.c
70105         (Depends-on): dirname
70106         (lib_SOURCES): Add argp-pin.c
70107
70108 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70109
70110         * m4/argp.m4:  Check if program_invocation_name and
70111         program_invocation_short_name are declared and define appropriate
70112         macros if they are not.
70113
70114 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70115
70116         * lib/argp-help.c (__argp_base_name): New function
70117         (__argp_short_program_name): Rewrite using __argp_base_name
70118         * lib/argp-namefrob.h: Define program_invocation_name and
70119         program_invocation_short_name if requested
70120         (__argp_base_name): Add prototype
70121         * lib/argp-parse.c (argp_def): Use gettext wrappers
70122         (argp_default_parser): Use __argp_base_name
70123         * lib/argp-pin.c: New file. Defines program_invocation_name and
70124         program_invocation_short_name on systems that lack them.
70125
70126 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
70127
70128         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
70129         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
70130         porting problem reported by Georg Schwarz in
70131         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
70132
70133 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
70134
70135         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
70136         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
70137         porting problem reported by Georg Schwarz in
70138         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
70139
70140 2005-12-05  Bruno Haible  <bruno@clisp.org>
70141
70142         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
70143         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
70144         Reported by Mark Junker <mjscod@gmx.de>.
70145
70146 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
70147
70148         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
70149         Use implementation from Albert Chin, with some
70150         comments/corrections by Stepan Kasal and myself.
70151
70152 2005-12-02  Bruno Haible  <bruno@clisp.org>
70153
70154         * gnulib-tool (func_import): Accept GPLed build tool modules when
70155         --lgpl is given.
70156         * modules/csharpcomp-script: New file.
70157         * modules/csharpcomp: Depend on it.
70158         * modules/javacomp-script: New file.
70159         * modules/javacomp: Depend on it.
70160         Suggested by Simon Josefsson.
70161
70162 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
70163
70164         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
70165         statement, to work around an HP-UX 10.20 compiler bug reported by
70166         Peter O'Gorman.
70167
70168 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
70169
70170         * modules/savedir (Depends-on): Add openat.
70171
70172 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
70173
70174         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
70175         (uintmax_t) [defined uintmax_t]: Do not declare.
70176         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
70177         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
70178         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
70179         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
70180         sake of portability to weird hosts that C allows (though we don't
70181         know of any practical examples).
70182
70183         * lib/savedir.h (fdsavedir): New decl.
70184         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
70185         contains most of the former guts of savedir.
70186         (savedir): Use savedirstream.
70187         Include "openat.h".
70188
70189 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
70190
70191         * modules/obstack (Files): Add m4/ulonglong.m4.
70192         Problem reported by Davide Angelocola.
70193
70194 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
70195
70196         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
70197         coreutils no longer futzes with rounding modes.
70198
70199 2005-11-14  Jim Meyering  <jim@meyering.net>
70200
70201         * lib/mkstemp-safer.c: Include <config.h>, required for possible
70202         replacement of mkstemp.
70203
70204 2005-11-10  Simon Josefsson  <jas@extundo.com>
70205
70206         * lib/readline.c: Remove EOL.
70207
70208 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70209
70210         * modules/gethrxtime (Depends-on): Add gettime.
70211
70212 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70213
70214         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
70215         or gettimeofday; no longer needed.
70216
70217 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70218
70219         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
70220         time business.
70221         (gethrxtime) [! (HAVE_NANOUPTIME
70222         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
70223         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
70224         our own approximation.
70225
70226 2005-11-08  Eric Blake  <ebb9@byu.net>
70227
70228         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
70229
70230 2005-11-08  Eric Blake  <ebb9@byu.net>
70231
70232         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
70233
70234 2005-11-04  Bruno Haible  <bruno@clisp.org>
70235
70236         * gnulib-tool: Implement --update mode.
70237
70238 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70239
70240         Fix porting problem reported by Theodoros V. Kalamatianos.
70241         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
70242         Don't assume that futimes failing means we must fail.
70243
70244 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70245
70246         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
70247         variables to suggest the intended function of the PATH_MAX check.
70248
70249 2005-10-30  Kean Johnston  <jkj@sco.com>
70250
70251         Trivial changes to support SCO systems.
70252         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
70253         as PATH_MAX.
70254         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
70255         where __ptr is null when no I/O is pending.
70256
70257 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70258
70259         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
70260         leave errno alone.  Problem reported by Dmitry V. Levin.
70261
70262 2005-10-28  Simon Josefsson  <jas@extundo.com>
70263
70264         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
70265         Test more.
70266
70267         * tests/test-gc-md2.c, tests/test-md2.c: New files.
70268
70269         * modules/md2, modules/md2-tests: New files.
70270
70271 2005-10-28  Simon Josefsson  <jas@extundo.com>
70272
70273         * m4/inet_ntop.m4: More tests.
70274
70275         * m4/gc-md2.m4, md2.m4: New file.
70276
70277 2005-10-28  Simon Josefsson  <jas@extundo.com>
70278
70279         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
70280         "restrict" keywords, as per POSIX.  Protect the function
70281         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
70282         Don't use K&R prototypes.  Check the sprintf return values.
70283         Re-define EAFNOSUPPORT if not present.  Indent.
70284
70285         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
70286         suggested by Bruno Haible <bruno@clisp.org>.
70287
70288         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
70289
70290         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
70291
70292         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
70293         libgcrypt).
70294
70295         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
70296
70297         * lib/md2.h, lib/md2.c: New files.
70298
70299 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
70300
70301         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
70302         errno alone.  Problem reported by Frederic Jolliton.
70303
70304 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70305
70306         * modules/verify (License): Change from GPL to LGPL.  This is a
70307         tiny module and there are apparently near-equivalents that are
70308         under the BSD license.
70309
70310 2005-10-24  Simon Josefsson  <jas@extundo.com>
70311
70312         * modules/sha1: Relicense to LGPL.
70313
70314 2005-10-24  Simon Josefsson  <jas@extundo.com>
70315
70316         * lib/md4.h: Shrink buffer size, now that we changed the type.
70317
70318 2005-10-23  Simon Josefsson  <jas@extundo.com>
70319
70320         * gnulib-tool (func_import): Fix --tests-base.
70321
70322 2005-10-22  Simon Josefsson  <jas@extundo.com>
70323
70324         * modules/arcfour (Depends-on): Need stdint.
70325
70326 2005-10-22  Simon Josefsson  <jas@extundo.com>
70327
70328         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
70329         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
70330
70331 2005-10-22  Simon Josefsson  <jas@extundo.com>
70332
70333         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
70334         suggested by Bruno Haible <bruno@clisp.org>.
70335
70336 2005-10-22  Simon Josefsson  <jas@extundo.com>
70337
70338         * lib/crc.h: Include stddef.h, for size_t.
70339
70340 2005-10-22  Simon Josefsson  <jas@extundo.com>
70341
70342         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
70343         arcfour_context struct (simplify test vector testing in GNU
70344         Shishi).
70345
70346 2005-10-21  Simon Josefsson  <jas@extundo.com>
70347
70348         * modules/des, modules/des-tests: New files.
70349
70350         * modules/gc-des, modules/gc-des-tests: New files.
70351
70352         * tests/test-des.c, tests/test-gc-des.c: New file.
70353
70354 2005-10-21  Simon Josefsson  <jas@extundo.com>
70355
70356         * modules/arctwo, modules/arctwo-tests: New files.
70357
70358         * tests/test-arctwo.c: New file.
70359
70360         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
70361
70362         * tests/test-gc-arctwo.c: New file.
70363
70364 2005-10-21  Simon Josefsson  <jas@extundo.com>
70365
70366         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
70367         Bruno Haible <bruno@clisp.org>.
70368
70369         * m4/gc-des.m4: New file.
70370
70371 2005-10-21  Simon Josefsson  <jas@extundo.com>
70372
70373         * m4/arctwo.m4: New file.
70374
70375         * m4/gc-arctwo.m4: New file.
70376
70377 2005-10-21  Simon Josefsson  <jas@extundo.com>
70378
70379         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
70380         block.
70381
70382 2005-10-21  Simon Josefsson  <jas@extundo.com>
70383
70384         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
70385         <bruno@clisp.org>.
70386
70387         * lib/hmac-sha1.c (hmac_sha1): Likewise.
70388
70389         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
70390         Bruno Haible <bruno@clisp.org>.
70391
70392         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
70393         <bruno@clisp.org>.
70394
70395 2005-10-21  Simon Josefsson  <jas@extundo.com>
70396
70397         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
70398
70399 2005-10-21  Simon Josefsson  <jas@extundo.com>
70400
70401         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
70402
70403 2005-10-21  Simon Josefsson  <jas@extundo.com>
70404
70405         * lib/des.h, lib/des.c: New files.
70406
70407         * lib/gc-gnulib.c: Support DES.c
70408
70409 2005-10-21  Simon Josefsson  <jas@extundo.com>
70410
70411         * lib/arctwo.h, lib/arctwo.c: New files.
70412
70413         * lib/gc-gnulib.c: Support ARCTWO.
70414
70415 2005-10-21  Simon Josefsson  <jas@extundo.com>
70416
70417         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
70418         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70419
70420 2005-10-21  Simon Josefsson  <jas@extundo.com>
70421
70422         * gnulib-tool (func_import, func_create_testdir): Define automake
70423         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
70424         Makefile.am snippet),
70425         suggested by Bruno Haible <bruno@clisp.org>.
70426
70427         * modules/gc (Makefile.am): Use it.
70428
70429 2005-10-21  Bruno Haible  <bruno@clisp.org>
70430
70431         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
70432         patch.
70433
70434 2005-10-19  Simon Josefsson  <jas@extundo.com>
70435
70436         * tests/test-gc-rijndael.c: New file.
70437
70438         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
70439
70440 2005-10-19  Simon Josefsson  <jas@extundo.com>
70441
70442         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
70443         interface too.
70444
70445 2005-10-19  Simon Josefsson  <jas@extundo.com>
70446
70447         * tests/test-gc-arcfour.c: New file.
70448
70449         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
70450
70451 2005-10-19  Simon Josefsson  <jas@extundo.com>
70452
70453         * modules/gc-md4, modules/gc-md4-tests: New file.
70454
70455         * tests/test-gc-md4.c: New file.
70456
70457 2005-10-19  Simon Josefsson  <jas@extundo.com>
70458
70459         * m4/gc-md4.m4: New file.
70460
70461 2005-10-19  Simon Josefsson  <jas@extundo.com>
70462
70463         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
70464         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
70465         <kasal@ucw.cz>.
70466
70467 2005-10-19  Simon Josefsson  <jas@extundo.com>
70468
70469         * m4/gc-arcfour.m4: New file.
70470
70471         * m4/gc-rijndael.m4: New file.
70472
70473 2005-10-19  Simon Josefsson  <jas@extundo.com>
70474
70475         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
70476
70477 2005-10-19  Simon Josefsson  <jas@extundo.com>
70478
70479         * lib/gc-gnulib.c: Support ARCFOUR.
70480
70481 2005-10-19  Simon Josefsson  <jas@extundo.com>
70482
70483         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
70484         support.
70485
70486         * lib/gc.h: Add ECB enum type.
70487
70488         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
70489
70490 2005-10-18  Simon Josefsson  <jas@extundo.com>
70491
70492         * tests/test-md5.c: New file.
70493
70494         * modules/md5-tests: New file.
70495
70496 2005-10-18  Simon Josefsson  <jas@extundo.com>
70497
70498         * tests/test-md4.c: New file.
70499
70500         * modules/md4, modules/md4-tests: New files.
70501
70502 2005-10-18  Simon Josefsson  <jas@extundo.com>
70503
70504         * m4/md4.m4: New file.
70505
70506 2005-10-18  Simon Josefsson  <jas@extundo.com>
70507
70508         * lib/md4.h, lib/md4.c: New files, based on md5.?.
70509
70510 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
70511
70512         * gnulib-tool (func_create_testdir): Omit the second check whether
70513         BUILT_SOURCES in nonempty.
70514
70515 2005-10-17  Simon Josefsson  <jas@extundo.com>
70516
70517         * tests/test-rijndael.c: New file.
70518
70519 2005-10-17  Simon Josefsson  <jas@extundo.com>
70520
70521         * modules/sha1: Depend on stdint instead of md5.
70522
70523         * modules/md5: Depend on stdint, remove uint32_t.
70524
70525 2005-10-17  Simon Josefsson  <jas@extundo.com>
70526
70527         * modules/gc-sha1-tests: New file.
70528
70529         * tests/test-gc-sha1.c: New file.
70530
70531 2005-10-17  Simon Josefsson  <jas@extundo.com>
70532
70533         * m4/md5.m4: Remove call to uint32_t.m4.
70534
70535 2005-10-17  Simon Josefsson  <jas@extundo.com>
70536
70537         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
70538
70539         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
70540         md5.h.
70541
70542         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
70543
70544         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
70545
70546 2005-10-17  Simon Josefsson  <jas@extundo.com>
70547
70548         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
70549
70550 2005-10-17  Simon Josefsson  <jas@extundo.com>
70551
70552         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
70553
70554 2005-10-17  Simon Josefsson  <jas@extundo.com>
70555
70556         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
70557
70558         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
70559
70560 2005-10-17  Bruno Haible  <bruno@clisp.org>
70561
70562         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
70563         that it can also be used in a test.
70564
70565 2005-10-16  Bruno Haible  <bruno@clisp.org>
70566
70567         * gnulib-tool (func_emit_tests_Makefile_am): Also define
70568         TESTS_ENVIRONMENT, so that individual tests can augment it.
70569
70570         * gnulib-tool (func_create_testdir): Use an intermediate target for
70571         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
70572         macros, like $(ALLOCA_H), which cannot be passed through the command
70573         line.
70574
70575 2005-10-15  Simon Josefsson  <jas@extundo.com>
70576
70577         * modules/rijndael-tests: New file.
70578
70579         * modules/rijndael: New file.
70580
70581 2005-10-15  Simon Josefsson  <jas@extundo.com>
70582
70583         * m4/rijndael.m4: New file.
70584
70585 2005-10-15  Simon Josefsson  <jas@extundo.com>
70586
70587         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
70588
70589         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
70590
70591 2005-10-14  Simon Josefsson  <jas@extundo.com>
70592
70593         * tests/test-arcfour.c: New file.
70594
70595         * modules/arcfour, modules/arcfour-tests: New files.
70596
70597 2005-10-14  Simon Josefsson  <jas@extundo.com>
70598
70599         * m4/arcfour.m4: New file.
70600
70601 2005-10-14  Simon Josefsson  <jas@extundo.com>
70602
70603         * lib/arcfour.h, lib/arcfour.c: New files.
70604
70605 2005-10-14  Roland McGrath  <roland@redhat.com>
70606
70607         Import from libc.  [BZ #1331]
70608         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
70609         macro argument.
70610         Reported by Matej Vela <vela@debian.org>.
70611
70612 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70613
70614         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
70615         include <wchar.h>; no longer needed.
70616
70617 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70618
70619         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
70620
70621 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
70622         and  Ulrich Drepper  <drepper@redhat.com>
70623
70624         Import from libc.
70625         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
70626         instead of inline stream orientation test and two separate
70627         function calls.  Pay no attention to USE_IN_LIBIO.
70628
70629 2005-10-13  Simon Josefsson  <jas@extundo.com>
70630
70631         * modules/gc-hmac-md5-tests: New file.
70632
70633         * tests/test-gc-hmac-sha1.c: New file.
70634
70635         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
70636
70637         * modules/gc-hmac-md5-tests: New file.
70638
70639         * tests/test-gc-md5.c: New file.
70640
70641         * modules/gc-md5-tests: New file.
70642
70643 2005-10-13  Simon Josefsson  <jas@extundo.com>
70644
70645         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
70646         Move memory allocation outside of loop.
70647
70648 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
70649
70650         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
70651         intermediate directory is in a read-only file system.  Problem
70652         reported by Eric Blake.
70653
70654 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
70655
70656         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
70657
70658 2005-10-12  Simon Josefsson  <jas@extundo.com>
70659
70660         * tests/test-hmac-sha1.c: New file.
70661
70662         * modules/hmac-sha1-tests: New file.
70663
70664         * modules/hmac-sha1: New file.
70665
70666 2005-10-12  Simon Josefsson  <jas@extundo.com>
70667
70668         * modules/gc-sha1: New file.
70669
70670 2005-10-12  Simon Josefsson  <jas@extundo.com>
70671
70672         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
70673
70674         * tests/test-gc-pbkdf2-sha1.c: New file.
70675
70676 2005-10-12  Simon Josefsson  <jas@extundo.com>
70677
70678         * modules/gc-md5, modules/gc-hmac-md5: New files.
70679
70680         * modules/gc (Files): Remove md5, memxor and hmac files.
70681
70682 2005-10-12  Simon Josefsson  <jas@extundo.com>
70683
70684         * m4/gc-pbkdf2-sha1.m4: New file.
70685
70686         * m4/gc-hmac-sha1.m4: New file.
70687
70688         * m4/gc-sha1: New file.
70689
70690         * m4/hmac-sha1.m4: New file.
70691
70692 2005-10-12  Simon Josefsson  <jas@extundo.com>
70693
70694         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
70695
70696         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
70697
70698 2005-10-12  Simon Josefsson  <jas@extundo.com>
70699
70700         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
70701         suggested by Bruno Haible <bruno@clisp.org>.
70702
70703 2005-10-12  Simon Josefsson  <jas@extundo.com>
70704
70705         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
70706
70707 2005-10-12  Simon Josefsson  <jas@extundo.com>
70708
70709         * lib/gc-pbkdf2-sha1.c: New file.
70710
70711         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
70712
70713 2005-10-12  Simon Josefsson  <jas@extundo.com>
70714
70715         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
70716
70717         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
70718
70719 2005-10-12  Simon Josefsson  <jas@extundo.com>
70720
70721         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
70722         GC_USE_HMAC_MD5, respectively.
70723
70724         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
70725         (gc_md5): Fix typo.
70726
70727         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
70728
70729         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
70730
70731         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
70732
70733 2005-10-12  Bruno Haible  <bruno@clisp.org>
70734
70735         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
70736         Reported by Stepan Kasal <kasal@ucw.cz>.
70737
70738 2005-10-11  Simon Josefsson  <jas@extundo.com>
70739
70740         * tests/test-crc.c: New file.
70741
70742         * modules/crc, modules/crc-tests: New files.
70743
70744 2005-10-11  Simon Josefsson  <jas@extundo.com>
70745
70746         * m4/crc.m4: New file.
70747
70748 2005-10-11  Simon Josefsson  <jas@extundo.com>
70749
70750         * lib/gc.h: Add gc_hash and gc_hash_buffer.
70751
70752         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
70753
70754         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
70755
70756 2005-10-11  Simon Josefsson  <jas@extundo.com>
70757
70758         * lib/crc.h, lib/crc.c: New files.
70759
70760         * lib/gc.h (gc_hash_buffer): Add doc.
70761
70762 2005-10-11  Bruno Haible  <bruno@clisp.org>
70763
70764         * modules/c-strcasestr: New file.
70765         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
70766
70767 2005-10-11  Bruno Haible  <bruno@clisp.org>
70768
70769         * modules/c-strcase: New file.
70770         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
70771
70772 2005-10-11  Bruno Haible  <bruno@clisp.org>
70773
70774         * lib/strcasecmp.c: Include limits.h.
70775         (strcasecmp): Avoid integer overflow on exotic platforms.
70776         * lib/strncasecmp.c: Include limits.h.
70777         (strncasecmp): Avoid integer overflow on exotic platforms.
70778         Reported by Paul Eggert.
70779
70780 2005-10-11  Bruno Haible  <bruno@clisp.org>
70781
70782         * lib/c-strcasestr.h: New file, from GNU gettext.
70783         * lib/c-strcasestr.c: New file, from GNU gettext.
70784
70785 2005-10-11  Bruno Haible  <bruno@clisp.org>
70786
70787         * lib/c-strcase.h: New file, from GNU gettext.
70788         * lib/c-strcasecmp.c: New file, from GNU gettext.
70789         * lib/c-strncasecmp.c: New file, from GNU gettext.
70790
70791 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70792
70793         * modules/mempcpy (License): GPL -> LGPL.
70794         * modules/strchrnul (License): Likewise.
70795         * modules/sysexits (License): Likewise.
70796
70797 2005-10-08  Simon Josefsson  <jas@extundo.com>
70798
70799         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
70800
70801 2005-10-07  Simon Josefsson  <jas@extundo.com>
70802
70803         * m4/memxor.m4: Remove gl_C_RESTRICT call.
70804
70805 2005-10-06  Simon Josefsson  <jas@extundo.com>
70806
70807         * tests/test-hmac-md5.c: New file.
70808
70809         * modules/hmac-md5-tests: New file.
70810
70811         * modules/hmac-md5: New file.
70812
70813 2005-10-06  Simon Josefsson  <jas@extundo.com>
70814
70815         * m4/hmac-md5.m4: New file.
70816
70817         * m4/memxor.m4: Require gl_C_RESTRICT.
70818
70819 2005-10-06  Simon Josefsson  <jas@extundo.com>
70820
70821         * lib/memxor.c (memxor): Avoid casts and warnings.
70822
70823 2005-10-06  Simon Josefsson  <jas@extundo.com>
70824
70825         * lib/hmac-md5.c: New file.
70826
70827         * lib/hmac.h: New file.
70828
70829 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70830
70831         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
70832         promotes to int, not unsigned int, to catch the AIX 5.3
70833         compiler bug.
70834
70835 2005-10-05  Simon Josefsson  <jas@extundo.com>
70836
70837         * modules/memxor: New file.
70838
70839         * modules/iconv (Files): Move config.rpath to havelib, it is used
70840         there.
70841
70842         * modules/havelib (Files): Add config.rpath.
70843
70844 2005-10-05  Simon Josefsson  <jas@extundo.com>
70845
70846         * m4/memxor.m4: New file.
70847
70848 2005-10-05  Simon Josefsson  <jas@extundo.com>
70849
70850         * lib/memxor.c (memxor): Fix compiler error.
70851
70852         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
70853         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
70854
70855         * lib/memxor.h, lib/memxor.c: New files.
70856
70857         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
70858         we assume all systems have it, suggested by Jim Meyering
70859         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
70860         any systems lack sys/socket.h; mingw32 is known to lack it, but we
70861         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
70862         same reasons.
70863
70864 2005-10-05  Simon Josefsson  <jas@extundo.com>
70865
70866         * config/srclist.txt: Add glibc bug 1423 for md5.h.
70867
70868 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
70869
70870         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
70871         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
70872         needed, since the source code now assumes these .h files.
70873
70874 2005-10-05  Derek Price  <derek@ximbiot.com>
70875
70876         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
70877
70878 2005-10-05  Bruno Haible  <bruno@clisp.org>
70879
70880         * modules/stdint (License): Change to LGPL.
70881
70882 2005-10-04  Simon Josefsson  <jas@extundo.com>
70883
70884         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
70885         D. Baushke" <mdb@gnu.org>.
70886
70887 2005-10-04  Bruno Haible  <bruno@clisp.org>
70888
70889         * lib/verify.h (verify_true): Provide alternative definition for C++.
70890
70891 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
70892
70893         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
70894         (SSIZE_MAX): New macro, if not already defined.
70895         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
70896         than 2 GiB.
70897
70898 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70899
70900         Sync from coreutils.
70901         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
70902         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
70903         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
70904         ULLONG_MAX doesn't work with 2.7.2.1.
70905
70906 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70907
70908         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
70909         From Ben Pfaff.
70910
70911         * modules/exclude (Depends-on): Depend on verify.
70912         * modules/strtoimax (Depends-on): Likewise.
70913         * modules/utimecmp (Depends-on): Likewise.
70914
70915 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70916
70917         * lib/exclude.c: Include verify.h.
70918         (verify): Remove.  All callers changed to use verify.h's version.
70919         * lib/strtoimax.c: Likewise.
70920         * lib/utimecmp.c: Likewis.e
70921
70922         Sync from coreutils.
70923         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
70924         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
70925         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
70926         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
70927         bother returning ENOSYS if settimeofday or stime fails; just let
70928         them return whatever errno they want to return.
70929         * lib/utimens.c: Include unistd.h, for dup2.
70930         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
70931         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
70932
70933 2005-10-02  Jim Meyering  <jim@meyering.net>
70934
70935         Sync from coreutils.
70936         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
70937         from glibc-2.2.5 that fails for read-only files.
70938
70939 2005-10-02  Jim Meyering  <jim@meyering.net>
70940
70941         Sync from coreutils.
70942         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
70943         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
70944         `#if HAVE_CONFIG_H'.
70945         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
70946         Remove AT_FDCWD test.
70947         Do not consume the fd unless successful.
70948         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
70949         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
70950         block, so that we don't even try to compile it if settimeofday is
70951         available.  This works around a compilation failure on OSF1 V5.1,
70952         due to stime requiring a `long int*' while tv_sec is `int'.
70953
70954 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
70955
70956         Sync from coreutils.
70957         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
70958         against `yes', rather than just testing for nonempty.
70959
70960 2005-10-01  Simon Josefsson  <jas@extundo.com>
70961
70962         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
70963         and Darwin.
70964
70965         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
70966         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
70967         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
70968         freeaddrinfo and gai_strerror are declared by the POSIX headers.
70969         Check if struct addrinfo is declared.
70970
70971 2005-10-01  Simon Josefsson  <jas@extundo.com>
70972
70973         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
70974         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
70975         AI_* and EAI_* definitions.  Protect function declarations.
70976
70977 2005-10-01  Jim Meyering  <jim@meyering.net>
70978
70979         Sync from coreutils.
70980
70981         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
70982         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
70983         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
70984         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
70985         in the inet and nsl libraries.  Required on Solaris 5.7.
70986
70987 2005-10-01  Jim Meyering  <jim@meyering.net>
70988
70989         Sync from coreutils.
70990         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
70991         in the inet and nsl libraries.  Required on Solaris 5.7.
70992
70993 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
70994
70995         * lib/getdelim.c (getdelim): Remove unused variables.
70996
70997 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
70998
70999         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
71000         so that the code works even with ancient cpp.  Portability problem
71001         with GCC 2.7.2.1 reported by Thomas M.Ott.
71002
71003 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71004
71005         * modules/regex (Depends-on): Add strcase.
71006
71007         * modules/gethostname (Licence): Change from GPL to LGPL, since
71008         gethostname.c is a trivial implementation of a standard library
71009         function.
71010         * modules/poll (License): Change from GPL to LGPL, since it's
71011         derived from LGPL code.
71012
71013 2005-09-27  Jim Meyering  <jim@meyering.net>
71014
71015         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
71016         HAVE_CONFIG_H.
71017
71018         * lib/intprops.h (signed_type_or_expr__): Define.
71019         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
71020         for unsigned types.
71021
71022 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71023
71024         * lib/verify.h (verify_expr): Remove, replacing with:
71025         (verify_true): New macro that returns true instead of void.
71026         (verify_type__): Remove.
71027         (verify): Use verify_true rather than verify_type__.
71028
71029 2005-09-26  Bruno Haible  <bruno@clisp.org>
71030
71031         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
71032         is necessary.
71033         (lib_SOURCES): Remove mbchar.c.
71034         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
71035         (Files): Add m4/mbrtowc.m4.
71036         * modules/mbiter: Likewise.
71037         * modules/mbuiter: Likewise.
71038
71039 2005-09-26  Bruno Haible  <bruno@clisp.org>
71040
71041         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
71042         compile mbchar.c if they are not both present.
71043         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
71044         * m4/mbiter.m4 (gl_MBITER): Likewise.
71045         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
71046         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
71047         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
71048
71049 2005-09-25  Jim Meyering  <jim@meyering.net>
71050
71051         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
71052         also uses socklen_t.
71053
71054 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
71055
71056         * lib/utimens.c (ENOSYS): Define if not already defined.
71057         (futimens): Support having a null PATH if the file descriptor
71058         is nonnegative.
71059
71060         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
71061         Remove.
71062         (__attribute): Define to empty unless GCC 3.1 or later.
71063         This works around a core dump on OpenBSD 3.4, which has GCC
71064         2.95.3, which dumps core when given __attribute__(()).  It also
71065         simplifies other tests, since we really don't want to bother with
71066         worrying about which ancient version of GCC supported what.
71067         Original problem reported by Yoann Vandoorselaere, with part of
71068         the fix suggested by Derek Price.
71069
71070 2005-09-24  Jim Meyering  <jim@meyering.net>
71071
71072         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
71073         so we can once again use a positive bitfield width of 1 -- now we
71074         don't have to explain why we were using a bitfield width of 2.
71075
71076 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
71077
71078         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
71079         and similarly for the other external symbols.  Problem reported
71080         by James Gallager.
71081
71082         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
71083         bug reported by Jim Meyering.
71084
71085         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
71086         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
71087         not needed, since socklen is a prerequisite module.
71088
71089 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
71090
71091         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
71092         Problem reported by Eric Blake.
71093         (getaddrinfo): Initialize se so that it's not garbage.
71094         Redo internal storage allocation so that it doesn't make unportable
71095         assumptions about alignment.
71096         Fix a memory leak.
71097
71098         * lib/utimens.c (futimens): Use futimesat if available.
71099         Prefer it to futimes since it doesn't have the futimes bug.
71100
71101         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
71102         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
71103         Instead, declare a function that returns a pointer to an array,
71104         and use verify_type__ to declare the size of the array.
71105         Problem and germ of a solution reported by Bruno Haible.
71106         (verify_type__): Use 2, not 1, for bitfield size, to avoid
71107         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
71108
71109 2005-09-23  Jim Meyering  <jim@meyering.net>
71110
71111         Sync from coreutils.
71112         Correct build failure (socklen_t not defined) on at least
71113         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
71114         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
71115
71116 2005-09-23  Jim Meyering  <jim@meyering.net>
71117
71118         * modules/getaddrinfo (Depends-on): Add socklen.
71119
71120 2005-09-23  Bruno Haible  <bruno@clisp.org>
71121
71122         * tests/test-verify.c: New file.
71123
71124 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
71125
71126         Sync from coreutils.
71127
71128         * modules/argmatch (Depends-on): Add verify.
71129         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
71130         unistd-safer.
71131         * modules/save-cwd (Depends-on): Likewise.
71132
71133         * modules/openat (Files): Add lib/openat-die.c.
71134         (Depends-on): Remove error, exitfail.
71135         Add dirname.
71136
71137         * modules/verify: New file.
71138         * MODULES.html.sh (Diagnostics <assert.h>): New section,
71139         with "verify" module.
71140
71141 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
71142
71143         Sync from coreutils.
71144
71145         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
71146         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
71147         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
71148         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
71149         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
71150         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
71151         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
71152         Don't bother checking for string.h, stdlib.h, unistd.h.
71153         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
71154         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
71155         module's job.
71156         * m4/jm-macros.m4 (gl_MACROS): Likewise.
71157         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
71158
71159         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
71160         (gl_GETDATE): Use it.
71161
71162         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
71163
71164 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
71165
71166         Sync from coreutils.
71167
71168         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
71169         stat-time.h.
71170         * lib/argmatch.h: Include verify.h
71171         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
71172         (ARGMATCH_ASSERT): Remove; unused.
71173         * lib/canonicalize.c: Assume STDC_HEADERS.
71174         * lib/exclude.c: Include "strcase.h".
71175         * lib/regex_internal.h [!defined _LIBC]: Likewise.
71176         * lib/getusershell.c: Include stdio--.h rather than stdio.h
71177         and stdio-safer.h.
71178         (getusershell): Call fopen, not fopen_safer.
71179         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
71180         Do not include unistd-safer.h.
71181         (save_cwd): Don't call fd_safer; no longer needed
71182         now that we include fcntl--.h.
71183
71184         * lib/getdate.y (relative_time): New type.
71185         (RELATIVE_TIME_0): New constant.
71186         (parser_control): Use relative_time instead of doing it ourselves.
71187         (%union): Add new relative_time rel member.
71188         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
71189         Now typeless.
71190         (relunit, relunit_snumber): Now of type rel.
71191         (zone, rel, relunit, get_date): Adjust to above changes.
71192
71193         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
71194         Do not include unistd-safer.h.
71195         (getloadavg): Don't call fd_safer; no longer needed
71196         now that we include fcntl--.h.
71197
71198         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
71199         (make_dir_parents): Treat ENOSYS like EEXIST.
71200
71201         Improve quality of diagnostics on restore_cwd failure.
71202         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
71203         (make_dir_parents): Last arg is now int * (for errno), not bool *.
71204         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
71205         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
71206         each time through the loop.  Do not diagnose restore_cwd failure;
71207         that is the caller's job (and perhaps the caller does not care).
71208
71209         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
71210         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
71211         If the file already exists but is not a directory, don't bother
71212         to try to make its parents.
71213         Close potential file descriptor leak if we can't chdir("/") (!).
71214         Don't always return true if chdir($PWD) fails; return true only
71215         if the requested action was done successfully (except for the
71216         chdir($PWD)).
71217         Don't log final directory unless we actually made it.
71218         Refactor to avoid duplicate code to fix up permissions.
71219         Don't attempt to fix up parent permissions if chdir($PWD) fails.
71220
71221         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
71222         to make it a bit faster and (I hope) clearer.
71223         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
71224         Fix bug in formats like %2N.
71225
71226         * lib/verify.h: New file.
71227
71228 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
71229
71230         Sync from coreutils.
71231         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
71232
71233 2005-09-22  Jim Meyering  <jim@meyering.net>
71234
71235         Sync from coreutils.
71236
71237         * m4/lstat.m4 (gl_FUNC_LSTAT):
71238         Use AC_LIBSOURCES to require lstat.c and lstat.h.
71239         Remove obsolete comment.
71240         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
71241         * m4/xstrtod.m4: Likewise.
71242
71243         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
71244
71245 2005-09-22  Jim Meyering  <jim@meyering.net>
71246
71247         Sync from coreutils.
71248
71249         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
71250
71251         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
71252         the .tm_year member, since otherwise gcc-4.0 would now warn about
71253         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
71254
71255         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
71256         order to avoid an unsuppressible warning from gcc on 64-bit systems.
71257
71258         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
71259         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
71260         when run in a time zone for which daylight savings time is in effect
71261         for the starting date.
71262
71263         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
71264         stop us from restricting permissions of just-created absolute-named
71265         directories.
71266         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
71267         to restore initial working directory.
71268         * lib/mkdir-p.c (make_dir_parents): New parameter:
71269         different_working_dir, to tell caller if/when we change the working
71270         directory and are unable to return to the initial one.
71271         * lib/mkdir-p.h (make_dir_parents): Update prototype.
71272         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
71273         `return false'.  This fixes a bug introduced on 2004-07-30.
71274
71275         * lib/openat.c (fdopendir): Be sure to close the supplied
71276         file descriptor before returning.  This makes our replacement
71277         implementation a little closer to Solaris's, where fdopendir
71278         ties the file descriptor to the returned DIR* pointer.
71279         * lib/openat.c (unlinkat): New function.
71280         * lib/openat.h (unlinkat): Add prototype.
71281         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
71282         (openat_restore_fail): Rename from openat_restore_die.
71283         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
71284
71285         Provide an alternative to exiting immediately upon save_cwd or
71286         restore_cwd failure.  Now, an application can arrange e.g.,
71287         to perform a longjump in that case.
71288         * lib/openat.c: Include dirname.h.
71289         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
71290         (rpl_openat, fdopendir, fstatat): Call openat_save_die
71291         and openat_restore_die rather than calling error directly.
71292         Don't include "error.h" or "exitfail.h"; they're no longer needed.
71293
71294         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
71295         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
71296         define.
71297
71298         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
71299         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
71300                             int utc, int nanoseconds);
71301         Background:
71302         date should not have to allocate a megabyte of virtual memory to
71303         handle a format argument like +%1048575T.  When implemented with
71304         strftime, it must allocate such a buffer, use strftime to fill it
71305         in, print it, then free it.
71306         With fprintftime, it simply prints everything and exits.
71307         With no need for memory allocation, that's one fewer way to fail.
71308         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
71309         optional field width, not before, so we accept %9:z, not %:9z.
71310         (my_strftime): Be sure to use L_('x') for literals.
71311
71312         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
71313         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
71314         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
71315         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
71316         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
71317         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
71318         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
71319         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
71320         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
71321         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
71322         * lib/xgethostname.c, lib/xreadlink.c:
71323         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
71324
71325         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
71326         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
71327         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
71328         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
71329         and don't include <sys/file.h>).
71330
71331 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
71332
71333         Sync from coreutils.
71334
71335         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
71336         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
71337         [!LDAV_DONE]: Avoid unused variable warning.
71338
71339 2005-09-21  Bruno Haible  <bruno@clisp.org>
71340
71341         * lib/unicodeio.h (unicode_to_mb): New declaration.
71342
71343 2005-09-20  Derek Price  <derek@ximbiot.com>
71344
71345         * lib/getaddrinfo.c: Don't include <netdb.h> included from
71346         getaddrinfo.h.
71347
71348 2005-09-20  Bruno Haible  <bruno@clisp.org>
71349
71350         * gnulib-tool: Remove trailing slashes from the values specified for
71351         --source-base, --m4-base, --tests-base, --aux-dir.
71352         Suggested by Simon Josefsson <jas@extundo.com>.
71353
71354 2005-09-20  Bruno Haible  <bruno@clisp.org>
71355
71356         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
71357         func_modules_to_filelist, func_import, func_create_testdir): Make all
71358         sorting results locale-independent, so that gnulib-cache.m4 doesn't
71359         change when gnulib-tool is invoked in a different locale.
71360
71361 2005-09-19  Simon Josefsson  <jas@extundo.com>
71362
71363         * m4/socklen.m4: Fix typo.
71364
71365 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71366
71367         Use a consistent style for including <config.h>.
71368         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
71369         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
71370         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
71371         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
71372         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
71373         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
71374         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
71375         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
71376         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
71377         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
71378         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
71379         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
71380         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
71381         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
71382         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
71383         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
71384         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
71385         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
71386         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
71387         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
71388         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
71389         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
71390         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
71391         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
71392         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
71393         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
71394         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
71395         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
71396         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
71397         lib/xstrtoumax.c, lib/yesno.c:
71398         Standardize inclusion of config.h.
71399         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
71400         lib/inttostr.h:  Removed inclusion of config.h from header files.
71401         * lib/inttostr.c:  Adjusted in-tree users.
71402         * lib/timespec.h: Remove superfluous warning to include config.h.
71403         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
71404         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
71405         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
71406         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
71407         config.h with HAVE_CONFIG_H.
71408
71409 2005-09-19  Jim Meyering  <jim@meyering.net>
71410
71411         * modules/pathmax (License): Change to LGPL.
71412
71413 2005-09-19  Derek Price  <derek@ximbiot.com>
71414
71415         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
71416
71417 2005-09-19  Bruno Haible  <bruno@clisp.org>
71418
71419         * gnulib-tool (import): Provide default for --tests-base.
71420
71421 2005-09-19  Bruno Haible  <bruno@clisp.org>
71422
71423         * doc/quote.texi: New file, extracted from gnulib.texi.
71424         * doc/ctime.texi: New file, extracted from gnulib.texi.
71425         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
71426         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
71427         * doc/gnulib.texi: Include them.
71428
71429 2005-09-18  Bruno Haible  <bruno@clisp.org>
71430
71431         Portability fix.
71432         * gnulib-tool (func_readlink): New function.
71433         (func_ln_if_changed): Use it.
71434
71435 2005-09-18  Bruno Haible  <bruno@clisp.org>
71436
71437         * gnulib-tool: Support --with-tests also with --import.
71438         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
71439         (func_import): Use variables $testsbase and $inctests. Emit a
71440         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
71441         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
71442         SUBDIRS += $testsdir.
71443         (func_create_testdir): Update.
71444
71445 2005-09-18  Bruno Haible  <bruno@clisp.org>
71446
71447         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
71448         instead of $dry_run.
71449         (func_cp_if_changed, func_mv_if_changed): Remove functions.
71450         (func_ln_if_changed): Don't handle dry-run here.
71451         (func_import): In dry-run mode, detect more precisely which actions
71452         would be performed, and don't use "...ing" verbs.
71453
71454 2005-09-18  Bruno Haible  <bruno@clisp.org>
71455
71456         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
71457         (func_import): Use join on two temporary files instead of three nested
71458         loops, in order to determine which files are new or old.
71459
71460 2005-09-18  Bruno Haible  <bruno@clisp.org>
71461
71462         * gnulib-tool (func_import): Comment out code that spits out the
71463         new files with --dry-run.
71464
71465 2005-09-18  Bruno Haible  <bruno@clisp.org>
71466
71467         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
71468
71469 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
71470
71471         * lib/stat-time.h: New file.
71472         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
71473         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
71474         in a different way.
71475         (timespec_cmp): New function.
71476         * lib/utimecmp.c: Include stat-time.h.
71477         (SYSCALL_RESOLUTION): Depend on whether various struct stat
71478         members exist, not on the obsolescent ST_MTIM_NSEC.
71479         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
71480
71481 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
71482
71483         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
71484
71485 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
71486
71487         * MODULES.html.sh (File system functions): Add stat-time.
71488         * modules/stat-time: New file.
71489         * modules/timespec (Files): Remove m4/st_mtim.m4; this
71490         is now done in a different way, by the stat-time module.
71491         * modules/utimecmp (Depends-on): Add stat-time.
71492
71493 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71494
71495         * m4/st_mtim.m4: Remove.  Superseded by...
71496         * m4/stat-time.m4: New file.
71497         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
71498         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
71499
71500 2005-09-15  Derek Price  <derek@ximbiot.com>
71501
71502         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
71503
71504 2005-09-15  Derek Price  <derek@ximbiot.com>
71505
71506         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
71507         * lib/regex_internal.c: Ditto, using this...
71508         (__GNUC_PREREQ): ...new macro.
71509         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
71510         using...
71511         (__GNUC_PREREQ): ...this new macro.
71512
71513         * lib/strstr.h: Include string.h. Define strstr as a macro here.
71514
71515 2005-09-15  Derek Price  <derek@ximbiot.com>
71516             Paul Eggert  <eggert@cs.ucla.edu>
71517
71518         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
71519         changes, consolidating in...
71520         * lib/regex_internal.h: ...this file.
71521
71522 2005-09-13  Jim Meyering  <jim@meyering.net>
71523
71524         * lib/canon-host.c: Filter through gnu indent and reword comments
71525         slightly.
71526         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
71527
71528 2005-09-13  Derek Price  <derek@ximbiot.com>
71529
71530         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
71531         failure.
71532         Reported by Jim Meyering  <jim@meyering.net>.
71533
71534 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71535
71536         * lib/base64.c: Typo.
71537         (base64_encode): Put b64str in initialized data section.
71538
71539 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
71540
71541         Merge glibc and coreutils changes into gnulib, plus a few
71542         extra fixes.
71543         * lib/md5.c: Use #error rather than a string.
71544         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
71545         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
71546         (__attribute__): Define to empty for non recent-GCC.
71547         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
71548         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
71549         Renamed from their non-__ counterparts, with new macros replacing
71550         them if not _LIBC.  Add __THROW attribute.
71551         (rol): Remove.
71552         (struct md5_ctx): Align buffer if using GCC.
71553         * lib/sha1.h (struct sha1_ctx): Likewise.
71554         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
71555         The old name was backwards.
71556         (NOTSWAP): Remove; not used.
71557         (rol): New macro, moved here from md5.h.
71558         (sha1_process_block): Remove a FIXME that doesn't make sense.
71559
71560 2005-09-12  Derek Price  <derek@ximbiot.com>
71561
71562         Return usable errors from canon-host.
71563         * lib/canon-host.h: New file.
71564         * lib/canon-host.c (canon_host): Wrap...
71565         (canon_host_r): ...this new function, which now relies exclusively on
71566         getaddrinfo.
71567         (ch_strerror): New function.
71568         (last_cherror): New global.
71569         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
71570         interface.
71571         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
71572         void *.
71573         (freeaddrinfo): Free ai->ai_canonname when set.
71574
71575 2005-09-12  Derek Price  <derek@ximbiot.com>
71576
71577         Make canon-host require getaddrinfo.
71578         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
71579         AC_LIBSOURCE canon-host.h.  Call...
71580         (gl_PREREQ_CANON_HOST): ...this new function, which requires
71581         gl_GETADDRINFO.
71582         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
71583
71584 2005-09-12  Derek Price  <derek@ximbiot.com>
71585
71586         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
71587         LGPL.
71588         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
71589
71590 2005-09-12  Derek Price  <derek@ximbiot.com>
71591
71592         * lib/gai_strerror.c: Include config.h when available.  Include
71593         getaddrinfo.h before other headers to test interface.
71594         Reported by Larry Jones <lawrence.jones@ugs.com>.
71595
71596 2005-09-12  Derek Price  <derek@ximbiot.com>
71597             Paul Eggert  <eggert@cs.ucla.edu>
71598
71599         * modules/glob (Files): Add glob-libc.h.
71600
71601 2005-09-12  Derek Price  <derek@ximbiot.com>
71602             Paul Eggert  <eggert@cs.ucla.edu>
71603
71604         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
71605         glob_.h, glob-libc.h.
71606         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
71607
71608 2005-09-12  Derek Price  <derek@ximbiot.com>
71609             Paul Eggert  <eggert@cs.ucla.edu>
71610
71611         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
71612         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
71613         protecting things that should be done only in gnulib contexts.
71614         * lib/glob_.h: New file, containing only the glob things needed for
71615         gnulib.
71616         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
71617         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
71618         (glob, globfree, glob_pattern_p): Now defined simply in terms of
71619         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
71620         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
71621         and to respect the namespace rules better.
71622
71623 2005-09-08  Simon Josefsson  <jas@extundo.com>
71624
71625         * modules/socklen: New file.
71626
71627 2005-09-08  Simon Josefsson  <jas@extundo.com>
71628
71629         * m4/socklen.m4: New file.
71630
71631 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71632
71633         * modules/utimens (Files): Add m4/utimbuf.m4, since
71634         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
71635         Reported by Sergey Poznyakoff.
71636
71637 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71638
71639         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
71640         definitions, since that's the preferred style in glibc.
71641         Fix a minor spacing issue, and update copyright notice to match
71642         glibc's.
71643
71644 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71645
71646         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
71647
71648 2005-09-06  Simon Josefsson  <jas@extundo.com>
71649
71650         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
71651         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
71652
71653 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71654
71655         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
71656         warning.
71657
71658 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71659
71660         * config/srclist.txt: Add glibc bug 1302.
71661
71662 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
71663
71664         Change bitset word type from unsigned int to unsigned long int,
71665         as this has better performance on typical 64-bit hosts.
71666         Port bitset code to hosts with unusual word sizes.
71667         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
71668         (build_collating_symbol):
71669         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
71670         argument is a bitset.  This is merely a style issue, but it makes
71671         it clearer that an entire array is expected.
71672         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
71673         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
71674         Port to the case where bitset_word is not the same as unsigned int.
71675         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
71676         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
71677         Likewise.
71678         * lib/regexec.c (check_dst_limits_calc_pos_1,
71679         check_subexp_matching_top):
71680         (build_trtable, group_nodes_into_DFAstates):
71681         Likewise.
71682         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
71683         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
71684         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
71685         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
71686         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
71687         * lib/regcomp.c (optimize_subexps, lower_subexp):
71688         Work even if bitset_word has holes in its bitwise representation.
71689         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
71690         * lib/regexec.c (check_dst_limits_calc_pos_1,
71691         check_subexp_matching_top):
71692         Likewise.
71693         * lib/regex_internal.c (re_string_reconstruct):
71694         Don't assume UCHAR_MAX == 255.
71695         * lib/regex_internal.h (bitset_set_all): Likewise.
71696         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
71697         All uses changed.
71698         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
71699         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
71700         All uses changed.
71701         (BITSET_WORD_MAX): New macro.
71702         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
71703         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
71704         (bitset_empty, bitset_copy):
71705         Prefer sizeof (bitset) to multiplying it out ourselves.
71706         (bitset_not_merge): Remove; unused.
71707         (bitset_contain): Return bool, not unsigned int with one bit on.
71708         All callers changed.
71709         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
71710         alignment than re_node_set; do this by defining a new internal
71711         type struct dests_alloc and using it to allocate memory.
71712
71713 2005-09-05  Bruno Haible  <bruno@clisp.org>
71714
71715         * gnulib-tool (func_import): Fix comparison in handling of symbolic
71716         links.
71717
71718 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
71719
71720         * modules/size_max (Makefile.am): Add size_max.h
71721
71722 2005-09-04  Derek Price  <derek@ximbiot.com>
71723
71724         * gnulib-tool (func_import): Fix reversed $symbolic logic.
71725
71726 2005-09-03  Simon Josefsson  <jas@extundo.com>
71727
71728         * gnulib-tool: Fix typo.
71729
71730 2005-09-03  Simon Josefsson  <jas@extundo.com>
71731
71732         * config/srclist.txt: Add glibc bug 1293.
71733
71734 2005-09-03  Derek Price  <derek@ximbiot.com>
71735
71736         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
71737         From Larry Jones <lawrence.jones@ugs.com>.
71738
71739 2005-09-02  Simon Josefsson  <jas@extundo.com>
71740
71741         * modules/socklen: New file.
71742
71743 2005-09-02  Simon Josefsson  <jas@extundo.com>
71744
71745         * modules/havelib: New module.
71746
71747         * modules/gettext, modules/iconv, modules/lock, modules/readline:
71748         Use havelib.
71749
71750 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
71751
71752         Check for arithmetic overflow when calculating sizes, to prevent
71753         some buffer-overflow issues.  These patches are conservative, in the
71754         sense that when I couldn't determine whether an overflow was possible,
71755         I inserted a run-time check.
71756         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
71757         macros.
71758         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
71759         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
71760         (re_xnrealloc, re_x2nrealloc): New inline functions.
71761         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
71762         parse_bracket_exp):
71763         (build_equiv_class, build_charclass): Check for arithmetic overflow
71764         in size expression calculations.
71765         * lib/regex_internal.c (re_string_realloc_buffers):
71766         (build_wcs_upper_buffer, re_node_set_add_intersect):
71767         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
71768         (re_dfa_add_node, register_state): Likewise.
71769         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
71770         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
71771         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
71772         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
71773
71774 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
71775
71776         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
71777         m4/ulonglong.m4.  Problem reported by Martin Lambers.
71778
71779 2005-09-02  Bruno Haible  <bruno@clisp.org>
71780
71781         Support for lib vs. lib64 distinction on biarch platforms.
71782         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
71783         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
71784         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
71785
71786 2005-09-02  Bruno Haible  <bruno@clisp.org>
71787
71788         * gnulib-tool (import): In the other first-use case, provide defaults
71789         as well.
71790
71791 2005-09-02  Bruno Haible  <bruno@clisp.org>
71792
71793         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
71794         patches not yet found in the latest gettext release.
71795
71796 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71797
71798         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
71799         to avoid a collision with bits/local_lim.h in glibc.
71800         All uses changed.  Problem reported by Dmitry V. Levin in
71801         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
71802
71803         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
71804         bugs in int versus size_t comparisons.
71805         (re_string_context_at): Fix bug where the code assumed that
71806         Idx is signed.
71807
71808         Use bool where appropriate.
71809         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
71810         All callers changed.
71811         (calc_eclosure_iter): Likewise, for ROOT arg.
71812         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
71813         (build_charclass_op): Likewise, for NON_MATCH arg.
71814         * lib/regex_internal.c (re_string_allocate, re_string_construct):
71815         (re_string_construct_common): Likewise, for ICASE arg.
71816         * lib/regexec.c (re_search_2_stub, re_search_stub):
71817         Likewise, for RET_LEN arg.
71818         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
71819         (set_regs): Likewise, for FL_BACKTRACK arg.
71820         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
71821         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
71822         (calc_eclosure_iter, parse_bracket_exp):
71823         Use bool for internal variables that are booleans.
71824         * lib/regexec.c (re_search_internal, check_matching,
71825         proceed_next_node):
71826         (set_regs, build_sifted_states, sift_states_bkref):
71827         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
71828         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
71829         (find_collation_sequence_value):
71830         Likewise.
71831         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
71832         (re_node_set_compare):
71833         Return bool, not int. All callers changed.
71834         * lib/regexec.c (check_halt_node_context, check_dst_limits):
71835         (build_trtable, check_node_accept): Likewise.
71836         * lib/regex_internal.h: Include stdbool.h.
71837
71838         Fix bugs uncovered when converting to bool.
71839         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
71840         failure instead of charging ahead blindly.
71841         * lib/regex_internal.c (register_state): Likewise.
71842         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
71843         for freeing internal storage.
71844         (group_nodes_into_DFA_states): Use unsigned int, not int, for
71845         bitset pieces used as boolean, to avoid undefined behavior
71846         on hosts that do int overflow checking.
71847
71848 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71849
71850         * config/srclist.txt: Add glibc bugs 1285-1287.
71851
71852 2005-09-01  Jim Meyering  <jim@meyering.net>
71853
71854         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
71855         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
71856         Require gl_STAT_MACROS, too.
71857
71858 2005-09-01  Bruno Haible  <bruno@clisp.org>
71859
71860         * gnulib-tool (import): In the first-use case, provide defaults.
71861
71862 2005-09-01  Bruno Haible  <bruno@clisp.org>
71863
71864         * gnulib-tool (func_import): Remove the .tmp files.
71865
71866 2005-09-01  Bruno Haible  <bruno@clisp.org>
71867
71868         * gnulib-tool (func_import): Fix handling of symbolic links.
71869
71870 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71871
71872         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
71873         old glibc regex code mishandles strings longer than 2**31 bytes.
71874         This patch fixes this when the regex code is used in gnulib
71875         (i.e., outside glibc).
71876
71877         This patch should not affect the use of the regex code inside
71878         glibc.  No doubt this problem also needs to be handled for glibc
71879         as well, but the result will be an incompatible change to the
71880         glibc ABI, and the old ABI will have to be supported too.  That
71881         can be the the subject for another patch.
71882
71883         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
71884         governing whether the rest of this patch is active.  By default,
71885         the macro is disabled and the patch has no effect.
71886         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
71887         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
71888         (struct re_pattern_buffer, re_search, re_search_2, re_match):
71889         (re_match_2, re_set_registers): Use the new types.
71890         * lib/regex_internal.h (Idx, re_hashval_t): New types.
71891         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
71892         New macros.
71893         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
71894         (re_string_context_at, bin_tree_t, re_dfastate_t):
71895         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
71896         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
71897         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
71898         (re_string_char_size_at, re_string_wchar_at):
71899         (re_string_elem_size_at):
71900         Use the new types and macros to port to 64-bit hosts.
71901         Use unsigned types for internal values, so that the code
71902         mostly works even for arrays larger than SSIZE_MAX.
71903         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
71904         (search_duplicated_node, calc_eclosure_iter, fetch_number):
71905         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
71906         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
71907         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
71908         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
71909         (calc_inveclosure, parse_dup_op, build_range_exp):
71910         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
71911         (fetch_number, create_token_tree, mark_opt_subexp):
71912         Likewise.
71913         * lib/regex_internal.c (re_string_construct_common,
71914         create_ci_newstate):
71915         (create_cd_newstate, re_string_allocate, re_string_construct):
71916         (re_string_realloc_buffers, build_wcs_upper_buffer):
71917         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
71918         (re_string_reconstruct, re_string_peek_byte_case):
71919         (re_string_fetch_byte_case, re_string_context_at):
71920         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
71921         (re_node_set_init_copy, re_node_set_add_intersect):
71922         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
71923         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
71924         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
71925         (re_acquire_state, re_acquire_state_context, register_state):
71926         Likewise.
71927         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
71928         search_cur_bkref_entry):
71929         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
71930         (re_search_internal, re_search_2_stub, re_search_stub)
71931         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
71932         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
71933         (update_cur_sifted_state, check_dst_limits):
71934         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
71935         (check_subexp_limits, sift_states_bkref, merge_state_array):
71936         (check_subexp_matching_top, get_subexp, get_subexp_sub):
71937         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
71938         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
71939         (expand_bkref_cache, check_node_accept_bytes):
71940         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
71941         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
71942         (acquire_init_state_context, check_halt_node_context):
71943         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
71944         (sift_states_backward, clean_state_log_if_needed):
71945         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
71946         (find_recover_state, transit_state_sb, transit_state_mb):
71947         (transit_state_bkref, build_trtable, match_ctx_clean):
71948         Likewise.
71949         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
71950         to work around an assumption that REG_MISSING is negative.
71951
71952         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
71953         (seek_collating_symbol_entry) [defined _LIBC]:
71954         (lookup_collation_sequence_value) [defined _LIBC]:
71955         (build_range_exp, build_collating_symbol) [defined _LIBC]:
71956         Use prototypes rather than old-style function definitions.
71957         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
71958         (transit_state_sb) [0]:
71959         (find_collation_sequence_value) [defined _LIBC]: Likewise.
71960
71961         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
71962         rm_eo.
71963
71964         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
71965         (optimize_subexps, lower_subexp):
71966         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
71967         since the signed shift might overflow.  Use 1u<<31 instead.
71968         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
71969         Likewise.
71970         * lib/regexec.c (check_dst_limits_calc_pos_1,
71971         check_subexp_matching_top): Likewise.
71972
71973         * lib/regcomp.c (optimize_subexps, lower_subexp):
71974         Use CHAR_BIT rather than 8, for clarity.
71975         * lib/regexec.c (check_dst_limits_calc_pos_1):
71976         (check_subexp_matching_top): Likewise.
71977         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
71978         have to worry about portability issues when shifting it left.
71979         Remove no-longer-needed test for table_size > 0.
71980         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
71981         in a word, as the resulting behavior is undefined.
71982         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
71983         in one case, a <= should have been an <, and in another case the
71984         whole test was missing.
71985         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
71986         the standard name CHAR_BIT.
71987         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
71988         this is not true on one's complement and signed-magnitude hosts.
71989
71990         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
71991         next_last_offset.
71992         (struct re_dfa_t): Remove unused member states_alloc.
71993         * lib/regcomp.c (init_dfa): Don't initialize unused members.
71994
71995 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71996
71997         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
71998         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
71999         and large-file glibc and in 32-bit large-file Solaris.
72000
72001 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72002
72003         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
72004         lengths fit in regoff_t; this isn't true if regoff_t is the same
72005         width as size_t.
72006         * lib/regex.c (re_search_internal): 5th arg is LAST_START
72007         (= START + RANGE) instead of RANGE.  This avoids overflow
72008         problems when regoff_t is the same width as size_t.
72009         All callers changed.
72010         (re_search_2_stub): Check for overflow when adding the
72011         sizes of the two strings.
72012         (re_search_stub): Check for overflow when adding START
72013         to RANGE; if it occurs, substitute the extreme value.
72014
72015 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72016
72017         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
72018
72019 2005-08-31  Jim Meyering  <jim@meyering.net>
72020
72021         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
72022         a pointer-to-const.
72023         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
72024         (register_state): Likewise.
72025         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
72026         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
72027         (group_nodes_into_DFAstates): Likewise.
72028
72029 2005-08-31  Jim Meyering  <jim@meyering.net>
72030
72031         * check-module: Add a FIXME comment.
72032
72033 2005-08-31  Eric Blake  <ebb9@byu.net>
72034
72035         * modules/unistd-safer (Files): Add unistd--.h.
72036         * modules/stdio-safer (Files): Add stdio--.h.
72037
72038 2005-08-31  Derek Price  <derek@ximbiot.com>
72039
72040         * lib/getdelim.c (getdelim): Return EOF on EOF.
72041         Reported by Larry Jones <lawrence.jones@ugs.com>.
72042
72043 2005-08-31  Bruno Haible  <bruno@clisp.org>
72044
72045         Avoid unnecessary diffs in the generated lib/Makefile.am.
72046         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
72047         the generated files.
72048         (func_import): Don't set cmd.
72049
72050 2005-08-31  Bruno Haible  <bruno@clisp.org>
72051
72052         * lib/strstr.c: Include <stddef.h>, for NULL.
72053         * lib/strcasestr.c: Likewise.
72054         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72055
72056 2005-08-31  Bruno Haible  <bruno@clisp.org>
72057
72058         * gnulib-tool: New option --macro-prefix.
72059         (func_import): Use macro_prefix.
72060         (import): Handle option --macro-prefix.
72061
72062 2005-08-31  Bruno Haible  <bruno@clisp.org>
72063
72064         * gnulib-tool (import): Rename most ac_* variables to cached_*.
72065         Also use new variables cached_lgpl, cached_libtool.
72066
72067 2005-08-31  Bruno Haible  <bruno@clisp.org>
72068
72069         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
72070         always instantiating them.
72071
72072 2005-08-31  Bruno Haible  <bruno@clisp.org>
72073
72074         * gnulib-tool (func_import): Read the previous cached settings
72075         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
72076         earlier added by gnulib but are now dropped. Warn when a gnulib file
72077         overwrites a non-gnulib file.
72078
72079 2005-08-31  Bruno Haible  <bruno@clisp.org>
72080
72081         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
72082         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
72083         projects that don't keep autogenerated files in CVS. Put into
72084         actioncmd only the specified modules, not the transitive closure.
72085
72086 2005-08-31  Bruno Haible  <bruno@clisp.org>
72087
72088         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
72089         Create directories that shall be filled.
72090         (import): Don't look for gl_* macros in configure.ac. Recurse across
72091         all directories containing a gnulib-cache.m4 files, if meaningful.
72092
72093 2005-08-31  Bruno Haible  <bruno@clisp.org>
72094
72095         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
72096         (import): Set seen_libtool when we see gl_LIBTOOL.
72097
72098 2005-08-31  Bruno Haible  <bruno@clisp.org>
72099
72100         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
72101         declaration macro definitions from generated gnulib.m4.
72102
72103 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
72104
72105         * lib/iconvme.h: Add prototype for iconv_alloc.
72106
72107 2005-08-29  Simon Josefsson  <jas@extundo.com>
72108
72109         * lib/iconvme.c: Fix errno.
72110
72111 2005-08-29  Bruno Haible  <bruno@clisp.org>
72112
72113         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
72114         that it works when the directory contains spaces.
72115
72116 2005-08-29  Bruno Haible  <bruno@clisp.org>
72117
72118         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
72119
72120 2005-08-29  Bruno Haible  <bruno@clisp.org>
72121
72122         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
72123         Emit more advice.
72124
72125 2005-08-29  Bruno Haible  <bruno@clisp.org>
72126         and Stepan Kasal  <kasal@ucw.cz>
72127
72128         * check-module: If more parameters are given, check each of them
72129         separately; add more exceptions, as noted by Jim Meyering.
72130         (check_module): New procedure.
72131         (%exempt_header): Now contains all exceptions.
72132
72133 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
72134
72135         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
72136
72137 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
72138
72139         * lib/iconvme.c: Split iconv_string into iconv_alloc.
72140
72141 2005-08-28  Bruno Haible  <bruno@clisp.org>
72142
72143         * m4/gnulib-tool.m4: New file.
72144
72145 2005-08-27  Jim Meyering  <jim@meyering.net>
72146
72147         * modules/unistd-safer (Files): Add pipe-safer.c.
72148         * modules/fcntl-safer (Files): Add creat-safer.c.
72149
72150 2005-08-27  Jim Meyering  <jim@meyering.net>
72151
72152         * m4/stdlib-safer.m4: New file.  From coreutils.
72153         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
72154         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
72155         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
72156         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
72157         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
72158
72159 2005-08-27  Jim Meyering  <jim@meyering.net>
72160
72161         * lib/fopen-safer.c: Merge minor changes from coreutils.
72162         * lib/dup-safer.c: Likewise.
72163         * lib/fd-safer.c: Likewise.
72164
72165         Merge from coreutils.
72166         * lib/stdio--.h: New file.
72167         * lib/stdlib--.h: New file.
72168         * lib/mkstemp-safer.c: New file.
72169
72170         GNU tar needs these.
72171         * lib/pipe-safer.c: New file.
72172         * lib/creat-safer.c: New file.
72173         * lib/fcntl--.h (creat): Define to creat_safer.
72174         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
72175         * lib/unistd--.h (pipe): Define to pipe_safer.
72176         * lib/unistd-safer.h: Declare pipe_safer.
72177
72178 2005-08-26  Simon Josefsson  <jas@extundo.com>
72179
72180         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
72181         Haible <bruno@clisp.org>.
72182
72183 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
72184
72185         * lib/regex_internal.h: Remove all references to
72186         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
72187         or better.
72188         (bitset_not, bitset_merge, bitset_not_merge):
72189         (bitset_mask, re_string_allocate, re_string_construct):
72190         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
72191         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
72192         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
72193         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
72194         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
72195         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
72196         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
72197         (re_acquire_state_context):
72198         Remove unnecessary forward decls.
72199         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
72200         Put __attribute at function definition,
72201         now that the function decl has been removed.
72202         * lib/regex_internal.c (re_string_peek_byte_case):
72203         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
72204         Likewise.
72205
72206 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
72207
72208         * m4/regex.m4: Add AC_PREREQ(2.50).
72209         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
72210
72211 2005-08-25  Simon Josefsson  <jas@extundo.com>
72212
72213         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
72214         __fsetlocking.
72215
72216 2005-08-25  Simon Josefsson  <jas@extundo.com>
72217
72218         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
72219         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
72220         GLIBC specific code.
72221
72222 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72223
72224         Make regex safe for g++.  This fixes one real bug (an "err"
72225         that should have been "*err").  g++ problem reported by
72226         Sam Steingold.
72227         * lib/regex_internal.h (re_calloc): New macro, consistent with
72228         re_malloc etc.  All callers of calloc changed to use re_calloc.
72229         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
72230         not int.  All callers changed.
72231         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
72232         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
72233         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
72234         (find_recover_state): Change "err" to "*err"; this fixes what
72235         appears to be a real bug.
72236         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
72237         versus int.
72238
72239 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72240
72241         * modules/regex (Depends-on): Add malloc, since the code
72242         assumes that !malloc(0) means failure.
72243
72244 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72245
72246         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
72247
72248         alloca modernization/simplification for regex.
72249         * lib/regex.c: Remove portability cruft for alloca.  This no longer
72250         needs to be at the start of the file, and can be moved into
72251         regex_internal.h and simplified.
72252         * lib/regex_internal.h: Include <alloca.h>.
72253         (__libc_use_alloca) [!defined _LIBC]: New macro.
72254         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
72255         now works outside glibc.
72256
72257 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72258
72259         * config/srclist.txt: Add glibc bugs 1241, 1245.
72260
72261 2005-08-25  Jim Meyering  <jim@meyering.net>
72262
72263         * lib/open-safer.c: Include <config.h>.
72264         Otherwise, we'd lose LARGEFILE support in any file using
72265         e.g. "fcntl--.h"
72266
72267 2005-08-25  Bruno Haible  <bruno@clisp.org>
72268
72269         * m4/minmax.m4: Require autoconf 2.52.
72270         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
72271         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
72272         alternatives of translit over the alphabet.
72273         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
72274
72275 2005-08-24  Simon Josefsson  <jas@extundo.com>
72276
72277         * tests/test-getpass.c: New file.
72278
72279 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72280
72281         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
72282         for GNU regex features.
72283
72284 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72285
72286         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
72287         * lib/regex.h (regerror): Likewise.
72288
72289         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
72290         requires this.  (The code never needed it.)
72291
72292         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
72293         All uses of recently-renamed identifiers changed to use the new,
72294         POSIX-compliant names.  The code will build and run just fine
72295         without these changes, but it's better to eat our own dog food
72296         and use the standard-conforming names.
72297
72298         * lib/regex.h: Fix a multitude of POSIX name space violations.
72299         These changes have an effect only for programs that define
72300         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
72301         do not change anything for programs compiled in the normal way.
72302         Also, there is no effect on the ABI.
72303
72304         (_REGEX_SOURCE): New macro.
72305         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
72306         defined and _GNU_SOURCE is not; this fixes a name space violation.
72307
72308         Rename the following macros to obey POSIX requirements.
72309         The old names are still visible as macros if _REGEX_SOURCE is defined.
72310         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
72311         RE_BACKSLASH_ESCAPE_IN_LISTS.
72312         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
72313         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
72314         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
72315         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
72316         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
72317         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
72318         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
72319         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
72320         (REG_INTERVALS): renamed from RE_INTERVALS.
72321         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
72322         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
72323         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
72324         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
72325         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
72326         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
72327         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
72328         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
72329         RE_UNMATCHED_RIGHT_PAREN_ORD.
72330         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
72331         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
72332         (REG_DEBUG): renamed from RE_DEBUG.
72333         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
72334         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
72335         unusual, since we can't clash with the POSIX REG_ICASE.
72336         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
72337         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
72338         (REG_NO_SUB): renamed from RE_NO_SUB.
72339         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
72340         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
72341         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
72342         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
72343         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
72344         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
72345         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
72346         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
72347         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
72348         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
72349         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
72350         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
72351         RE_SYNTAX_POSIX_MINIMAL_BASIC.
72352         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
72353         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
72354         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
72355         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
72356         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
72357         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
72358         (REG_FIXED): Renamed from REGS_FIXED.
72359         (REG_NREGS): Renamed from RE_NREGS.
72360
72361         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
72362         of other REG_* macros, since POSIX says the user is allowed to
72363         #undef these macros selectively.
72364
72365         (reg_errcode_t): Update comment stating what other tables need
72366         to be consistent.
72367
72368         Rename the following enum values to obey POSIX requirements.
72369         The old names are still visible as macros.
72370         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
72371         is not defined, since GNU is supposed to be a superset of POSIX as
72372         much as possible, and since we want reg_errcode_t to be a signed
72373         type for implementation consistency.
72374         (_REG_NOERROR): Renamed from REG_NOERROR.
72375         (_REG_NOMATCH): Renamed from REG_NOMATCH.
72376         (_REG_BADPAT): Renamed from REG_BADPAT.
72377         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
72378         (_REG_ECTYPE): Renamed from REG_ECTYPE.
72379         (_REG_EESCAPE): Renamed from REG_EESCAPE.
72380         (_REG_ESUBREG): Renamed from REG_ESUBREG.
72381         (_REG_EBRACK): Renamed from REG_EBRACK.
72382         (_REG_EPAREN): Renamed from REG_EPAREN.
72383         (_REG_EBRACE): Renamed from REG_EBRACE.
72384         (_REG_BADBR): Renamed from REG_BADBR.
72385         (_REG_ERANGE): Renamed from REG_ERANGE.
72386         (_REG_ESPACE): Renamed from REG_ESPACE.
72387         (_REG_BADRPT): Renamed from REG_BADRPT.
72388         (_REG_EEND): Renamed from REG_EEND.
72389         (_REG_ESIZE): Renamed from REG_ESIZE.
72390         (_REG_ERPAREN): Renamed from REG_ERPAREN.
72391         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
72392         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
72393         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
72394         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
72395
72396         (_REG_RE_NAME, _REG_RM_NAME): New macros.
72397         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
72398         changed.  But support the old name if the new one is not defined
72399         and if _REGEX_SOURCE.
72400
72401         Change the following member names in struct re_pattern_buffer.
72402         The old names are still supported if !_REGEX_SOURCE.
72403         The new names are always supported, regardless of _REGEX_SOURCE.
72404         (re_buffer): Renamed from buffer.
72405         (re_allocated): Renamed from allocated.
72406         (re_used): Renamed from used.
72407         (re_syntax): Renamed from syntax.
72408         (re_fastmap): Renamed from fastmap.
72409         (re_translate): Renamed from translate.
72410         (re_can_be_null): Renamed from can_be_null.
72411         (re_regs_allocated): Renamed from regs_allocated.
72412         (re_fastmap_accurate): Renamed from fastmap_accurate.
72413         (re_no_sub): Renamed from no_sub.
72414         (re_not_bol): Renamed from not_bol.
72415         (re_not_eol): Renamed from not_eol.
72416         (re_newline_anchor): Renamed from newline_anchor.
72417
72418         Change the following member names in struct re_registers.
72419         The old names are still supported if !_REGEX_SOURCE.
72420         The new names are always supported, regardless of _REGEX_SOURCE.
72421         (rm_num_regs): Renamed from num_regs.
72422         (rm_start): Renamed from start.
72423         (rm_end): Renamed from end.
72424
72425         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
72426         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
72427         Prepend __ to parameter names.
72428
72429         Undo yesterday's changes.
72430
72431 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72432
72433         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
72434         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
72435         lib/regex.c.
72436
72437 2005-08-24  Jim Meyering  <jim@meyering.net>
72438
72439         Sync from coreutils.
72440         * m4/fcntl-safer.m4: New file.
72441
72442         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
72443         and object files for this module.
72444
72445 2005-08-24  Jim Meyering  <jim@meyering.net>
72446
72447         Sync from coreutils.
72448         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
72449
72450 2005-08-24  Jim Meyering  <jim@meyering.net>
72451
72452         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
72453         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
72454
72455 2005-08-24  Jim Meyering  <jim@meyering.net>
72456
72457         * modules/fcntl-safer: New module.
72458         * modules/fts (Depends-on): Add fcntl-safer.
72459         * MODULES.html.sh (File descriptor based Input/Output):
72460         Add fcntl-safer.
72461
72462 2005-08-24  Bruno Haible  <bruno@clisp.org>
72463
72464         Support for unit test modules.
72465         * modules/README: Mention tests modules.
72466         * modules/TEMPLATE-TESTS: New file.
72467         * gnulib-tool: New options --extract-tests-module, --with-tests and
72468         --tests-base (unused for the moment).
72469         (testsbase, inctests): New variables.
72470         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
72471         (func_verify_module): Exclude TEMPLATE-TESTS.
72472         (func_verify_nontests_module, func_verify_tests_module): New functions.
72473         (func_get_dependencies): Add implicit dependency for tests modules.
72474         (func_get_tests_module): New function.
72475         (func_modules_transitive_closure): When --with-tests was specified,
72476         include the unit tests as well, unless explicitly avoided.
72477         (func_emit_lib_Makefile_am): Ignore the tests modules here.
72478         (func_emit_tests_Makefile_am): New function.
72479         (func_create_testdir): When --with-tests was specified, emit a
72480         tests/ directory.
72481         * MODULES.html.sh (Future developments): Update.
72482
72483 2005-08-24  Bruno Haible  <bruno@clisp.org>
72484
72485         * modules/tls-tests: New file.
72486         * tests/test-tls.c: New file, from GNU gettext.
72487
72488 2005-08-24  Bruno Haible  <bruno@clisp.org>
72489
72490         * modules/lock-tests: New file.
72491         * tests/test-lock.c: New file, from GNU gettext.
72492
72493 2005-08-24  Bruno Haible  <bruno@clisp.org>
72494
72495         * lib/lock.h: Add multiple inclusion guard.
72496         * lib/tls.h: Add multiple inclusion guard.
72497
72498 2005-08-24  Bruno Haible  <bruno@clisp.org>
72499
72500         * gnulib-tool: Add support for the --aux-dir option to
72501         --create-testdir, --create-megatestdir, --test, --megatest.
72502         (func_create_testdir, func_create_megatestdir): Optionally emit a
72503         AC_CONFIG_AUX_DIR directive.
72504         (create-testdir, create-megatestdir, test, megatest): Provide a
72505         default value for $auxdir.
72506
72507 2005-08-24  Bruno Haible  <bruno@clisp.org>
72508
72509         * gnulib-tool (import): Use compound statement instead of subshell
72510         where possible.
72511
72512 2005-08-24  Bruno Haible  <bruno@clisp.org>
72513
72514         * gnulib-tool (import): Change --aux-dir default to "build-aux".
72515
72516 2005-08-24  Bruno Haible  <bruno@clisp.org>
72517
72518         * gnulib-tool (func_version): Update.
72519
72520 2005-08-24  Bruno Haible  <bruno@clisp.org>
72521
72522         * gnulib-tool (func_import, func_create_testdir,
72523         func_create_megatestdir): Quote all autoconf macro arguments.
72524
72525 2005-08-24  Bruno Haible  <bruno@clisp.org>
72526
72527         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
72528         option --force, because --force causes the aclocal.m4 of each
72529         subdirectory to be newer than the corresponding config.h.in.
72530
72531 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72532
72533         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
72534         All contents moved to gl_REGEX.
72535         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
72536         assume that it does.
72537
72538 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72539
72540         * lib/regex.h (REG_NOSYS)
72541         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
72542         Define, since POSIX requires it as of 2001.
72543         (_REG_ENOSYS)
72544         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
72545         New private symbol, used to keep the enum signed in all cases.
72546         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
72547         Youngman in
72548         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
72549
72550         * lib/regex_internal.c (re_string_skip_chars, register_state):
72551         (calc_state_hash):
72552         Remove forward decls; no longer needed now that we use prototypes.
72553         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
72554         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
72555         (clean_state_log_if_needed): Likewise.
72556
72557 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72558
72559         * config/srclist.txt: Add glibc bugs 1231-1233.
72560
72561 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72562
72563         Fix problems reported by Sam Steingold in
72564         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
72565         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
72566         assumed that reg_errcode_t is a signed type, which is not
72567         necessarily true if _XOPEN_SOURCE is not defined.
72568         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
72569         since some compilers warn about it otherwise.
72570
72571 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72572
72573         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
72574         (init_word_char, create_initial_state, duplicate_node_closure):
72575         (fetch_token, peek_token_bracket, build_range_exp):
72576         (build_collating_symbol): Remove forward decls; no longer needed
72577         now that we use prototypes.
72578
72579         * lib/regcomp.c:
72580         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
72581         (re_compile_fastmap_iter, regcomp, regerror, regfree):
72582         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
72583         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
72584         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
72585         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
72586         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
72587         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
72588         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
72589         (build_range_exp, build_collating_symbol, parse_bracket_exp):
72590         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
72591         (build_charclass, build_charclass_op, fetch_number, create_tree):
72592         (create_token_tree, mark_opt_subexp, duplicate_tree):
72593         Use prototypes rather than old-style definitions.
72594
72595         * lib/regex_internal.c:
72596         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
72597         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
72598         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
72599         (re_string_reconstruct, re_string_peek_byte_case):
72600         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
72601         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
72602         (re_node_set_init_copy, re_node_set_add_intersect):
72603         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
72604         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
72605         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
72606         (re_acquire_state, re_acquire_state_context, register_state):
72607         (create_ci_newstate, create_cd_newstate, free_state):
72608         Likewise.
72609         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
72610         re_search_2):
72611         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
72612         (re_search_internal, prune_impossible_nodes):
72613         (acquire_init_state_context, check_matching, static):
72614         (check_halt_node_context, check_halt_state_context, proceed_next_node):
72615         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
72616         (update_regs, sift_states_backward, build_sifted_states):
72617         (clean_state_log_if_needed, merge_state_array):
72618         (update_cur_sifted_state, add_epsilon_src_nodes):
72619         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
72620         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
72621         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
72622         (find_recover_state, check_subexp_matching_top, transit_state_mb):
72623         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
72624         (check_arrival, check_arrival_add_next_nodes):
72625         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
72626         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
72627         (check_node_accept_bytes, check_node_accept, extend_buffers):
72628         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
72629         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
72630         (sift_ctx_init):
72631         Likewise.
72632
72633         * lib/regex_internal.h:
72634         (re_string_allocate, re_string_construct, re_string_reconstruct):
72635         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
72636         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
72637         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
72638         (re_string_context_at, re_string_peek_byte_case):
72639         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
72640         is defined, since we now use prototypes always.
72641
72642         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
72643         C89 or better.  All uses removed.
72644
72645 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72646
72647         * config/srclist.txt: Add glibc bugs 1220-1227.
72648
72649 2005-08-20  Jim Meyering  <jim@meyering.net>
72650
72651         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
72652         of unused local, dfa.
72653
72654 2005-08-20  Bruno Haible  <bruno@clisp.org>
72655
72656         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
72657
72658 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72659
72660         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
72661         (re_node_set_insert_last, re_dfa_add_node):
72662         Rename local variables to avoid GCC shadowing warnings.
72663
72664 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72665
72666         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
72667         [defined lint]: Suppress bogus uninitialized-variable warnings.
72668
72669         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
72670         and let the caller return REG_ESPACE if out of space.  This
72671         removes an uninitialied-variable warning with GCC 4.0.1, and also
72672         avoids taking the address of a local variable.  All callers
72673         changed.
72674
72675 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72676
72677         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
72678         $LIBCSRC/posix/regexec.c.
72679         Add glibc bug 1217 for regcomp.c.
72680
72681 2005-08-19  Jim Meyering  <jim@meyering.net>
72682
72683         * lib/regexec.c (proceed_next_node): Redo local variables to
72684         avoid GCC shadowing warnings.
72685
72686 2005-08-18  Bruno Haible  <bruno@clisp.org>
72687
72688         * lib/strstr.c (strstr): Fix return value in multibyte case.
72689         * lib/strcasestr.c (strcasestr): Likewise.
72690
72691 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72692
72693         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
72694
72695 2005-08-17  Jim Meyering  <jim@meyering.net>
72696
72697         Make the %s format (seconds since the epoch) work for a negative
72698         number and when used with a zero-padded field width, e.g. %015s.
72699
72700         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
72701         label so that it precedes the code to set `digits'.  Otherwise,
72702         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
72703         print `00-22'.  Now, it prints `-0022', as it should.
72704
72705 2005-08-17  Bruno Haible  <bruno@clisp.org>
72706
72707         * modules/strstr (Files): Add m4/mbrtowc.m4.
72708         (Depends-on): Add mbuiter.
72709
72710 2005-08-17  Bruno Haible  <bruno@clisp.org>
72711
72712         * modules/strcasestr: New file.
72713         * MODULES.html.sh (String handling, based on ANSI C 89): Add
72714         strcasestr.
72715
72716 2005-08-17  Bruno Haible  <bruno@clisp.org>
72717
72718         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
72719
72720 2005-08-17  Bruno Haible  <bruno@clisp.org>
72721
72722         * modules/mbuiter: New file.
72723         * MODULES.html.sh (Extended multibyte and wide character utilities):
72724         Add mbuiter.
72725
72726 2005-08-17  Bruno Haible  <bruno@clisp.org>
72727
72728         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
72729         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
72730
72731 2005-08-17  Bruno Haible  <bruno@clisp.org>
72732
72733         * m4/strcasestr.m4: New file.
72734
72735 2005-08-17  Bruno Haible  <bruno@clisp.org>
72736
72737         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
72738         * lib/strstr.c: Completely rewritten, with multibyte locale support.
72739
72740 2005-08-17  Bruno Haible  <bruno@clisp.org>
72741
72742         * lib/strcasestr.h: New file.
72743         * lib/strcasestr.c: New file.
72744
72745 2005-08-17  Bruno Haible  <bruno@clisp.org>
72746
72747         * lib/strcasecmp.c: Use mbuiter.h.
72748
72749 2005-08-17  Bruno Haible  <bruno@clisp.org>
72750
72751         * lib/mbuiter.h: New file.
72752
72753 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
72754
72755         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
72756         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
72757         and gl_GETOPT are both invoked via different paths (as happens
72758         with GNU tar CVS because it uses both argp and getopt), the former
72759         wins.
72760
72761 2005-08-16  Bruno Haible  <bruno@clisp.org>
72762
72763         * modules/tls: New file.
72764         * MODULES.html.sh (Multithreading): Add tls.
72765
72766 2005-08-16  Bruno Haible  <bruno@clisp.org>
72767
72768         * modules/strnlen1: New file.
72769         * MODULES.html.sh (String handling): Add strnlen1.
72770
72771 2005-08-16  Bruno Haible  <bruno@clisp.org>
72772
72773         * modules/strcase (Files): Add m4/mbrtowc.m4.
72774         (Depends-on): Add strnlen1, mbchar.
72775
72776 2005-08-16  Bruno Haible  <bruno@clisp.org>
72777
72778         * modules/mbiter: New file.
72779         * MODULES.html.sh (Extended multibyte and wide character utilities):
72780         Add mbiter.
72781
72782 2005-08-16  Bruno Haible  <bruno@clisp.org>
72783
72784         * modules/mbfile: New file.
72785         * MODULES.html.sh (Extended multibyte and wide character utilities):
72786         Add mbfile.
72787
72788 2005-08-16  Bruno Haible  <bruno@clisp.org>
72789
72790         * modules/mbchar: New file.
72791         * MODULES.html.sh (Extended multibyte and wide character utilities):
72792         New section.
72793
72794 2005-08-16  Bruno Haible  <bruno@clisp.org>
72795
72796         * m4/tls.m4: New file, from GNU gettext.
72797
72798 2005-08-16  Bruno Haible  <bruno@clisp.org>
72799
72800         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
72801         always.
72802         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
72803
72804 2005-08-16  Bruno Haible  <bruno@clisp.org>
72805
72806         * m4/mbiter.m4: New file.
72807
72808 2005-08-16  Bruno Haible  <bruno@clisp.org>
72809
72810         * m4/mbfile.m4: New file.
72811
72812 2005-08-16  Bruno Haible  <bruno@clisp.org>
72813
72814         * m4/mbchar.m4: New file.
72815
72816 2005-08-16  Bruno Haible  <bruno@clisp.org>
72817
72818         * lib/tls.h: New file, from GNU gettext.
72819         * lib/tls.c: New file, from GNU gettext.
72820
72821 2005-08-16  Bruno Haible  <bruno@clisp.org>
72822
72823         * lib/strnlen1.h: New file.
72824         * lib/strnlen1.c: New file.
72825
72826 2005-08-16  Bruno Haible  <bruno@clisp.org>
72827
72828         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
72829         (mbi_init): Update.
72830         (mbi_avail, mbi_advance): Let the iteration end before the terminating
72831         NUL byte, not after it.
72832
72833 2005-08-16  Bruno Haible  <bruno@clisp.org>
72834
72835         * lib/strcase.h (strcasecmp): Add note in comments.
72836         * lib/strncasecmp.c: Use code from strcasecmp.c.
72837         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
72838         (strcasecmp): Work correctly in multibyte locales.
72839
72840 2005-08-16  Bruno Haible  <bruno@clisp.org>
72841
72842         * lib/mbiter.h: New file.
72843
72844 2005-08-16  Bruno Haible  <bruno@clisp.org>
72845
72846         * lib/mbfile.h: New file.
72847
72848 2005-08-16  Bruno Haible  <bruno@clisp.org>
72849
72850         * lib/mbchar.h: New file.
72851         * lib/mbchar.c: New file.
72852
72853 2005-08-16  Bruno Haible  <bruno@clisp.org>
72854
72855         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
72856         the valid ones. Makes the comparison operations transitive:
72857         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
72858         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
72859
72860 2005-08-15  Simon Josefsson  <jas@extundo.com>
72861
72862         * modules/ssize_t (License): Change to 'unlimited'.
72863
72864         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
72865
72866 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72867
72868         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
72869         Add comments for each pending glibc patch.
72870
72871 2005-08-15  Bruno Haible  <bruno@clisp.org>
72872
72873         * lib/regex.h (__restrict_arr): Don't define to __restrict if
72874         __cplusplus is defined.
72875
72876 2005-08-14  Jim Meyering  <jim@meyering.net>
72877
72878         Sync from coreutils.
72879
72880         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
72881         Use the hash-table-based cycle-detection code not just when
72882         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
72883         Reported by James Youngman in
72884         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
72885         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
72886         FTS_TIGHT_CYCLE_CHECK.
72887         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
72888         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
72889         once again.
72890         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
72891         * lib/fts.c (fd_safer): Remove decl.
72892         Include fcntl--.h rather than unistd-safer.h
72893         (fts_safe_changedir): Don't call fd_safer; no longer needed
72894         now that we include fcntl--.h.
72895
72896 2005-08-12  Simon Josefsson  <jas@extundo.com>
72897
72898         * modules/getndelim2: Use ssize_t module.
72899         * modules/getnline: Likewise.
72900         * modules/safe-read: Likewise.
72901         * modules/xreadlink: Likewise.
72902
72903         * modules/ssize_t: New file.
72904
72905 2005-08-12  Simon Josefsson  <jas@extundo.com>
72906
72907         * m4/readline.m4: Look for termcap, curses or ncurses if required.
72908
72909 2005-08-12  Simon Josefsson  <jas@extundo.com>
72910
72911         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72912         ssize_t.
72913
72914 2005-08-12  Simon Josefsson  <jas@extundo.com>
72915
72916         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
72917         readline, getdelim and check_version.
72918         (Support for systems lacking ISO C 99: Sizes of integer types):
72919         Add size_max.
72920
72921 2005-08-12  Bruno Haible  <bruno@clisp.org>
72922
72923         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
72924
72925 2005-08-11  Simon Josefsson  <jas@extundo.com>
72926
72927         * modules/readline: New file.
72928
72929         * modules/strnlen (Files): Add strnlen.h.
72930
72931 2005-08-11  Simon Josefsson  <jas@extundo.com>
72932
72933         * m4/readline.m4: New file.
72934
72935 2005-08-11  Simon Josefsson  <jas@extundo.com>
72936
72937         * lib/readline.h, readline.c: New file.
72938
72939 2005-08-11  Simon Josefsson  <jas@extundo.com>
72940
72941         * doc/gnulib.texi (Initial import, Finishing touches): Mention
72942         gl_AVOID.
72943
72944 2005-08-11  Bruno Haible  <bruno@clisp.org>
72945
72946         * lib/strnlen.h (strnlen): Change parameter name to match comment.
72947
72948 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
72949
72950         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
72951
72952 2005-08-10  Simon Josefsson  <jas@extundo.com>
72953
72954         * tests/test-iconvme.c: New file.
72955
72956 2005-08-10  Simon Josefsson  <jas@extundo.com>
72957
72958         * m4/strnlen.m4: New file.
72959
72960         * m4/strndup.m4: Don't check for strnlen declaration, done in
72961         strnlen.m4.
72962
72963 2005-08-10  Simon Josefsson  <jas@extundo.com>
72964
72965         * lib/strndup.c: Use strnlen.h.
72966
72967         * lib/strnlen.h: New file.
72968
72969 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72970
72971         * README: Typos.
72972
72973 2005-08-02  Simon Josefsson  <jas@extundo.com>
72974
72975         * modules/readline: New file.
72976
72977 2005-08-02  Simon Josefsson  <jas@extundo.com>
72978
72979         * modules/getdelim: New file.
72980
72981         * modules/getline: Rewrite, don't use getndelim2.
72982
72983 2005-08-02  Simon Josefsson  <jas@extundo.com>
72984
72985         * m4/getline.m4: Separate out getdelim stuff into separate module.
72986
72987         * m4/getdelim.m4: New file.
72988
72989 2005-08-02  Simon Josefsson  <jas@extundo.com>
72990
72991         * lib/getline.h, getline.c: Rewrite.
72992
72993         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
72994
72995 2005-07-31  Bruno Haible  <bruno@clisp.org>
72996
72997         * lib/lock.h (gl_lock_initializer): New macro.
72998         (gl_lock_define_initialized): Use it.
72999         (gl_rwlock_initializer): New macro.
73000         (gl_rwlock_define_initialized): Use it.
73001         (gl_recursive_lock_initializer): New macro.
73002         (gl_recursive_lock_define_initialized): Use it.
73003
73004 2005-07-30  Karl Berry  <karl@gnu.org>
73005
73006         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
73007         Report from Ben Pfaff, regarding getopt.
73008
73009 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
73010
73011         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
73012         normal way.
73013         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
73014         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
73015         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
73016         (gl_GETOPT): Use the new macros.  Most of the implementation
73017         is moved to the new macros.  This is for programs like Emacs
73018         that don't want all the functionality of gl_GETOPT.
73019
73020 2005-07-26  Bruno Haible  <bruno@clisp.org>
73021
73022         * m4/lock.m4: Update from GNU gettext.
73023
73024 2005-07-26  Bruno Haible  <bruno@clisp.org>
73025
73026         * lib/lock.h: Update from GNU gettext.
73027         * lib/lock.c: Update from GNU gettext.
73028
73029 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
73030
73031         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
73032         obsolescent AC_TRY_RUN.  Include the default includes files, for
73033         'exit'.
73034
73035 2005-07-24  Bruno Haible  <bruno@clisp.org>
73036
73037         * modules/visibility: New file.
73038         * MODULES.html.sh (Misc): Add visibility.
73039
73040 2005-07-24  Bruno Haible  <bruno@clisp.org>
73041
73042         * m4/visibility.m4: New file.
73043
73044 2005-07-24  Bruno Haible  <bruno@clisp.org>
73045
73046         * doc/visibility.texi: New file.
73047
73048 2005-07-22  Bruno Haible  <bruno@clisp.org>
73049
73050         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
73051         $(ALLOCA_H), redundant through BUILT_SOURCES.
73052         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
73053         redundant through BUILT_SOURCES.
73054         * modules/byteswap (Makefile.am): Remove explicit dependency on
73055         $(BYTESWAP_H), redundant through BUILT_SOURCES.
73056         * modules/fnmatch (Makefile.am): Remove explicit dependency on
73057         $(FNMATCH_H), redundant through BUILT_SOURCES.
73058         * modules/getopt (Makefile.am): Remove explicit dependency on
73059         $(GETOPT_H), redundant through BUILT_SOURCES.
73060         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
73061         redundant through BUILT_SOURCES.
73062         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
73063         redundant through BUILT_SOURCES.
73064         * modules/stdbool (Makefile.am): Remove explicit dependency on
73065         $(STDBOOL_H), redundant through BUILT_SOURCES.
73066         * modules/stdint (Makefile.am): Remove explicit dependency on
73067         $(STDINT_H), redundant through BUILT_SOURCES.
73068         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
73069         Remove explicit dependency on $(SYSEXITS_H).
73070         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
73071
73072 2005-07-18  Simon Josefsson  <jas@extundo.com>
73073
73074         * lib/check-version.c (check_version): Accept identical versions too.
73075
73076 2005-07-18  Bruno Haible  <bruno@clisp.org>
73077
73078         * modules/lock: New file.
73079         * MODULES.html.sh (Multithreading): New section.
73080
73081 2005-07-18  Bruno Haible  <bruno@clisp.org>
73082
73083         * m4/lock.m4: New file, from GNU gettext.
73084
73085 2005-07-18  Bruno Haible  <bruno@clisp.org>
73086
73087         * lib/lock.h: New file, from GNU gettext.
73088         * lib/lock.c: New file, from GNU gettext.
73089
73090 2005-07-18  Bruno Haible  <bruno@clisp.org>
73091
73092         * lib/lock.h (gl_once_t): New type.
73093         (gl_once_define, gl_once): New macros.
73094         * lib/lock.c (fresh_once): New variable.
73095         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
73096         functions.
73097
73098 2005-07-16  Simon Josefsson  <jas@extundo.com>
73099
73100         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
73101         workaround, suggested by Bruno.
73102
73103 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
73104
73105         * modules/xalloc (Depends-on): Add xalloc-die.
73106         * modules/xvasprintf (Depends-on): Add xalloc-die.
73107
73108 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
73109
73110         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
73111         with a minor change.
73112
73113 2005-07-15  Bruno Haible  <bruno@clisp.org>
73114
73115         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
73116         When using lib/poll.c, define poll as rpl_poll.
73117
73118 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
73119
73120         * modules/argp (Depends-on): Remove unlocked-io.
73121
73122 2005-07-14  Derek Price  <derek@ximbiot.com>
73123
73124         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
73125         for glob symlink bug.
73126
73127 2005-07-14  Bruno Haible  <bruno@clisp.org>
73128
73129         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
73130         Instead, test for *_unlocked function declarations directly.
73131
73132 2005-07-11  Simon Josefsson  <jas@extundo.com>
73133
73134         * modules/size_max: New file.
73135
73136         * modules/xsize: Depend on size_max module for size_max.m4.
73137
73138 2005-07-11  Simon Josefsson  <jas@extundo.com>
73139
73140         * lib/size_max.h: New file.
73141
73142 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
73143
73144         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
73145         copyright symbol and the year.
73146         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
73147         (version_etc_va): Use parameterized copyright notice.
73148         Reword to conform to the current GNU coding standards.
73149
73150 2005-07-11  Karl Berry  <karl@gnu.org>
73151
73152         * doc/gnulib.texi (Quoting): new node.
73153         (Initial import): more info, from Patrice.
73154
73155 2005-07-11  Bruno Haible  <bruno@clisp.org>
73156
73157         * gnulib-tool (func_usage): Document option --avoid.
73158         (Command line options): Handle --avoid.
73159         (func_acceptable): New function.
73160         (func_modules_transitive_closure): Use it.
73161
73162 2005-07-11  Bruno Haible  <bruno@clisp.org>
73163
73164         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
73165         Reported by Jim Meyering.
73166
73167 2005-07-10  Bruno Haible  <bruno@clisp.org>
73168
73169         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
73170         Needed when size_t is smaller than 'unsigned int'.
73171         Reported by Paul Eggert.
73172
73173 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73174
73175         * modules/argp (Depends-on): Add unlocked-io
73176
73177 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73178
73179         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
73180         block of defines.
73181
73182 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
73183
73184         * config/srclist.txt: Comment out regcomp.c, since we have a porting
73185         fix now.
73186
73187 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
73188         and Paul Eggert  <eggert@cs.ucla.edu>
73189
73190         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
73191         in wint_t, not wchar_t.  Remove now-unnecessary cast.
73192
73193 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
73194
73195         * modules/regex (Files): Add lib/regex_internal.c,
73196         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
73197         (Depends-on): Add extensions.
73198         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
73199
73200 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
73201
73202         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
73203         pathconf.
73204         * m4/same.m4 (gl_SAME): Likewise.
73205         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
73206
73207         * m4/regex.m4: Adjust to new libc regex implementation.
73208         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
73209         all the .c and .h parts of (the new) regex.
73210         Quote the m4 stuff better.
73211         Check for RE_ICASE bug of old gnulib.
73212         Check for REG_STARTEND of recent libc.
73213         Rename local variables from jm_* to gl_*.
73214         Quote operand of "test -f".
73215         Say "recent enough" version of libc, not "version 2".
73216         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
73217         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
73218         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
73219         Remove check for btowc, isascii.
73220         Require AM_LANGINFO_CODESET.
73221
73222 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
73223
73224         * lib/regex.c, regex.h: Sync from libc.
73225         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
73226         * lib/regexec.c:
73227         New files, synced from libc, except that regex_internal.h
73228         currently has a small porting fix.
73229
73230 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
73231
73232         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
73233         regex_internal.c, regexec.c.
73234         Add regex_internal.h too, but as a comment, since the libc version
73235         is currently broken in gnulib mode.
73236
73237 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73238
73239         Support programs like Emacs that use gnulib but not gettext.
73240         * MODULES.html.sh (Internationalization functions): Add gettext-h.
73241         * modules/gettext-h: New file.
73242         * modules/gettext (Files): Remove lib/gettext.h.
73243         (Depends-on): Add gettext-h.
73244         (Makefile.am): Remove lib_SOURCES.
73245         * modules/argmatch, modules/c-stack, modules/closeout:
73246         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
73247         * modules/execute, modules/file-type, modules/getaddrinfo:
73248         * modules/getopt, modules/human, modules/javacomp:
73249         * modules/javaexec, modules/mkdir-p, modules/obstack:
73250         * modules/openat, modules/pagealign_alloc, modules/pipe:
73251         * modules/quotearg, modules/regex, modules/rpmatch:
73252         * modules/unicodeio, modules/userspec, modules/version-etc:
73253         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
73254         * modules/xsetenv:
73255         Depend on gettext-h, not gettext.
73256
73257 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73258
73259         * gnulib-tool (func_import): Add support for 'public domain' license.
73260         * modules/alloca, modules/atexit, modules/memmove:
73261         Now public domain, not GPL.
73262         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
73263         * modules/realloc, modules/strerror, modules/strtod:
73264         Now LGPL, not GPL.
73265
73266 2005-07-05  Bruno Haible  <bruno@clisp.org>
73267
73268         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
73269         autoconf CVS. Needed for mingw.
73270
73271 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73272
73273         Remove the dependency of the strftime module on the tzset module.
73274         * modules/strftime (Depends-on): Remove dependency on tzset.
73275
73276 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73277
73278         Remove the dependency of the strftime module on the tzset module.
73279         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
73280         gl_FUNC_TZSET_CLOBBER.
73281
73282 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73283
73284         Remove the dependency of the strftime module on the tzset module.
73285         * lib/strftime.c (my_strftime)
73286         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
73287         Copy the input structure, to work around some of the bug with
73288         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
73289         Solaris releases, you should also use the tzset module, but we won't
73290         require it as a dependency any more since we don't want LGPLed code
73291         to depend on GPLed code.
73292
73293 2005-07-02  Jim Meyering  <jim@meyering.net>
73294
73295         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
73296         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
73297         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
73298         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
73299
73300 2005-07-02  Jim Meyering  <jim@meyering.net>
73301
73302         * lib/backupfile.c (backup_args): Change a `0' to NULL.
73303
73304 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73305
73306         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
73307         declares only 'struct timespec;' (!).
73308
73309 2005-07-01  Jim Meyering  <jim@meyering.net>
73310
73311         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
73312         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
73313         * lib/save-cwd.c, tempname.c:
73314         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
73315         and don't include <sys/file.h>).
73316
73317 2005-06-29  Jim Meyering  <jim@meyering.net>
73318
73319         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
73320         type name.  Use the variable name instead.
73321         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
73322         Likewise.
73323
73324 2005-06-28  Simon Josefsson  <jas@extundo.com>
73325
73326         * modules/check-version (Files): Add check-version.m4.
73327
73328 2005-06-28  Simon Josefsson  <jas@extundo.com>
73329
73330         * m4/check-version.m4: New file, suggested by Jim Meyering
73331         <jim@meyering.net>.
73332
73333 2005-06-28  Simon Josefsson  <jas@extundo.com>
73334
73335         * lib/check-version.h, lib/check-version.c: New files.
73336
73337 2005-06-28  Simon Josefsson  <jas@extundo.com>
73338
73339         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
73340         collision with global variable.  Better indentation.  Don't
73341         increment buffer pointer beyond buffer end.  Based on comments
73342         from Paul Eggert <eggert@cs.ucla.edu>.
73343
73344         * lib/base64.h: Indent.
73345
73346 2005-06-28  Simon Josefsson  <jas@extundo.com>
73347
73348         * doc/gnulib.texi (Library version handling): New section.
73349
73350 2005-06-28  Jim Meyering  <jim@meyering.net>
73351
73352         * check-module (find_included_lib_files): Hard-code another
73353         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
73354         but modules/fts-lgpl (correctly) does not list those files.
73355
73356         * modules/canonicalize (Files): Add lib/pathmax.h.
73357
73358 2005-06-25  Simon Josefsson  <jas@extundo.com>
73359
73360         * modules/check-version: New file.
73361
73362 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
73363
73364         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
73365         initializer of struct addrinfo, as an indication that we don't
73366         care how many members the structure has.
73367
73368 2005-06-24  Derek Price  <derek@ximbiot.com>
73369         and Bruno Haible  <bruno@clisp.org>
73370
73371         Remove stat module & update lstat.
73372         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
73373         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73374         * m4/stat.m4: Remove this file.
73375
73376 2005-06-24  Derek Price  <derek@ximbiot.com>
73377         and Bruno Haible  <bruno@clisp.org>
73378
73379         Remove stat module & update lstat.
73380         * lib/stat.c: Remove this file...
73381         (slash_aware_lstat): ...moving this content and its support...
73382         * lib/lstat.c (rpl_lstat): ...into here.
73383         * lib/lstat.h: New file.
73384
73385 2005-06-24  Derek Price  <derek@ximbiot.com>
73386         and Bruno Haible  <bruno@clisp.org>
73387
73388         Remove stat module & update lstat.
73389         * config/srclist.txt (libc sources): Remove stat.
73390
73391 2005-06-24  Derek Price  <derek@ximbiot.com>
73392         and Bruno Haible  <bruno@clisp.org>
73393
73394         Remove stat module & update lstat.
73395         * MODULES.html.sh (stat): Remove.
73396         * MODULES.html: Regenerated.
73397         * modules/lstat (Description): Correct function name.
73398         (Files): Add "lstat.h".
73399         (Depends-on): Remove stat, add xalloc, stat-macros.
73400         * modules/stat: Remove this file.
73401         (Include): Add "lstat.h", remove <sys/stat.h>.
73402
73403 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
73404
73405         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
73406         (ranged_convert): Don't save conversion in a temporary struct.
73407         This causes a warning with GCC 4.0.0, and anyway in the typical
73408         case it's not worth the extra 100 bytes or so of code.
73409         (ranged_convert, __mktime_internal): When calling a function via a
73410         pointer P, use P () rather than (*P) (), as we now assume C89 or
73411         better.
73412
73413 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73414
73415         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
73416         "who -r" failed to give output.  Problem reported by Tim Waugh.
73417
73418         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
73419         (xcalloc): Use it to avoid needless tests.
73420         Problem reported by Jim Meyering.
73421
73422 2005-06-20  Derek Price  <derek@ximbiot.com>
73423
73424         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
73425         unnecessary for Autoconfs > 2.59c.
73426
73427 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73428
73429         * lib/argp.h (__option_is_short): Check upper limit of
73430         __key. Isprint() requires its argument to have the value
73431         of an unsigned char or EOF.
73432
73433 2005-06-16  Jim Meyering  <jim@meyering.net>
73434
73435         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
73436         when either N or S is zero.
73437
73438 2005-06-16  Derek Price  <derek@ximbiot.com>
73439
73440         * m4/bison.m4: Declare YACC & YFLAGS precious.
73441
73442 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
73443
73444         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
73445         multibyte string or pattern, fall back on unibyte matching.
73446         Problem reported by James Youngman.
73447
73448 2005-06-08  Bruno Haible  <bruno@clisp.org>
73449
73450         * modules/csharpcomp: New file.
73451         * MODULES.html.sh (C#): Add csharpcomp.
73452
73453 2005-06-08  Bruno Haible  <bruno@clisp.org>
73454
73455         * m4/csharpcomp.m4: New file, from GNU gettext.
73456
73457 2005-06-08  Bruno Haible  <bruno@clisp.org>
73458
73459         * lib/csharpcomp.h: New file, from GNU gettext.
73460         * lib/csharpcomp.c: New file, from GNU gettext.
73461         * lib/csharpcomp.sh.in: New file, from GNU gettext.
73462
73463 2005-06-08  Bruno Haible  <bruno@clisp.org>
73464
73465         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
73466         warning on mingw.
73467
73468 2005-06-07  Derek Price  <derek@ximbiot.com>
73469
73470         Sync from CVS.
73471         * lib/glob_.h: Indent nested #ifdef.
73472
73473 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
73474
73475         Sync from coreutils.
73476         Use "file name" when talking about file names, instead of "filename"
73477         or "path", as per the GNU coding standards.
73478         * lib/mkdir-p.c: Renamed from makepath.c.
73479         (make_dir_parents): Renamed from make_path.  All callers changed.
73480         * lib/mkdir-p.h: Likewise.  All includers changed.
73481         * lib/filenamecat.c: Renamed from path-concat.c.
73482         (file_name_concat): Renamed from path_concat.  All callers changed.
73483         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
73484         * lib/filenamecat.h: Likewise.  All includers changed.
73485         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
73486         in comments or local variable names.
73487         * lib/basename.c: Likewise.
73488         * lib/canonicalize.c, canonicalize.h: Likewise.
73489         * lib/dirname.c, dirname.h: Likewise.
73490         * lib/euidaccess.c: Likewise.
73491         * lib/exclude.c: Likewise
73492         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
73493         * lib/fsusage.c, fsuage.h: Likewise.
73494         * lib/fts.c, fts_.h: Likewise.
73495         * lib/getcwd.c: Likewise.
73496         * lib/getloadavg.c: Likewise.
73497         * lib/mkstemp.c: Likewise.
73498         * lib/mountlist.c, mountlist.h: Likewise.
73499         * lib/openat.c, openat.h: Likewise.
73500         * lib/readlink-stub.c: Likewise.
73501         * lib/readutmp.c, readutmp.h: Likewise.
73502         * lib/rename.c: Likewise.
73503         * lib/rmdir.c: Likewise.
73504         * lib/same.c: Likewise.
73505         * lib/savedir.c: Likewise.
73506         * lib/stripslash.c: Likewise.
73507         * lib/tempname.c: Likewise.
73508         * lib/xreadlink.c: Likewise.
73509         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
73510         All uses changed.
73511         * lib/exclude.h: Likewise.
73512
73513         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
73514         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
73515         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
73516         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
73517         * lib/pathmax.h: Include <limits.h> unconditionally, since other
73518         files have been getting away with it for years (MORE/BSD 4.3
73519         is extinct now).
73520         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
73521         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
73522
73523         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
73524         Define to 256, not 255, as per modern POSIX.
73525
73526 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
73527
73528         Sync from coreutils.
73529         Use "file name" when talking about file names, instead of "filename"
73530         or "path", as per the GNU coding standards.
73531         * MODULES.html.sh: mkdir-p renamed from makepath.
73532         filenamecat renamed from path-concat.
73533         * modules/filenamecat: Renamed from modules/path-concat.
73534         (Files): filenamecat.h and filenamecat.c renamed from
73535         path-concat.h and path-concat.c.
73536         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
73537         (Include): filenamecat.h, not path-concat.h.
73538         * modules/mkdir-p: Renamed from modules/makepath.
73539         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
73540         makepath.c.
73541         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
73542         (Include): mkdir-p.h, not makepath.h.
73543
73544 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
73545
73546         Sync from coreutils.
73547         * m4/mkdir-p.m4: Renamed from makepath.m4.
73548         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
73549         Rename files from makepath.c to mkdir-p.c, and from
73550         makepath.h to mkdir-p.h.
73551         * m4/filenamecat.m4: Renamed from path-concat.m4.
73552         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
73553         Rename files from path-concat.c to filenamecat.c,
73554         and from path-concat.h to filenamecat.h.
73555         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
73556         "file name" in local variables or comments.
73557         * m4/rename.m4: Likewise.
73558
73559 2005-06-01  Bruno Haible  <bruno@clisp.org>
73560
73561         * modules/csharpexec: New file.
73562         * MODULES.html.sh (C#): New section.
73563
73564 2005-06-01  Bruno Haible  <bruno@clisp.org>
73565
73566         * m4/csharp.m4: New file, from GNU gettext.
73567         * m4/csharpexec.m4: New file, from GNU gettext.
73568
73569 2005-06-01  Bruno Haible  <bruno@clisp.org>
73570
73571         * lib/csharpexec.h: New file, from GNU gettext.
73572         * lib/csharpexec.c: New file, from GNU gettext.
73573         * lib/csharpexec.sh.in: New file, from GNU gettext.
73574
73575 2005-05-31  Derek Price  <derek@ximbiot.com>
73576             Paul Eggert  <eggert@cs.ucla.edu>
73577
73578         Sync from cvs.
73579         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
73580
73581 2005-05-31  Derek Price  <derek@ximbiot.com>
73582             Paul Eggert  <eggert@cs.ucla.edu>
73583
73584         Sync from cvs.
73585         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
73586
73587 2005-05-29  Derek Price  <derek@ximbiot.com>
73588
73589         * config/srclist.txt (glob_.h, glob.c): Add these files.
73590
73591 2005-05-29  Derek Price  <derek@ximbiot.com>
73592
73593         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
73594         * modules/glob: New file.
73595         * modules/getlogin_r: Add link to POSIX spec in description.
73596
73597 2005-05-29  Derek Price  <derek@ximbiot.com>
73598             Paul Eggert  <eggert@cs.ucla.edu>
73599
73600         * m4/glob.m4: New file.
73601
73602 2005-05-29  Derek Price  <derek@ximbiot.com>
73603             Paul Eggert  <eggert@cs.ucla.edu>
73604
73605         * lib/glob_.h, lib/glob.c: New files.
73606
73607 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
73608
73609         * modules/fts (Files): Remove m4/inttypes-pri.m4.
73610         * modules/fts-lgpl (Depends-on): Remove gettext.
73611
73612 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
73613
73614         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
73615         and don't require gt_INTTYPES_PRI.
73616
73617 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
73618
73619         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
73620
73621         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
73622         the configuration hassle isn't worth it.
73623         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
73624         (LONGEST_MODIFIER, PRIuMAX): Remove.
73625
73626 2005-05-27  Bruno Haible  <bruno@clisp.org>
73627
73628         * lib/getlogin_r.h: Remove second include of <stddef.h>.
73629
73630 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
73631
73632         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
73633         _POSIX_PTHREAD_SEMANTICS for Solaris.
73634
73635 2005-05-25  Derek Price  <derek@ximbiot.com>
73636
73637         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
73638
73639 2005-05-25  Derek Price  <derek@ximbiot.com>
73640             Paul Eggert  <eggert@cs.ucla.edu>
73641
73642         * modules/getlogin_r, m4/getlogin_r.m4: New files.
73643         * lib/getlogin_r.c, getlogin_r.h: New files.
73644
73645 2005-05-25  Bruno Haible  <bruno@clisp.org>
73646             Derek Price  <derek@ximbiot.com>
73647
73648         * lib/getlogin_r.h: Simplify API documentation.
73649
73650 2005-05-23  Derek Price  <derek@ximbiot.com>
73651
73652         * modules/minmax (Files): Add m4/minmax.m4.
73653         (configure.ac): Add gl_MINMAX.
73654
73655 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73656
73657         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
73658         so that unistd-safer.h (GPL'ed code) need not be included.
73659
73660 2005-05-22  Bruno Haible  <bruno@clisp.org>
73661
73662         * m4/minmax.m4: New file.
73663         Based on a patch by Derek Price <derek@ximbiot.com>.
73664
73665 2005-05-22  Bruno Haible  <bruno@clisp.org>
73666
73667         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
73668         (INT64_MIN): Fix definition.
73669         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
73670
73671         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
73672         NEED_SIGNED_INT_TYPES.
73673
73674         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
73675         HAVE_SYSTEM_INTTYPES.
73676
73677 2005-05-22  Bruno Haible  <bruno@clisp.org>
73678
73679         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
73680         Also include <sys/param.h> if it defines MIN, MAX.
73681         Based on a patch by Derek Price <derek@ximbiot.com>.
73682
73683 2005-05-21  Jim Meyering  <jim@meyering.net>
73684
73685         * modules/fts (Files): Add m4/inttypes-pri.m4.
73686         (Depends-on): Add lstat and remove gettext.  Alphabetize.
73687
73688 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73689
73690         New fts module.
73691         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
73692         (setup_dir, free_dir): New functions.
73693         (enter_dir, leave_dir): Define trivial
73694         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
73695         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
73696         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
73697         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
73698         Move to fts-cycle.c.
73699         (fts_open): Use setup_dir.
73700         (fts_close): Use free_dir.
73701         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
73702         This adds a label and some gotos, but the alternatives were messier.
73703         Check for memory allocation failure when entering a dir.
73704         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
73705         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
73706         (FTS): New member fts_cycle, that is a union that contains the
73707         old active_dir_ht and cycle_state.  All uses changed to mention
73708         fts_cycle.ht and fts_cycle.state.
73709         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
73710         fts.c, with the following changes:
73711         (setup_dir, free_dir): New functions.
73712         (enter_dir): Now returns bool.  Return true if successful, false
73713         if memory exhausted.  All callers changed.
73714         Do not bother partly cleaning up on
73715         memory allocation failure; that is free_dir's job.
73716         However, free ad if hash_insert fails, to avoid memory leak.
73717         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
73718         fts->fts_options to see which union member to use.
73719
73720 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73721
73722         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
73723         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
73724
73725 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73726
73727         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
73728
73729 2005-05-20  Jim Meyering  <jim@meyering.net>
73730
73731         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
73732         Now a macro, to pacify GCC.
73733
73734 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
73735
73736         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
73737         of -1.
73738
73739 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
73740
73741         * lib/chown.c (rpl_chown): Return -1 on failure.
73742
73743 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
73744
73745         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
73746         Don't check for stddef.h.
73747         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
73748         don't use its results.
73749         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
73750         since we include them unconditionally.  Don't require
73751         AM_STDBOOL_H, since stdbool is a prerequisite.
73752         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
73753         since we assume C89 or better.
73754         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
73755         as we don't use their results.
73756         Don't check for fchdir, memmove, memset, strrchr, as we use
73757         them unconditionally.
73758         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
73759         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
73760
73761 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
73762
73763         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
73764         Include <stddef.h> unconditionally, since we assume C89 now.
73765         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
73766         * lib/fts.c: Include fts_.h first, to check interface.
73767         Do not include intprops.h; no longer needed.
73768         Include cycle-check.h and hash.h, since fts_.h no longer does.
73769         Remove unnecessary casts of closedir to void.
73770         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
73771         decide whether to decrement nlinks.
73772         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
73773         (FTS): Use struct hash_table * instead of Hash_table, so that
73774         we no longer need to include hash.h here.
73775
73776 2005-05-18  Jim Meyering  <jim@meyering.net>
73777
73778         * modules/dirfd (License): Change to LGPL.  Most of the code
73779         is already in the public domain.
73780
73781 2005-05-18  Jim Meyering  <jim@meyering.net>
73782
73783         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
73784         Reported by Yoann Vandoorselaere.
73785
73786 2005-05-17  Jim Meyering  <jim@meyering.net>
73787
73788         * m4/fts.m4: New file, from coreutils.
73789
73790 2005-05-17  Jim Meyering  <jim@meyering.net>
73791
73792         * lib/fts.c, lib/fts_.h: New files, from coreutils.
73793
73794 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73795
73796         Sync from coreutils.
73797         * m4/unlinkdir.m4: New file.
73798
73799 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73800
73801         Sync from coreutils.
73802         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
73803         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
73804         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
73805         White space changes only.
73806         * lib/makepath.c (make_path): Port to hosts where leading "//" is
73807         special.
73808         * lib/yesno.c: Include getline.h, not ctype.h.
73809         (yesno): Don't remove leading white space; POSIX doesn't allow it.
73810         Use getline to remove arbitrary restriction on response length.
73811
73812 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73813
73814         * config/srclist-update: Spell out "Street" in FSF postal
73815         mail address; this is the style the FSF seems to prefer.
73816
73817         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
73818         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
73819         this updates FSF postal mail address.
73820
73821         Sync from coreutils.
73822         * modules/unlinkdir: New file.
73823         * modules/yesno (Depends-on): Add getline.
73824         * MODULES.html.sh (File system functions): Add unlinkdir.
73825
73826 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73827
73828         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
73829         lib/strsep.h:
73830         Change the initial comment to refer to GPL, not LGPL.
73831         gnulib-tool will change it to LGPL as needed.
73832
73833         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
73834         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
73835         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
73836         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
73837         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
73838         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
73839         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
73840         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
73841         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
73842         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
73843         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
73844         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
73845         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
73846         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
73847         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
73848         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
73849         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
73850         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
73851         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
73852         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
73853         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
73854         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
73855         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
73856         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
73857         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
73858         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
73859         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
73860         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
73861         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
73862         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
73863         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
73864         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
73865         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
73866         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
73867         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
73868         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
73869         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
73870         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
73871         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
73872         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
73873         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
73874         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
73875         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
73876         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
73877         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
73878         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
73879         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
73880         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
73881         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
73882         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
73883         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
73884         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
73885         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
73886         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
73887         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
73888         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
73889         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
73890         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
73891         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
73892         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
73893         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
73894         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
73895         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
73896         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
73897         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
73898         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
73899         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
73900         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
73901         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
73902         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
73903         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
73904         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
73905         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
73906         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
73907         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
73908         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
73909         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
73910         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
73911         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
73912         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
73913         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
73914         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
73915         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
73916         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
73917         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
73918         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
73919         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
73920         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
73921         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
73922         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
73923         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
73924         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
73925         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
73926         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
73927         lib/yesno.c, lib/yesno.h:
73928         Update FSF postal mail address.
73929
73930 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73931
73932         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
73933         tests/test-memmem.c, tests/test-stpncpy.c:
73934         Update FSF postal mail address.
73935
73936 2005-05-13  Bruno Haible  <bruno@clisp.org>
73937
73938         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
73939         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
73940         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
73941         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
73942         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
73943         Add support for 64-bit integers in the MSVC compiler.
73944
73945 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73946
73947         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
73948
73949 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
73950
73951         * gnulib-tool (func_import): Sort and uniquify recommended includes.
73952
73953 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
73954
73955         * doc/getdate.texi (General date syntax): Don't say that date
73956         date --iso-8601=ns generates acceptable dates; it doesn't yet.
73957         Problem reported by Nic Ferrier.
73958
73959 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73960
73961         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
73962         specified in ai_socktype. Fix invalid ai_protocol
73963         check. ai_protocol is usually set to 0 or depending on
73964         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
73965         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
73966         ai_socktype / ai_protocol in the returned addrinfo structure.
73967
73968 2005-05-10  Simon Josefsson  <jas@extundo.com>
73969
73970         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
73971         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73972
73973 2005-05-10  Karl Berry  <karl@gnu.org>
73974
73975         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
73976         (from http://www.gnu.org/licenses).
73977         * doc/COPYING.LIB: also rename to COPYING.LESSER.
73978         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
73979         fdl.texi suffices.
73980
73981 2005-05-10  Karl Berry  <karl@gnu.org>
73982
73983         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
73984         (COPYING.DOC): remove.
73985
73986         * config/srclist-update: new FSF address.
73987
73988 2005-05-10  Derek Price  <derek@ximbiot.com>
73989
73990         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
73991         possible.
73992
73993 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73994             Bruno Haible  <bruno@clisp.org>
73995
73996         * modules/inet_ntop: New file.
73997         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73998         inet_ntop.
73999
74000 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74001             Bruno Haible  <bruno@clisp.org>
74002
74003         * m4/inet_ntop.m4: New file.
74004
74005 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74006             Bruno Haible  <bruno@clisp.org>
74007
74008         * lib/inet_ntop.h: New file.
74009         * lib/inet_ntop.c: New file, from glibc with modifications.
74010
74011 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
74012
74013         * modules/time_r (License): Change to LGPL.
74014         * modules/extensions (License): Change to LGPL.  Actually,
74015         the license is more permissive than that, but currently gnulib-tool
74016         doesn't know how to handle more-permissive licenses.
74017
74018         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
74019         Problem reported by Dave Love.
74020
74021 2005-05-08  Jim Meyering  <jim@meyering.net>
74022
74023         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
74024         blank.
74025
74026 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
74027
74028         * modules/argmatch (Depends-on): Add stdbool.
74029         * modules/backupfile (Depends-on): Likewise.
74030         * modules/chdir-long (Depends-on): Likewise.
74031         * modules/closeout (Depends-on): Likewise.
74032         * modules/cycle-check (Depends-on): Likewise.
74033         * modules/dirname (Depends-on): Likewise.
74034         * modules/fnmatch (Depends-on): Likewise.
74035         * modules/fsusage (Depends-on): Likewise.
74036         * modules/fwriteerror (Depends-on): Likewise.
74037         * modules/getcwd (Depends-on): Likewise.
74038         * modules/getloadavg (Depends-on): Likewise.
74039         * modules/hard-locale (Depends-on): Likewise.
74040         * modules/makepath (Depends-on): Likewise.
74041         * modules/mountlist (Depends-on): Likewise.
74042         * modules/nanosleep (Depends-on): Likewise.
74043         * modules/posixtm (Depends-on): Likewise.
74044         * modules/quotearg (Depends-on): Likewise.
74045         * modules/readtokens (Depends-on): Likewise.
74046         * modules/readtokens0 (Depends-on): Likewise.
74047         * modules/readutmp (Depends-on): Likewise.
74048         * modules/save-cwd (Depends-on): Likewise.
74049         * modules/strftime (Depends-on): Likewise.
74050         * modules/userspec (Depends-on): Likewise.
74051         * modules/utimecmp (Depends-on): Likewise.
74052         * modules/xgetcwd (Depends-on): Likewise.
74053         * modules/xnanosleep (Depends-on): Likewise.
74054         * modules/xstrtod (Depends-on): Likewise.
74055         * modules/yesno (Depends-on): Likewise.
74056
74057 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
74058
74059         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
74060         needless checks.
74061
74062 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
74063
74064         Merge from coreutils.  Among other things,
74065         add bulletproofing for cases where stdin, stdout, or stderr are closed.
74066         * lib/fd-safer.c: New file.
74067         * lib/fcntl-safer.h, open-safer.c: Remove.
74068         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
74069         * lib/dup-safer.c: Include unistd-safer.h first.
74070         Don't include errno.h.
74071         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
74072         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
74073         * lib/file-type.c: Rely on file-type.h change.
74074         * lib/getloadavg.c: Include unistd-safer.h.
74075         (getloadavg): Use safer open.
74076         * lib/getusershell.c: Include "stdio-safer.h".
74077         (getusershell): Use safer fopen.
74078         * lib/long-options.c (long_options): Use NULL rather than 0.
74079         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
74080         'free'.
74081         * lib/modechange.c: Likewise.
74082         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
74083         (MODE_DONE): New constant.
74084         (struct mode_change): Remove 'next' member.
74085         (make_node_op_equals): New function; like the old one of the
74086         same name, except it allocates an array.
74087         (mode_compile, mode_create_from_ref): Use it.
74088         (mode_compile): Allocate result as an array, not a linked list.
74089         Parse octal string ourself, so that we catch mistakes like "+0".
74090         (mode_adjust): Arg is an array, not a linked list.
74091         * lib/modechange.c: Include stat-macros.h, xalloc.h.
74092         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
74093         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
74094         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
74095         Remove.  This is now stat-macros.h's job.
74096         (talloc): Remove.  All callers replaced by xalloc, so that
74097         our invokers don't have to worry about reporting memory failures.
74098         (make_node_op_equals): Remove.
74099         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
74100         New constants.
74101         (struct mode_change): Moved here from modechange.h.
74102         (mode_append_entry): Remove.
74103         (mode_compile): Remove MASKED_OPS arg, since it encouraged
74104         apps to have incorrect behavior.  Use simpler algorithm for head
74105         and tail.  Don't futz with umask; that's now the job of mode_adjust.
74106         Detect more invalid usages rather than having somewhat-random behavior.
74107         Don't insert an "a=" action, as that leads to incorrect behavior.
74108         (mode_compile, mode_create_from_ref): Return NULL on error instead
74109         of an enum, since now there's only one way to have an error.  All
74110         callers changed.
74111         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
74112         at the correct time.  Simplify calculation of "+u" and its ilk.
74113         Don't mishandle "+X".
74114         (mode_free): Remove "register" and localize decls.
74115         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
74116         (struct mode_change): Move to modechange.c; callers don't
74117         need to see this stuff.
74118         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
74119         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
74120         (mode_change, mode_adjust): Reflect the new signatures noted above.
74121         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
74122         that might redefine system include files.
74123         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
74124         (my_usleep): Use NULL rather than (void *) 0.
74125         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
74126         Use siginterrupt to specify that system calls should be interrupted.
74127         (rpl_nanosleep): Move initialization of suspended closer to call of
74128         my_usleep.
74129         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
74130         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
74131         (desirable_utmp_entry): New function.
74132         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
74133         using x2nrealloc, to simplify logic.
74134         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
74135         size calculation.  Do not assume utmp file is a regular file.
74136         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
74137         (READ_UTMP_CHECK_PIDS): New constant.
74138         * lib/save-cwd.c: Include unistd-safer.h.
74139         (save_cwd): Use fd_safer.
74140         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
74141         [!_LIBC] Include "stat-macros.h" instead.
74142         * lib/unistd-safer.h (fd_safer): New decl.
74143
74144 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
74145
74146         * modules/getloadavg (Depends-on): Add unistd-safer.
74147         * modules/getusershell (Depends-on): Add stdio-safer.
74148         * modules/lstat (Depends-on): Remove xalloc.
74149         * modules/mkstemp (Depends-on): Add stat-macros.
74150         * modules/modechange (Depends-on): Remove xstrtol.
74151         Add stat-macros, xalloc.
74152         * modules/save-cwd (Depends-on): Add unistd-safer.
74153         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
74154         * modules/unistd-safer (Files): Add lib/fd-safer.c
74155         (Makefile.am): Remove lib_SOURCES.
74156
74157         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
74158         Remove fcntl-safer; unistd-safer supersedes it.
74159
74160 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
74161
74162         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
74163         AC_HEADER_STAT.
74164         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
74165         (gl_PREREQ_CHOWN): Remove.
74166         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
74167         it.  Don't require AC_HEADER_STAT.
74168         (gl_PREREQ_LSTAT): Remove.
74169         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
74170         Don't require AC_HEADER_STAT.
74171         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
74172         (gl_PREREQ_RMDIR): Remove.
74173         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
74174         mention stat-macros.h or AC_HEADER_STAT, since we'll make
74175         the stat-macros module a prerequisite.
74176         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
74177         * m4/filemode.m4 (gl_FILEMODE): Likewise.
74178         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
74179         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
74180         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
74181         variable names.
74182         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
74183         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
74184         variable prefixes.
74185         * m4/fcntl-safer.m4: Remove.
74186         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
74187         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
74188         Invoke gl_PREREQ_FD_SAFER.
74189         (gl_PREREQ_FD_SAFER): New macro.
74190         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
74191         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
74192         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
74193         Remove duplicate call to AC_LIBOBJ(readutmp).
74194         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
74195
74196         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
74197         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
74198
74199 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
74200
74201         * MODULES.html.sh (Misc): Add byteswap.
74202
74203 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
74204
74205         * modules/getcwd (Depends-on): Add extensions.
74206         * modules/openat (Depends-on): Likewise.
74207
74208 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
74209
74210         * modules/byteswap: New file.
74211
74212 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
74213
74214         * m4/byteswap.m4: New file.
74215
74216 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
74217
74218         * lib/byteswap_.h: New file.
74219
74220 2005-04-25  Karl Berry  <karl@gnu.org>
74221
74222         * m4/gettext.m4: Update from GNU gettext 0.14.4.
74223
74224 2005-04-25  Albert Chin  <china@thewrittenword.com>
74225
74226         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
74227         Toolkit C bug.
74228
74229 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
74230
74231         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
74232         (func_ln_if_changed): Remove forcibly for no error message
74233         in case file does not exist.
74234
74235 2005-04-19  Simon Josefsson  <jas@extundo.com>
74236
74237         * gnulib-tool (Options): Make --symlink mean --symbolic.
74238
74239 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
74240
74241         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
74242
74243 2005-04-16  Simon Josefsson  <jas@extundo.com>
74244
74245         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
74246
74247 2005-04-15  Simon Josefsson  <jas@extundo.com>
74248
74249         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
74250
74251 2005-04-15  Simon Josefsson  <jas@extundo.com>
74252
74253         * gnulib-tool: Rename --symlink to --symbolic.
74254
74255 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
74256
74257         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
74258         symbolic links to files instead of copying/moving.  Add --aux-dir,
74259         specifying directory relative --dir where auxiliary build tools
74260         are placed.
74261
74262 2005-04-14  Bruno Haible  <bruno@clisp.org>
74263
74264         * modules/allocsa (License): Change to LGPL.
74265         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
74266
74267 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
74268
74269         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
74270         that "UTC +1 second" continues to work.  Problem reported
74271         by Dmitry V. Levin.
74272         (relunit_snumber): New rule.
74273         (relunit): Use it.
74274
74275 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
74276
74277         * lib/getdate.y (universal_time_zone_table): New constant.
74278         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
74279         universal_time_zone_table.
74280         (lookup_zone): Prefer universal_time_zone_table to
74281         local_time_zone_table, so that "GMT" time stamps are allowed in
74282         London during the summer.  Problem reported by Ian Abbott.
74283
74284 2005-04-12  Jim Meyering  <jim@meyering.net>
74285
74286         * lib/human.c (humblock): Set *options even when returning due to
74287         xstrtoumax conversion failure.  Thanks to a used-uninitialized
74288         warning from gcc-4.
74289
74290 2005-04-09  Jim Meyering  <jim@meyering.net>
74291
74292         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
74293         -Wuninitialized: initialize tm0.tm_year.
74294
74295 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
74296
74297         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
74298         count, since there's no maximum.  All uses changed.
74299         Add member dsts_seen.
74300         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
74301         not being INT_MAX.
74302         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
74303         Use pc_rels_seen to decide whther a date is absolute.
74304
74305         * lib/getdate.y (number): Don't overwrite year.
74306         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
74307         check.
74308
74309 2005-04-02  Simon Josefsson  <jas@extundo.com>
74310
74311         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
74312         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
74313
74314 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
74315
74316         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
74317         where no absolute path name can be longer than PATH_MAX.
74318
74319 2005-03-27  Jim Meyering  <jim@meyering.net>
74320
74321         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
74322
74323 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
74324
74325         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
74326         "one's complement" -> "ones' complement" in comment, as per Knuth.
74327         "value of type" -> "type or expression" in comment.
74328         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
74329
74330 2005-03-26  Jim Meyering  <jim@meyering.net>
74331
74332         Comment nits.
74333         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
74334         Correct typos: s/or/of/.
74335
74336 2005-03-26  Jim Meyering  <jim@meyering.net>
74337
74338         * modules/check-include-files: Move to ../ and rename to...
74339         * check-module: ...this.
74340
74341 2005-03-25  Jim Meyering  <jim@meyering.net>
74342
74343         * modules/xvasprintf (Files): Add xalloc.h.
74344
74345 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
74346
74347         * modules/gettext (Files): config/config.rpath ->
74348         build-aux/config.rpath
74349         * modules/iconv (Files): Likewise.
74350         Problem reported by Oskar Liljeblad.
74351
74352 2005-03-23  Jim Meyering  <jim@meyering.net>
74353
74354         * modules/check-include-files: New script to check for
74355         missing dependencies, multiple includes, etc.
74356
74357         * modules/c-strtold (Depends-on): Add xalloc.
74358         * modules/c-strtod (Depends-on): Add xalloc.
74359         * modules/hash (Depends-on): Add xalloc.
74360         (Files): Remove lib/xalloc.h.
74361
74362         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
74363         * modules/userspec (Files): Add lib/inttostr.h.
74364
74365 2005-03-23  Jim Meyering  <jim@meyering.net>
74366
74367         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
74368
74369 2005-03-22  Jim Meyering  <jim@meyering.net>
74370
74371         * modules/stat-macros: New module.
74372         * modules/canonicalize, modules/euidaccess, modules/file-type,
74373         * modules/filemode, modules/lchown, modules/makepath,
74374         * modules/rmdir, modules/stat: Depend on new stat-macros module
74375         rather than listing lib/stat-macros.h manually.
74376         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
74377
74378 2005-03-22  Jim Meyering  <jim@meyering.net>
74379
74380         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
74381
74382 2005-03-22  Bruno Haible  <bruno@clisp.org>
74383
74384         * config/srclist.txt: Replace target directory 'config' with
74385         'build-aux'.
74386         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
74387         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
74388         ../build-aux/.
74389
74390 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
74391
74392         * modules/chdir-long (Depends-on): Add mempcpy.
74393
74394         * modules/acl, modules/backupfile, modules/c-strtod,
74395         modules/c-strtold, modules/canon-host, modules/canonicalize,
74396         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
74397         modules/exclude, modules/exitfail, modules/file-type,
74398         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
74399         modules/getdate, modules/getline, modules/getpagesize,
74400         modules/getpass, modules/getugroups, modules/group-member,
74401         modules/hard-locale, modules/hash, modules/human, modules/idcache,
74402         modules/inttostr, modules/long-options, modules/makepath,
74403         modules/md5, modules/memcasecmp, modules/memcoll,
74404         modules/modechange, modules/mountlist, modules/path-concat,
74405         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
74406         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
74407         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
74408         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
74409         modules/strftime, modules/strndup, modules/strverscmp,
74410         modules/timespec, modules/unlocked-io, modules/userspec,
74411         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
74412         modules/yesno:
74413         Remove lib_SOURCES line from Makefile.am section, as this is now
74414         done automatically by the corresponding Autoconf macro.
74415
74416 2005-03-21  Jim Meyering  <jim@meyering.net>
74417
74418         Changes imported from coreutils.
74419
74420         * lib/cycle-check.c: Don't include xalloc.h.
74421
74422         * lib/path-concat.c: Don't include assert.h.
74423         (path_concat): Remove assertion that would have triggered
74424         for ABASE starting with more than one slash.
74425         Reported by Andreas Schwab.
74426
74427         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
74428         properly when ABASE is an absolute file name.
74429         Correct the description of this function.
74430         Include <assert.h>.
74431         Add an assertion and a test driver.
74432         This fixes a bug introduced on 2004-07-02.
74433         Andreas Schwab reported the resulting failure of cp --parents:
74434         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
74435
74436 2005-03-21  Jim Meyering  <jim@meyering.net>
74437
74438         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
74439         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
74440
74441 2005-03-21  Jim Meyering  <jim@meyering.net>
74442         and  Paul Eggert  <eggert@cs.ucla.edu>
74443
74444         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
74445         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
74446         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
74447         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
74448         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
74449         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
74450         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
74451         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
74452         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
74453         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
74454         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
74455         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
74456         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
74457         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
74458         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
74459         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
74460         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
74461         for these modules.
74462
74463 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
74464
74465         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
74466         (which shouldn't happen), generate nothing instead of returning 0
74467         immediately, so that nstrftime (NULL, ...) doesn't return 0.
74468
74469 2005-03-16  Bruno Haible  <bruno@clisp.org>
74470
74471         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
74472         HAVE_LONGLONG_64BIT.
74473
74474 2005-03-16  Bruno Haible  <bruno@clisp.org>
74475
74476         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
74477         HAVE_LONGLONG_64BIT.
74478
74479 2005-03-16  Bruno Haible  <bruno@clisp.org>
74480
74481         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
74482         HAVE_LONGLONG_64BIT.
74483
74484 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
74485
74486         * lib/strftime.c (my_strftime): Prepend space to format so that we can
74487         reliably distinguish strftime failure from empty output on POSIX
74488         hosts.
74489
74490 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
74491
74492         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
74493         (iconv_string): Don't guess a size-zero buffer, as that might cause
74494         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
74495         result would be 'too large', where 'too large' is (heuristically)
74496         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
74497         overflow concerns.  This will prevent some unwanted malloc failures
74498         when the inputs are very large.
74499
74500 2005-03-15  Karl Berry  <karl@gnu.org>
74501
74502         * config/srclist.txt (config.rpath): from gettext.
74503         * config/config.rpath: update.
74504
74505 2005-03-15  Bruno Haible  <bruno@clisp.org>
74506
74507         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
74508         to 'negate'.
74509
74510         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
74511         variable.
74512
74513         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
74514         results.
74515
74516 2005-03-14  Simon Josefsson  <jas@extundo.com>
74517
74518         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
74519         <fx@gnu.org>.
74520
74521 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
74522
74523         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
74524         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
74525         intprops.h.
74526         * lib/strtol.c: Likewise.
74527
74528 2005-03-14  Jim Meyering  <jim@meyering.net>
74529
74530         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
74531         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
74532         to be nonzero so that we (and caller) can detect the difference
74533         between a valid zero-length expansion and an error return, even
74534         when the underlying strftime fails before writing anything into
74535         that location.
74536
74537 2005-03-14  Bruno Haible  <bruno@clisp.org>
74538
74539         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
74540         Update from GNU gettext 0.14.3.
74541
74542 2005-03-10  Jim Meyering  <jim@meyering.net>
74543
74544         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
74545
74546 2005-03-10  Jim Meyering  <jim@meyering.net>
74547
74548         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
74549         so that this module works on systems without fchdir.
74550
74551 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
74552
74553         Factor int-properties macros into a single file, except for
74554         glibc-related files.
74555         * lib/intprops.h: New file.
74556         * lib/getloadavg.c: Include it instead of limits.h.
74557         (INT_STRLEN_BOUND): Remove.
74558         * lib/human.c: Include intprops.h.
74559         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
74560         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
74561         302/1000.
74562         * lib/inttostr.h: Include intprops.h instead of limits.h.
74563         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
74564         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
74565         for consistency with intprops.h.
74566         (time_t_is_integer, twos_complement_arithmetic): Use them.
74567         * lib/sig2str.h: Include <signal.h>, intprops.h.
74568         (INT_STRLEN_BOUND): Remove.
74569         * lib/strftime.c (TYPE_SIGNED): Remove.
74570         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
74571         * lib/strtol.c: Adjust comments to match intprops.h.
74572         * lib/userspec.c: Include intprops.h.
74573         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
74574         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
74575         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
74576         instead of rolling our own expressions.
74577         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
74578
74579         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
74580         instead of int.
74581         (my_strftime): Do not mishandle years close to INT_MAX, by doing
74582         the right thing even if adding 1900 would overflow.  Similarly
74583         for tm_mon + 1 and tm_yday + 1.
74584         Make %Y always equivalent to %C%y, and similarly for %G and %g.
74585         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
74586         (DO_SIGNED_NUMBER): New macro.
74587         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
74588
74589 2005-03-07  Bruno Haible  <bruno@clisp.org>
74590
74591         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
74592
74593 2005-03-07  Bruno Haible  <bruno@clisp.org>
74594
74595         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
74596
74597 2005-03-04  Derek R. Price  <derek@ximbiot.com>
74598
74599         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
74600         (func_import): Only replace files via --import when they have actually
74601         changed.
74602
74603 2005-03-03  Derek R. Price  <derek@ximbiot.com>
74604
74605         * m4/mmap-anon.m4: New file.
74606         * m4/pagealign_alloc.m4: New file.
74607
74608 2005-03-03  Derek R. Price  <derek@ximbiot.com>
74609             Bruno Haible  <bruno@clisp.org>
74610
74611         * modules/pagealign_alloc: New file.
74612         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
74613
74614 2005-03-03  Derek R. Price  <derek@ximbiot.com>
74615             Bruno Haible  <bruno@clisp.org>
74616
74617         * lib/pagealign_alloc.h: New file.
74618         * lib/pagealign_alloc.c: New file.
74619
74620 2005-03-03  Bruno Haible  <bruno@clisp.org>
74621
74622         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
74623         Use an all-permissive copyright notice, recommended by RMS.
74624
74625 2005-03-02  Bruno Haible  <bruno@clisp.org>
74626
74627         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
74628         of AIX, the replacement has to be done only after <string.h> is
74629         included, therefore not in config.h. stpncpy.h does the replacement,
74630         and stpncpy.c uses it.
74631
74632 2005-03-02  Bruno Haible  <bruno@clisp.org>
74633
74634         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
74635         stpncpy.c uses it.
74636
74637 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74638
74639         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
74640         The workaround isn't strictly needed for POSIX conformance, and
74641         it's too much of a pain to configure and maintain.  We'll ask
74642         people to fix their kernels instead.
74643         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
74644         (NANOSLEEP_BUG_WORKAROUND): Remove.
74645         (xnanosleep): Remove the workaround.
74646
74647 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74648
74649         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
74650         Reported by Derek Price.
74651         (Include): Add "timespec.h".
74652
74653         * modules/xnanosleep (Depends-on): Remove gethrxtime.
74654
74655 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74656
74657         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
74658         to detect nanosleep bug.
74659
74660 2005-03-01  Bruno Haible  <bruno@clisp.org>
74661
74662         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
74663
74664 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
74665
74666         * modules/gethrxtime: New file.
74667         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
74668         (Depends-on): Add gethrxtime.
74669         (configure.ac): Add gl_XNANOSLEEP.
74670         (Makefile.am): Remove lib_SOURCES line.
74671
74672 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
74673
74674         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
74675         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
74676
74677 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
74678
74679         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
74680         * lib/timespec.h (gettime): Return void, since it always
74681         succeeds now.  All uses changed.
74682         * lib/gettime.c (gettime): Likewise.
74683         [HAVE_NANOTIME]: Prefer nanotime.
74684         Assume gettimeofday succeeds, as POSIX requires.
74685         Assime time () succeeds, since other code already does.
74686         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
74687         (timespec_subtract): Remove.
74688         (NANOSLEEP_BUG_WORKAROUND): New constant.
74689         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
74690         things considerably.  Use it only on GNU/Linux hosts, since the
74691         workaround shouldn't be needed elsewhere.
74692
74693 2005-02-24  Bruno Haible  <bruno@clisp.org>
74694
74695         * modules/gettext (Files): Add m4/glibc2.m4.
74696
74697 2005-02-24  Bruno Haible  <bruno@clisp.org>
74698
74699         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
74700         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
74701         * m4/progtest.m4:
74702         Update from GNU gettext 0.14.2.
74703         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
74704
74705 2005-02-24  Bruno Haible  <bruno@clisp.org>
74706
74707         * lib/localcharset.c: Update from GNU gettext 0.14.2.
74708         * lib/config.charset: Update from GNU gettext 0.14.2.
74709
74710 2005-02-24  Bruno Haible  <bruno@clisp.org>
74711
74712         * lib/gettext.h: Update from GNU gettext 0.14.2.
74713
74714 2005-02-23  Simon Josefsson  <jas@extundo.com>
74715
74716         * m4/iconvme.m4: New file.
74717
74718 2005-02-23  Jim Meyering  <jim@meyering.net>
74719
74720         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
74721         change.
74722         Thanks to Bruno Haible for catching it.
74723
74724 2005-02-22  Simon Josefsson  <jas@extundo.com>
74725
74726         * modules/iconvme: New file.
74727
74728         * MODULES.html.sh: Add iconvme.
74729
74730 2005-02-22  Simon Josefsson  <jas@extundo.com>
74731
74732         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
74733
74734 2005-02-22  Simon Josefsson  <jas@extundo.com>
74735
74736         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
74737
74738 2005-02-22  Jim Meyering  <jim@meyering.net>
74739
74740         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
74741         s/ifndef/ifdef/.
74742
74743 2005-02-20  Neil Conway  <neilc@samurai.com>
74744
74745         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
74746         returned by OSX/Darwin if the specified buffer is not large
74747         enough for the hostname.
74748
74749 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74750
74751         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
74752         pass it to _help, otherwise the latter coredumps trying to
74753         dereference state.root_argp.
74754
74755 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74756
74757         * modules/chdir-long (Depends-on): Add memrchr.
74758         * modules/memrchr (Files): Add lib/memrchr.h.
74759         (Include): "memrchr.h".
74760
74761 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74762
74763         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
74764
74765 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74766
74767         * lib/memrchr.h: New file.
74768         * lib/chdir-long.c: Include it.
74769         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
74770         Don't bother including stddef.h.
74771
74772 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
74773
74774         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
74775         inclusion.
74776         Include <sys/types.h>, for dev_t.
74777         (ME_DUMMY, ME_REMOTE): Move from here....
74778         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
74779         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
74780         Dmitry V. Levin.
74781         Include mountlist.h first, to test the interface.
74782
74783 2005-01-29  Bruno Haible  <bruno@clisp.org>
74784
74785         * lib/progname.c (program_name): Initialize.
74786         Needed when linking statically on MacOS X.
74787
74788 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74789
74790         Sync from coreutils.
74791         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
74792         (Depends-on): Add c-strtod.
74793         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
74794
74795 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74796
74797         Sync from coreutils.
74798         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
74799
74800         Remove files that are specific to coreutils.
74801         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
74802
74803 2005-01-28  Bruno Haible  <bruno@clisp.org>
74804
74805         * modules/javacomp: New file.
74806         * MODULES.html.sh (Java): Add javacomp.
74807
74808 2005-01-28  Bruno Haible  <bruno@clisp.org>
74809
74810         * m4/javacomp.m4: New file, from GNU gettext.
74811
74812 2005-01-28  Bruno Haible  <bruno@clisp.org>
74813
74814         * lib/javacomp.sh.in: New file, from GNU gettext.
74815         * lib/javacomp.h: New file, from GNU gettext.
74816         * lib/javacomp.c: New file, from GNU gettext.
74817
74818 2005-01-26  Simon Josefsson  <jas@extundo.com>
74819
74820         * lib/gai_strerror.c: Use GPL in header.
74821
74822 2005-01-26  Bruno Haible  <bruno@clisp.org>
74823
74824         * modules/javaexec: New file.
74825         * MODULES.html.sh (Java): Add javaexec.
74826
74827 2005-01-26  Bruno Haible  <bruno@clisp.org>
74828
74829         * m4/javaexec.m4: New file, from GNU gettext.
74830
74831 2005-01-26  Bruno Haible  <bruno@clisp.org>
74832
74833         * lib/javaexec.sh.in: New file, from GNU gettext.
74834         * lib/javaexec.h: New file, from GNU gettext.
74835         * lib/javaexec.c: New file, from GNU gettext.
74836
74837 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74838
74839         * modules/lchown (Depends-on): Remove lchown.h
74840
74841 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74842
74843         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
74844         must be defined if the header file was not found, in order
74845         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
74846
74847 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74848
74849         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
74850         initializers for struct pentry_state.
74851         (__argp_error): Check return value of __asprintf
74852         (__argp_failure): Translate error message
74853
74854         * lib/argp-parse.c: Removed braces around the expansion of N_()
74855
74856 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74857
74858         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
74859         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
74860         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
74861         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
74862         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
74863         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
74864         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
74865         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
74866         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
74867         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
74868         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
74869         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
74870         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
74871         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
74872         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
74873         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
74874         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
74875         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
74876         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
74877         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
74878         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
74879         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
74880         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
74881         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
74882         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
74883         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
74884         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
74885         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
74886         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
74887         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
74888         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
74889         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
74890         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
74891         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
74892         xstrtol.m4, xstrtoumax.m4, yesno.m4:
74893         Use an all-permissive copyright notice, recommended by RMS.
74894
74895 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
74896
74897         * modules/chdir-long (Depends-on): Remove mempcpy.
74898
74899 2005-01-21  Jim Meyering  <jim@meyering.net>
74900
74901         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
74902         same value as for Solaris 9.
74903
74904         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
74905         component length.  This included changing the parameter to be
74906         of type `char *' rather than `char const *'.
74907         * lib/chdir-long.h (chdir_long): Update prototype.
74908
74909         * lib/openat.c (fdopendir, fstatat): New functions.
74910         * lib/openat.h: Include headers required for use of DIR and struct
74911         stat.
74912         [AT_SYMLINK_NOFOLLOW]: Define.
74913         (fdopendir, fstatat): Add prototypes.
74914
74915 2005-01-21  Bruno Haible  <bruno@clisp.org>
74916
74917         * modules/classpath: New file.
74918         * MODULES.html.sh (Java): Add classpath.
74919
74920 2005-01-21  Bruno Haible  <bruno@clisp.org>
74921
74922         * lib/classpath.h: New file, from GNU gettext.
74923         * lib/classpath.c: New file, from GNU gettext.
74924
74925 2005-01-20  Simon Josefsson  <jas@extundo.com>
74926
74927         * modules/version-etc-fsf: New file.
74928
74929 2005-01-20  Simon Josefsson  <jas@extundo.com>
74930
74931         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
74932         * lib/version-etc.c: Remove version_etc_copyright.
74933         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
74934         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
74935
74936 2005-01-20  Simon Josefsson  <jas@extundo.com>
74937
74938         * lib/base64.h (isbase64): Add.
74939
74940         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
74941         using a unsigned prototype, don't inline.
74942         (base64_decode): Use it.
74943
74944 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74945
74946         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
74947         it.
74948
74949 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74950
74951         * lib/save-cwd.c (save_cwd): Remove code to support the case
74952         where fchdir is missing or flaky.
74953
74954 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74955
74956         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
74957
74958 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74959
74960         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
74961         AC_LIBSOURCES now does this.
74962         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
74963         with new ullong_max module.
74964
74965 2005-01-19  Bruno Haible  <bruno@clisp.org>
74966
74967         * modules/sh-quote: New file.
74968         * MODULES.html.sh (Executing programs): Add sh-quote.
74969
74970 2005-01-19  Bruno Haible  <bruno@clisp.org>
74971
74972         * lib/sh-quote.h: New file, from GNU gettext.
74973         * lib/sh-quote.c: New file, from GNU gettext.
74974
74975 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74976
74977         Merge from coreutils.
74978         * m4/ullong_max.m4: New file.
74979         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
74980         (gl_MACROS): Assume localeconv exists.
74981
74982 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74983
74984         Merge changes from coreutils, as described below in several
74985         changelogs dated today.
74986
74987         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
74988         (O_DIRECTORY): Remove; not needed here, since "." must be
74989         a directory.  All uses removed.
74990         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
74991         universal on Suns, and we also need to test for IRIX.
74992         Revamp code to use 'if' rather than '#if'.
74993         Avoid unnecessary comparison of cwd->desc to 0.
74994
74995         * lib/utimens.c (futimens): Robustify the previous patch, by checking
74996         for known valid error numbers rather than observed invalid ones.
74997
74998 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74999
75000         * modules/ullong_max: New file.
75001
75002         * modules/chdir-long, modules/openat: New files.
75003         * modules/save-cwd (Depends-on): Depend on chdir-long.
75004         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
75005
75006 2005-01-18  Jim Meyering  <jim@meyering.net>
75007
75008         Merge from coreutils.
75009         * m4/chdir-long.m4, m4/openat.m4: New files.
75010         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
75011         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
75012         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
75013         is sane and DOES follow symlinks.  Besides, testing 20 different
75014         systems found no broken chown implementations.
75015         Prompted by a change in rsync's copy of this macro.
75016         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
75017
75018         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
75019
75020         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
75021         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
75022         NULL-means-set-to-current-time semantics.
75023         Remove temporary file immediately, rather than waiting
75024         for configure's at-exit trap code to do it.
75025
75026 2005-01-18  Jim Meyering  <jim@meyering.net>
75027
75028         * lib/version-etc.c (version_etc_copyright): Update copyright date.
75029
75030         * lib/utimens.c (futimens): Account for the fact that futimes
75031         can also fail with errno == ENOSYS or errno == ENOENT.
75032         Patch from Dmitry V. Levin.
75033
75034         Change the name of the robust chdir function from chdir to chdir_long.
75035         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
75036         (restore_cwd): Use chdir_long, not chdir.
75037         * lib/chdir-long.c: Renamed from chdir.c.
75038         * lib/chdir-long.h: Renamed from chdir.h.
75039         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
75040         Hurd.
75041
75042 2005-01-18  Bruno Haible  <bruno@clisp.org>
75043
75044         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
75045         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
75046         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
75047         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
75048         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
75049         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
75050         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
75051         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
75052         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
75053         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
75054         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
75055         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
75056         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
75057         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
75058         Use an all-permissive copyright notice, recommended by RMS.
75059
75060 2005-01-18  Bob Proulx  <bob@proulx.com>
75061
75062         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
75063         simplify offsetof() macro construct to avoid compile failure with
75064         native HP-UX 11.0 ANSI C compiler.
75065
75066 2005-01-17  Bruno Haible  <bruno@clisp.org>
75067
75068         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
75069         redundant because stpncpy.m4 takes care of it.
75070
75071 2005-01-17  Bruno Haible  <bruno@clisp.org>
75072
75073         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
75074
75075 2005-01-17  Bruno Haible  <bruno@clisp.org>
75076
75077         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
75078         used.
75079
75080 2005-01-17  Bruno Haible  <bruno@clisp.org>
75081
75082         * lib/fwriteerror.h (fwriteerror): Change specification to include
75083         fclose.
75084         * lib/fwriteerror.c: Include <stdbool.h>.
75085         (fwriteerror): At the end, close the file stream. Record whether
75086         stdout was already closed.
75087
75088 2005-01-17  Bruno Haible  <bruno@clisp.org>
75089
75090         * lib/execute.c (environ): Declare if needed.
75091         * lib/pipe.c (environ): Likewise.
75092         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
75093
75094 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75095
75096         * modules/argp: Depend on vsnprintf
75097
75098 2005-01-10  Jim Meyering  <jim@meyering.net>
75099
75100         * modules/closeout (Depends-on): Add atexit.
75101
75102 2005-01-06  Bruno Haible  <bruno@clisp.org>
75103
75104         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
75105
75106 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75107
75108         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
75109         definitions to be after all include files, to avoid collisions.
75110         Problem reported by Bob Proulx.
75111
75112 2005-01-04  Jim Meyering  <jim@meyering.net>
75113
75114         Changes imported from coreutils.
75115         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
75116         as the mkstemp template, use a temporary directory and an
75117         8.3-friendly template to avoid trouble on systems like DJGPP.
75118         Reported by Juan M. Guerrero via Stepan Kasal.
75119         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
75120         close. Remove the temporary directory right away, rather than waiting
75121         for configure's at-exit trap code to do it.
75122         Suggestion from Stepan Kasal.
75123
75124 2005-01-01  Simon Josefsson  <jas@extundo.com>
75125
75126         * gnulib-tool: Print #include directives when --import'ing.
75127
75128 2004-12-28  Simon Josefsson  <jas@extundo.com>
75129
75130         * tests/test-base64.c: Include required header files.  Remove
75131         unused variables.
75132
75133 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75134
75135         * modules/error (Depends-on): Remove gettext.
75136
75137 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75138
75139         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
75140         not needed.  This removes a dependency on the gettext module.
75141         [defined _LIBC]: Do not include <libintl.h>; not needed.
75142
75143 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
75144
75145         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
75146         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
75147
75148 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
75149
75150         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
75151         HAVE_DECL_STRTOLD.
75152
75153 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75154
75155         * modules/getdate (Depends-on): Remove alloca-opt.
75156
75157 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75158
75159         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
75160
75161 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75162
75163         * lib/argp-parse.c: Include <stddef.h>.
75164         (alignof, alignto): New macros.
75165         (parser_init): Don't assume that void * is aligned sufficiently
75166         for struct option.
75167
75168         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
75169         need to extend the stack.
75170         (YYINITDEPTH): New macro, so that the initial stack isn't overly
75171         large.
75172
75173 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75174
75175         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
75176
75177 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
75178
75179         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
75180         (2004-10-24) change.  Apparently this was a false alarm.
75181
75182         * modules/getdate: Depend on alloca-opt, not alloca.
75183
75184 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
75185
75186         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
75187         Remove now-obsolete comment about AIX.
75188         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
75189         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
75190         (YYMAXDEPTH): New macro.
75191
75192 2004-12-18  Simon Josefsson  <jas@extundo.com>
75193
75194         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
75195
75196 2004-12-18  Bruno Haible  <bruno@clisp.org>
75197
75198         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
75199
75200 2004-12-18  Bruno Haible  <bruno@clisp.org>
75201
75202         * lib/fatal-signal.c (fatal_signals): Make non-const.
75203         (init_fatal_signals): New function.
75204         (uninstall_handlers, install_handlers): Ignore signals that were set to
75205         SIG_IGN.
75206         (at_fatal_signal): Call init_fatal_signals.
75207         (init_fatal_signal_set): Likewise. Ignore signals that were set to
75208         SIG_IGN.
75209         Reported by Paul Eggert.
75210
75211 2004-12-18  Bruno Haible  <bruno@clisp.org>
75212
75213         * doc/alloca.texi: New file.
75214         * doc/alloca-opt.texi: New file.
75215
75216 2004-12-17  Jim Meyering  <jim@meyering.net>
75217
75218         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
75219         Otherwise, install-sh could exit with improper exit status when
75220         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
75221
75222 2004-12-16  Simon Josefsson  <jas@extundo.com>
75223
75224         * tests/test-base64.c: Add license.
75225
75226 2004-12-15  Stepan Kasal  <address@hidden>
75227
75228         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
75229
75230 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
75231
75232         * modules/getcwd (Files): Add m4/d-ino.m4.
75233         Suggested by Mark D. Baushke.
75234
75235 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
75236
75237         * lib/getdate.y (textint): New member "negative".
75238         (time_zone_hhmm): New function.
75239         Expect 14 shift-reduce conflicts, not 13.
75240         (o_colon_minutes): New rule.
75241         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
75242         (yylex): Set the "negative" member of signed numbers.
75243
75244 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
75245
75246         * doc/getdate.texi (Time of day items, Time zone items):
75247         Describe new formats +00:00, UTC+00:00.
75248
75249 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75250
75251         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
75252         spurious "-l"s.  Problem reported by Stepan Kasal.
75253
75254 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
75255
75256         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
75257         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
75258
75259 2004-12-04  Simon Josefsson  <jas@extundo.com>
75260
75261         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
75262         Vandoorselaere <yoann@prelude-ids.org>.
75263
75264 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
75265
75266         Changes imported from coreutils.
75267         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
75268         exist.
75269         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
75270
75271 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
75272
75273         Changes imported from coreutils.
75274         * lib/hard-locale.c: Assume <locale.h> exists.
75275         Include "strdup.h".
75276         (GLIBC_VERSION): New macro.
75277         (hard_locale): Assume setlocale exists.
75278         Rewrite to avoid #ifdef.
75279         Use strdup rather than malloc + strcpy.
75280         * lib/human.c: Assume <locale.h> exists.
75281         (human_readable): Assume localeconv exists.
75282
75283 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
75284
75285         * modules/hard-locale (Depends-on): Add strdup.
75286
75287 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
75288
75289         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
75290         convert T2, not T.  (Imported from libc.)
75291
75292 2004-11-30  Simon Josefsson  <jas@extundo.com>
75293
75294         * modules/restrict (License): Change to LGPL.
75295
75296 2004-11-30  Simon Josefsson  <jas@extundo.com>
75297
75298         * m4/restrict.m4: Add copyright and copying conditions.
75299
75300 2004-11-30  Simon Josefsson  <jas@extundo.com>
75301
75302         * m4/base64.m4: New file.
75303
75304 2004-11-30  Simon Josefsson  <jas@extundo.com>
75305
75306         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
75307         base64.
75308
75309         * tests/test-base64.c: New file.
75310
75311         * modules/base64: New file.
75312
75313 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
75314
75315         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
75316         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
75317
75318         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
75319
75320 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
75321
75322         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
75323         (__getcwd.c): Don't restore errno; glibc doesn't.
75324         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
75325         first, falling back to our code only if its results look suspicious.
75326         Ensure that the resulting buffer is only as large as necessary.
75327
75328         * lib/readutmp.c: Include readutmp.h first.
75329         Include <errno.h>, since readutmp.h no longer does that.
75330         * lib/readutmp.h: Don't include <errno.h>,
75331         <sys/param.h>, <time.h>; not needed to establish interface.
75332         (errno): Remove decl.
75333         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
75334         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
75335         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
75336
75337 2004-11-28  Simon Josefsson  <jas@extundo.com>
75338
75339         * lib/base64.h, base64.c: New file.
75340
75341 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75342
75343         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
75344
75345 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75346
75347         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
75348         (Depends-on): Remove pathmax, same.  Add mempcpy.
75349         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
75350         (Makefile.am): Append getcwd.h to lib_SOURCES.
75351         (Include): Add getcwd.h.
75352         (Maintainer): Change from Jim Meyering to "all, glibc",
75353         since getdate now uses intended-for-glibc code.
75354         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
75355         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
75356
75357 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
75358
75359         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
75360         HP's ANSI C compiler.
75361         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
75362         Declaring int functions causes warnings on some modern systems and
75363         shouldn't be needed to compile on ancient ones.
75364         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
75365         defined.
75366
75367         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
75368         with the following changes.
75369         (__set_errno): Parenthesize properly.
75370         Include <stdbool.h>.
75371         (MIN, MAX, MATCHING_INO): New macros.
75372         (__getcwd): Define with prototype, not K&R form.
75373         Use heuristics to allocate default buffer on stack if possible.
75374         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
75375         behavior, and to avoid the PATH_MAX limit when computing
75376         ../../../../...
75377         Use MATCHING_INO to compare inode number to file.
75378         Check for arithmetic overflow in size calculations.
75379         Fix bug in reallocation of dot array that caused getcwd to fail
75380         on directories nested deeper than 75.
75381         Be more careful about saving errno on error.
75382         Do not use realloc; use only free+malloc, as this is a bit
75383         more flexible and avoids a needless copy operation.
75384         Do not inspect st_dev and st_ino for symbolic links; POSIX
75385         doesn't specify the latter.
75386         Check for closedir errors.
75387         Avoid needless casts.
75388         Use "#ifdef weak_alias" around weak_alias, to be like other
75389         glibc code.
75390         The following changes to getcwd.c have effect only when used in
75391         gnulib; they have no effect inside glibc proper.
75392         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
75393         as alloca isn't used.
75394         (alloca, __alloca): Likewise.
75395         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
75396         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
75397         unconditionally, as gnulib assumes C89 or better.
75398         Do not include <sys/param.h>.
75399         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
75400         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
75401         better.
75402         (NULL) [!defined NULL]: Remove; we assume C89 or better.
75403         Include <dirent.h> in a way that is compatible with modern Autoconf.
75404         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
75405         New macros, if not already defined.
75406         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
75407         Use "_LIBC", not "defined _LIBC", for consistency.
75408         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
75409         a mempcpy module.
75410         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
75411         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
75412         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
75413         credit only to Jim Meyering and adjust the copyright dates.
75414         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
75415         <stdlib.h>, <unistd.h>, "pathmax.h".
75416         Instead, include "xgetcwd.h" (first) and "getcwd.h".
75417         (INITIAL_BUFFER_SIZE): Remove.
75418         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
75419
75420 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
75421
75422         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
75423         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
75424         Use the _ONCE methods, for efficiency.
75425         Check for fcntl.h.  In test program, include <errno.h>
75426         and <fcntl.h> if available.  Remove old K&R cruft from
75427         test program.  Check for common errors in GNU/Linux,
75428         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
75429         don't do AC_LIBOBJ, as that's getcwd.m4's job.
75430         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
75431         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
75432         name accordingly.
75433         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
75434         accommodate new getcwd.c.
75435         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
75436         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
75437         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
75438         that's all we need now.
75439
75440 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75441
75442         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
75443         argp-parse.c depends on getopt internals, that means we should
75444         always use our getopt, to be on the safe side.
75445         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
75446         order not to spoil the result of an eventual previous invocation
75447         of gl_GETOPT_SUBSTITUTE.
75448
75449 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75450
75451         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
75452         redefinition warnings. To avoid them, include the defines
75453         in `#if !defined __need_getopt ... #endif'. The only place
75454         where __getopt_argv_const is used is in definitions
75455         of getopt_long and getopt_long_only below, which are as well
75456         protected by `#ifndef __need_getopt'.
75457         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
75458         __need_getopt after including <stdio.h> and <unistd.h> These
75459         headers might have defined it.
75460
75461 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
75462
75463         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
75464
75465 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
75466
75467         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
75468         (futimens): New function, which uses futimes if available.
75469         (futimens, utimens): Support timespec==NULL, with same semantics
75470         as utime and utimens.
75471         * lib/utimens.h (futimens): New decl.
75472
75473 2004-11-23  Jim Meyering  <jim@meyering.net>
75474
75475         * lib/getopt_.h: Remove trailing blanks.
75476
75477 2004-11-23  Jim Meyering  <jim@meyering.net>
75478
75479         * lib/__fpending.c: Add comment.
75480
75481 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
75482
75483         * modules/canonicalize (Depends-on): Add xreadlink.
75484         Problem reported by James Youngman.
75485
75486 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75487
75488         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
75489         New macros.
75490         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
75491         optopt): Use them instead of invoking ## directly; otherwise, the
75492         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
75493
75494 2004-11-19  Bruno Haible  <bruno@clisp.org>
75495
75496         * lib/strtok_r.c: Move comments from here...
75497         * lib/strtok_r.h: ... to here.
75498
75499 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75500
75501         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
75502         implementations that mishandle size_t overflow.
75503
75504 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75505
75506         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
75507         might fail.  Problem reported by Yoann Vandoorselaere.
75508         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
75509         implementations that mishandle size_t overflow.
75510
75511 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75512
75513         * modules/canon-host (Depends-on): Add strdup.
75514
75515 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75516
75517         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
75518
75519 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75520
75521         * lib/canon-host.c: Include "strdup.h".
75522         (canon_host): Use getaddrinfo if available, so that IPv6 works.
75523         Use strdup instead of malloc/strcpy to duplicate strings.
75524
75525         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
75526         (human_space_before_unit): New constant.
75527         * lib/human.c (human_readable): Support it.
75528
75529         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
75530         (xgetcwd): Set errno correctly when failing.
75531         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
75532         the failure is actually due to a PATH_MAX problem.
75533
75534         Further getopt changes to make it more likely that glibc will
75535         buy the changes back.
75536         * lib/getopt.c (POSIXLY_CORRECT): New constant.
75537         (getopt): Use it, so to preserve glibc semantic
75538         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
75539         when compiling for libc.
75540         * lib/getopt_.h (__getopt_argv_const): Bring it back.
75541         (getopt_long, getopt_long_only): Use it.
75542
75543         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
75544         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
75545         (getopt): Argv is now char * const *, as per standard.
75546         (_getopt_internal_r, _getopt_internal): Argv is now char **,
75547         not char *__getopt_argv_const *.
75548         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
75549         _getopt_long_only_r): Likewise.
75550         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
75551         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
75552         _getopt_long_r, _getopt_long_only_r): Likewise.
75553         * lib/getopt_.h (__getopt_argv_const): Remove.
75554         (getopt): Argv is now char * const *, as per standard.
75555
75556         * lib/getdate.y (tORDINAL): New token.
75557         (day, relunit): Allow it for relative times.
75558         (relative_time_table): Use tORDINAL for ordinals.
75559
75560 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75561
75562         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
75563         Document that "second" isn't allowed as an ordinal number.
75564
75565 2004-11-16  Jim Meyering  <jim@meyering.net>
75566
75567         * modules/closeout (Depends-on): Add fpending.
75568
75569 2004-11-15  Jim Meyering  <jim@meyering.net>
75570
75571         * lib/closeout.c: Include "__fpending.h" once again.
75572         Include <stdbool.h>.
75573         (close_stdout): Don't fail just because stdout was closed initially,
75574         since some programs don't write to stdout in the normal course of
75575         operation (other than --version and --help), and we don't want this
75576         function to make e.g. `touch file >&-' fail.
75577         But do fail if it was closed and someone has tried to write to it.
75578         E.g., `printf foo >&-' must fail.
75579
75580 2004-11-13  Jim Meyering  <jim@meyering.net>
75581
75582         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
75583
75584 2004-11-12  Simon Josefsson  <jas@extundo.com>
75585
75586         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
75587         small doc fix is still pending.
75588
75589 2004-11-11  Simon Josefsson  <jas@extundo.com>
75590
75591         * modules/strtok_r: New file.
75592
75593         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75594         strtok_r.
75595
75596 2004-11-11  Simon Josefsson  <jas@extundo.com>
75597
75598         * m4/strtok_r.m4: New file.
75599
75600         * m4/getopt.m4: Replace opterr.
75601
75602 2004-11-11  Simon Josefsson  <jas@extundo.com>
75603
75604         * lib/strtok_r.h, strtok_r.c: New file.
75605
75606 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
75607
75608         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
75609         of replacing opterr, getopt, etc.  This should handle the
75610         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
75611
75612 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
75613
75614         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
75615         we can stop lying to compilers about the constness of argv when we
75616         are compiled outside glibc.
75617         (getopt, getopt_long, getopt_long_only): Use it.
75618         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
75619         _getopt_internal, getopt): Likewise.
75620         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
75621         _getopt_long_only_r): Likewise.
75622         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
75623         _getopt_long_r, _getopt_long_only_r): Likewise.
75624
75625         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
75626         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
75627         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
75628         the other external symbols.
75629         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
75630         declaration, since the above renaming now works around collisions.
75631
75632 2004-11-11  Jim Meyering  <jim@meyering.net>
75633
75634         * lib/linebreak.c: Remove trailing blanks.
75635         * lib/alloca_.h: Likewise.
75636         * lib/acosl.c: Likewise.
75637         * lib/euidaccess.c: Likewise.
75638         * lib/allocsa.h: Likewise.
75639
75640 2004-11-10  Simon Josefsson  <jas@extundo.com>
75641
75642         * m4/getaddrinfo.m4: New file.
75643
75644 2004-11-10  Simon Josefsson  <jas@extundo.com>
75645
75646         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
75647
75648 2004-11-10  Simon Josefsson  <jas@extundo.com>
75649
75650         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75651         getaddrinfo.
75652
75653         * modules/getaddrinfo: New file.
75654
75655 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75656
75657         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
75658
75659 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75660
75661         * lib/mktime.c (SHR): New macro, which is a portable
75662         substitute for >> that should work even on Crays.
75663         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
75664         Problem reported by Mark D. Baushke in
75665         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
75666         * lib/getdate.y (SHR): Likewise.
75667         (tm_diff): Use it.
75668         * lib/strftime.c (SHR): Likewise.
75669         (tm_diff): Use it.
75670         * lib/quotearg.c (struct quoting_options): Use unsigned int for
75671         quote_these_too, so that right shifts are well defined.  All uses
75672         changed.
75673
75674 2004-11-10  Jim Meyering  <jim@meyering.net>
75675
75676         Ensure that no close failure goes unreported.
75677         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
75678         return early when it seems there's nothing to flush.
75679         Don't include __fpending.h.
75680
75681 2004-11-10  Jim Meyering  <jim@meyering.net>
75682
75683         * modules/closeout (Depends-on): Remove fpending.
75684
75685 2004-11-10  Jim Meyering  <jim@meyering.net>
75686
75687         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
75688
75689 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75690
75691         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
75692         gl_FUNC_STRFTIME.
75693         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
75694         and AC_REQUIRE when possible, to avoid duplicate checks.
75695         Check for <wchar.h>.
75696
75697 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75698
75699         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
75700
75701 2004-11-09  Bruno Haible  <bruno@clisp.org>
75702
75703         * m4/sockpfaf.m4: New file.
75704
75705 2004-11-05  Bruno Haible  <bruno@clisp.org>
75706
75707         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
75708         Reported by Mark D. Baushke <mdb@cvshome.org>.
75709
75710 2004-11-04  Bruno Haible  <bruno@clisp.org>
75711
75712         2004-09-11  Bruno Haible  <bruno@clisp.org>
75713                 * allocsa.valgrind: New file.
75714         2004-02-06  Bruno Haible  <bruno@clisp.org>
75715                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
75716                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
75717                 Reported by Christopher Seip <chris.seip@hp.com>.
75718
75719 2004-11-04  Bruno Haible  <bruno@clisp.org>
75720
75721         * modules/allocsa (Files): Add lib/allocsa.valgrind.
75722         (Makefile.am): Distribute it.
75723
75724 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
75725
75726         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
75727         with errno == ERANGE if the buffer is too small.
75728         Problem reported by Mark D. Baushke.
75729
75730 2004-11-03  Albert Chin  <china@thewrittenword.com>
75731             Paul Eggert  <eggert@cs.ucla.edu>
75732
75733         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
75734         equivalent, substitute $ac_type for equivalent type rather than
75735         blindly using uint32_t *always* which won't work if uint32_t is not
75736         available.  Define _UINT32_T to work around typedef of uint32_t if
75737         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
75738         2.5.1.
75739
75740 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
75741
75742         * m4/jm-macros.m4: Sync from coreutils.
75743         (gl_MACROS): Check for mbrlen, for pathchk.
75744         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
75745
75746 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
75747
75748         * lib/xreadlink.c (MAXSIZE): New macro.
75749         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
75750         size does not exceed MAXSIZE.  Avoid cast.
75751         As suggested by Mark D. Baushke in
75752         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
75753         if readlink fails with buffer size just under MAXSIZE, try again
75754         with MAXSIZE.
75755
75756 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
75757
75758         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
75759
75760 2004-11-02  Derek R. Price  <derek@ximbiot.com>
75761         and  Paul Eggert  <eggert@cs.ucla.edu>
75762
75763         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
75764         (get_date): Overparenthesize to avoid GCC warning.
75765
75766 2004-11-02  Bruno Haible  <bruno@clisp.org>
75767
75768         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
75769         returns void.
75770
75771 2004-11-02  Bruno Haible  <bruno@clisp.org>
75772
75773         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
75774         function returns void.
75775
75776 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
75777
75778         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
75779         fflush_unlocked, flockfile, funlockfile, funlockfile,
75780         fputs_unlocked, putc_unlocked.
75781
75782 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
75783
75784         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
75785         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
75786         already declared.
75787
75788 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75789
75790         * modules/getdate (Files): Add doc/getdate.texi.
75791         (Depends-on): Add setenv, xalloc.
75792
75793 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75794
75795         * lib/getdate.y: Add support for TZ="foo" within a date string.
75796         Fix some bugs near time_t boundaries.  Reject dates with
75797         out-of-range components, e.g., "Sept 31".
75798         Include <stdlib.h>, "setenv.h", "xalloc.h".
75799         (ISDIGIT_LOCALE): Remove; unused.
75800         Note that the TZ and time functions used here are not reentrant.
75801         (mktime_ok, get_tz): New functions.
75802         (TZBUFSIZE): New constant.
75803         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
75804         This requires that we sometimes generate our own TZ="XXX..." setting.
75805
75806 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75807
75808         * doc/getdate.texi: New file, from coreutils with modifications for
75809         the new TZ parsing.
75810
75811 2004-10-27  Derek R. Price  <derek@ximbiot.com>
75812
75813         * lib/mktime.c (not_equal_tm): Remove redundant check.
75814
75815 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75816
75817         * modules/regex (lib_SOURCES): Add regex.c.
75818         Reported by James Youngman in
75819         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
75820
75821 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75822
75823         * lib/getdate.y: Use Bison 1.875 features, and some minor
75824         code cleanups.  This change does not affect semantics.
75825         Don't include <stdlib.h>; no longer needed.
75826         Don't include unlocked-io.h; only the "#if TEST" code uses
75827         stdio, and performance isn't crucial there.
75828         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
75829         Bison 1.875 features as described below.
75830         All uses of "PC." replaced by "pc->".
75831         (YYSTYPE): Add a forward declaration.
75832         (yylex, yyerror): Use full prototypes in forward decls.
75833         Use "%pure-parser" rather than obsolescent "%pure_parser".
75834         Use %parse-param and %lex-param instead of obsolescent
75835         YYPARSE_PARAM and YYLEX_PARAM.
75836         (meridian_table, month_and_day_table, time_units_table,
75837         relative_time_table, time_zone_table, military_table,
75838         lookup_zone, lookup_word, get_date):
75839         Use NULL instead of 0 where appropriate.
75840         (to_hour): Avoid abort (), to avoid a dependency on
75841         stdlib.h.
75842         (yyerror, yylex): Now accepts parser_control * arg.
75843         (main) [TEST]: Use '\0' rather than 0 for char.
75844
75845 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
75846
75847         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
75848
75849 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
75850
75851         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
75852         It's now the caller's responsibility to handle the case where
75853         !HAVE_GETPAGESIZE && !defined getpagesize.
75854
75855         * lib/mktime.c (leapyear): Arg is long int, not int.
75856
75857 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
75858
75859         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
75860
75861 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
75862
75863         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
75864         missing.  Problem reported by James Youngman.
75865
75866 2004-10-16  Simon Josefsson  <jas@extundo.com>
75867
75868         * gnulib-tool: Fix comments.  Fix parse problem.
75869         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
75870
75871 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
75872
75873         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
75874         implementation of getopt_long.  Problem reported by Alexander Taler in:
75875         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
75876
75877 2004-10-15  Bruno Haible  <bruno@clisp.org>
75878
75879         * gnulib-tool: Untabify. Initialize supplied_libname.
75880         (func_usage): More homogenous output.
75881         (func_modules_transitive_closure, func_modules_to_filelist,
75882         func_emit_lib_Makefile_am): New functions.
75883         (func_import): New function, extracted from big case statement. Use
75884         func_get_license, func_modules_transitive_closure,
75885         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
75886         opt_lgpl. Don't use test -a, as it's not portable.
75887         (func_create_testdir): Use func_modules_transitive_closure,
75888         func_modules_to_filelist, func_emit_lib_Makefile_am.
75889
75890 2004-10-15  Bruno Haible  <bruno@clisp.org>
75891
75892         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
75893
75894 2004-10-15  Bruno Haible  <bruno@clisp.org>
75895
75896         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
75897         the portions belonging to each module.
75898         Suggested by Derek Robert Price <derek@ximbiot.com>.
75899
75900 2004-10-12  Simon Josefsson  <jas@extundo.com>
75901
75902         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
75903         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
75904         to real functions.
75905
75906 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75907
75908         * modules/vsnprintf: New file.
75909
75910 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75911
75912         * m4/vsnprintf.m4: New file.
75913
75914 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75915
75916         * lib/vsnprintf.h: New file.
75917         * lib/vsnprintf.c: New file.
75918
75919 2004-10-11  Bruno Haible  <bruno@clisp.org>
75920
75921         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
75922         vsnprintf.
75923
75924 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
75925
75926         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
75927
75928 2004-10-07  Bruno Haible  <bruno@clisp.org>
75929
75930         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
75931         fits into the provided buffer.
75932
75933 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75934
75935         * lib/diacrit.c, diacrit.h: Add GPL notice.
75936
75937         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
75938         notice.
75939         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
75940         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
75941         This avoids a potential constant-folding bug.
75942
75943 2004-10-05  Bruno Haible  <bruno@clisp.org>
75944
75945         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
75946         for the declaration of strsep.
75947
75948 2004-10-05  Bruno Haible  <bruno@clisp.org>
75949
75950         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
75951
75952 2004-10-04  Simon Josefsson  <jas@extundo.com>
75953
75954         * modules/memmem: New file.
75955         * tests/test-memmem.c: New file.
75956         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
75957
75958 2004-10-04  Simon Josefsson  <jas@extundo.com>
75959
75960         * m4/memmem.m4: New file.
75961
75962 2004-10-04  Simon Josefsson  <jas@extundo.com>
75963
75964         * lib/memmem.h: New file.
75965         * lib/memmem.c: New file, taken from glibc.
75966
75967 2004-10-04  Simon Josefsson  <jas@extundo.com>
75968
75969         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
75970         '#ifdef USE_UNLOCKED_IO'.
75971
75972 2004-10-04  Simon Josefsson  <jas@extundo.com>
75973
75974         * config/srclist.txt: Add memmem from glibc.
75975
75976 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75977
75978         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
75979
75980         * modules/argmatch, modules/argp, modules/closeout, modules/error,
75981         modules/exclude, modules/getdate, modules/getline,
75982         modules/getndelim2, modules/getpass, modules/getpass-gnu,
75983         modules/getusershell, modules/linebuffer, modules/md5,
75984         modules/mountlist, modules/posixtm, modules/readtokens,
75985         modules/readutmp, modules/regex, modules/sha1,
75986         modules/version-etc, modules/yesno:
75987         Remove dependency on unlocked-io.
75988
75989 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75990
75991         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
75992
75993         * m4/unlocked-io.m4: Add copyright notice.
75994         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
75995
75996 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75997
75998         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
75999         * lib/xmalloc.c (xmemdup): Likewise.
76000         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
76001         XFREE): Remove these long-obsolescent macros.
76002         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
76003         * lib/xstrdup.c: Remove.
76004
76005         * lib/regex.c (re_comp): Cast gettext return value to char *,
76006         Problem reported by Martin Neitzel via Mark D. Baushke.
76007
76008 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
76009
76010         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
76011         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
76012         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
76013         regex.c, sha1.c, version-etc.c, yesno.c:
76014         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
76015         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
76016         the includer's responsibility.
76017
76018         Sync from coreutils.
76019
76020         * lib/modechange.c (mode_compile): Don't decrement a pointer that
76021         points to the start of a string, as the C Standard says the
76022         resulting behavior is undefined.
76023
76024         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
76025         simple -> simple_backups, numbered_existing ->
76026         numbered_existing_backups, numbered -> numbered_backups
76027         to avoid shadowing problems.  All uses changed.
76028         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
76029         * lib/backupfile.c (check_extension, numbered_backup):
76030         Rename locals to avoid shadowing 'basename'.
76031         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
76032         once.
76033
76034         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
76035         * lib/.cvsignore: Add getopt.h.
76036
76037 2004-10-04  Bruno Haible  <bruno@clisp.org>
76038
76039         * modules/README: New file.
76040         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
76041         not a module.
76042
76043 2004-10-02  Jim Meyering  <jim@meyering.net>
76044
76045         * lib/dirfd.h, getpagesize.h: Add copyright notice.
76046
76047 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76048
76049         * modules/strsep: New file.
76050
76051 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76052
76053         * m4/strsep.m4: New file.
76054
76055 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
76056
76057         * lib/strsep.h: New file.
76058         * lib/strsep.c: New file.
76059
76060 2004-10-01  Simon Josefsson  <jas@extundo.com>
76061
76062         * lib/snprintf.c (snprintf): Handle size==0.
76063
76064 2004-10-01  Simon Josefsson  <jas@extundo.com>
76065             Bruno Haible  <bruno@clisp.org>
76066
76067         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
76068         (snprintf): Declare 'args'.
76069
76070 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
76071
76072         * lib/snprintf.c: Remove comments as to why each header is needed.
76073
76074 2004-10-01  Bruno Haible  <bruno@clisp.org>
76075
76076         * MODULES.html.sh: Add strsep.
76077
76078 2004-09-30  Simon Josefsson  <jas@extundo.com>
76079
76080         * modules/snprintf: New file.
76081
76082 2004-09-30  Simon Josefsson  <jas@extundo.com>
76083
76084         * m4/snprintf.m4: New file.
76085
76086 2004-09-30  Simon Josefsson  <jas@extundo.com>
76087
76088         * lib/snprintf.h, lib/snprintf.c: New files.
76089
76090 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76091
76092         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
76093         (hol_entry_help): Never translate an empty string.
76094         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
76095         * lib/argp.h (OPTION_NO_TRANS): New option.
76096
76097 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
76098
76099         * modules/argp (Maintainer): Replace Simon Josefsson
76100         by Sergey Poznyakoff.
76101
76102 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
76103
76104         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
76105         changes merged back into glibc.
76106
76107 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
76108
76109         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
76110
76111 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
76112
76113         * lib/xvasprintf.c: Include xalloc.h.
76114         (xvasprintf): Use xalloc_die, not xmalloc_die.
76115
76116 2004-09-29  Bruno Haible  <bruno@clisp.org>
76117
76118         * modules/alloca-opt: New file, derived from modules/alloca.
76119         * modules/allocsa: Depend on alloca-opt instead of alloca.
76120         * modules/setenv: Likewise.
76121         * modules/vasnprintf: Likewise.
76122         * MODULES.html.sh: Add alloca-opt.
76123
76124 2004-09-28  Simon Josefsson  <jas@extundo.com>
76125
76126         * gnulib-tool: New parameter --lgpl, to asseert that modules are
76127         LGPL, and to replace license template from GPL to LGPL.
76128
76129 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
76130
76131         * modules/dummy: Change license to LGPL.
76132
76133 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
76134
76135         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
76136
76137 2004-09-24  Simon Josefsson  <jas@extundo.com>
76138
76139         * modules/minmax (License): Change from GPL to LGPL.
76140
76141 2004-09-23  Simon Josefsson  <jas@extundo.com>
76142
76143         * gnulib-tool (--import): Typo.
76144
76145 2004-09-23  Simon Josefsson  <jas@extundo.com>
76146
76147         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
76148
76149 2004-09-22  Bruno Haible  <bruno@clisp.org>
76150
76151         * modules/*: Add 'License' field.
76152         * gnulib-tool: Accept --extract-license option.
76153         (func_get_license): New function.
76154
76155 2004-09-21  Bruno Haible  <bruno@clisp.org>
76156
76157         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
76158         Reported by Simon Josefsson.
76159
76160 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
76161
76162         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
76163         gl_AC_TYPE_LONG_LONG.
76164
76165 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
76166
76167         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
76168
76169 2004-09-18  Simon Josefsson  <jas@extundo.com>
76170         and  Paul Eggert  <eggert@cs.ucla.edu>
76171
76172         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
76173         calls with autoreconf.  Define GL_LIB.
76174
76175 2004-09-14  Karl Berry  <karl@gnu.org>
76176
76177         * config/srclist.txt: unsync setenv.c, sigh.
76178
76179 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
76180
76181         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
76182         Problem reported by Bruno Haible in:
76183         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
76184
76185 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
76186
76187         * config/srclist.txt: Comment out argp-pvh.c.
76188
76189 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
76190
76191         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
76192         in case some system header has #define'd it.  Problem reported by
76193         Soeren D. Schulze in
76194         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
76195
76196 2004-09-09  Karl Berry  <karl@gnu.org>
76197
76198         * regex.[ch]: delete from the root.  These were supposed to be
76199                 synced with emacs cvs, but this has not happened for about
76200                 a year, and anyway nothing else uses emacs regex.[ch].
76201                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
76202                 lib/regex[.ch] is untouched.
76203
76204 2004-09-09  Bruno Haible  <bruno@clisp.org>
76205
76206         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
76207
76208 2004-09-09  Bruno Haible  <bruno@clisp.org>
76209
76210         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
76211         modifications.
76212         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
76213
76214 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
76215
76216         * modules/xvasprintf: New file.
76217         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
76218
76219 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
76220
76221         * lib/xvasprintf.h: New file.
76222         * lib/xvasprintf.c: New file.
76223         * lib/xasprintf.c: New file.
76224
76225 2004-09-08  Bruno Haible  <bruno@clisp.org>
76226
76227         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
76228
76229 2004-09-08  Bruno Haible  <bruno@clisp.org>
76230
76231         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
76232         length is > INT_MAX.
76233         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
76234         more.
76235
76236 2004-09-08  Bruno Haible  <bruno@clisp.org>
76237
76238         * lib/stdint_.h: New file, taken from GNU clisp.
76239
76240 2004-09-08  Bruno Haible  <bruno@clisp.org>
76241             Oskar Liljeblad  <oskar@osk.mine.nu>
76242
76243         * modules/stdint: New file.
76244         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
76245
76246 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76247
76248         Import from coreutils.
76249         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
76250         strings on unbounded length.  alloca's performance benefits aren't
76251         that important here.
76252         (V_STRDUP): Remove.
76253         (parse_with_separator): New function, with most of the internals
76254         of the old parse_user_spec.  Allow user to omit both user and group,
76255         for compatibility with FreeBSD.
76256         Clone only the user name, not the entire spec.
76257         Do not set *uid, *gid unless entirely successful.
76258         Avoid memory leak in some failing cases.
76259         Fix regression for USER.GROUP reported by Dmitry V. Levin in
76260         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
76261         (parse_user_spec): Rewrite to use parse_with_separator.
76262
76263 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76264
76265         * modules/userspec: Don't depend on alloca.
76266
76267 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76268
76269         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
76270
76271 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76272
76273         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
76274         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
76275         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
76276
76277 2004-08-16  Simon Josefsson  <jas@extundo.com>
76278
76279         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
76280         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
76281         Add --dry-run for --import.
76282         Let user provided command line parameters override configure.ac
76283         settings.
76284
76285 2004-08-12  Simon Josefsson  <jas@extundo.com>
76286
76287         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
76288         as discussed with Paul Eggert in threads rooted at
76289         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
76290         and
76291         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
76292         Before, the test was empty, and relied on ELIDE_CODE in source
76293         code.)
76294         (gl_PREREQ_GETOPT): New macro.
76295         (gl_GETOPT): Use them.
76296
76297 2004-08-12  Simon Josefsson  <jas@extundo.com>
76298
76299         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
76300         * lib/getopt_.h: Renamed from getopt.h.
76301
76302 2004-08-12  Simon Josefsson  <jas@extundo.com>
76303
76304         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
76305         Change default library name from libfoo to libgnu.
76306         Now, if you have a configure.ac that says:
76307                 gl_SOURCE_BASE(gl)
76308                 gl_M4_BASE(gl/m4)
76309                 gl_MODULES(error getopt etcetera)
76310                 gl_INIT
76311         you can import all you need by running:
76312                 ../gnulib/gnulib-tool --import
76313
76314         * modules/getopt (Files): Rename getopt.h to getopt_.h.
76315         (Makefile.am): Rewrite, use logic from argz.
76316         (Include): Use <getopt.h> instead of "getopt.h".
76317
76318 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
76319
76320         * modules/argp (Files): Add m4/unlocked-io.m4.
76321         (Depends-on): Add extensions.
76322
76323 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
76324
76325         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
76326         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
76327         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
76328         Check for program_invocation_name, program_invocation_short_name,
76329         flockfile, funlockfile, features.h, _getopt_long_only_r.
76330
76331 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
76332
76333         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
76334         its complicated substitute.
76335         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
76336         and program_invocation_name.
76337         (__argp_basename) [!_LIBC]: Remove; the only use was
76338         replaced by its body.
76339         (__argp_short_program_name): Change condition from
76340         !defined __argp_short_program_name to
76341         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
76342         to match argp-namefrob.h.
76343         (__argp_failure): Don't assume strerror_r returns char *.
76344         * lib/argp-parse.c (N_): Define unconditionally.
76345         (argp_default_options): Fill out initializers with 0 to avoid
76346         gcc warnings.
76347
76348 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
76349
76350         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
76351         getopt1.c.
76352
76353 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76354
76355         Merge from coreutils.
76356
76357         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
76358
76359         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
76360         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
76361
76362 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76363
76364         Merge from coreutils.
76365
76366         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
76367         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
76368         for Reliant Unix 5.43.
76369
76370         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
76371         (union fooround): Use uintmax_t, not long int.
76372         The rest is a merge from libc:
76373         [defined _LIBC]: Include <shlib-compat.h>.
76374         (_obstack) [defined _LIBC]: Remove after 2.3.4.
76375
76376         * lib/settime.c (settime): Recode to avoid warning with
76377         Sun Forte C 6U2.
76378
76379         * lib/strverscmp.c: Convert to UTF-8.
76380
76381 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76382
76383         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
76384         m4/uintmax_t.m4.
76385
76386 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76387
76388         * modules/xalloc-die: New file.
76389         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
76390
76391         * modules/md5 (Files): Add m4/uint32_t.m4.
76392         * modules/sha1: Renamed from modules/sha.
76393         (Files):
76394         Rename lib/sha.h to lib/sha1.h.
76395         Rename lib/sha.c to lib/sha1.c.
76396         Rename m4/sha.m4 to m4/sha1.m4.
76397         (lib_SOURCES): Likewise.
76398         (configure.ac): Rename gl_SHA to gl_SHA1.
76399         (Include): sha.h -> sha1.h.
76400
76401 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76402
76403         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
76404         * m4/sha1.m4: Renamed from sha.m4.
76405         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
76406
76407 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76408
76409         * lib/obstack.h (obstack_empty_p):
76410         Don't assume that chunk->contents is suitably aligned.
76411         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
76412         Likewise. Problem reported by Benno in
76413         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
76414
76415         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
76416         readable.  This could be improved further but it'd take some work.
76417
76418 2004-08-08  Simon Josefsson  <jas@extundo.com>
76419
76420         * modules/xgethostname (Depends-on): Remove exit and error (not
76421         used).
76422
76423         * modules/getpass-gnu: Add getpass.h.
76424         (Depends-on): Add stdbool.
76425         * modules/getpass: Add getpass.h.
76426
76427 2004-08-08  Simon Josefsson  <jas@extundo.com>
76428
76429         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
76430         Check getpass declaration.
76431
76432 2004-08-08  Simon Josefsson  <jas@extundo.com>
76433
76434         * lib/xgethostname.c: Don't include error.h (not used).
76435
76436         * lib/getpass.h: Add.
76437         * lib/getpass.c: Include getpass.h first.
76438
76439 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
76440
76441         * lib/xalloc-die.c: New file.
76442         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
76443         All uses removed.
76444         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
76445         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
76446         xalloc-die.c.
76447         (_, N_, xalloc_die): Move to xalloc-die.c.
76448         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
76449         so that we needn't mess with xalloc_msg_memory_exhausted.
76450
76451         * lib/sha1.h: Renamed from sha.h.
76452         (SHA1_H): Renamed from _SHA_H.
76453         (sha1_ctx): Renamed from sha_ctx.
76454         (sha1_init_ctx): Renamed from sha_init_ctx.
76455         (sha1_process_block): Renamed from sha_process_block.
76456         (sha1_process_bytes): Renamed from sha_process_bytes.
76457         (sha1_finish_ctx): Renamed from sha_finish_ctx.
76458         (sha1_read_ctx): Renamed from sha_read_ctx.
76459         (sha1_stream): Renamed from sha_stream.
76460         (sha1_buffer): Renamed from sha_buffer.
76461         * lib/sha1.c: Likewise; renamed from sha.c.
76462         Do not include <sys/types.h>.
76463         Include <stddef.h> rather than <stdlib.h>.
76464
76465 2004-08-08  Bruno Haible  <bruno@clisp.org>
76466
76467         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
76468         FILESYSTEM_PREFIX_LEN.
76469         * lib/progreloc.c: Likewise.
76470         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
76471
76472 2004-08-06  Simon Josefsson  <jas@extundo.com>
76473
76474         * modules/progname (Depends-on): Don't depend on stdbool.
76475
76476 2004-08-06  Simon Josefsson  <jas@extundo.com>
76477
76478         * modules/getsubopt: New file.
76479         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76480         getsubopt.
76481
76482 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
76483
76484         More merge from coreutils.
76485
76486         * m4/utimens.m4, m4/utimecmp.m4: New files.
76487         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
76488         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
76489         prereq.m4, sha.m4: Import changes from coreutils.
76490
76491 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
76492
76493         More merge from coreutils.
76494         * modules/raise, modules/readtokens0, modules/utimens:
76495         * modules/utimecmp, module/xnanosleep: New files.
76496         * modules/strftime: Add lib/strftime.h.
76497         Change include from <time.h> to "strftime.h".
76498         * modules/yesno: Add lib/yesno.h.
76499         * modules/backupfile: Remove lib/addext.c.
76500         * modules/euidaccess: Add stat-macros.h.
76501         * modules/canonicalize, modules/euidaccess,
76502         modules/filemode, modules/lchown, modules/makepath,
76503         modules/rmdir, modules/stat: Likewise.
76504
76505 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
76506
76507         Merge from tar.
76508         * lib/argp-help.c (make_hol, hol_append): Don't assume that
76509         SIZE_MAX is a valid preprocessor constant.
76510         (__argp_basename): Change from "#ifndef _LIBC"
76511         to "#ifndef __argp_short_program_name", so that
76512         we don't compile these functions for tar.
76513
76514         More merges from coreutils.
76515         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
76516         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
76517         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
76518         * lib/addext.c: Remove; no longer needed.
76519         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
76520         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
76521         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
76522         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
76523         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
76524         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
76525         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
76526         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
76527         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
76528         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76529         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
76530         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
76531         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
76532         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
76533         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
76534         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
76535         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
76536         Import changes from coreutils.
76537
76538 2004-08-05  Simon Josefsson  <jas@extundo.com>
76539
76540         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
76541
76542 2004-08-05  Simon Josefsson  <jas@extundo.com>
76543
76544         * m4/getsubopt.m4: New file.
76545
76546 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
76547
76548         Merge from coreutils.
76549
76550         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
76551         * m4/getcwd-path-max.m4: New files.
76552
76553         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
76554         FILESYSTEM_PREFIX_LEN ->
76555         FILE_SYSTEM_PREFIX_LEN.
76556         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
76557         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
76558         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
76559         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
76560
76561         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
76562         prerequisite modules now handle the DOS stuff.
76563         Don't check for unistd.h.
76564
76565 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
76566
76567         Merge from coreutils.
76568
76569         * lib/.gdb-history: Remove; this doesn't belong here.
76570
76571         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
76572         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
76573         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
76574         * lib/getcwd.c: New files.
76575
76576         * lib/dirname.h: Include <stdbool.h>.
76577         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
76578         for consistency with POSIX terminology.  All uses changed.
76579         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
76580         (strip_trailing_slashes): Use bool for booleans.
76581         * lib/stripslash.c (strip_trailing_slashes): Likewise.
76582
76583         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
76584         sometimes returns a positive errno value even when it succeeds.
76585         (print_errno_message) [!LIBC]: Fall back on strerror if
76586         __strerror_r fails.
76587
76588         * lib/path-concat.c (mempcpy): Don't define if a system header defines
76589         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
76590         (longest_relative_suffix): New function.
76591         (path_concat): Use it.  Assume first argument is not NULL.
76592         Port to DOS.  Omit redundant separators.
76593         Report an error instead of returning NULL.
76594         Use mempcpy instead of memcpy.
76595         (xpath_concat): Remove: not declared or used.
76596
76597         * lib/same.h: Include <stdbool.h>
76598         (same_name): Return bool, not int.
76599         * lib/same.c (same_name): Likewise.
76600         (errno): Don't declare; we assume C89 or better now.
76601
76602         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
76603         if not already defined.
76604
76605         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
76606         * lib/dup-safer.c (errno): Likewise.
76607
76608 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
76609
76610         Merge from coreutils.
76611         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
76612         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
76613         * modules/path-concat: Don't depend on strdup.
76614
76615 2004-08-03  Simon Josefsson  <jas@extundo.com>
76616
76617         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
76618         * lib/progname.h: Don't include stdbool.h.
76619
76620 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
76621
76622         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
76623         * MODULES.html.sh (func_all_modules): Remove fatal.
76624
76625 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
76626
76627         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
76628
76629 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
76630
76631         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
76632         working.
76633
76634 2004-08-02  Simon Josefsson  <jas@extundo.com>
76635
76636         * lib/getsubopt.h: New file, with comments from Bruno Haible.
76637         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
76638         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
76639
76640 2004-08-01  Simon Josefsson  <jas@extundo.com>
76641
76642         * lib/xgetdomainname.c: Include stdlib.h, for free().
76643
76644 2004-07-19  Bruno Haible  <bruno@clisp.org>
76645
76646         * MODULES.html.sh (func_all_modules): Add dummy.
76647
76648 2004-07-16  Simon Josefsson  <jas@extundo.com>
76649
76650         * modules/dummy: New file.
76651
76652 2004-07-16  Simon Josefsson  <jas@extundo.com>
76653
76654         * lib/dummy.c: New file.
76655
76656 2004-07-16  Bruno Haible  <bruno@clisp.org>
76657
76658         * lib/backupfile.h: Add extern "C" for C++.
76659         * lib/closeout.h: Likewise.
76660         * lib/copy-file.h: Likewise.
76661         * lib/findprog.h: Likewise.
76662         * lib/full-write.h: Likewise.
76663         * lib/pathname.h: Likewise.
76664         * lib/progname.h: Likewise.
76665         * lib/stpcpy.h: Likewise.
76666         * lib/stpncpy.h: Likewise.
76667         * lib/strcase.h: Likewise.
76668         * lib/strstr.h: Likewise.
76669         * lib/xalloc.h: Likewise.
76670
76671         * lib/mbswidth.h: Add extern "C" for C++.
76672         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
76673
76674 2004-07-13  Robert Millan  <robertmh@gnu.org>
76675
76676         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
76677
76678 2004-07-09  Simon Josefsson  <jas@extundo.com>
76679
76680         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
76681         failed without this.)
76682
76683 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76684
76685         * modules/chown (Files): Add lib/fchown-stub.c, since
76686         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
76687
76688 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76689
76690         * lib/fchown-stub.c: New file.
76691
76692 2004-06-24  Jim Meyering  <jim@meyering.net>
76693
76694         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
76695
76696 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76697
76698         * modules/argz: Omit "#include".
76699
76700         * MODULES.html.sh (func_all_modules): Add calloc, to match
76701         2004-06-01 addition of calloc module.
76702
76703 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76704
76705         * m4/argz.m4: New file, which is autoupdated from libtool.
76706
76707 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76708
76709         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
76710         libtool.
76711
76712 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76713
76714         * config/srclist-update: Don't insist on "USA." before the
76715         close-comment, as libtool omits the period and puts the */ on a
76716         separate line.
76717         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
76718         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
76719
76720 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
76721
76722         * modules/argz: New file.
76723         * MODULES.html.sh (func_all_modules): Add argz.
76724
76725 2004-06-12  Jim Meyering  <jim@meyering.net>
76726         and  Paul Eggert  <eggert@cs.ucla.edu>
76727
76728         * modules/hash (Files): Add lib/xalloc.h.
76729         * modules/pipe (Depends-on): Add wait-process.
76730         * modules/stat (Depends-on): Add xalloc.
76731         * modules/userspec (Files): Add lib/userspec.h.
76732         * modules/xstrto
76733
76734         Upgrade from gettext-0.13.
76735         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
76736         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
76737         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
76738
76739 2004-06-10  Jim Meyering  <jim@meyering.net>
76740
76741         * lib/calloc.c: New file.
76742
76743 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
76744
76745         * lib/getdate.y (yylex): Allow space between sign and number.
76746         Problem reported by Dan Jacobson.
76747
76748 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
76749
76750         Merge from coreutils CVS.
76751
76752         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
76753         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
76754         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
76755         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
76756         xstrtol.m4: Fix copyright date and/or serial number.
76757
76758         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
76759         See if we need an fchown replacement.
76760         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
76761         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
76762         and use the replacement function if we detect either defect.
76763
76764         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
76765         gl_UTIMECMP.
76766
76767 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
76768         and  Jim Meyering  <jim@meyering.net>
76769
76770         Merge from coreutils CVS.
76771
76772         * lib/stat-macros.h: New file, with contents from file-type.h
76773         and coreutils' system.h.
76774         * lib/file-type.c: Include "stat-macros.h".
76775         * lib/file-type.h (file_type): Move all macro definitions to new file,
76776         stat-macros.h.
76777
76778         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
76779         Wrap old code with this conditional.
76780         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
76781         function that does not dereference symlinks.
76782         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
76783
76784         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
76785         dependency problems.
76786         (xreadlink): Accept new arg SIZE, for efficiency.
76787         All decls and uses changed.
76788         * lib/xreadlink.h: Include <stddef.h>, for size_t.
76789
76790         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
76791         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
76792
76793         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
76794         sysexits.h.
76795
76796 2004-06-01  Jim Meyering  <jim@meyering.net>
76797
76798         * m4/calloc.m4: New file.
76799
76800 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
76801
76802         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
76803         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
76804         Also, fix a typo in a diagnostic.
76805
76806 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
76809         or AC_FUNC_REALLOC.
76810
76811 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
76812
76813         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
76814         macros to be defined.
76815         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
76816         the allocator returns NULL because the requested size is zero.
76817
76818 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76819
76820         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
76821         var.  Add comment explaining why libc still defines it.  This
76822         merges the following patch from glibc:
76823         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
76824
76825 2004-05-20  Andreas Schwab  <schwab@suse.de>
76826
76827         * m4/free.m4: Replace free if it not known to work, not the other
76828         way round.
76829
76830 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76831
76832         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
76833         present in glibc since revision 1.1 of this file.
76834         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
76835         obstack_alignment_mask, obstack_alloc, obstack_base,
76836         obstack_blank, obstack_blank_fast, obstack_chunk_size,
76837         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
76838         obstack_grow0, obstack_init, obstack_int_grow,
76839         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
76840         obstack_next_free, obstack_object_size, obstack_ptr_grow,
76841         obstack_ptr_grow_fast, obstack_room): Remove declarations of
76842         nonexistent functions.
76843
76844 2004-05-18  Karl Berry  <karl@gnu.org>
76845
76846         * config/srclist.txt: break link for vasnprintf.c.
76847
76848 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
76849
76850         Port obstack to the AS/400, where pointers are 16 bytes wide and
76851         you cannot cast an integer to a valid pointer.  This patch is
76852         currently waiting to be integrated into glibc; see
76853         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
76854
76855         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
76856         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
76857         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
76858         (struct obstack): temp member is now a union of a pointer and
76859         an integer, instead of an integer.  All integer uses changed.
76860         This does not affect the physical layout of struct obstack,
76861         except on hosts (like the AS/400) where the size or alignment of
76862         void * is greater than that of ptrdiff_t.
76863         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
76864         __STDC__)]: Store temporary in pointer member of union, not
76865         integer member.
76866         * lib/obstack.c: Include <stddef.h>, for offsetof.
76867         (struct fooalign): Remove; it doesn't need a name.
76868         (union fooround): Change double to long double, and add void *.
76869         (DEFAULT_ALIGNMENT): Use offsetof to compute.
76870         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
76871         not a macro.  Hence the values are always int; so remove all
76872         casts-to-int in uses.
76873
76874 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
76875
76876         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
76877         we can get this patch merged into glibc.
76878
76879 2004-05-17  Derek R. Price  <derek@ximbiot.com>
76880             Paul Eggert  <eggert@cs.ucla.edu>
76881
76882         * m4/argp: Depend on alloca.
76883
76884 2004-05-17  Derek R. Price  <derek@ximbiot.com>
76885             Paul Eggert  <eggert@cs.ucla.edu>
76886
76887         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
76888         freecoding.
76889
76890 2004-05-17  Bruno Haible  <bruno@clisp.org>
76891
76892         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
76893         precision that consists of a '.' followed by an empty digit string.
76894         Patch by Tor Lillqvist <tml@iki.fi>.
76895
76896 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
76897
76898         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
76899         for backward compatibility with older code.  We need our own
76900         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
76901         it under some other name, and our alloca.h will define it.
76902
76903 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
76904             Derek Price  <derek@ximbiot.com>
76905
76906         * lib/alloca.c: Include <alloca.h>, to get our interface.
76907         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
76908         include <alloca.h> first.  Use C89 prototype for alloca; this
76909         requires including <stddef.h> for size_t.  Use extern "C" if C++.
76910         Use #elif for simplicity, since we can assume C89 now.
76911         Don't try to source the system alloca.h since it will not be found
76912         and to prevent recursively including its replacement.
76913         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
76914         * lib/regex.c: Likewise.
76915
76916 2004-05-16  Derek Price  <derek@ximbiot.com>
76917             Paul Eggert  <eggert@cs.ucla.edu>
76918
76919         getline cleanup.  This changes the getndelim2 API: both order of
76920         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
76921         no delimiter).
76922
76923         * lib/getline.c: Don't include stddef.h or stdio.h, since our
76924         interface does that.
76925         (getline): Always use getdelim, so that we don't have two
76926         copies of this code.
76927         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
76928         if available.
76929         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
76930         (GETNDELIM2_MAXIMUM): New macro.
76931         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
76932         instead of the old practice of delim2==0.  All callers changed.
76933         Return -1 on overflow, instead of returning junk.
76934         Do not set *linesize unless allocation succeeds.
76935         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
76936         that we include sys/types.h.
76937         * lib/getnline.h: Likewise.
76938         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
76939         (getndelim2): Reorder arguments.
76940         * lib/getnline.c (getnline, getndelim):
76941         Don't discard the NMAX argument.
76942         (getnline): Invoke getndelim, to avoid code duplication.
76943         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
76944         of (size_t) -1 by callers of the getnline family.
76945
76946 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76947
76948         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
76949         Check for gettimeofday.
76950         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
76951         Check for settimeofday, stime.
76952
76953 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76954
76955         * lib/nanosleep.c (suspended): Change its type from int to
76956         sig_atomic_t volatile.
76957         (first_call): Make it private to rpl_nanosleep, and have it
76958         be zero initially as that's a bit faster.
76959         (my_usleep): Round up fractional times instead of truncating them,
76960         as this is the usual meaning for 'sleep'.
76961
76962         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
76963         doesn't work.
76964         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
76965         (ENOSYS): Define if not defined.
76966         (settime): Fall back on stime if it exists and settimeofday fails.
76967         But don't bother with fallbacks if a method fails with errno == EPERM.
76968
76969 2004-05-11  Jim Meyering  <jim@meyering.net>
76970
76971         Prior to this change, the save_cwd caller required read access to the
76972         current directory on most systems (ones with the fchdir function).
76973
76974         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
76975         fails, try write-only, and finally, resort to using xgetcwd.
76976
76977 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76978
76979         * lib/obstack.c, obstack.h: Import changes from libc.
76980
76981 2004-04-28  Bruno Haible  <bruno@clisp.org>
76982
76983         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
76984         also implicitly appends .exe to executables.
76985         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
76986         accepts Windows pathnames.
76987         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
76988         Treat Cygwin like Windows, since it now accepts Windows pathnames.
76989         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
76990         Treat Cygwin like Windows, since it now accepts Windows pathnames.
76991         Reported by Derek Robert Price <derek@ximbiot.com>.
76992
76993 2004-04-21  Karl Berry  <karl@gnu.org>
76994
76995         * config/srclist.txt (localcharset.c): break sync.
76996
76997 2004-04-20  Paul Eggert  <eggert@twinsun.com>
76998
76999         * m4/host-os.m4: Add a copyright notice.
77000
77001 2004-04-20  Jim Meyering  <jim@meyering.net>
77002
77003         Change UTILS_ to gl_ in AC_DEFINE'd names.
77004         Change utils_- and jm_-prefixed variables, too.
77005         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
77006         UTILS_FUNC_MKDIR_TRAILING_SLASH.
77007         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
77008
77009         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
77010         Don't emit trailing blanks.
77011         Also rename jm_-prefixed variables to have gl_ prefix.
77012
77013         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
77014         Also rename jm_-prefixed variables to have gl_ prefix.
77015
77016         * m4/jm-macros.m4: Reflect the renamings.
77017         * m4/prereq.m4: Likewise.
77018
77019 2004-04-20  Jim Meyering  <jim@meyering.net>
77020
77021         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
77022         memory.
77023
77024 2004-04-20  Jim Meyering  <jim@meyering.net>
77025             Bruno Haible  <bruno@clisp.org>
77026
77027         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
77028         memory when realloc fails.
77029
77030 2004-04-19  Jim Meyering  <jim@meyering.net>
77031
77032         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
77033         now that readutmp.c may call `free (0)'.
77034
77035 2004-04-19  Bruno Haible  <bruno@clisp.org>
77036
77037         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
77038         * m4/inttypes_h.m4: Likewise.
77039         * m4/stdint_h.m4: Likewise.
77040         * m4/intmax_t.m4: Likewise.
77041         * m4/uintmax_t.m4: Likewise.
77042
77043 2004-04-18  Jim Meyering  <jim@meyering.net>
77044
77045         * m4/prereq.m4: Don't forbid jm_ prefix.
77046
77047         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
77048         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
77049         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
77050         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
77051         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
77052         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
77053         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
77054         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
77055         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
77056         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
77057         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
77058         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
77059         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
77060         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
77061         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
77062         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
77063         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
77064         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
77065         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
77066
77067 2004-04-18  Jim Meyering  <jim@meyering.net>
77068
77069         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
77070         failure, don't leak memory and do call END_UTMP_ENT.
77071
77072 2004-04-16  Jim Meyering  <jim@meyering.net>
77073
77074         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
77075         coreutils' stat program.
77076         (gl_PREREQ): Don't require jm_PREREQ_STAT.
77077
77078 2004-04-11  Paul Eggert  <eggert@twinsun.com>
77079
77080         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
77081         C89.
77082         (CHAR_BIT): Remove, since we assume C89.
77083         Include <stdint.h> if available, as per current Autoconf CVS advice.
77084
77085 2004-03-31  Jim Meyering  <jim@meyering.net>
77086
77087         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
77088         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
77089         * m4/xalloc.m4: Likewise.
77090
77091 2004-03-30  Paul Eggert  <eggert@twinsun.com>
77092
77093         Merge from coreutils.
77094
77095         * m4/inttostr.m4: New file.
77096         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
77097         Require AM_STDBOOL_H and gl_TIMESPEC instead.
77098         Require gl_CLOCK_TIME.
77099         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
77100
77101 2004-03-30  Paul Eggert  <eggert@twinsun.com>
77102
77103         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
77104         not bool, to be more consistent with Unix conventions.
77105         Suggested by Bruno Haible.
77106
77107         Merge from coreutils.
77108
77109         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
77110         * lib/umaxtostr.c: New files.
77111
77112         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
77113         the usual <time.h> dance.
77114         (get_date): Change signature to support fractional time stamps.
77115         All callers changed.
77116         * lib/getdate.y: Include "getdate.h" first, as we can now
77117         assume C89 and don't need to worry about 'const'.
77118         Similarly, include "unlocked-io.h" near start, not in middle.
77119         Include <limits.h>.
77120         (textint.value): Use long int rather than int.
77121         (textint.digits): Use size_t rather than int.
77122         (BILLION, LOG10_BILLION): New constants.
77123         (parser_control): New member rel_ns.  Members day_ordinal,
77124         time_zone, month, day, hour, minutes, rel_year, rel_month,
77125         rel_day, rel_hour, rel_minutes, rel_seconds
77126         are now long int, not int.  Member seconds is now struct timespec,
77127         not int.  New member timespec_seen.  Members dates_seen, days_seen,
77128         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
77129         not int.
77130         (%union.intval): Now long int, not int.
77131         New member timespec.
77132         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
77133         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
77134         (spec): Now is a timespec or an item list.
77135         (timespec, items): New nonterminals.
77136         (time, rel, relunit, number, get_date):
77137         Add support for fractional seconds.
77138         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
77139         (gmtime, localtime, mktime): Remove decls; not needed with C89.
77140         (to_hour): First arg is now long int, not int.
77141         (to_year): Returns long int, not int.
77142         Don't treat year -70 like 70.
77143         (tm_diff): Returns long int, not int.
77144         (lookup_word): Use bool instead of int when appropriate.
77145         (yylex): Use size_t for count, not int.
77146         Detect overflow when parsing large integer constants.
77147         Add support for fractions.
77148         (get_date): Make pointers 'const' if possible.
77149         Use more-portable code to detect integer overflow.
77150         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
77151         Don't use ctime; it's not reliable if the year has >4 digits.
77152
77153         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
77154         This is for compatibility with BSD.
77155
77156         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
77157         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
77158         From coreutils' system.h.
77159
77160         * lib/userspec.c: Don't include "posixver.h".
77161         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
77162         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
77163         compatible extension.  Simplify code by removing a boolean int
77164         that was always nonzero if a string was nonnull.
77165
77166 2004-03-30  Jim Meyering  <jim@meyering.net>
77167
77168         Merge from coreutils.
77169
77170         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
77171         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
77172         on some systems one must include <grp.h> before it.
77173         Reported by Christian Krackowizer.
77174
77175 2004-03-30  Jim Meyering  <jim@meyering.net>
77176
77177         Merge from coreutils.
77178
77179         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
77180
77181         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
77182         an empty input stream.
77183
77184         * lib/readtokens.c: Include <stdbool.h>.
77185         (readtoken): Use `size_t' rather than int/long.
77186         All callers adjusted.
77187         Use `bool' rather than `int' where appropriate.
77188         Use memset rather than an explicit loop.
77189         Use x2nrealloc rather than xrealloc.
77190         Allow the use of `\0' as a delimiter.
77191         (readtokens): Likewise.
77192         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
77193
77194 2004-03-30  Jim Meyering  <jim@meyering.net>
77195
77196         * m4/realloc.m4: Remove file, since now it does no more than
77197         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
77198         the `configure.ac' section of module/realloc.
77199         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
77200
77201 2004-03-30  Bruno Haible  <bruno@clisp.org>
77202
77203         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
77204         nonnull.
77205
77206 2004-03-29  Paul Eggert  <eggert@twinsun.com>
77207
77208         Merge changes to getloadavg.c from coreutils and Emacs.
77209
77210         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
77211         Define to an expression, not to the empty string.
77212         Include cloexec.h and xalloc.h.
77213         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
77214         Use set_cloexec_flag rather than rolling our own.
77215         * lib/cloexec.c, lib/cloexec.h: New files.
77216
77217 2004-03-29  Paul Eggert  <eggert@twinsun.com>
77218
77219         * m4/cloexec.m4: New file.
77220
77221 2004-03-18  Paul Eggert  <eggert@twinsun.com>
77222
77223         * lib/getopt.h: Sync with libc CVS.
77224
77225 2004-03-18  Paul Eggert  <eggert@twinsun.com>
77226             Bruno Haible  <bruno@clisp.org>
77227
77228         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
77229         mbswidth.
77230
77231 2004-03-18  Paul Eggert  <eggert@twinsun.com>
77232             Bruno Haible  <bruno@clisp.org>
77233
77234         * lib/mbswidth.h: Include <wchar.h> only if
77235         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
77236         <wchar.h>.
77237         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
77238
77239 2004-03-09  Paul Eggert  <eggert@twinsun.com>
77240
77241         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
77242         Sync with libc CVS.
77243         * lib/getopt_int.h: New file, also synced from libc.
77244
77245 2004-03-09  Paul Eggert  <eggert@twinsun.com>
77246
77247         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
77248         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
77249         Bring back getopt.c, getopt.h, getopt1.c.
77250
77251 2004-03-07  Paul Eggert  <eggert@twinsun.com>
77252
77253         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
77254         All uses changed.  Check for sa_sigaction member; this fixes
77255         a bug first reported by Jason Andrade in
77256         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
77257
77258 2004-03-07  Paul Eggert  <eggert@twinsun.com>
77259
77260         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
77261         '#if' expressions.  Unlike the code it replaces, it does not
77262         depend on (defined _SC_PAGESIZE).  However, it does depend on
77263         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
77264         first reported by Jason Andrade in
77265         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
77266
77267 2004-02-25  Simon Josefsson  <jas@extundo.com>
77268
77269         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
77270
77271 2004-02-25  Simon Josefsson  <jas@extundo.com>
77272
77273         * lib/strdup.h: New file.
77274         * lib/strdup.c: Include it.
77275         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
77276         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
77277
77278 2004-02-23  Karl Berry  <karl@gnu.org>
77279
77280         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
77281         (from fencepost.gnu.org:/gd/gnuorg).
77282
77283 2004-02-23  Karl Berry  <karl@gnu.org>
77284
77285         * config/srclistvars.sh (GNUORG) [karl]: redefine.
77286         * config/srclist.txt: add maintain/standards documents.
77287
77288 2004-02-18  Bruno Haible  <bruno@clisp.org>
77289
77290         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
77291         Reported by Derek Robert Price <derek@ximbiot.com>.
77292
77293 2004-02-16  Karl Berry  <karl@gnu.org>
77294
77295         * config/mkinstalldirs, install-sh: update from automake.
77296
77297 2004-02-06  Karl Berry  <karl@gnu.org>
77298
77299         * m4/po.m4: update from gettext 0.14.1.
77300
77301 2004-02-06  Karl Berry  <karl@gnu.org>
77302
77303         * lib/config.charset: update from gettext 0.14.1.
77304
77305 2004-02-05  Paul Eggert  <eggert@twinsun.com>
77306
77307         Add comments and code, prompted by suggestions from Bruno Haible
77308         for sh-quote.
77309         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
77310         describing the enum quoting_style values.
77311         * lib/quotearg.c (quotearg_alloc): New function.
77312         (quotearg_buffer_restyled): Treat lone { and } as special.
77313         Treat = as special.  Work around bug with older shells
77314         that "see" a '\' that is really the 2nd byte of a multibyte char.
77315         Quote empty string with shell_quoting_style.
77316
77317 2004-02-03  Bruno Haible  <bruno@clisp.org>
77318
77319         * m4/pipe.m4: New file, from GNU gettext.
77320
77321 2004-02-03  Bruno Haible  <bruno@clisp.org>
77322
77323         * lib/pipe.h: New file, from GNU gettext.
77324         * lib/pipe.c: New file, from GNU gettext.
77325
77326 2004-01-27  Bruno Haible  <bruno@clisp.org>
77327
77328         * m4/execute.m4: New file, from GNU gettext.
77329
77330 2004-01-27  Bruno Haible  <bruno@clisp.org>
77331
77332         * lib/execute.h: New file, from GNU gettext.
77333         * lib/execute.c: New file, from GNU gettext.
77334         * lib/w32spawn.h: New file, from GNU gettext.
77335
77336 2004-01-24  Paul Eggert  <eggert@twinsun.com>
77337
77338         Merge from diffutils.
77339
77340         * lib/file-type.c (file_type): Add typed memory objects.
77341         * lib/file-type.h (S_TYPEISTMO): New macro.
77342
77343         * lib/c-stack.h (c_stack_action): Remove argv argument.
77344         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
77345         (die): Don't calculate message unless segv_action returns.
77346         (get_stack_location, min_address_from_argv, max_address_from_argv,
77347         volatile stack_base, volatile_stack_size): Remove.
77348         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
77349         that every segmentation violation is a stack overflow.  (Ouch!)
77350         See Debian bug 136249 (still outstanding) for more info about why
77351         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
77352
77353 2004-01-24  Paul Eggert  <eggert@twinsun.com>
77354
77355         Exit-status fix from coreutils.
77356
77357         Use exit_failure consistently in place of EXIT_FAILURE,
77358         so that program exit statuses are consistent on failure.
77359
77360         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
77361         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
77362         * lib/argmatch.h: Comment fix to match the above.
77363         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
77364         Now a macro referring to exit_failure, instead of a separate
77365         variable.  Include "exitfail.h" to get it.
77366         * lib/xstrtol.h: Include "exitfail.h".
77367         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
77368
77369         * lib/long-options.c (parse_long_options): Use prototype
77370         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
77371         for clarity.
77372
77373 2004-01-21  Jim Meyering  <jim@meyering.net>
77374
77375         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
77376         so as not to conflict with a different-sized __mktime_internal
77377         function in GNU libc.
77378         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
77379         Problem building statically-linked `ls' reported by Michael Brunnbauer.
77380
77381 2004-01-20  Karl Berry  <karl@gnu.org>
77382
77383         * config/config.guess: update from config.
77384
77385         * config/srclistvars.sh: GNUWWWLICENSES for karl.
77386
77387 2004-01-20  Bruno Haible  <bruno@clisp.org>
77388
77389         Safer stack allocation.
77390         * lib/setenv.c: Include allocsa.h.
77391         (alloca): Remove fallback definition.
77392         (freea): Remove macro.
77393         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
77394         instead of freea.
77395
77396 2004-01-20  Bruno Haible  <bruno@clisp.org>
77397
77398         * m4/eealloc.m4: New file, from GNU gettext.
77399
77400 2004-01-20  Bruno Haible  <bruno@clisp.org>
77401
77402         * m4/allocsa.m4: New file, from GNU gettext.
77403
77404 2004-01-20  Bruno Haible  <bruno@clisp.org>
77405
77406         * lib/xallocsa.h: New file, from GNU gettext.
77407         * lib/xallocsa.c: New file, from GNU gettext.
77408
77409 2004-01-20  Bruno Haible  <bruno@clisp.org>
77410
77411         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
77412
77413 2004-01-20  Bruno Haible  <bruno@clisp.org>
77414
77415         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
77416         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
77417         specially.
77418
77419 2004-01-20  Bruno Haible  <bruno@clisp.org>
77420
77421         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
77422         patch.
77423
77424 2004-01-20  Bruno Haible  <bruno@clisp.org>
77425
77426         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
77427
77428 2004-01-20  Bruno Haible  <bruno@clisp.org>
77429
77430         * lib/eealloc.h: New file.
77431
77432 2004-01-20  Bruno Haible  <bruno@clisp.org>
77433
77434         * lib/binary-io.h: Avoid warnings on Cygwin.
77435
77436 2004-01-20  Bruno Haible  <bruno@clisp.org>
77437
77438         * lib/allocsa.h: New file, from GNU gettext.
77439         * lib/allocsa.c: New file, from GNU gettext.
77440
77441 2004-01-18  Karl Berry  <karl@gnu.org>
77442
77443         * doc/gpl.texi, doc/lgpl.texi: new files.
77444
77445 2004-01-18  Karl Berry  <karl@gnu.org>
77446
77447         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
77448         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
77449
77450 2004-01-15  Paul Eggert  <eggert@twinsun.com>
77451
77452         Merge from coreutils.
77453
77454         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
77455         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
77456         (gl_DEFAULT_POSIX2_VERSION): Move
77457         the documentation from 'configure' into 'config.hin',
77458         so that 'configure --help' isn't burdened by it and
77459         we don't have to worry about its formatting there.
77460         Reword the documentation so that it's more succinct
77461         and can be run together into a single paragraph.
77462         * m4/same.m4 (gl_SAME): Check for pathconf.
77463
77464 2004-01-15  Paul Eggert  <eggert@twinsun.com>
77465
77466         Merge from coreutils.
77467
77468         * lib/posixver.c: Include posixver.h.
77469
77470         * lib/same.c: Include <stdbool.h>, <limits.h>.
77471         (_POSIX_NAME_MAX): Define if not defined.
77472         (MIN): New macro.
77473         (same_name): If file names are silently truncated, report
77474         that the file names are the same if they are the same after
77475         the silent truncation.
77476
77477         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
77478         conversion function.
77479         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
77480         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
77481         longer needed.
77482
77483 2004-01-15  Jim Meyering  <jim@meyering.net>
77484
77485         Merge from coreutils.
77486
77487         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
77488         if no library is required.
77489         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
77490         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
77491         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
77492         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
77493         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
77494         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
77495         value, $ac_cv_search_crypt, if it's "none required".
77496         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
77497         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
77498         not gl_FUNC_GETLOADAVG.
77499         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
77500         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
77501
77502 2004-01-15  Jim Meyering  <jim@meyering.net>
77503
77504         Merge from coreutils.
77505
77506         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
77507         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
77508         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
77509
77510         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
77511         optional configure-time default.
77512
77513         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77514
77515         * lib/xreadlink.c (xreadlink): Correct outdated comment.
77516
77517 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
77518
77519         Merge from coreutils.
77520
77521         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
77522         value, $ac_cv_search_nanosleep, if it's "none required".
77523
77524 2004-01-14  Paul Eggert  <eggert@twinsun.com>
77525
77526         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
77527         with like-named macro in fnmatch.c.
77528         (EXT): Use an internal constant instead.
77529
77530         Merge fnmatch patches from glibc.
77531         * lib/fnmatch.c (mbsinit): Remove define.
77532         Add libc_hidden_ver (__fnmatch, fnmatch).
77533         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
77534         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
77535
77536 2004-01-14  Karl Berry  <karl@gnu.org>
77537
77538         * config/install-sh: update from automake.
77539
77540 2004-01-13  Karl Berry  <karl@gnu.org>
77541
77542         * config/install-sh: update from automake.
77543
77544 2004-01-09  Karl Berry  <karl@gnu.org>
77545
77546         * config/install-sh: update from automake.
77547
77548 2004-01-05  Karl Berry  <karl@gnu.org>
77549
77550         * config/config.{sub,guess}: update from config.
77551
77552 2003-12-31  Karl Berry  <karl@gnu.org>
77553
77554         * config/depcomp: update from automake.
77555
77556 2003-12-14  Karl Berry  <karl@gnu.org>
77557
77558         * lib/config.charset: update from gettext-runtime.
77559
77560 2003-12-03  Paul Eggert  <eggert@twinsun.com>
77561
77562         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
77563         Bug reported by Alfred M. Szmidt.
77564
77565 2003-12-03  Bruno Haible  <bruno@clisp.org>
77566
77567         * m4/gettext.m4: Upgrade from gettext-0.13.
77568         * m4/po.m4: Upgrade from gettext-0.13.
77569         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
77570         * m4/intmax.m4: New file, from gettext-0.13.
77571         * m4/printf-posix.m4: New file, from gettext-0.13.
77572
77573 2003-11-29  Karl Berry  <karl@gnu.org>
77574
77575         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
77576
77577 2003-11-25  Paul Eggert  <eggert@twinsun.com>
77578             Bruno Haible  <bruno@clisp.org>
77579
77580         * lib/printf-parse.h: Don't include sys/types.h.
77581         (ARG_NONE): New macro.
77582         (char_directive): Change type of *arg_index fields to size_t.
77583         * lib/printf-parse.c: Don't include sys/types.h.
77584         (SSIZE_MAX): Remove macro.
77585         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
77586         Remove unnecessary overflow check.
77587         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
77588         fields.
77589
77590 2003-11-25  Bruno Haible  <bruno@clisp.org>
77591
77592         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
77593
77594 2003-11-25  Bruno Haible  <bruno@clisp.org>
77595
77596         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
77597         gt_TYPE_SSIZE_T.
77598
77599 2003-11-24  Paul Eggert  <eggert@twinsun.com>
77600
77601         * modules/alloca: Remove dependency on xalloc.
77602
77603 2003-11-24  Paul Eggert  <eggert@twinsun.com>
77604
77605         * lib/alloca.c: Remove dependency on xalloc module.
77606         (xalloc_die): Remove.
77607         (memory_full) [!defined emacs]: New macro.
77608         [!defined emacs]: Don't include xalloc.h.
77609         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
77610         address arithmetic overflows.  Change datatypes a bit to avoid
77611         unnecessary casts.
77612
77613 2003-11-22  Jim Meyering  <jim@meyering.net>
77614
77615         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
77616         s/size/size_t/.
77617
77618 2003-11-21  Karl Berry  <karl@gnu.org>
77619
77620         * config/config.{sub,guess}: update from config.
77621
77622 2003-11-18  Karl Berry  <karl@gnu.org>
77623
77624         * config/config.{sub,guess}: update from config.
77625
77626         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
77627
77628 2003-11-17  Paul Eggert  <eggert@twinsun.com>
77629
77630         * README: Mention that S+T cannot overflow if S is the size of
77631         an existing object and T is sufficiently small.
77632
77633 2003-11-17  Jim Meyering  <jim@meyering.net>
77634
77635         On systems without utime and without a utimes function capable of
77636         dealing with a NULL struct utimbuf* argument, this utime replacement
77637         could -- in unusual circumstances -- leak a file descriptor.
77638         * lib/utime.c: Include <unistd.h> and <errno.h>.
77639         (utime_null): Be sure to close `fd' and to preserve errno.
77640         Reported by Geoff Collyer via Arnold Robbins.
77641
77642 2003-11-17  Bruno Haible  <bruno@clisp.org>
77643
77644         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
77645         (Depends-on): Add xsize.
77646
77647 2003-11-17  Bruno Haible  <bruno@clisp.org>
77648
77649         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
77650
77651 2003-11-17  Bruno Haible  <bruno@clisp.org>
77652
77653         * lib/vasnprintf.c (alloca): Remove fallback definition.
77654         (freea): Remove definition.
77655         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
77656         Reported by Paul Eggert.
77657
77658 2003-11-16  Paul Eggert  <eggert@twinsun.com>
77659             Bruno Haible  <bruno@clisp.org>
77660
77661         Protect against address arithmetic overflow.
77662         * lib/printf-args.h: Include stddef.h.
77663         (arguments): Change type of field 'count' to size_t.
77664         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
77665         'unsigned int' where appropriate.
77666         * lib/printf-parse.h: Include sys/types.h.
77667         (char_directive): Change type of *arg_index fields to ssize_t.
77668         (char_directives): Change type of fields 'count', max_*_length to
77669         size_t.
77670         * lib/printf-parse.c: Include sys/types.h and xsize.h.
77671         (SSIZE_MAX): Define fallback value.
77672         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
77673         instead of 'int' where appropriate. Check a_allocated, d_allocated
77674         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
77675         * lib/vasnprintf.c: Include xsize.h.
77676         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
77677         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
77678         overflow. Avoid wraparound when converting a width or precision from
77679         decimal to binary.
77680
77681 2003-11-16  Bruno Haible  <bruno@clisp.org>
77682
77683         Update from GNU gettext.
77684         * lib/printf-parse.c: Generalize to it can be compiled for wide
77685         strings.
77686         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
77687         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
77688         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
77689         SNPRINTF): New macros.
77690         Don't include <alloca.h> if the file is used inside libintl.
77691         (local_wcslen): New function, for Solaris 2.5.1.
77692         (VASNPRINTF): Use it instead of wcslen.
77693
77694 2003-11-16  Bruno Haible  <bruno@clisp.org>
77695
77696         * lib/xsize.h (xmax): New function.
77697         (xsum, xsum3, xsum4): Declare as "pure" functions.
77698
77699 2003-11-12  Paul Eggert  <eggert@twinsun.com>
77700
77701         * modules/xalloc (Files): Undo latest change, since xalloc.h
77702         no longer needs SIZE_MAX or PTRDIFF_MAX.
77703
77704 2003-11-12  Paul Eggert  <eggert@twinsun.com>
77705
77706         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
77707         gl_PTRDIFF_MAX.
77708
77709 2003-11-12  Paul Eggert  <eggert@twinsun.com>
77710
77711         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
77712         "return", to pacify some unknown compiler.  Problem reported
77713         by Joerg Schilling.
77714
77715 2003-11-12  Paul Eggert  <eggert@twinsun.com>
77716
77717         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
77718         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
77719         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
77720         heuristic is just as accurate as far as we know, and it removes a
77721         dependency on size_max.m4 and ptrdiff_max.m4.
77722
77723 2003-11-11  Bruno Haible  <bruno@clisp.org>
77724
77725         * modules/xsize (Files): Add m4/size_max.m4.
77726         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
77727
77728 2003-11-11  Bruno Haible  <bruno@clisp.org>
77729
77730         * m4/size_max.m4: New file.
77731         * m4/ptrdiff_max.m4: New file.
77732         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
77733         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
77734         (gl_XALLOC): Invoke it.
77735
77736 2003-11-11  Bruno Haible  <bruno@clisp.org>
77737
77738         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
77739         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
77740         defined.
77741
77742 2003-11-10  Paul Eggert  <eggert@twinsun.com>
77743
77744         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
77745         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
77746         rejected some allocations of exactly SIZE_MAX - 2 bytes.
77747         From Bruno Haible.
77748         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
77749         not (size_t) -1, since it's defined here.
77750
77751 2003-11-09  Karl Berry  <karl@gnu.org>
77752
77753         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
77754
77755 2003-11-06  Paul Eggert  <eggert@twinsun.com>
77756
77757         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
77758         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
77759         Reject sizes of exactly SIZE_MAX bytes.
77760         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
77761         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
77762
77763 2003-11-05  Bruno Haible  <bruno@clisp.org>
77764
77765         * lib/xsize.h: Include limits.h, to avoid a possible collision with
77766         SIZE_MAX defined in <limits.h> on Solaris.
77767
77768 2003-11-04  Jim Meyering  <jim@meyering.net>
77769
77770         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
77771         variable names, rather than @VAR@.
77772         * modules/poll: Likewise.
77773
77774 2003-11-04  Bruno Haible  <bruno@clisp.org>
77775
77776         * modules/xsize: New file.
77777         * modules/linebreak: Depend on xsize.
77778         * MODULES.html.sh (func_all_modules): Add xsize.
77779
77780 2003-11-04  Bruno Haible  <bruno@clisp.org>
77781
77782         * m4/xsize.m4: New file.
77783
77784 2003-11-04  Bruno Haible  <bruno@clisp.org>
77785
77786         * lib/xsize.h: New file.
77787         * lib/linebreak.c: Include xsize.h.
77788         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
77789         argument for overflow.
77790         Suggested by Paul Eggert.
77791
77792 2003-11-03  Karl Berry  <karl@gnu.org>
77793
77794         * config/config.{guess,sub}: update from config.
77795
77796 2003-11-03  Jim Meyering  <jim@meyering.net>
77797
77798         * modules/userspec (lib_SOURCES): Add userspec.h.
77799         (Include): Add "userspec.h".
77800         Improve description.
77801
77802 2003-11-03  Jim Meyering  <jim@meyering.net>
77803
77804         * lib/userspec.c: Include "userspec.h".
77805         * lib/userspec.h: New file.
77806
77807 2003-11-03  Bruno Haible  <bruno@clisp.org>
77808
77809         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
77810
77811 2003-11-03  Bruno Haible  <bruno@clisp.org>
77812
77813         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
77814         available, to avoid (extremely rare) race condition.
77815         Suggested by Paul Eggert.
77816
77817 2003-11-02  Karl Berry  <karl@gnu.org>
77818
77819         * config/srclist.txt (vasprintf.c): sync broken, sigh.
77820
77821 2003-10-31  Paul Eggert  <eggert@twinsun.com>
77822
77823         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
77824         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
77825         (read_filesystem_list): Set and use me_type_malloced.
77826         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
77827         whatever the type happens to be), for brevity and consistency.
77828         Check for size calculation overflow on Alphas running OSF/1.
77829
77830 2003-10-31  Jim Meyering  <jim@meyering.net>
77831
77832         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
77833
77834         * lib/linebuffer.c: Include <string.h> for declaration of memset.
77835
77836 2003-10-30  Paul Eggert  <eggert@twinsun.com>
77837             Bruno Haible  <bruno@clisp.org>
77838
77839         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
77840         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
77841
77842 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77843
77844         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
77845         netbsd*-gnu*.  Suggested by Robert Millan.
77846
77847 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77848
77849         * modules/group-member: Depend on stdbool.
77850
77851 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77852
77853         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
77854
77855 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77856
77857         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
77858         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
77859         after the 'gnu' in these cases.  This fixes some bugs in the
77860         previous change, and is based on suggestions by Robert Millan.
77861
77862 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77863
77864         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
77865         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
77866         no longer needed.
77867         * lib/quotearg.c (quotearg_n_options): Use it.
77868         * lib/group-member.c: Include <stdbool.h>.
77869         (free_group_info): Arg is now const *; don't free arg.
77870         (get_group_info): Now returns bool and accepts struct group_info *,
77871         rather than returning a malloc'ed struct group_info *.
77872         All uses changed.  Check for overflow in internal size calculation.
77873
77874         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
77875         rather than xmalloc/xrealloc.
77876         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
77877         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
77878         conformance bug: the old code used a pointer after freeing the
77879         storage that it addressed.
77880         * lib/hash.c (hash_initialize): Simplify the code by using
77881         xalloc_oversized rather than doing it by hand.
77882         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
77883         the buffer preserved.  Use free and xmalloc instead.
77884         * lib/quotearg.c (quotearg_n_options): Likewise.
77885         Use a simpler test for size overflow.  Don't use xalloc_oversized
77886         because unsigned int might be wider than size_t (!); this suggests
77887         that we should switch from unsigned int to size_t for slot numbers.
77888
77889 2003-10-28  Paul Eggert  <eggert@twinsun.com>
77890
77891         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
77892         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
77893         NetBSD kernels.  Requested by Richard Stallman.
77894
77895 2003-10-27  Paul Eggert  <eggert@twinsun.com>
77896
77897         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
77898         to allocate the returned structure.  Do not allocate a subarray,
77899         as x2nrealloc will do that.
77900         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
77901         instead of xnrealloc.
77902         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
77903
77904 2003-10-27  Bruno Haible  <bruno@clisp.org>
77905
77906         * lib/stdbool_.h: Better support for BeOS.
77907
77908 2003-10-26  Paul Eggert  <eggert@twinsun.com>
77909
77910         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
77911         now uses inline.
77912
77913 2003-10-26  Paul Eggert  <eggert@twinsun.com>
77914
77915         * lib/xalloc.h (xalloc_oversized): New static inline function, for
77916         callers that want to do their own size-overflow checking.  Include
77917         <stdbool.h>, since xalloc_oversized returns bool.
77918         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
77919         to use xalloc_oversized.
77920
77921         Add two functions x2realloc, x2nrealloc, for programs that grow
77922         arrays dynamically by doubling their sizes.
77923         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
77924         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
77925         New functions.
77926
77927         Port to C99 semantics for 'inline' of external functions.
77928         Bug reported by Bruno Haible.
77929         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
77930         with the old contents of xnmalloc.
77931         (xnmalloc, xmalloc): Use it.
77932         (xnrealloc_inline): New static inline function,
77933         with the old contents of xnrealloc.
77934         (xnrealloc, xrealloc): Use it.
77935
77936         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
77937         that.
77938
77939 2003-10-26  Karl Berry  <karl@gnu.org>
77940
77941         * config/srclist.txt (COPYING.DOC): no longer available from
77942         /gd/gnuorg; don't know where the ultimate source is.
77943
77944 2003-10-25  Paul Eggert  <eggert@twinsun.com>
77945
77946         Fix several address-calculation bugs in the hash modules,
77947         plus some minor code cleanup.
77948
77949         * lib/hash.h: Include <stdbool.h>, for bool.
77950         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
77951         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
77952         hash_get_n_entries, hash_get_max_bucket_length,
77953         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
77954         hash_rehash): Use size_t rather than unsigned.
77955         * lib/hash.c (struct hash_table, hash_get_n_buckets,
77956         hash_get_n_buckets_used, hash_get_n_entries,
77957         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
77958         hash_get_entries, hash_do_for_each, hash_string, is_prime,
77959         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
77960         Likewise.
77961         (SIZE_MAX): Define if not defined.
77962         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
77963         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
77964         hash_print):
77965         Use const * when possible.
77966         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
77967         (check_tuning): Fix bug: if tuning parameters were very close to
77968         0 or 1, rounding errors could have caused subscript violations.
77969         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
77970         (hash_initialize): Add 'fail:' label
77971         to free table and return NULL, and use it to simplify code.
77972         Use calloc rather than clearing the storage ourself.
77973         (hash_initialize, hash_rehash): Check for arithmetic overflow in
77974         buffer size calculations.
77975         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
77976         Include <stddef.h>, for size_t.
77977         * lib/hash-pjw.c (hash_pjw): Likewise.
77978         Switch to method described by Bruno Haible.
77979         Include <limits.h>, for CHAR_BIT.
77980         (SIZE_BITS): New macro.
77981
77982 2003-10-23  Paul Eggert  <eggert@twinsun.com>
77983
77984         * m4/getline.m4 (AM_FUNC_GETLINE):
77985         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
77986         hosts.  Problem reported by Derek Robert Price in
77987         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
77988         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
77989         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
77990
77991 2003-10-21  Paul Eggert  <eggert@twinsun.com>
77992
77993         * lib/getndelim2.c (getndelim2): When size calculation overflows,
77994         ceiling the allocation at NMAX bytes rather than silently
77995         discarding input bytes before NMAX is reached.  This makes
77996         a difference only if NMAX exceeds SIZE_MAX / 2.
77997
77998         * lib/obstack.c: Merge from glibc.
77999         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
78000         Add libc_hidden_def (_obstack_newchunk).
78001         (_obstack_free) [! defined _LIBC]: Remove.
78002         [defined _LIBC]: Make a strong alias from obstack_free, rather than
78003         a clone of the function body.
78004         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
78005         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
78006
78007         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
78008         glibc.
78009         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
78010         arg to memcpy.
78011
78012         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
78013         (obstack_ptr_grow_fast, obstack_int_grow_fast):
78014         Don't use lvalue casts, as GCC plans to remove support for them
78015         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
78016         was also present in the non-GCC version, indicating that this
78017         code had always been buggy and had never been widely used.
78018         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
78019         Use the fast variant of each macro, rather than copying the
78020         definiens of the fast variant; that way, we'll be more likely to
78021         catch future bugs in the fast variants.
78022
78023 2003-10-20  Bruno Haible  <bruno@clisp.org>
78024
78025         * modules/wait-process: New file.
78026         * MODULES.html.sh (func_all_modules): Add wait-process.
78027
78028 2003-10-20  Bruno Haible  <bruno@clisp.org>
78029
78030         * m4/wait-process.m4: New file.
78031
78032 2003-10-20  Bruno Haible  <bruno@clisp.org>
78033
78034         * lib/wait-process.h: New file, from GNU gettext.
78035         * lib/wait-process.c: New file, from GNU gettext.
78036
78037 2003-10-19  Jim Meyering  <jim@meyering.net>
78038
78039         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
78040         HPUX 10.20.
78041
78042 2003-10-18  Karl Berry  <karl@gnu.org>
78043
78044         * config/config.guess: update from config.
78045
78046 2003-10-16  Paul Eggert  <eggert@twinsun.com>
78047
78048         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
78049         (getgroups): First arg is int, not size_t.
78050         Don't let 'free' mangle errno.
78051
78052 2003-10-16  Paul Eggert  <eggert@twinsun.com>
78053
78054         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
78055
78056 2003-10-16  Karl Berry  <karl@gnu.org>
78057
78058         * config/config.{guess,sub}: update from config.
78059
78060 2003-10-16  Jim Meyering  <jim@meyering.net>
78061
78062         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
78063         memcpy.
78064
78065 2003-10-15  Paul Eggert  <eggert@twinsun.com>
78066
78067         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
78068         (SIZE_MAX): Remove.
78069         (new_exclude, add_exclude_file): Initial size no longer needs to
78070         be a power of 2.
78071         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
78072         our own address arithmetic overflow checking.
78073
78074         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
78075         (fnmatch): Do not alloca more than 2000 wide characters;
78076         instead, use malloc for large buffers.
78077         Check for address arithmetic overflow, and return -1
78078         with errno set to ENOMEM in that case.
78079         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
78080         (NEW_PATTERN): Do not alloca more than 8000 bytes;
78081         instead, return -1.  Check for address arithmetic overflow.
78082
78083 2003-10-14  Paul Eggert  <eggert@twinsun.com>
78084
78085         Handle invalid suffixes and overflow independently, so that
78086         callers can treat them independently as needed.  Fix some bugs in
78087         suffix handling, e.g., "100k@" was not diagnosed as an invalid
78088         suffix for a human-readable blocksize.  The major caller-visible
78089         change is the addition of a new
78090         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
78091         that both overflow and suffix chars were found.
78092
78093         * lib/human.c (humblock): Don't check separately for invalid suffix
78094         char; that is xstrtoumax's job (now that its bug is fixed).
78095         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
78096         INTMAX_MAX]: New macros.
78097         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
78098         TYPE_MAXIMUM): New macros.
78099         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
78100         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
78101         if overflow occurs, as it's what __strtol does and it's more useful
78102         in practice.
78103         (__xstrtol): If __strtol reports some error other than ERANGE,
78104         reflect it to the caller as LONGINT_INVALID.  If it reports
78105         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
78106         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
78107         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
78108         value.
78109         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
78110         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
78111         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
78112         [defined UINTMAX_MAX]: New macros.
78113
78114 2003-10-14  Bruno Haible  <bruno@clisp.org>
78115
78116         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
78117
78118 2003-10-14  Bruno Haible  <bruno@clisp.org>
78119
78120         * m4/sig_atomic_t: New file, from GNU gettext.
78121         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
78122
78123 2003-10-14  Bruno Haible  <bruno@clisp.org>
78124
78125         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
78126         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
78127         Also use volatile where needed.
78128
78129 2003-10-12  Paul Eggert  <eggert@twinsun.com>
78130
78131         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
78132         Change maintainer from Bruno Haible to 'all'.
78133
78134 2003-10-12  Paul Eggert  <eggert@twinsun.com>
78135
78136         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
78137
78138 2003-10-12  Paul Eggert  <eggert@twinsun.com>
78139
78140         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
78141         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
78142         and define in terms of the other primitives.
78143         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
78144         (SIZE_MAX): Define if not already defined.
78145         (array_size_overflow): New function.
78146         (xalloc_die): Abort instead of exiting if 'error' returns.
78147         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
78148         (xmalloc, xrealloc): Use them.
78149         (xcalloc): Check for address arithmetic overflow.
78150         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
78151         a bit faster than strcpy.
78152
78153 2003-10-10  Simon Josefsson  <jas@extundo.com>
78154
78155         * modules/argp (Depends-on): Add restrict and strcase.
78156
78157 2003-10-10  Simon Josefsson  <jas@extundo.com>
78158
78159         * m4/argp.m4: Add AC_C_INLINE.
78160
78161 2003-10-08  Paul Eggert  <eggert@twinsun.com>
78162
78163         Merge getpass from libc, plus a few fixes.
78164
78165         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
78166         Include <stdbool.h>.
78167         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
78168         __fsetlocking to empty.
78169         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
78170         do include <bits/libc-lock.h>.
78171         Do not include <fcntl.h>; not needed.
78172         [_LIBC]: Include <wchar.h>.
78173         (NOTCANCEL_MODE): New macro.
78174         (flockfile, funlockfile) [_LIBC]: New macros.
78175         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
78176         [!_LIBC]: New macros.
78177         (call_fclose): New function.
78178         (getpass): Use it.  Save tty stream separately; this simplifies the
78179         code and makes it more reliable if stdin happens to equal stdout.
78180         Invoke __fsetlocking on tty.
78181         Handle thread cancellation if needed.
78182         Namespace cleanup (use __tcgetattr, __getline).
78183         Use bool for Booleans.
78184         [USE_IN_LIBIO]: Handle wide streams.
78185         [!_LIBC]: Unconditionally do the fseek, since we don't know what
78186         stream might go where.
78187
78188         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
78189         doesn't have to include <stdio.h> before us.
78190         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
78191         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
78192         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
78193         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
78194         if not declared, so that we can use getpass.c code from libc without
78195         rewriting it.
78196         (flockfile, ftrylockfile, funlockfile): New macros.
78197
78198 2003-10-08  Paul Eggert  <eggert@twinsun.com>
78199
78200         * modules/getpass: Depend on stdbool.
78201
78202 2003-10-08  Paul Eggert  <eggert@twinsun.com>
78203
78204         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
78205
78206 2003-10-07  Karl Berry  <karl@gnu.org>
78207
78208         * config/config.{guess,sub}: update from config.
78209
78210 2003-10-06  Jim Meyering  <jim@meyering.net>
78211             Bruno Haible  <bruno@clisp.org>
78212
78213         This lets translators provide better translations for the
78214         "Written by ..." part of --version output.
78215         * lib/version-etc.h: Include stdarg.h.
78216         (version_etc_copyright): Declare as readonly.
78217         (version_etc): Make this function variadic with a NULL-terminated list
78218         of author name strings.
78219         (version_etc_va): New declaration.
78220         * lib/version-etc.c: Include stdarg.h, stdlib.h.
78221         (version_etc_copyright): Declare as readonly.
78222         (version_etc_va): New function. Provide a different translatable string
78223         for each possible number of authors < 10. Abbreviate when there are 10
78224         authors or more.
78225         (version_etc): Make this function variadic. Call version_etc_va.
78226         Suggestion from Gary V. Vaughan.
78227
78228         * lib/long-options.h (parse_long_options): Change prototype: the
78229         authors string is moved to the end and becomes variadic.
78230         * lib/long-options.c: Include stdarg.h.
78231         (parse_long_options): Make this function variadic, too.
78232         Call version_etc_va, not version_etc.
78233
78234 2003-10-06  Bruno Haible  <bruno@clisp.org>
78235
78236         * modules/version-etc-2: Remove file.
78237         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
78238
78239 2003-10-06  Bruno Haible  <bruno@clisp.org>
78240
78241         * modules/fatal-signal: New file.
78242         * MODULES.html.sh (func_all_modules): Add fatal-signal.
78243
78244 2003-10-06  Bruno Haible  <bruno@clisp.org>
78245
78246         * m4/fatal-signal.m4: New file.
78247         * m4/signalblocking.m4: New file, from GNU gettext.
78248
78249 2003-10-06  Bruno Haible  <bruno@clisp.org>
78250
78251         * lib/version-etc-2.h: Remove file.
78252         * lib/version-etc-2.c: Remove file.
78253
78254 2003-10-06  Bruno Haible  <bruno@clisp.org>
78255
78256         * lib/fatal-signal.h: New file, from GNU gettext.
78257         * lib/fatal-signal.c: New file, from GNU gettext.
78258
78259 2003-10-05  Paul Eggert  <eggert@twinsun.com>
78260
78261         * README: Rework advice for preventing empty .o files.
78262         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
78263         not <sys/types.h>.
78264
78265 2003-10-04  Karl Berry  <karl@gnu.org>
78266
78267         * lib/argp*: update from libc.
78268
78269 2003-10-04  Karl Berry  <karl@gnu.org>
78270
78271         * config/config.{guess,sub}: update from config.
78272
78273 2003-10-02  Bruno Haible  <bruno@clisp.org>
78274
78275         * modules/lchown (Include): Add lchown.h.
78276         * modules/time_r (Include): Use "..." syntax.
78277         * modules/xgetdomainname (Include): Add xgetdomainname.h.
78278
78279 2003-10-01  Simon Josefsson  <jas@extundo.com>
78280
78281         * MODULES.html.sh (func_all_modules): Move gethostname from section
78282         'based on' to section 'lacking' POSIX:2001.
78283
78284 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
78285
78286         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
78287         to output mode on the same stream.
78288
78289 2003-09-29  Paul Eggert  <eggert@twinsun.com>
78290
78291         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
78292         Fix arg typo in previous patch.
78293
78294 2003-09-28  Jim Meyering  <jim@meyering.net>
78295
78296         * lib/error.c: Correct cpp indentation.
78297
78298 2003-09-27  Paul Eggert  <eggert@twinsun.com>
78299
78300         * modules/free: New file.
78301
78302 2003-09-27  Paul Eggert  <eggert@twinsun.com>
78303
78304         * m4/free.m4: New file.
78305
78306 2003-09-27  Paul Eggert  <eggert@twinsun.com>
78307
78308         * lib/minmax.h (MIN, MAX)
78309         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
78310         Omit the special code that used __typeof__, since we worry that
78311         it could be more trouble than it's worth.  See:
78312         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
78313         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
78314
78315         * lib/free.c: New file.
78316
78317 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
78318
78319         Trivial fixes to Makefile.am parts of module listings.
78320         * modules/strstr: Append strstr.h to lib_SOURCES.
78321         * modules/strcase: Likewise, for strcase.h.
78322
78323 2003-09-27  Karl Berry  <karl@gnu.org>
78324
78325         * config/mkinstalldirs: update from automake.
78326
78327 2003-09-26  Paul Eggert  <eggert@twinsun.com>
78328
78329         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
78330         (error_tail): Do not loop, reallocating temporary buffer, since
78331         the output cannot contain more wide characters than the input
78332         contains bytes, the size must be big enough already.  This avoids
78333         one potential size overflow calculation.  Check for size overflow
78334         when calculating temporary buffer size.  Free temporary buffer
78335         when done, if it was allocated with malloc; this plugs a memory
78336         leak.  Remove casts from void * to pointers, that are no longer
78337         needed now that we're assuming C89 or better.
78338
78339         Merge error changes from glibc.
78340
78341         * lib/error.c, error.h: Update copyright notice header to match glibc.
78342         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
78343         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
78344         Disable cancellation while printing error.
78345         * lib/error.h: Prepend __ to parameter names.
78346
78347 2003-09-26  Jim Meyering  <jim@meyering.net>
78348
78349         * lib/error.c (error_tail): Move some declarations
78350         into inner scope where the local variables are used.
78351
78352 2003-09-26  Bruno Haible  <bruno@clisp.org>
78353
78354         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
78355         stpncpy().
78356         Don't define stpncpy through config.h; it's now done through stpncpy.h.
78357
78358 2003-09-26  Bruno Haible  <bruno@clisp.org>
78359
78360         * lib/stpncpy.h (gnu_stpncpy): New declaration.
78361         (stpncpy): Define as alias for gnu_stpncpy.
78362         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
78363
78364 2003-09-25  Simon Josefsson  <jas@extundo.com>
78365
78366         * lib/xgetdomainname.h: New file.
78367         * lib/xgetdomainname.c: New file.
78368
78369 2003-09-25  Simon Josefsson  <jas@extundo.com>
78370             Bruno Haible  <bruno@clisp.org>
78371
78372         * modules/getdomainname: New file.
78373         * modules/xgetdomainname: New file.
78374         * MODULES.html.sh (func_all_modules): Add getdomainname,
78375         xgetdomainname.
78376
78377 2003-09-25  Simon Josefsson  <jas@extundo.com>
78378             Bruno Haible  <bruno@clisp.org>
78379
78380         * m4/getdomainname.m4: New file.
78381
78382 2003-09-25  Simon Josefsson  <jas@extundo.com>
78383             Bruno Haible  <bruno@clisp.org>
78384
78385         * lib/getdomainname.h: New file.
78386         * lib/getdomainname.c: New file.
78387
78388 2003-09-25  Karl Berry  <karl@gnu.org>
78389
78390         * lib/argp-fmtstream.c, argp-help.c: update from libc.
78391
78392 2003-09-25  Karl Berry  <karl@gnu.org>
78393
78394         * config/install-sh: update from automake.
78395
78396 2003-09-25  Bruno Haible  <bruno@clisp.org>
78397
78398         * modules/version-etc-2: New file, from modules/version-etc with
78399         modifications.
78400         * MODULES.html.sh (func_all_modules): Add version-etc-2.
78401
78402 2003-09-25  Bruno Haible  <bruno@clisp.org>
78403
78404         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
78405         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
78406
78407 2003-09-24  Simon Josefsson  <jas@extundo.com>
78408
78409         * modules/xgethostname: Add xgethostname.h.
78410
78411 2003-09-24  Paul Eggert  <eggert@twinsun.com>
78412
78413         * lib/linebuffer.c (freebuffer): Don't free the argument, just
78414         the buffer associated with the argument.  Bug reported by
78415         Simon Josefsson.
78416
78417 2003-09-24  Paul Eggert  <eggert@twinsun.com>
78418
78419         * README: Document assumptions that 'int' is at least 32 bits
78420         wide, that integer arithmetic is 2's complement without overflow,
78421         that there are no holes in integer values, that adding sizes of
78422         two nonoverlapping objects can't overflow, and that all-bits-zero
78423         yields scalar zero.  Fix spelling and capitalization typos.
78424
78425 2003-09-19  Karl Berry  <karl@gnu.org>
78426
78427         * lib/argp.h: update from libc.
78428
78429 2003-09-17  Paul Eggert  <eggert@twinsun.com>
78430
78431         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
78432         to avoid spurious warnings like "AC_RUN_IFELSE was called before
78433         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
78434
78435 2003-09-17  Paul Eggert  <eggert@twinsun.com>
78436
78437         * gnulib-tool: Use "test -h", not "test -L", for portability
78438         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
78439         (tags_regexp): Remove, since \| doesn't conform to POSIX.
78440         (sed_extract_prog): Issue s commands one-by-one, rather than
78441         using \| in one s command.
78442
78443 2003-09-16  Paul Eggert  <eggert@twinsun.com>
78444
78445         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
78446         input error, instead of returning NULL the next time we are called
78447         (and therefore losing track of errno).
78448
78449 2003-09-16  Bruno Haible  <bruno@clisp.org>
78450
78451         * gnulib-tool (func_create_testdir): Warn about duplicated
78452         dependencies.
78453
78454 2003-09-15  Paul Eggert  <eggert@twinsun.com>
78455
78456         * modules/argmatch, modules/fatal, modules/obstack,
78457         modules/xalloc, modules/xgethostname: Sort dependencies by
78458         importance, not alphabetically.
78459
78460 2003-09-15  Paul Eggert  <eggert@twinsun.com>
78461
78462         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
78463         fails, so that the caller gets the proper errno.
78464
78465         * lib/readutmp.c (read_utmp): Likewise.
78466         Check for fstat error.  Close stream and free storage
78467         when failing.
78468
78469 2003-09-14  Karl Berry  <karl@gnu.org>
78470
78471         * config/srclist.txt (strdup.c): disable for c89 changes.
78472
78473 2003-09-14  Jim Meyering  <jim@meyering.net>
78474
78475         * lib/getloadavg.c: Correct cpp indentation.
78476         * lib/strdup.c: Likewise.
78477         * lib/vasnprintf.c: Likewise.
78478
78479 2003-09-14  Bruno Haible  <bruno@clisp.org>
78480
78481         * modules/fwriteerror: New file.
78482         * MODULES.html.sh (func_all_modules): Add fwriteerror.
78483
78484 2003-09-14  Bruno Haible  <bruno@clisp.org>
78485
78486         * lib/fwriteerror.h: New file.
78487         * lib/fwriteerror.c: New file.
78488
78489 2003-09-12  Paul Eggert  <eggert@twinsun.com>
78490
78491         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
78492         modules/xgethostname, modules/xalloc: Depend on exit.
78493
78494 2003-09-12  Paul Eggert  <eggert@twinsun.com>
78495
78496         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
78497
78498         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
78499         and AC_MINIX, too, so that their extensions are available.
78500
78501         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
78502         This macro has been superseded by gl_BACKUPFILE.
78503
78504         More patches to assume C89 or better.
78505
78506         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
78507
78508         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
78509         unconditionally.
78510         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
78511         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
78512         Include <string.h>, <stdlib.h> unconditionally.
78513         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
78514         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
78515         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
78516         headers or for string.h.
78517         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
78518         or strtoul.
78519
78520         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
78521         headers.
78522         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
78523         * m4/userspec.m4 (gl_USERSPEC): Likewise.
78524         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
78525         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
78526         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78527         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
78528         memcpy, memset.
78529         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
78530         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
78531         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
78532         strtol.
78533         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
78534         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
78535         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
78536         strtoul.
78537
78538 2003-09-12  Paul Eggert  <eggert@twinsun.com>
78539
78540         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
78541         * lib/obstack.c [!defined _LIBC]: Likewise.
78542         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
78543         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
78544         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
78545
78546         More changes to assume C89 or better.
78547
78548         * lib/error.c (error_tail): Assume vprintf.
78549
78550         * lib/argmatch.c (getenv): Remove decl.
78551         * lib/progreloc.c (get_full_program_name): Define via prototype.
78552         * lib/setenv.c (clearenv): Likewise.
78553         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
78554         needed.
78555         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
78556         (malloc, memcpy): Remove decls.
78557         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
78558         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
78559         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
78560         (memcpy): Remove macro.
78561         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
78562         (__P): Remove.  All uses removed.
78563         (PTR): Remove.  All uses changed to void *.
78564         (CHAR_BIT, NULL): Remove.
78565         (spaces, zeros, memset_space, memset_zero)
78566         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
78567         Remove.
78568         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
78569         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
78570         Define with prototype.
78571         Remove now-unnecessary prototype decl.
78572         (extra_args_spec): Assume ANSI C.  All uses changed.
78573         (extra_args_spec_iso): Remove.
78574         (my_strftime, emacs_strftimeu): Define via prototype.
78575         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
78576         unconditionally.
78577         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
78578         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
78579         (strtoul, strtol): Remove decls.
78580         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
78581         LONG_MAX): Remove.
78582         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
78583         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
78584         (LOCALE_PARAM_PROTO): New macro.
78585         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
78586         (INTERNAL (strtol), strtol): Define with a prototype.
78587         (PARAMS): Remove.  All uses removed.
78588         * lib/tempname.c: Include <string.h> unconditionally.
78589         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
78590         * lib/xgethostname.c (main): Define with a prototype.
78591         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
78592         Include <stdlib.h> unconditionally.
78593         (calloc, malloc, realloc, free): Remove decls.
78594         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
78595         Include <stdlib.h> unconditionally.  Sort include file names.
78596         (strtod): Remove.
78597         (xstrtod): Define with a prototype.
78598         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
78599         (strtol, strtoul): Remove decls.
78600
78601 2003-09-11  Paul Eggert  <eggert@twinsun.com>
78602
78603         More patches to assume C89 or better.
78604         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
78605         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
78606         string.h, memchr, STDC_HEADERS.
78607
78608 2003-09-11  Paul Eggert  <eggert@twinsun.com>
78609
78610         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
78611         Include <stdlib.h>, <string.h> unconditionally.
78612         Remove now-unnecessary cast to char *.
78613         * lib/strnlen.c: Include <string.h> unconditionally.
78614         * lib/yesno.c (yesno): Define with a prototype.
78615
78616 2003-09-11  Bruno Haible  <bruno@clisp.org>
78617
78618         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
78619
78620 2003-09-10  Jim Meyering  <jim@meyering.net>
78621
78622         * lib/error.c: Correct indentation of cpp directives.
78623
78624 2003-09-10  Bruno Haible  <bruno@clisp.org>
78625
78626         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
78627         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
78628         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
78629         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
78630         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
78631         <stdlib.h> and <string.h> checks.
78632         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
78633         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
78634
78635 2003-09-10  Bruno Haible  <bruno@clisp.org>
78636
78637         * lib/strcspn.c: Include <string.h> unconditionally.
78638         * lib/strpbrk.c: Include <string.h> unconditionally.
78639         * lib/strstr.c: Include <string.h> unconditionally.
78640         * lib/unicodeio.c: Include <string.h> unconditionally.
78641         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
78642         * lib/unsetenv.c: Likewise.
78643         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
78644         * lib/yesno.c: Include <stdlib.h> unconditionally.
78645         (rpmatch): Add prototype.
78646
78647 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78648
78649         More patches to assume C89 or better.
78650         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
78651         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
78652         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
78653         or for string.h.
78654         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
78655         stdlib.h.
78656         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
78657         C headers.
78658         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
78659         string.h.
78660         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
78661         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
78662         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
78663         or for string.h.
78664         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
78665         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
78666         C headers.
78667         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
78668         memcpy.
78669         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
78670         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
78671         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
78672         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
78673         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
78674         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
78675         string.h, free.
78676         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
78677         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
78678         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
78679         C headers, or for string.h.
78680         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
78681         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
78682         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
78683         headers, memory.h, stdlib.h, string.h, strings.h.
78684         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
78685         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
78686         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
78687         strchr.
78688         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
78689         headers, memory.h, string.h.
78690         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
78691         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
78692         free.
78693         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
78694         headers.
78695         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
78696         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
78697         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
78698         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
78699         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
78700
78701 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78702
78703         More K&R removal.
78704
78705         * lib/acosl.c (main): Use a prototype.
78706         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
78707         tanl.c: Likewise.
78708
78709         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
78710
78711         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
78712         (getopt, etopt_long, getopt_long_only, _getopt_internal)
78713         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
78714         with a prototype.
78715         * lib/getopt.c (const): Remove macro.
78716         Include <string.h> unconditionally.
78717         (my_index): Remove; all uses changed to strchr.
78718         (strlen): Remove decl.
78719         (exchange): Remove forward decl; no longer needed.
78720         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
78721         Define with prototype.
78722         * lib/getopt1.c (const): Remove macro.
78723         (getopt_long, getopt_long_only, main): Define with prototype.
78724
78725         * lib/getugroups.c: Include <string.h> unconditionally.
78726
78727         * lib/getusershell.c: Include <stdlib.h> unconditionally.
78728         (getusershell, setusershell, endusershell, readname, main):
78729         Define with prototypes.
78730
78731         * lib/group-member.c: Include group-member.h first.
78732         Include <stdlib.h> unconditionally.
78733
78734         * lib/hard-locale.c: Include hard-locale.h first.
78735         Include <stdlib.h>, <string.h> unconditionally.
78736
78737         * lib/hash.c (free, malloc): Remove decls.
78738         Include <stdlib.h> unconditionally.
78739
78740         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
78741         (getenv): Do not declare.
78742
78743         * lib/idcache.c: Include <string.h> unconditionally.
78744
78745         * lib/long-options.c: Include long-options.h first, to test interface.
78746         Include <stdlib.h> unconditionally.
78747
78748         * lib/makepath.c: Include makepath.h first, to test interface.
78749         Include <stdlib.h> and <string.h> unconditionally.
78750
78751         * lib/linebuffer.c: Include <stdlib.h>.
78752         (free): Remove decl.
78753
78754         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
78755         stddef.h. rpl_malloc returns void *, not char *.
78756         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
78757         prototype.
78758
78759         * lib/md5.h: Include <limits.h> unconditionally.
78760         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
78761         (__P): Remove; all uses removed.
78762         * lib/md5.c: Include "md5.h" first.
78763         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
78764         md5_buffer, md5_process_bytes, md5_process_block):
78765         Define with prototypes.
78766         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
78767         * lib/sha.c: Include "sha.h" first.
78768         Include <stdlib.h>, <string.h> unconditionally.
78769
78770         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
78771         * lib/memcmp.c (__ptr_t): Likewise.
78772         * lib/memrchr.c (__ptr_t): Likewise.
78773         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
78774         Include <string.h> unconditionally.
78775         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
78776         * lib/memchr.c: Include <stdlib.h> unconditionally.
78777         * lib/memchr.c (LONG_MAX): Remove.
78778         * lib/memrchr.c (LONG_MAX): Likewise.
78779         * lib/memchr.c (__memchr): Define via a prototype.
78780         * lib/memrchr.c (__memrchr): Likewise.
78781         * lib/memcmp.c (__P): Remove, and remove all uses.
78782         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
78783         Remove forward decls; no longer needed.
78784         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
78785         Use types required by C89 in prototype.
78786
78787         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
78788         * lib/savedir.c: Likewise.
78789         * lib/mkdir.c (free): Remove decl.
78790         * lib/rmdir.c (rmdir): Define with a prototype.
78791         * lib/savedir.c: Include savedir.h first, to test interface.
78792
78793         * lib/mktime.c (STDC_HEADERS): Remove.
78794         Include <stdlib.h>, <string.h> unconditionally.
78795
78796         * lib/modechange.c: Include <stdlib.h> unconditionally.
78797         (malloc): Remove decl.
78798
78799         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
78800         (free): Remove decl.
78801
78802         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
78803         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
78804         (This type really should be intptr_t, but that's a C99ism.)
78805         (_obstack_memcpy): Remove: all uses changed to memcpy.
78806         Include <string.h> unconditionally.
78807         (struct obstack): Assume __STDC__ for types of members
78808         chunkfun, freefun, extra_arg.
78809         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
78810         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
78811         obstack_begin, obstack_specify_allocation,
78812         obstack_specify_allocation_with_arg, obstack_chunkfun,
78813         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
78814         Remove unprototyped decls and the macros that use them.
78815         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
78816         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
78817         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
78818         (defined __STDC__ && __STDC__)]:
78819         Remove nonprototyped code.
78820         Include <stdlib.h> unconditionally.
78821         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
78822         _obstack_allocated_p, _obstack_free, obstack_free,
78823         _obstack_memory_used, print_and_abort):
78824         Define using prototypes.
78825         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
78826         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
78827         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
78828         obstack_next_free, obstack_object_size, obstack_room) [0]:
78829         Remove unused, unprototyped code.
78830
78831         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
78832
78833         * lib/physmem.c (physmem_total, physmem_available, main): Define
78834         with prototypes.
78835
78836         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
78837         (main): Define with a prototype.
78838
78839         * lib/posixver.c (getenv): Remove decl.
78840
78841         * lib/putenv.c (malloc): Returns void *, not char *.
78842         Include <string.h> unconditionally.
78843         (strchr, memcpy, NULL): Do not define.
78844
78845         * lib/readtokens.c: Include readtokens.h first, to test interface.
78846         Include <stdlib.h>, <string.h> unconditionally.
78847         (init_tokenbuffer): Define with a prototype.
78848
78849         * lib/regex.c (PARAMS): Remove.  All uses removed.
78850         All uses of _RE_ARGS removed, too.
78851         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78852         unconditionally.
78853         (bzero): Assume memset exists.
78854         (memcmp, memcpy, NULL): Remove.
78855         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
78856         char, or assignments to local vars of type signed char.
78857         (init_syntax_once, PREFIX(extract_number_and_incr),
78858         PREFIX(print_partial_compiled_pattern),
78859         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
78860         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
78861         PREFIX(regex_grow_registers), PREFIX(regex_compile),
78862         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
78863         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
78864         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
78865         wcs_compile_range, byte_compile_range, truncate_wchar,
78866         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
78867         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
78868         count_mbs_length, wcs_re_match_2_internal,
78869         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
78870         PREFIX(alt_match_null_string_p),
78871         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
78872         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
78873         regfree, PREFIX(extract_number)): Define with prototype.  Remove
78874         now-unnecessary declaration, if any.
78875         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
78876         regcomp, regexec):
78877         Remove now-unnecessary casts among pointer types.
78878         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
78879
78880         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
78881         (free): Remove decl.
78882
78883         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
78884
78885         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
78886         (free): Remove decl.
78887
78888         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
78889         * lib/xgetcwd.c: Likewise.
78890
78891         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
78892         (free): Remove decl.
78893
78894         * lib/strchrnul.c (strchrnul): Define with a prototype.
78895         Fix bug: c_in was not converted to char before searching.
78896
78897         The following changes are not K&R related:
78898
78899         * lib/group-member.h: Include <sys/types.h>, so that this file is
78900         self-contained.
78901         * lib/makepath.h: Likewise.
78902
78903         * lib/getusershell.c (readname, default_index, line_size, readname):
78904         Use size_t, not int, for sizes.
78905         (readname): If the size overflows, report an error instead of
78906         looping forever.
78907
78908 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78909
78910         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
78911         libc.
78912
78913 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78914
78915         * README: New section: portability guidelines.
78916
78917 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
78918
78919         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
78920         C89 spec.
78921
78922 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
78923
78924         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
78925
78926 2003-09-08  Paul Eggert  <eggert@twinsun.com>
78927
78928         Assume C89 or better; remove K&R cruft.
78929         A few of these changes were first proposed by Derek Robert Price
78930         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
78931
78932         * lib/addext.c: Include <string.h> unconditionally.
78933         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
78934         Don't declare getenv or malloc.
78935
78936         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
78937         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
78938         (NULL): Remove.
78939         (find_stack_direction, alloca): Use prototypes.
78940
78941         * lib/atexit.c (atexit): Define using a prototype.
78942
78943         * lib/basename.c, dirname.c, stripslash.c:
78944         Include <string.h> unconditionally.
78945
78946         * lib/bcopy.c: Include <stddef.h>.
78947         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
78948
78949         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
78950
78951         * lib/error.h (error, error_at_line, error_print_progname)
78952         [! (defined (__STDC__) && __STDC__)]: Remove decls.
78953         * lib/error.c: Include error.h first, to check interface.
78954         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
78955         (VA_START): Remove; all uses changeed to va_start.
78956         (exit, strerror): Remove decls.
78957         (error_print_progname): Prototype uncondionally.
78958         Don't include <errno.h>; no longer needed.
78959         (private_strerror): Remove.
78960         (error_tail): Always define.
78961         (error, error_at_line): Assume C89 or better; always use prototypes.
78962         * lib/fatal.c: Include "fatal.h" first, to test interface.
78963         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
78964         (VA_START): Remove; all uses changed to va_start.
78965         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
78966         this case.
78967         (exit): Remove decl.
78968         (fatal): Prototype unconditionally.  Assume va_start works.
78969         Abort at end, to pacify gcc.
78970
78971         * lib/euidaccess.c (main): Define with a prototype.
78972
78973         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
78974
78975         * lib/exitfail.c: Include <stdlib.h> unconditionally.
78976
78977         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
78978         prototypes.
78979         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
78980         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
78981         (getenv): Remove decl.
78982         (fnmatch): Define using a prototype.
78983         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
78984         (FCT): Define using a prototype.
78985
78986         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
78987
78988         * lib/gethostname.c: Include <stddef.h>.
78989         (gethostname): Define with prototype.  Length is size_t, not int.
78990
78991 2003-09-08  Paul Eggert  <eggert@twinsun.com>
78992
78993         Assume C89 or better; remove K&R cruft.
78994         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
78995         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
78996         string.h, getenv, malloc.
78997         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
78998         headers.
78999         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
79000         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
79001         do not check for strerror.
79002         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
79003         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
79004         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
79005         do not check for doprnt or vprintf.
79006         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
79007         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
79008
79009 2003-09-08  Paul Eggert  <eggert@twinsun.com>
79010
79011         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
79012         getversion.c should have been removed then, but was accidentally
79013         preserved.
79014
79015         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
79016         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
79017
79018 2003-09-08  Karl Berry  <karl@gnu.org>
79019
79020         * config/config.sub, config.guess, srclistvars.sh: update from savannah
79021                 config, forget about prep.
79022
79023         * config/depcomp, missing: update from automake.
79024
79025 2003-09-07  Paul Eggert  <eggert@twinsun.com>
79026
79027         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
79028         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
79029
79030 2003-09-07  Paul Eggert  <eggert@twinsun.com>
79031
79032         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
79033         copy_tm_result.  Bug reported by Simon Josefsson in
79034         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
79035
79036 2003-09-06  Paul Eggert  <eggert@twinsun.com>
79037
79038         * m4/time_r.m4: New file.
79039         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
79040         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
79041         is. Check for timegm declaration.
79042         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
79043         Do not check for gmtime_r.
79044         Replace mktime if __mktime_internal does not exist and if mktime
79045         hasn't been replaced already.
79046
79047 2003-09-06  Paul Eggert  <eggert@twinsun.com>
79048
79049         * lib/time_r.c, lib/time_r.h: New files.
79050
79051         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
79052         __localtime_r.
79053         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
79054         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
79055
79056         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
79057         __gmtime_r.
79058         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
79059         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
79060         Include <time_r.h>.
79061
79062         * lib/timegm.c: Switch to glibc implementation, with the following
79063         changes:
79064         [defined HAVE_CONFIG_H]: Include <config.h>.
79065         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
79066         (__mktime_internal) [!defined _LIBC]: New decl.
79067         (__gmtime_r) [!defined _LIBC]: New macro and function.
79068         (timegm): Use a prototype, since gnulib assumes C89.
79069         Do not bother declaring tmp to be const, as it's not really usefu.
79070         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
79071         (timegm): Declare only if HAVE_DECL_TIMEGM.
79072
79073 2003-09-06  Paul Eggert  <eggert@twinsun.com>
79074
79075         * MODULES.html.sh (func_all_modules): Add time_r.
79076         * modules/time_r: New file.
79077         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
79078         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
79079
79080 2003-09-03  Paul Eggert  <eggert@twinsun.com>
79081
79082         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
79083         Bug reported by Lute Kamstra in
79084         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
79085
79086         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
79087         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
79088         course with correspondingly smaller numbers for tomorrow and
79089         yesterday.  From Tadayoshi Funaba.  Originally installed into
79090         sh-utils on 1999-08-07, but the patch got lost (I guess during the
79091         coreutils merge?).
79092
79093 2003-08-31  Simon Josefsson  <jas@extundo.com>
79094
79095         * modules/timegm: New file.
79096         * MODULES.html.sh (func_all_modules): Add timegm.
79097
79098 2003-08-31  Simon Josefsson  <jas@extundo.com>
79099
79100         * m4/timegm.m4: New file.
79101
79102 2003-08-31  Simon Josefsson  <jas@extundo.com>
79103
79104         * lib/timegm.h: New file.
79105         * lib/timegm.c: New file.  Based on
79106         wget-1.8.2/src/http.c:mktime_from_utc.
79107
79108 2003-08-31  Karl Berry  <karl@gnu.org>
79109
79110         * lib/argp.h: update from libc.
79111
79112 2003-08-28  Bruno Haible  <bruno@clisp.org>
79113
79114         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
79115         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
79116         followed by '#define fnmatch fnmatch_posix' gives an error.
79117
79118 2003-08-28  Bruno Haible  <bruno@clisp.org>
79119
79120         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
79121         warning on QNX, which defines O_BINARY to 000000.
79122
79123 2003-08-27  Jim Meyering  <jim@meyering.net>
79124
79125         * m4/mkstemp.m4: Require that the system mkstemp be able to create
79126         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
79127         would fail after 32.  Reported by Danny Levinson.  Details here:
79128         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
79129
79130 2003-08-24  Bruno Haible  <bruno@clisp.org>
79131
79132         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
79133         MSVC7 <stdio.h> is included later.
79134
79135 2003-08-22  Simon Josefsson  <jas@extundo.com>
79136
79137         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
79138
79139 2003-08-20  Karl Berry  <karl@gnu.org>
79140
79141         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
79142
79143 2003-08-20  Bruno Haible  <bruno@clisp.org>
79144
79145         * modules/progname: New file.
79146         * MODULES.html.sh (func_all_modules): Add progname.
79147
79148 2003-08-20  Bruno Haible  <bruno@clisp.org>
79149
79150         * lib/progname.h: New file, from GNU gettext.
79151         * lib/progname.c: New file, from GNU gettext.
79152         * lib/progreloc.c: New file, from GNU gettext.
79153
79154 2003-08-19  Jim Meyering  <jim@meyering.net>
79155
79156         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
79157         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
79158
79159 2003-08-19  Bruno Haible  <bruno@clisp.org>
79160
79161         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
79162         more.
79163
79164 2003-08-19  Bruno Haible  <bruno@clisp.org>
79165
79166         * lib/xstrdup.c: Assume <string.h> exists.
79167
79168 2003-08-18  Paul Eggert  <eggert@twinsun.com>
79169
79170         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
79171         in makefile rules.
79172
79173 2003-08-18  Jim Meyering  <jim@meyering.net>
79174
79175         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
79176         * m4/lib-ld.m4: Likewise.
79177
79178 2003-08-18  Jim Meyering  <jim@meyering.net>
79179
79180         * lib/setenv.h: Indent nested cpp directive.
79181         * lib/vasnprintf.c: Remove trailing blanks.
79182
79183 2003-08-17  Simon Josefsson  <jas@extundo.com>
79184
79185         * modules/xstrndup: New file.
79186         * MODULES.html.sh (func_all_modules): Add xstrndup.
79187
79188 2003-08-17  Simon Josefsson  <jas@extundo.com>
79189
79190         * modules/argp: Fix autoconf macro name. Add more dependencies.
79191
79192 2003-08-17  Simon Josefsson  <jas@extundo.com>
79193
79194         * m4/xstrndup.m4: New file.
79195
79196 2003-08-17  Simon Josefsson  <jas@extundo.com>
79197
79198         * m4/argp.m4: New file.
79199
79200 2003-08-17  Simon Josefsson  <jas@extundo.com>
79201             Bruno Haible  <bruno@clisp.org>
79202
79203         * lib/xstrndup.h: New file.
79204         * lib/xstrndup.c: New file.
79205
79206 2003-08-17  Bruno Haible  <bruno@clisp.org>
79207
79208         * modules/strndup (Files, Include): Add lib/strndup.h.
79209
79210 2003-08-17  Bruno Haible  <bruno@clisp.org>
79211
79212         * modules/euidaccess (Files): Add lib/euidaccess.h.
79213
79214 2003-08-17  Bruno Haible  <bruno@clisp.org>
79215
79216         * lib/strndup.h: New file.
79217
79218 2003-08-17  Bruno Haible  <bruno@clisp.org>
79219
79220         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
79221         like AC_GNU_SOURCE.
79222         * modules/extensions (configure.ac): Comment out the invocation of
79223         gl_USE_SYSTEM_EXTENSIONS.
79224
79225 2003-08-16  Paul Eggert  <eggert@twinsun.com>
79226
79227         Merges from coreutils, etc.
79228         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
79229         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
79230         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
79231         fixing a typo.
79232         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
79233         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
79234
79235 2003-08-16  Paul Eggert  <eggert@twinsun.com>
79236
79237         Document merge from coreutils.
79238         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
79239         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
79240         * modules/utime: Add m4/utimes-null.m4.
79241
79242 2003-08-16  Paul Eggert  <eggert@twinsun.com>
79243
79244         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
79245         space, undoing this 2003-08-12 change:
79246         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
79247
79248 2003-08-16  Paul Eggert  <eggert@twinsun.com>
79249
79250         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
79251         strtoul.c from libc, undoing this 2003-08-12 change:
79252         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
79253
79254 2003-08-16  Jim Meyering  <jim@meyering.net>
79255
79256         Merges from coreutils.
79257         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
79258         prefix.  Adjust cache variables similarly.  Create 500 rather than
79259         just 300 files, to exercise bug on Darwin6.5, too.
79260         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
79261         $missing_dir.
79262         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
79263         AM_SYS_POSIX_TERMIOS.
79264         Reported by mkc@mathdogs.com.
79265         Also change use of $am_cv_sys_posix_termios
79266         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
79267         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
79268         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
79269         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
79270         in /proc/mounts until it finds one with matching device number.  This
79271         is unnecessary when the FILE argument *is* a mount point.  No stat call
79272         is necessary in that case.  So, disable the statvfs-testing code on
79273         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
79274         as RedHat bug# 84846.
79275         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
79276         to 1MB, so as not to render systems with no stack size limit (e.g.,
79277         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
79278         Include <unistd.h>.  On some systems,
79279         it is required for the definition of _SC_PAGESIZE.
79280
79281 2003-08-16  Jim Meyering  <jim@meyering.net>
79282
79283         Merge from coreutils.
79284         * lib/xstrtoimax.c: #else #if -> #elif.
79285         * lib/xstrtoumax.c: Likewise.
79286
79287 2003-08-16  Jim Meyering  <jim@meyering.net>
79288
79289         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
79290         * m4/utimes.m4: Removed.
79291         * m4/utimes-null.m4: Renamed from utimes.m4.
79292
79293         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
79294         to 1MB, so as not to render systems with no stack size limit (e.g.,
79295         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
79296         Include <unistd.h>.  On some systems,
79297         it is required for the definition of _SC_PAGESIZE.
79298
79299 2003-08-16  Jim Meyering  <jim@meyering.net>
79300         and Paul Eggert  <eggert@cs.ucla.edu>
79301
79302         Merges from coreutils, etc.
79303
79304         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
79305         using the latest version from cvs.  This avoids problems with #line
79306         directives using a vendor (Sun) compiler.
79307         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
79308         Don't set GETGROUPS_LIB here; now it's
79309         done via getgroups.m4's wrapper function.
79310         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
79311         rather than just in sh-util/configure.in, so that the
79312         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
79313         same.
79314         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
79315         AC_FUNC_GETLOADAVG where to find getloadavg.c.
79316         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
79317         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
79318         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
79319         Remove code that is now done by the newly-required macros.
79320         Append $(EXEEXT) to DF_PROG.
79321         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
79322         Do not invoke or require the following here,
79323         since prereq.m4 or some gnulib .m4 now does this for us:
79324         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
79325         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
79326         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
79327         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
79328         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
79329         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
79330         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
79331         AC_FUNC_OBSTACK.
79332         Do not replace the following functions, as this is now the job
79333         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
79334         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
79335         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
79336         atexit getpass, strdup, getpagesize.
79337         Replace 'raise'.
79338         Do not check for the following functions, as this is now the job
79339         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
79340         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
79341         setregid.
79342         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
79343         Check for sys/sysctl.h.
79344         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
79345         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
79346         of checking for ssize_t ourselves.
79347
79348         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
79349         Require every macro that gnulib/modules/* suggests for us.
79350         (jm_PREREQ_ADDEXT): New macro.
79351         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
79352         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
79353
79354         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
79355         (gl_PHYSMEM): Use it.
79356         Also check for `table' function.
79357         Check for new headers and functions.
79358         Add check for sys/sysmp.h.
79359         With suggestions from Kaveh Ghazi.
79360         Ignore headers that are present but cannot be compiled.  This
79361         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
79362         C 5.4.
79363
79364 2003-08-15  Paul Eggert  <eggert@twinsun.com>
79365
79366         Document merge from coreutils.
79367         * modules/userspec: Depend on posixver.
79368         * modules/strftime: Depend on tzset.
79369
79370 2003-08-15  Paul Eggert  <eggert@twinsun.com>
79371
79372         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
79373         rather than tab, after '#' in shell-script copyright notices.
79374         Suggested by Bruno Haible.
79375
79376 2003-08-15  Paul Eggert  <eggert@twinsun.com>
79377
79378         * config/srclist-update: Use three spaces, rather than tab, after '#'
79379         in shell-script copyright notices.  Suggested by Bruno Haible.
79380         Remove unnecessary parenthesization in regular expression.
79381
79382 2003-08-15  Jim Meyering  <jim@meyering.net>
79383
79384         Merge from coreutils.
79385         * lib/xgethostname.c: Include <stdlib.h>.
79386         (xghostname): Don't exit for anything other than memory-related
79387         failure; just return NULL.
79388         * lib/userspec.c: Include "posixver.h".
79389         (parse_user_spec): Accept `.' as a separator only
79390         in pre-POSIX-200112 mode.
79391         * lib/strtoimax.c: Use #elif rather than #else #if.
79392         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
79393         Remove function, now that we can rely on a working tzset function.
79394         [!_LIBC]: Ensure that the required autoconf test has been run.
79395         [!defined _NL_CURRENT && HAVE_STRFTIME]:
79396         Use underlying_strftime for %r.
79397         * lib/sha.c: Merge in some clean-up and optimization changes from
79398         glibc.
79399         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
79400         Ensure that it is a multiple of 64.
79401         Rearrange loop exit tests so as to avoid performing an
79402         additional fread after encountering an error or EOF.
79403         * lib/realloc.c: Update copyright date.
79404
79405 2003-08-15  Jim Meyering  <jim@meyering.net>
79406         and Paul Eggert  <eggert@twinsun.com>
79407
79408         Merge from coreutils.
79409         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
79410         member but strut utmpx does not.  Needed for AIX 4.3.3.
79411         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
79412
79413 2003-08-15  Jim Meyering  <jim@meyering.net>
79414         and Paul Eggert  <eggert@cs.ucla.edu>
79415
79416         Merges from coreutils, etc.
79417         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
79418         Require gl_FUNC_TZSET_CLOBBER.
79419         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
79420         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
79421         members.
79422
79423 2003-08-14  Paul Eggert  <eggert@twinsun.com>
79424
79425         Help the merge from coreutils.
79426         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
79427         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
79428         * m4/tzset.m4: Use it too.
79429
79430 2003-08-14  Paul Eggert  <eggert@twinsun.com>
79431
79432         * modules/tzset: New file.
79433
79434 2003-08-14  Jim Meyering  <jim@meyering.net>
79435
79436         Merges from coreutils.
79437         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
79438         variable names, rather than @FNMATCH_H@.
79439         * modules/alloca: Likewise for $(ALLOCA_H).
79440
79441         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
79442         the three copies of the literal target, `fnmatch.h'.
79443         * modules/alloca (alloca.h): Likewise.
79444
79445 2003-08-14  Jim Meyering  <jim@meyering.net>
79446
79447         Merge from coreutils.
79448         * m4/tzset.m4: New file.
79449         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
79450         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
79451         otherwise, AIX 5.1 systems would end up using the latter.
79452         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
79453         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
79454         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
79455         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
79456
79457 2003-08-14  Jim Meyering  <jim@meyering.net>
79458
79459         Merge from coreutils.
79460         * lib/obstack.h: Whitespace changes.
79461         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
79462         and xcalloc return values.
79463         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
79464         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
79465         hang on OSF/1 5.1 for DIR on both local and remote file systems.
79466         Reported by (and fix confirmed by) Nelson H. F. Beebe.
79467         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
79468         error from mntctl.
79469         Use mntctl's return value to drive the entry-processing loop, since
79470         we can't rely on the value of the vmt_length member in the last
79471         entry.  On some systems doing so could result in exhausting
79472         virtual memory.  Based in part on a patch from Mike Jetzer.
79473
79474 2003-08-14  Jim Meyering  <jim@meyering.net>
79475         and Paul Eggert  <eggert@twinsun.com>
79476
79477         Merges from coreutils, plus other fixes.
79478         * lib/physmem.c: Merge in portability changes from gcc/libiberty
79479         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
79480         for credits and details.  Thanks to Kaveh Ghazi for helping
79481         to keep these files in sync.
79482         (ARRAY_SIZE): Define it.
79483         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
79484         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
79485         (memcasecmp): Don't assume size_t fits in unsigned int.
79486         Remove casts and duplicate code.
79487         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
79488         (memcpy): Remove definition.
79489         Merge in some clean-up and optimization changes from glibc.
79490         [BLOCKSIZE]: Move definition to top of file.
79491         Ensure that it is a multiple of 64.
79492         Rearrange loop exit tests so as to avoid performing an
79493         additional fread after encountering an error or EOF.
79494         * lib/md5.h (md5_uintptr): Define.
79495         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
79496         return to the initial working directory.  Preserve errno
79497         for caller.
79498         * lib/idcache.c: Include "xalloc.h".
79499         (xmalloc, xrealloc): Remove decls.
79500         (getuser): Remove casts no longer required in C89.
79501         * lib/human.c: Include stdio.h, for sprintf.
79502         * lib/group-member.c: Include "xalloc.h".
79503         (xmalloc, xrealloc): Remove decls.
79504         (get_group_info): Remove casts no longer required in C89.
79505         * lib/getusershell.c (readname): Remove casts no longer required in
79506         C89.
79507         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
79508         * lib/getline.c: Whitespace fix, from coreutils.
79509
79510 2003-08-13  Paul Eggert  <eggert@twinsun.com>
79511
79512         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
79513         Check for isascii.
79514
79515         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
79516         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
79517         Undo previous (whitespace-only) change.
79518
79519 2003-08-13  Paul Eggert  <eggert@twinsun.com>
79520
79521         * lib/exclude.c: Include <ctype.h>
79522         (IN_CTYPE_DOMAIN): New macro.
79523         (is_space): New fn.
79524         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
79525         and empty lines.
79526
79527         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
79528         Undo previous (whitespace-only) change.
79529
79530 2003-08-13  Paul Eggert  <eggert@twinsun.com>
79531
79532         * config/srclist-update: Change update back to the old behavior,
79533         leaving whitespace alone.  Use one 'sed' command rather than a
79534         pipeline.
79535         (fixlicense): Now a variable, not a function.
79536         (remove_trailing_blanks): Remove.
79537         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
79538         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
79539         Undo previous (whitespace-only) change.
79540
79541 2003-08-12  Paul Eggert  <eggert@twinsun.com>
79542
79543         Merge from coreutils.
79544         * modules/euidaccess: Add lib_SOURCES, include for new
79545         file euidaccess.h
79546
79547 2003-08-12  Paul Eggert  <eggert@twinsun.com>
79548
79549         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
79550         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
79551         Normalize leading white space and remove trailing white space.
79552
79553         Merge from coreutils
79554         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
79555
79556         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
79557         0.12.1.  These files are now being upgraded automatically by
79558         ../config/srclist-update.
79559
79560 2003-08-12  Paul Eggert  <eggert@twinsun.com>
79561
79562         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
79563         Normalize leading white space and remove trailing white space.
79564         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
79565         notice, as per ../config/srclist-update.
79566
79567         Merge from coreutils.
79568         * lib/euidaccess.h: New file.
79569         * lib/euidaccess.c: Include it.
79570         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
79571         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
79572         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
79573
79574 2003-08-12  Paul Eggert  <eggert@twinsun.com>
79575
79576         * config/srclist-update: Add copyright notice.
79577         (remove_id_lines, remove_trailing_blanks): New constants.
79578         (fixfile): Use them to normalize spacing a bit in copied files.
79579         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
79580         Normalize leading white space and remove trailing white space.
79581
79582         * config/texinfo.tex: Sync with texinfo.
79583
79584         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
79585         strtoul.c from libc, to merge coreutils whitespace changes.
79586
79587         * config/srclist.txt: Get the following m4 files from gettext:
79588         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
79589         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
79590         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
79591         wint_t.m4.
79592
79593 2003-08-12  Karl Berry  <karl@gnu.org>
79594
79595         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
79596         been made.
79597
79598 2003-08-11  Paul Eggert  <eggert@twinsun.com>
79599
79600         * modules/gnu-source, m4/gnu-source.m4:
79601         Remove; we're assuming Autoconf 2.54 or later now.
79602         Suggested by Bruno Haible.
79603         * MODULES.html.sh (func_all_modules): Remove gnu-source.
79604
79605 2003-08-11  Bruno Haible  <bruno@clisp.org>
79606
79607         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
79608
79609 2003-08-11  Bruno Haible  <bruno@clisp.org>
79610
79611         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
79612         (vasnprintf): Use it instead of wcslen.
79613
79614 2003-08-11  Bruno Haible  <bruno@clisp.org>
79615
79616         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
79617         value to ensure that _Bool promotes to int. Use #define for _Bool when
79618         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
79619
79620 2003-08-10  Karl Berry  <karl@gnu.org>
79621
79622         * lib/regex.h: update from libc (whitespace fix).
79623
79624 2003-08-09  Paul Eggert  <eggert@twinsun.com>
79625
79626         Merge some files from coreutils.  These changes were
79627         originally made by Jim Meyering.
79628         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
79629         many older Unixes require this.
79630         * lib/alloca.c (alloca): Remove cast to argument of free;
79631         no longer needed in C89.
79632         * lib/alloca_.h, regex.h: Fix white space to match
79633         what GNU indent does.
79634
79635 2003-08-09  Paul Eggert  <eggert@twinsun.com>
79636
79637         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
79638         apparently Emacs's Unicode mode got confused before my 2003-08-05
79639         checkin.
79640
79641 2003-08-08  Paul Eggert  <eggert@twinsun.com>
79642
79643         * m4/extensions.m4: New file.
79644         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
79645         Require gl_USE_SYSTEM_EXTENSIONS.
79646         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
79647         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
79648
79649 2003-08-08  Paul Eggert  <eggert@twinsun.com>
79650
79651         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
79652         * modules/extensions, modules/gnu-source: New files.
79653         * modules/timespec, modules/unlocked-io: Depend on extensions.
79654
79655 2003-08-07  Paul Eggert  <eggert@twinsun.com>
79656
79657         * modules/restrict: New file.
79658         * MODULES.html.sh (func_all_modules): Add restrict.
79659         * modules/regex: Depend on restrict.
79660
79661 2003-08-07  Paul Eggert  <eggert@twinsun.com>
79662
79663         * m4/restrict.m4: New file.
79664         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
79665
79666 2003-08-07  Bruno Haible  <bruno@clisp.org>
79667
79668         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
79669         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
79670
79671 2003-08-07  Bruno Haible  <bruno@clisp.org>
79672
79673         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
79674         makes the module 'getndelim2' compatible with the module 'getline'.
79675
79676 2003-08-05  Paul Eggert  <eggert@twinsun.com>
79677
79678         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
79679         byte with "\201" to avoid glitches when editing that source file
79680         with multi-gnome-terminal.
79681
79682 2003-08-05  Paul Eggert  <eggert@twinsun.com>
79683
79684         * lib/bumpalloc.h: Remove.
79685
79686 2003-08-05  Paul Eggert  <eggert@twinsun.com>
79687
79688         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
79689         * modules/bumpalloc: Remove.
79690
79691 2003-08-04  Paul Eggert  <eggert@twinsun.com>
79692
79693         * lib/getloadavg.c: Change copyright notice and spacing to conform to
79694         GNU coding style.
79695
79696         Merge from coreutils.
79697         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
79698         1. From glibc.
79699         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
79700         from Karl Berry, implemented by Jim Meyering.
79701         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
79702         from Dmitry V. Levin.
79703         Remove anachronistic cast of xrealloc.
79704         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
79705         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
79706         type. Otherwise, it wouldn't compile with at least /bin/cc on
79707         ymp-cray-unicos9.0.2.X.
79708         Combine two mostly-identical uses of alloca into one.
79709         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
79710
79711 2003-08-04  Dave Love  <d.love@dl.ac.uk>
79712
79713         [From Emacs.]
79714
79715         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
79716         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
79717         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
79718         obsolete NLIST_NAME_UNION.
79719         [__GNU__]: Undef BSD and FSCALE.
79720         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
79721
79722 2003-08-03  Paul Eggert  <eggert@twinsun.com>
79723
79724         * lib/stdbool_.h (_Bool): Make it signed char, instead of
79725         an enum type, so that it's guaranteed to promote to int.  See:
79726         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
79727
79728 2003-08-03  Karl Berry  <karl@gnu.org>
79729
79730         * config/depcomp: update from automake.
79731
79732 2003-07-31  Paul Eggert  <eggert@twinsun.com>
79733
79734         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
79735         (strerror): Don't assume that a printable int fits in 14 bytes.
79736
79737 2003-07-31  Bruno Haible  <bruno@clisp.org>
79738
79739         * modules/getpass-gnu: New file.
79740         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
79741
79742 2003-07-31  Bruno Haible  <bruno@clisp.org>
79743
79744         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
79745
79746 2003-07-24  Karl Berry  <karl@gnu.org>
79747
79748         * config/missing: update from automake.
79749
79750 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
79751             Bruno Haible  <bruno@clisp.org>
79752
79753         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
79754         * lib/getline.c (getline, getdelim): Likewise.
79755         Remove _GNU_SOURCE define; now it's defined in config.h through
79756         m4/getline.m4.
79757
79758 2003-07-23  Karl Berry  <karl@gnu.org>
79759
79760         * config/config.sub: update from prep.
79761
79762 2003-07-22  Paul Eggert  <eggert@twinsun.com>
79763
79764         * modules/xalloc (Depends-on): Add exitfail.
79765         * modules/xmemcoll: Likewise.
79766
79767 2003-07-22  Paul Eggert  <eggert@twinsun.com>
79768
79769         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
79770         over-parenthesization in macros.
79771
79772         Sync with coreutils.
79773
79774         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
79775         required by C99.
79776
79777         Use `exit_failure' for xalloc and xmemcoll instead of their own
79778         private exit-failure variables.
79779         * lib/xalloc.h (xalloc_exit_failure): Remove.
79780         * lib/xmalloc.c: Likewise.  Include exitfail.h.
79781         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
79782         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
79783         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
79784         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
79785
79786 2003-07-20  Jim Meyering  <jim@meyering.net>
79787
79788         * modules/closeout (Depends-on): Add exitfail.
79789         Suggestion from Bruno Haible.
79790
79791 2003-07-19  Karl Berry  <karl@gnu.org>
79792
79793         * config/config.sub: update from prep.
79794
79795 2003-07-18  Paul Eggert  <eggert@twinsun.com>
79796
79797         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
79798         Remove.
79799         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
79800         to test that it can stand by itself.  Include "exitfail.h".
79801         Clients should set exit_failure instead.
79802         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
79803
79804 2003-07-18  Bruno Haible  <bruno@clisp.org>
79805
79806         * modules/getndelim2: New file.
79807         * modules/getline: Share files with module getndelim2.
79808         * modules/getnline: Depend on getndelim2 instead of sharing files with
79809         it. Add getnline.c to lib_SOURCES.
79810         * MODULES.html.sh (func_all_modules): Add getndelim2.
79811
79812 2003-07-18  Bruno Haible  <bruno@clisp.org>
79813
79814         * m4/getndelim2.m4: New file.
79815         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
79816         invoke gl_PREREQ_GETNDELIM2.
79817         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
79818         gl_PREREQ_GETNDELIM2.
79819         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
79820         gl_GETNDELIM2.
79821
79822 2003-07-18  Bruno Haible  <bruno@clisp.org>
79823
79824         * lib/getndelim2.h: New file.
79825         * lib/getndelim2.c: Make into a module of its own. Include config.h,
79826         getndelim2.h.
79827         (getndelim2): Make non-static. Change return type to ssize_t.
79828         * lib/getline.h: Change argument names.
79829         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
79830         * lib/getnline.c: Include getndelim2.h.
79831
79832 2003-07-18  Andreas Schwab  <schwab@suse.de>
79833
79834         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
79835
79836 2003-07-17  Karl Berry  <karl@gnu.org>
79837
79838         * config/config.sub: update from prep.
79839
79840 2003-07-17  Bruno Haible  <bruno@clisp.org>
79841
79842         * modules/getnline: New file.
79843         * modules/getline: Add lib/getndelim2.c to source file list.
79844         * MODULES.html.sh (func_all_modules): Add getnline.
79845
79846 2003-07-17  Bruno Haible  <bruno@clisp.org>
79847
79848         * m4/getnline.m4: New file.
79849
79850 2003-07-17  Bruno Haible  <bruno@clisp.org>
79851
79852         * m4/Makefile.am.in: Remove file.
79853         * m4/Makefile.am: Remove file.
79854         * m4/Makefile.in: Remove file.
79855
79856 2003-07-17  Bruno Haible  <bruno@clisp.org>
79857
79858         * lib/getnline.h: New file.
79859         * lib/getnline.c: New file.
79860         * lib/getndelim2.c: New file, extracted from getline.c.
79861         (getndelim2): Renamed from getdelim2, with added nmax argument.
79862         * lib/getline.c: Include getndelim2.c.
79863         (getdelim2): Moved out to getndelim2.c.
79864         (getline, getdelim): Update.
79865
79866 2003-07-17  Bruno Haible  <bruno@clisp.org>
79867
79868         * lib/Makefile.am: Remove file.
79869         * lib/Makefile.in: Remove file.
79870
79871 2003-07-17  Bruno Haible  <bruno@clisp.org>
79872
79873         * configure.in: Remove file.
79874         * Makefile.in: Remove file.
79875
79876 2003-07-17  Bruno Haible  <bruno@clisp.org>
79877
79878         * MODULES.html.sh: Put the </BODY> right before </HTML>.
79879
79880 2003-07-16  Karl Berry  <karl@gnu.org>
79881
79882         * config/srclist-update: was running fixlicense twice, which caused
79883                 texinfo.tex to be nullified for some reason.  Simplify,
79884                 $gplsrc is no longer needed as far as I can see?
79885
79886 2003-07-16  Jim Meyering  <jim@meyering.net>
79887
79888         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
79889
79890 2003-07-15  Paul Eggert  <eggert@twinsun.com>
79891
79892         * config/srclist.txt: Get the following files from gettext-runtime/intl
79893         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
79894         ref-del.sin.  From Bruno Haible.
79895         * config/srclist-update (fixfile): Change grep pattern again, since the
79896         previous fix didn't work (there was another trailing $).  Use
79897         '[$]' to escape the $s.
79898
79899 2003-07-15  Karl Berry  <karl@gnu.org>
79900
79901         * lib/vasnprintf.c: update from gettext.
79902
79903 2003-07-15  Karl Berry  <karl@gnu.org>
79904
79905         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
79906         gets expanded when surrounded by '$'.
79907
79908 2003-07-15  Jim Meyering  <jim@meyering.net>
79909
79910         * modules/save-cwd: Don't depend on error.  From Derek Price.
79911
79912 2003-07-15  Jim Meyering  <jim@meyering.net>
79913
79914         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
79915
79916 2003-07-14  Simon Josefsson  <jas@extundo.com>
79917
79918         * modules/mempcpy: New file.
79919         * MODULES.html.sh (func_all_modules): Add mempcpy.
79920
79921 2003-07-14  Simon Josefsson  <jas@extundo.com>
79922
79923         * m4/mempcpy.m4: New file.
79924
79925 2003-07-14  Simon Josefsson  <jas@extundo.com>
79926
79927         * lib/mempcpy.h: New file.
79928         * lib/mempcpy.c: New file.
79929
79930 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79931
79932         * modules/getdate, modules/posixtm: Depend on mktime.
79933
79934 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79935
79936         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
79937         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
79938         unicodeio.c, unicodeio.h, unlocked-io.h:
79939         Switch from LGPL to GPL.
79940
79941 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79942
79943         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
79944         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
79945         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
79946         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
79947         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
79948         updated automatically by ../config/srclist-update.  This changes
79949         their license from LPGL to GPL.
79950
79951 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79952
79953         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
79954         assumed to refer to the root of the most recent stable gettext version.
79955         * config/srclistvars.sh: Add defaults for eggert.
79956         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
79957         Match "This program" as well as "The program".  This is needed
79958         for gettext.
79959
79960 2003-07-14  Jim Meyering  <jim@meyering.net>
79961
79962         Don't emit diagnostics.  Let callers do that.
79963         * lib/save-cwd.c: Don't include "error.h".
79964         (save_cwd): Don't call error.  Ensure that errno is valid
79965         when returning nonzero.
79966
79967         * lib/save-cwd.h (restore_cwd): Update prototype.
79968         * lib/save-cwd.c (restore_cwd): Remove two parameters.
79969         Simplify.  Don't call error upon failure.  Let callers do that.
79970         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
79971         when auditing is enabled.  But don't bother updating the #if.
79972
79973 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
79974
79975         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
79976         it breaks C++ compilation.
79977         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
79978
79979 2003-07-10  Simon Josefsson  <jas@extundo.com>
79980
79981         * modules/strchrnul (Makefile.am): Add strchrnul.h.
79982
79983 2003-07-10  Jim Meyering  <jim@meyering.net>
79984
79985         * m4/clock_time.m4: Remove trailing blank.
79986         * m4/intmax_t.m4: Likewise.
79987
79988 2003-07-10  Jim Meyering  <jim@meyering.net>
79989
79990         * lib/vasnprintf.c: Remove trailing blanks.
79991         Make cpp indentation consistent.
79992
79993 2003-07-09  Paul Eggert  <eggert@twinsun.com>
79994
79995         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
79996         posixver.c, strftime.c, strnlen.c, strverscmp.c:
79997         Switch from LGPL to GPL.
79998
79999 2003-07-09  Paul Eggert  <eggert@twinsun.com>
80000
80001         * config/srclist.txt: Sort sublists.  Add
80002         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
80003         that differ from gnulib for one reason or another; we'd like this list
80004         to be smaller but for now let's document what we have.
80005
80006 2003-07-08  Paul Eggert  <eggert@twinsun.com>
80007
80008         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
80009         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
80010         and sweeter "eval x=$x".
80011         * config/srclist.txt: Get lib/argp* from glibc.
80012
80013 2003-07-07  Paul Eggert  <eggert@twinsun.com>
80014
80015         * lib/mktime.c: Fix some boundary cases and remove need for floating
80016         point.
80017
80018         Issue a compile-time diagnostic if time_t is floating point, or if
80019         two's complement arithmetic is not in effect, or if arithmetic
80020         right shift does not propagate the sign.  These assumptions were
80021         all in the original code but they weren't checked.
80022
80023         (TIME_T_MIDPOINT, verify): New macros.
80024         (__isleap): Remove; it has integer overflow problems.
80025         (leapyear): New function, without those problems.
80026         (ydhms_tm_diff): Remove; splitting into two parts.
80027         (ydhms_diff): New function, containing the arithmetic part of
80028         the old ydhms_tm_diff function.  Issue a compile-time
80029         diagnostic if we are not using C99 integer division.
80030         Avoid casts when possible.
80031         (guess_time_tm): New function, containing the checking part of
80032         the old ydhms_tm_diff function.  Return the new value, rather than
80033         the difference between it and the old.  Accept a new argument T
80034         so that *T specifies the old value.  Check for overflow in the result.
80035
80036         (__mktime_internal): Use a time_t offset, not a long int offset.
80037         This undoes the 2003-06-04 change, which is no longer needed now
80038         that we have better overflow checking.
80039         (localtime_offset): Likewise.
80040
80041         (__mktime_internal): Avoid harmful overflow on hosts where time_t
80042         and long are 64-bit but int is only 32-bit.
80043         (ydhms_diff): Use long int to store year1 and yday1.
80044         Issue a compile-time diagnostic if long int is not wide enough.
80045
80046         (__mktime_internal): Use long int to store adjusted year and yday.
80047         Use plain C rather than preprocessor commands, if that doesn't
80048         affect efficiency.
80049         Check for overflow (and try to repair) after each probe
80050         rather than checking only at the very end.  This avoids some bugs
80051         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
80052         does not equal GMT offset at maximum time).
80053         Use integer to check for overflow rather than floating point; this
80054         is more portable to non-IEEE hosts, and is a tad faster.
80055         When we detect that we are oscillating between two values,
80056         don't check whether tm_isdst has the requested value, since
80057         we already know the answer.  When tm_isdst has the wrong value,
80058         use a different heuristic to find the right one, based on the
80059         extreme values actually observed in practice in tz2003a,
80060         rather than the (overly optimistic) "previous 3 calendar quarters".
80061
80062         (not_equal_tm, print_tm, check_result): Use "const T" rather than
80063         "T const" to accommodate glibc style.
80064         (check_result): Use less-confusing report format.  "long" -> "long int.
80065         (main): Likewise.
80066         Don't loop if the iteration overflows time_t.
80067         Allow a negative step in the iteration.
80068
80069 2003-07-06  Karl Berry  <karl@gnu.org>
80070
80071         * config/depcomp: update from automake.
80072         * config/config.sub: update from prep.
80073
80074 2003-07-03  Karl Berry  <karl@gnu.org>
80075
80076         * config/config.guess: update from prep.
80077
80078 2003-07-01  Paul Eggert  <eggert@twinsun.com>
80079
80080         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
80081         xreadlink.c now includes it unconditionally.
80082
80083 2003-07-01  Paul Eggert  <eggert@twinsun.com>
80084
80085         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
80086         having it depend on HAVE_SYS_TYPES_H.
80087
80088 2003-07-01  Bruno Haible  <bruno@clisp.org>
80089
80090         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
80091         <sys/types.h> should be sufficient.
80092         Reported by Paul Eggert.
80093
80094 2003-06-26  Karl Berry  <karl@gnu.org>
80095
80096         * config/depcomp: update from automake.
80097
80098 2003-06-26  Bruno Haible  <bruno@clisp.org>
80099
80100         * modules/human: Depend on module stdbool.
80101
80102 2003-06-25  Bruno Haible  <bruno@clisp.org>
80103
80104         * modules/readlink: New file.
80105         * modules/xreadlink: Depend on it.
80106         * MODULES.html.sh (func_all_modules): Add readlink.
80107
80108 2003-06-25  Bruno Haible  <bruno@clisp.org>
80109
80110         * m4/readlink.m4: New file.
80111
80112 2003-06-25  Bruno Haible  <bruno@clisp.org>
80113
80114         * lib/readlink.c: New file.
80115
80116 2003-06-22  Karl Berry  <karl@gnu.org>
80117
80118         * config/srclist.txt: update mkinstalldirs from automake.
80119         * config/mkinstalldirs: update.
80120
80121 2003-06-22  Bruno Haible  <bruno@clisp.org>
80122
80123         Portability to mingw32.
80124         * m4/ssize_t.m4: New file, from GNU gettext.
80125         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
80126         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
80127
80128 2003-06-22  Bruno Haible  <bruno@clisp.org>
80129
80130         * modules/safe-read: Add m4/ssize_t.m4.
80131         * modules/xreadlink: Add m4/ssize_t.m4.
80132
80133 2003-06-20  Bruno Haible  <bruno@clisp.org>
80134
80135         Assume C89, so PARAMS isn't needed.
80136         * lib/unicodeio.h (PARAMS): Remove.
80137         * lib/unicodeio.c: Don't use PARAMS.
80138
80139 2003-06-18  Karl Berry  <karl@gnu.org>
80140
80141         * config/config.{guess,sub}: update from prep.
80142
80143 2003-06-18  Jim Meyering  <jim@meyering.net>
80144
80145         Merge changes from coreutils.
80146         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
80147         Remove explicit declarations of xmalloc and realloc.
80148         Include xalloc.h.
80149         (read_utmp): Remove anachronistic cast of xmalloc.
80150
80151 2003-06-17  Paul Eggert  <eggert@twinsun.com>
80152
80153         Assume C89, so PARAMS isn't needed.
80154         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
80155         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
80156         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
80157         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
80158         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
80159         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
80160         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
80161         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
80162         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
80163         lib/xstrtod.h, lib/xstrtol.h: Likewise.
80164         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
80165         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
80166         no longer needed. Anyway, config.h should always be included before any
80167         other file.
80168
80169 2003-06-11  Simon Josefsson  <jas@extundo.com>
80170
80171         * modules/sysexits: New file.
80172         * MODULES.html.sh (func_all_modules): Add sysexits.
80173
80174 2003-06-11  Simon Josefsson  <jas@extundo.com>
80175
80176         * lib/sysexit_.h: New file.
80177
80178 2003-06-11  Derek Price  <derek@ximbiot.com>
80179
80180         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
80181         necessary.
80182
80183 2003-06-11  Bruno Haible  <bruno@clisp.org>
80184
80185         * m4/sysexits.m4: New file.
80186
80187 2003-06-10  Simon Josefsson  <jas@extundo.com>
80188
80189         * lib/argp.h: New file, from glibc.
80190         * lib/argp-ba.c: New file, from glibc.
80191         * lib/argp-eexst.c: New file, from glibc.
80192         * lib/argp-fmtstream.c: New file, from glibc.
80193         * lib/argp-fmtstream.h: New file, from glibc.
80194         * lib/argp-fs-xinl.c: New file, from glibc.
80195         * lib/argp-help.c: New file, from glibc.
80196         * lib/argp-namefrob.h: New file, from glibc.
80197         * lib/argp-parse.c: New file, from glibc.
80198         * lib/argp-pv.c: New file, from glibc.
80199         * lib/argp-pvh.c: New file, from glibc.
80200         * lib/argp-xinl.c: New file, from glibc.
80201
80202 2003-06-10  Simon Josefsson  <jas@extundo.com>
80203
80204         * modules/strchrnul: New file.
80205
80206 2003-06-10  Simon Josefsson  <jas@extundo.com>
80207
80208         * modules/argp: New file.
80209
80210 2003-06-10  Simon Josefsson  <jas@extundo.com>
80211
80212         * m4/strchrnul.m4: New file.
80213
80214 2003-06-10  Simon Josefsson  <jas@extundo.com>
80215
80216         * lib/strchrnul.h: New file.
80217         * lib/strchrnul.c: New file.
80218
80219 2003-06-10  Bruno Haible  <bruno@clisp.org>
80220
80221         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
80222
80223 2003-06-07  Karl Berry  <karl@gnu.org>
80224
80225         * config/config.{guess,sub}: update from prep.
80226
80227 2003-06-07  Jim Meyering  <jim@meyering.net>
80228
80229         * modules/strtod: Use $(...) notation, not @...@ for
80230         AC_REPLACE'd variables.
80231         * modules/localcharset: Likewise.
80232
80233 2003-06-07  Jim Meyering  <jim@meyering.net>
80234
80235         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
80236         in place of my name in the copyright comment.
80237         Remove definition and uses of __P.
80238
80239         From coreutils.
80240         * lib/stat.c: Don't declare xmalloc explicitly.
80241         Instead, include "xalloc.h".
80242         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
80243         xrealloc, and xcalloc return values.
80244         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
80245         Improve comment.
80246         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
80247
80248 2003-06-07  Bruno Haible  <bruno@clisp.org>
80249
80250         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
80251         avoid AC_CONFIG_LINKS.
80252         * modules/fnmatch (Makefile.am): Use explicit creation rule for
80253         fnmatch.h, to avoid AC_CONFIG_LINKS.
80254         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
80255
80256 2003-06-07  Bruno Haible  <bruno@clisp.org>
80257
80258         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
80259         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
80260         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
80261         directory.
80262         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
80263         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
80264         directory.
80265
80266 2003-06-06  Jim Meyering  <jim@meyering.net>
80267
80268         Merge from coreutils.
80269         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
80270         Consolidate declarations and initializations of *_base* locals.
80271
80272         Merge from coreutils.
80273         This avoids a core dump on systems without GNU putenv,
80274         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
80275         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
80276         (unsetenv): New static function, from GNU libc.
80277         (rpl_putenv): Use it.
80278
80279         * lib/modechange.c: Remove trailing blanks.
80280
80281         Merge from coreutils.
80282         * lib/fsusage.c: Remove declaration of statfs.
80283         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
80284
80285         * lib/posixtm.c: Include <stdbool.h> unconditionally.
80286
80287 2003-06-06  Jim Meyering  <jim@meyering.net>
80288
80289         * lib/stdbool_.h: Renamed from stdbool.h.in.
80290
80291 2003-06-06  Jim Meyering  <jim@meyering.net>
80292             Bruno Haible  <bruno@clisp.org>
80293
80294         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
80295         Adjust Makefile.am snippet not to redirect directly to target.
80296         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
80297
80298 2003-06-05  Paul Eggert  <eggert@twinsun.com>
80299
80300         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
80301         mismatch, look in future quarters as well as past.  This fixes a
80302         bug when processing fall-backwards gaps immediately after a long
80303         period of daylight-saving time.
80304
80305         * lib/mktime.c: Assume freestanding C89 or better.
80306         (HAVE_LIMITS_H): Remove.  Assume it's 1.
80307         (__P): Remove; not used.
80308         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
80309         (mktime, not_equal_tm, print_tm, check_result,
80310         main): Use prototypes.  Use const * where appropriate.
80311         (main): Fix typo in testing code that uncovered by above changes.
80312         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
80313
80314 2003-06-04  Paul Eggert  <eggert@twinsun.com>
80315
80316         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
80317         locale.h, localeconv.  This merges changes from coreutils.
80318
80319         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
80320         It can be removed after the next Autoconf is released.
80321         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
80322         needed.
80323
80324 2003-06-04  Paul Eggert  <eggert@twinsun.com>
80325
80326         * lib/mktime.c: Fix Debian bug 177940
80327         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
80328         (localtime_offset): Now long int, not time_t, because we want it
80329         to be guaranteed to be signed.  All uses changed.
80330         (__mktime_internal): If overflow would occur when adding offset,
80331         don't add it.
80332
80333         Merge 'human' changes from coreutils.  Rewrite to support
80334         locale-specific notations like thousands separators.
80335         * lib/human.c: Simplify authorship notice.
80336         Include human.h immediately after config.h.
80337         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
80338         <limits.h>: Do not include, since human.h does.
80339         (SIZE_MAX, UINTMAX_MAX): New macros.
80340         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
80341         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
80342         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
80343         (power_letter): Renamed from suffixes.
80344         (generate_suffix_backwards): Remove.
80345         (adjust_value): Now takes int style (because of human.h changes)
80346         and long double value (for greater precision on some platforms).
80347         (group_number): New function.
80348         (human_readable): Use it.  Use integer options, not enum.
80349         Put the options before the sizes in the arg list.
80350         Support all the new options.
80351         The old human_readable function has been removed;
80352         use inttostr.h instead.
80353         (human_readable, default_block_size, humblock):
80354         Use uintmax_t, not int, for block sizes.
80355         (human_readable_inexact, block_size_types): Remove.
80356         (block_size_opts): New constant.
80357         (human_options): Renamed from human_block_size, with new signature
80358         that allows block sizes up to UINTMAX_MAX.  All callers changed.
80359         * lib/human.h: Add copyright and authorship notice.
80360         Include <limits.h> and <stdbool.h> unconditionally.
80361         (PARAMS): Remove.  All uses removed.
80362         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
80363         (enum human_inexact_style): Remove tag; now a nameless enum.
80364         (human_floor, human_ceiling, human_round_to_even): Now have
80365         values 2, 0, 1 rather than -1, 1, 0.
80366         (human_group_digits, human_suppress_point_zero, human_autoscale,
80367         human_base_1024, human_SI, human_B): New constants.
80368         (human_readable_inexact, human_block_size): Remove.
80369         (human_readable): Size args are now uintmax_t, not int.
80370         (human_options): New decl.
80371
80372         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
80373         unnecessary now that we assume C89 or better.  This change
80374         imported from coreutils.
80375
80376         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
80377         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
80378         in the 2003-05-30 sync from glibc.
80379
80380         .h files should stand alone, but we shouldn't include <sys/types.h>
80381         if we can get away with just <stddef.h>.
80382
80383         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
80384         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
80385         rather than <sys/types.h>, as we merely need size_t.
80386         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
80387         to get size_t.
80388         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
80389         Include <stdio.h>, to get FILE.
80390         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
80391         memcasecmp.h has included <stddef.h> and all we need is size_t.
80392         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
80393         our interface, instead of including <sys/types.h>
80394
80395 2003-06-04  Paul Eggert  <eggert@twinsun.com>
80396
80397         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
80398         now, as glibc mktime is buggy on non-glibc systems.
80399
80400 2003-06-03  Karl Berry  <karl@gnu.org>
80401
80402         * config/config.sub: update from prep.
80403
80404 2003-06-02  Paul Eggert  <eggert@twinsun.com>
80405
80406         [from coreutils]
80407         Fix some minor time-related bugs with POSIX time arguments.
80408         Some valid time stamps were being rejected (notably -1, and
80409         time stamps before 1900 on 64-bit hosts).  And some invalid
80410         time stamps were being accepted, e.g. September 31.
80411
80412         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
80413         that we can return (time_t) -1 successfully.
80414         * lib/posixtm.c: Likewise.
80415         [HAVE_STDBOOL_H]: Include <stdbool.h>.
80416         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
80417         (t): Remove static var.
80418         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
80419         of static var.  All uses changed.
80420         (year): Do not reject years before 1900; they can occur with
80421         64-bit time_t.
80422         (posix_time_parse): Do not check for out-of-range components;
80423         that is now the caller's responsibility, since our checks were
80424         only approximations.
80425         (posixtime): Use mktime to check for out-of-range components,
80426         since it knows them exactly.
80427         If mktime returns (time_t) -1, check whether an error actually occurred
80428         by invoking localtime on -1.
80429         (main) [TEST_POSIXTIME]: Check for input data errors, and report
80430         posixtime failures better.
80431         Improve the test data (in comments only).
80432
80433 2003-06-02  Karl Berry  <karl@gnu.org>
80434
80435         * config/mkinstalldirs (version): new variable.
80436         (--version): new option.
80437         (usage): improve message.
80438
80439 2003-05-30  Karl Berry  <karl@gnu.org>
80440
80441         * lib/mktime.c: update from libc.
80442
80443 2003-05-30  Bruno Haible  <bruno@clisp.org>
80444
80445         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
80446         * config/config.rpath: Upgrade to gettext-0.12.1.
80447
80448 2003-05-30  Bruno Haible  <bruno@clisp.org>
80449
80450         * m4/gettext.m4: Upgrade to gettext-0.12.1.
80451         * m4/nls.m4: New file, from gettext-0.12.1.
80452         * m4/po.m4: New file, from gettext-0.12.1.
80453         * m4/progtest.m4: Upgrade to gettext-0.12.1.
80454
80455 2003-05-30  Bruno Haible  <bruno@clisp.org>
80456
80457         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
80458         * lib/localcharset.h: Likewise.
80459         * lib/localcharset.c: Likewise.
80460
80461 2003-05-29  Karl Berry  <karl@gnu.org>
80462
80463         * config/config.rpath: update from gettext.
80464
80465 2003-05-28  Paul Eggert  <eggert@twinsun.com>
80466
80467         Assume the headers required for C89 freestanding compilers.
80468         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
80469         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
80470         * m4/human.m4 (gl_HUMAN): Likewise.
80471         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
80472         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
80473         * m4/userspec.m4 (gl_USERSPEC): Likewise.
80474         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
80475         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80476         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
80477
80478 2003-05-28  Paul Eggert  <eggert@twinsun.com>
80479
80480         Assume the headers required for C89 freestanding compilers.
80481         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
80482         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
80483         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
80484         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
80485         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
80486         define, since <limits.h> is guaranteed to do that.
80487         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
80488         * lib/exclude.c: Include <stdbool.h> unconditionally.
80489         * lib/tempname.c: Include <stddef.h> unconditionally.
80490         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
80491         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
80492         <stddef.h> does that.
80493         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
80494         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
80495         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
80496         needed.
80497         * lib/xstrtol.c: Likewise.
80498         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
80499         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
80500
80501         * lib/addext.c (addext): Use assignment rather than cast, to avoid
80502         warnings on some platforms.
80503
80504         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
80505         arbitrarily.
80506
80507 2003-05-26  Jim Meyering  <jim@meyering.net>
80508
80509         Merge in a change from coreutils:
80510         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
80511         that is guaranteed to be `no'.  Use `no_such_member' to indicate
80512         that condition, rather than `-1' which is slightly misleading.
80513         Change the name of the cache variable to have the gl_ prefix.
80514         Prompted by a patch from Richard Dawe for DJGPP.
80515
80516 2003-05-24  Karl Berry  <karl@gnu.org>
80517
80518         * config/config.guess: update from prep.
80519
80520 2003-05-22  Karl Berry  <karl@gnu.org>
80521
80522         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
80523
80524 2003-05-20  Karl Berry  <karl@gnu.org>
80525
80526         * config/config.guess: update from prep.
80527
80528 2003-05-18  Karl Berry  <karl@gnu.org>
80529
80530         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
80531         might actually be set by the user.
80532
80533         * config/depcomp, install-sh, mdate-sh: update from automake.
80534
80535 2003-05-17  Bruno Haible  <bruno@clisp.org>
80536
80537         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
80538         invalid expansion for AC_EGREP_CPP.
80539         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
80540         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
80541         Suggested by Akim Demaille <akim@epita.fr> in
80542         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
80543
80544 2003-05-12  Jim Meyering  <jim@meyering.net>
80545
80546         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
80547         the space-padded-by-default conversion specifiers, %e, %k, %l.
80548
80549 2003-05-12  Bruno Haible  <bruno@clisp.org>
80550
80551         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
80552         the string is longer than 4 KB.
80553
80554 2003-05-11  Karl Berry  <karl@gnu.org>
80555
80556         * config/config.{guess,sub}: update from prep.
80557
80558 2003-05-09  Bruno Haible  <bruno@clisp.org>
80559
80560         * modules/error: Add m4/strerror_r.m4 to file list.
80561
80562 2003-05-03  Bruno Haible  <bruno@clisp.org>
80563
80564         Upgrade to Unicode-4.0.
80565         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
80566         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
80567         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
80568         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
80569         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
80570         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
80571         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
80572         Change width of U+E0100..U+E01EF from 1 to 0.
80573
80574 2003-04-25  Jim Meyering  <jim@meyering.net>
80575
80576         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
80577         of type size_t, not int.
80578
80579 2003-04-25  Bruno Haible  <bruno@clisp.org>
80580
80581         * lib/copy-file.c: Include <stddef.h>, for size_t.
80582
80583 2003-04-21  Paul Eggert  <eggert@twinsun.com>
80584
80585         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
80586         code which expansion is under static control.  Patch imported from
80587         Akim Demaille's patch to Bison; see
80588         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
80589
80590 2003-04-14  Bruno Haible  <bruno@clisp.org>
80591
80592         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
80593
80594 2003-04-11  Jim Meyering  <jim@meyering.net>
80595
80596         Merge changes from Coreutils.
80597
80598         2003-03-22  Jim Meyering  <jim@meyering.net>
80599
80600         * lib/strftime.c (widen): Cast alloca return value to proper type.
80601
80602         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
80603
80604         From GNU libc.
80605         * lib/strftime.c (my_strftime): Handle very large width
80606         specifications for numeric values correctly.  Improve checks for
80607         overflow.
80608
80609         2003-01-19  Jim Meyering  <jim@meyering.net>
80610
80611         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
80612         definitions.
80613         (nl_get_alt_digit) [! defined my_strftime]: Define.
80614         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
80615         _nl_get_alt_digit and _nl_get_walt_digit.
80616
80617         * lib/strftime.c (my_strftime): Merge in locale-related changes from
80618         libc. These changes have no effect outside of _LIBC.
80619
80620 2003-04-10  Bruno Haible  <bruno@clisp.org>
80621
80622         * modules/findprog: New file.
80623         * MODULES.html.sh (func_all_modules): Add it.
80624
80625 2003-04-10  Bruno Haible  <bruno@clisp.org>
80626
80627         * m4/findprog.m4: New file.
80628         * m4/eaccess.m4: New file.
80629
80630 2003-04-10  Bruno Haible  <bruno@clisp.org>
80631
80632         * lib/findprog.h: New file, from GNU gettext.
80633         * lib/findprog.c: New file, from GNU gettext.
80634
80635 2003-04-05  Jim Meyering  <jim@meyering.net>
80636
80637         Merge changes from Coreutils.
80638
80639         * lib/exclude.h (PARAMS): Remove definition and uses.
80640         * lib/exclude.c: Remove uses of `PARAMS'.
80641
80642         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
80643         Add test-cases for DOS filenames. Declare program_name.
80644         (main): Set up program_name.  Patch by Rich Dawe.
80645
80646         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
80647         error from mntctl.
80648         Use mntctl's return value to drive the entry-processing loop, since
80649         we can't rely on the value of the vmt_length member in the last
80650         entry.  On some systems doing so could result in exhausting
80651         virtual memory.  Based in part on a patch from Mike Jetzer.
80652
80653 2003-04-04  Bruno Haible  <bruno@clisp.org>
80654
80655         * modules/linebreak: New file.
80656         * MODULES.html.sh (func_all_modules): Add it.
80657
80658 2003-04-04  Bruno Haible  <bruno@clisp.org>
80659
80660         * m4/linebreak.m4: New file.
80661
80662 2003-04-04  Bruno Haible  <bruno@clisp.org>
80663
80664         * lib/linebreak.h: New file, from GNU gettext.
80665         * lib/linebreak.c: New file, from GNU gettext with slight
80666         modifications.
80667         * lib/lbrkprop.h: New file, from GNU gettext.
80668
80669 2003-04-03  Bruno Haible  <bruno@clisp.org>
80670
80671         * modules/utf8-ucs4: New file.
80672         * modules/utf16-ucs4: New file.
80673         * modules/ucs4-utf8: New file.
80674         * modules/ucs4-utf16: New file.
80675         * MODULES.html.sh (func_all_modules): Add them.
80676
80677 2003-04-03  Bruno Haible  <bruno@clisp.org>
80678
80679         * m4/utf-ucs4.m4: New file.
80680         * m4/ucs4-utf.m4: New file.
80681
80682 2003-04-03  Bruno Haible  <bruno@clisp.org>
80683
80684         * lib/utf8-ucs4.h: New file, from GNU gettext.
80685         * lib/utf16-ucs4.h: New file, from GNU gettext.
80686         * lib/ucs4-utf8.h: New file, from GNU gettext.
80687         * lib/ucs4-utf16.h: New file, from GNU gettext.
80688
80689 2003-04-02  Bruno Haible  <bruno@clisp.org>
80690
80691         * modules/binary-io: New file.
80692         * MODULES.html.sh (func_all_modules): Add it.
80693
80694 2003-04-02  Bruno Haible  <bruno@clisp.org>
80695
80696         * lib/binary-io.h: New file, from GNU gettext.
80697
80698 2003-04-01  Bruno Haible  <bruno@clisp.org>
80699
80700         * modules/pathname: New file.
80701         * MODULES.html.sh (func_all_modules): Add it.
80702
80703 2003-04-01  Bruno Haible  <bruno@clisp.org>
80704
80705         * lib/pathname.h: New file, from GNU gettext.
80706         * lib/concatpath.c: New file, from GNU gettext.
80707
80708 2003-03-30  Bruno Haible  <bruno@clisp.org>
80709
80710         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
80711
80712 2003-03-30  Bruno Haible  <bruno@clisp.org>
80713
80714         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
80715         function chown() doesn't exist.
80716
80717 2003-03-28  Bruno Haible  <bruno@clisp.org>
80718
80719         * modules/copy-file: New file.
80720         * MODULES.html.sh (func_all_modules): Add it.
80721
80722 2003-03-28  Bruno Haible  <bruno@clisp.org>
80723
80724         * m4/copy-file.m4: New file.
80725
80726 2003-03-28  Bruno Haible  <bruno@clisp.org>
80727
80728         * lib/copy-file.h: New file, from GNU gettext.
80729         * lib/copy-file.c: New file, from GNU gettext.
80730
80731 2003-03-18  Jim Meyering  <jim@meyering.net>
80732
80733         * lib/quote.c (quote_n): Fix typo in comment.
80734
80735 2003-03-18  Bruno Haible  <bruno@clisp.org>
80736
80737         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
80738         checking.
80739         * m4/onceonly_2_57.m4: Likewise.
80740
80741 2003-03-17  Bruno Haible  <bruno@clisp.org>
80742
80743         * m4/onceonly.m4: Require autoconf 2.54 or newer.
80744         (m4_quote): Remove macro.
80745         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
80746
80747 2003-03-14  Jim Meyering  <jim@meyering.net>
80748
80749         Merge changes from Coreutils.
80750         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
80751         to be const, in order to avoid warnings.
80752         (obstack_room): Likewise.
80753         (obstack_empty_p): Likewise.
80754
80755 2003-03-14  Bruno Haible  <bruno@clisp.org>
80756
80757         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
80758         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
80759
80760 2003-03-13  Paul Eggert  <eggert@twinsun.com>
80761
80762         Merge changes from Bison.
80763         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
80764         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
80765         when compiling Bison 1.875's `bitset bset = obstack_alloc
80766         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
80767         * lib/hash.c: Include <stdbool.h> unconditionally.
80768
80769 2003-03-13  Paul Eggert  <eggert@twinsun.com>
80770
80771         * m4/onceonly.m4 (m4_quote): New macro.
80772         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
80773         Quote AC_FOREACH variable-expansions properly.
80774
80775 2003-03-13  Paul Eggert  <eggert@twinsun.com>
80776
80777         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
80778
80779 2003-03-09  Paul Eggert  <eggert@twinsun.com>
80780
80781         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
80782         Reported by Bruce Becker; see:
80783         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
80784
80785 2003-03-03  Paul Eggert  <eggert@twinsun.com>
80786             Bruno Haible  <bruno@clisp.org>
80787
80788         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
80789         Reported by John Hughes, see
80790         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
80791
80792 2003-02-20  Bruno Haible  <bruno@clisp.org>
80793
80794         * MODULES.html.sh (func_all_modules): Add poll.
80795
80796 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80797
80798         * modules/poll: New file.
80799
80800 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80801
80802         * lib/poll_.h: New file.
80803         * lib/poll.c: New file.
80804
80805 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80806
80807         * m4/poll.m4: New file.
80808
80809 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80810
80811         * modules/mathl: New file.
80812
80813 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80814
80815         * lib/mathl.h: New file.
80816         * lib/acosl.c: New file.
80817         * lib/asinl.c: New file.
80818         * lib/atanl.c: New file.
80819         * lib/ceill.c: New file.
80820         * lib/cosl.c: New file.
80821         * lib/expl.c: New file.
80822         * lib/floorl.c: New file.
80823         * lib/frexpl.c: New file.
80824         * lib/ldexpl.c: New file.
80825         * lib/logl.c: New file.
80826         * lib/sincosl.c: New file.
80827         * lib/sinl.c: New file.
80828         * lib/sqrtl.c: New file.
80829         * lib/tanl.c: New file.
80830         * lib/trigl.c: New file.
80831         * lib/trigl.h: New file.
80832
80833 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80834
80835         * m4/mathl.m4: New file.
80836
80837 2003-02-18  Bruno Haible  <bruno@clisp.org>
80838
80839         * MODULES.html.sh (func_all_modules): Add mathl.
80840
80841 2003-02-17  Bruno Haible  <bruno@clisp.org>
80842
80843         * modules/mkdtemp: New module.
80844         * MODULES.html.sh (func_all_modules): Add it.
80845
80846 2003-02-17  Bruno Haible  <bruno@clisp.org>
80847
80848         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
80849
80850 2003-02-17  Bruno Haible  <bruno@clisp.org>
80851
80852         * lib/mkdtemp.h: New file, from GNU gettext.
80853         * lib/mkdtemp.c: New file, from GNU gettext.
80854
80855 2003-02-02  Jim Meyering  <jim@meyering.net>
80856
80857         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
80858         e.g. glibc-2.2.93.
80859
80860 2003-01-31  Bruno Haible  <bruno@clisp.org>
80861
80862         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
80863         'rpl_rename'.
80864         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
80865         'rpl_strnlen'.
80866         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
80867         'rpl_strtod'.
80868         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
80869         'rpl_utime'.
80870
80871 2003-01-31  Bruno Haible  <bruno@clisp.org>
80872
80873         * lib/rename.c: #undef rename before defining rpl_rename.
80874         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
80875
80876 2003-01-30  Bruno Haible  <bruno@clisp.org>
80877
80878         * modules/vasnprintf, modules/vasprintf: New modules.
80879         * MODULES.html.sh (func_all_modules): Add them.
80880
80881 2003-01-30  Bruno Haible  <bruno@clisp.org>
80882
80883         * m4/signed.m4: New file, from GNU gettext.
80884         * m4/longdouble.m4: New file, from GNU gettext.
80885         * m4/wchar_t.m4: New file, from GNU gettext.
80886         * m4/wint_t.m4: New file, from GNU gettext.
80887         * m4/vasnprintf.m4: New file.
80888         * m4/vasprintf.m4: New file.
80889
80890 2003-01-30  Bruno Haible  <bruno@clisp.org>
80891
80892         * lib/printf-args.h: New file, from GNU gettext.
80893         * lib/printf-args.c: New file, from GNU gettext.
80894         * lib/printf-parse.h: New file, from GNU gettext.
80895         * lib/printf-parse.c: New file, from GNU gettext.
80896         * lib/vasnprintf.h: New file, from GNU gettext.
80897         * lib/vasnprintf.c: New file, from GNU gettext.
80898         * lib/asnprintf.c: New file, from GNU gettext.
80899         * lib/vasprintf.h: New file, from GNU gettext with modifications.
80900         * lib/vasprintf.c: New file, from GNU gettext.
80901         * lib/asprintf.c: New file, from GNU gettext.
80902
80903 2003-01-29  Bruno Haible  <bruno@clisp.org>
80904
80905         * modules/stpncpy: New module.
80906         * MODULES.html.sh (func_all_modules): Add it.
80907
80908 2003-01-29  Bruno Haible  <bruno@clisp.org>
80909
80910         * m4/stpncpy.m4: New file.
80911
80912 2003-01-29  Bruno Haible  <bruno@clisp.org>
80913
80914         * lib/stpncpy.h: New file, from GNU gettext with modifications.
80915         * lib/stpncpy.c: New file, from GNU gettext with modifications.
80916
80917 2003-01-28  Bruno Haible  <bruno@clisp.org>
80918
80919         * modules/c-ctype: New module.
80920         * MODULES.html.sh (func_all_modules): Add it.
80921
80922 2003-01-28  Bruno Haible  <bruno@clisp.org>
80923
80924         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
80925         Paul Eggert.
80926         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
80927         Paul Eggert.
80928
80929 2003-01-27  Bruno Haible  <bruno@clisp.org>
80930
80931         * modules/xsetenv: New module.
80932         * MODULES.html.sh (func_all_modules): Add it.
80933
80934 2003-01-27  Bruno Haible  <bruno@clisp.org>
80935
80936         * lib/xsetenv.h: New file, from GNU gettext.
80937         * lib/xsetenv.c: New file, from GNU gettext.
80938
80939 2003-01-23  Jim Meyering  <jim@meyering.net>
80940
80941         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
80942         from working on systems without dirfd (at least Irix and OSF1/Tru64).
80943
80944 2003-01-23  Bruno Haible  <bruno@clisp.org>
80945
80946         * modules/minmax: New module.
80947         * MODULES.html.sh (func_all_modules): Add it.
80948
80949 2003-01-23  Bruno Haible  <bruno@clisp.org>
80950
80951         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
80952         Eggert.
80953
80954 2003-01-22  Bruno Haible  <bruno@clisp.org>
80955
80956         * modules/exit: New module.
80957         * MODULES.html.sh (func_all_modules): Add it.
80958
80959 2003-01-22  Bruno Haible  <bruno@clisp.org>
80960
80961         * lib/exit.h: New file, from GNU gettext.
80962
80963 2003-01-19  Bruno Haible  <bruno@clisp.org>
80964
80965         * gnulib-tool: Recognize option --extract-maintainer.
80966         (func_get_maintainer): New function.
80967         * modules/*: Add Maintainer entry.
80968
80969 2003-01-16  Jim Meyering  <jim@meyering.net>
80970
80971         * m4/regex.m4: The `regex' struct is both input and output.
80972         Initialize it before each use.  Patch by Tim Waugh.
80973
80974 2003-01-16  Bruno Haible  <bruno@clisp.org>
80975
80976         * MODULES.html.sh: Add a table of contents. Add the module name as
80977         leftmost column. Add hyperlinks.
80978
80979 2003-01-15  Bruno Haible  <bruno@clisp.org>
80980
80981         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
80982
80983 2003-01-15  Bruno Haible  <bruno@clisp.org>
80984
80985         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
80986         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
80987         suffix.
80988
80989 2003-01-15  Bruno Haible  <bruno@clisp.org>
80990
80991         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
80992
80993 2003-01-15  Bruno Haible  <bruno@clisp.org>
80994
80995         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
80996         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
80997
80998 2003-01-14  Jim Meyering  <jim@meyering.net>
80999
81000         * lib/same.c (same_name): Tweak a comment.
81001
81002 2003-01-14  Bruno Haible  <bruno@clisp.org>
81003
81004         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
81005         when a string comparison is sufficient.
81006
81007 2003-01-14  Bruno Haible  <bruno@clisp.org>
81008
81009         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
81010         'unsigned int'.
81011
81012 2003-01-14  Bruno Haible  <bruno@clisp.org>
81013
81014         * lib/hash-pjw.c: Add comment about low quality of this function.
81015
81016 2003-01-13  Bruno Haible  <bruno@clisp.org>
81017
81018         * modules/stpcpy: Distribute lib/stpcpy.h.
81019         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
81020
81021 2003-01-13  Bruno Haible  <bruno@clisp.org>
81022
81023         * modules/*: Add a description.
81024         * modules/strpbrk: Fix Makefile.am snippet.
81025         * modules/strtoimax: Fix dependencies.
81026         * modules/strtoumax: Likewise.
81027
81028 2003-01-13  Bruno Haible  <bruno@clisp.org>
81029
81030         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
81031         * modules/alloca (Makefile.am): All object files depend on alloca.h.
81032         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
81033
81034 2003-01-13  Bruno Haible  <bruno@clisp.org>
81035
81036         * gnulib-tool (func_create_testdir): Store config/* files in the main
81037         directory.
81038         * config.rpath: Move to ...
81039         * config/config.rpath: ... here.
81040         * modules/gettext: Contains config/config.rpath, not config.rpath.
81041         * modules/iconv: Likewise.
81042
81043 2003-01-12  Paul Eggert  <eggert@twinsun.com>
81044
81045         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
81046         to avoid collisions with libcurses and libreadline.
81047
81048         * m4/getstr.m4: Remove.
81049         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
81050
81051 2003-01-12  Paul Eggert  <eggert@twinsun.com>
81052
81053         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
81054         to avoid collisions with libcurses and libreadline.
81055
81056         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
81057         * lib/getstr.h, getstr.c: Remove.
81058         * lib/getline.c: Include "getline.h", to check interface.
81059         Move body of old getstr.c here: this defines MIN_CHUNK and
81060         declares getdelim2, which is renamed from getstr.
81061         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
81062
81063         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
81064         All uses changed.
81065         * lib/linebuffer.h: Likewise.
81066         (readline): Remove backward-compatibility macro.
81067
81068 2003-01-12  Paul Eggert  <eggert@twinsun.com>
81069
81070         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
81071         to avoid collisions with libcurses and libreadline.
81072         * getstr: Remove.
81073         * MODULES.html.sh: Remove getstr.
81074         * modules/getline: Depend on unlocked-io, not getstr.
81075
81076 2003-01-12  Jim Meyering  <jim@meyering.net>
81077
81078         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
81079
81080 2003-01-10  Bruno Haible  <bruno@clisp.org>
81081
81082         * modules/alloca: Change Makefile.am requirements. Simplify Include
81083         requirements. Add lib/alloca_.h to file list.
81084
81085 2003-01-10  Bruno Haible  <bruno@clisp.org>
81086
81087         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
81088
81089 2003-01-10  Bruno Haible  <bruno@clisp.org>
81090
81091         * lib/alloca_.h: New file.
81092         * lib/getdate.y: Unconditionally include alloca.h.
81093         * lib/makepath.c: Likewise.
81094         * lib/setenv.c: Likewise.
81095         * lib/userspec.c: Likewise.
81096
81097 2003-01-09  Karl Berry  <karl@gnu.org>
81098
81099         * MODULES.html.sh: include `dirname $0` in PATH, to find
81100         gnulib-tool.
81101
81102 2003-01-09  Bruno Haible  <bruno@clisp.org>
81103
81104         * modules/stdbool: Change configure.ac, Makefile.am requirements.
81105         Simplify Include requirements. Add lib/stdbool.h.in to file list.
81106
81107 2003-01-09  Bruno Haible  <bruno@clisp.org>
81108
81109         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
81110
81111 2003-01-09  Bruno Haible  <bruno@clisp.org>
81112
81113         * lib/stdbool.h.in: New file.
81114
81115 2003-01-09  Bruno Haible  <bruno@clisp.org>
81116
81117         * gnulib-tool (func_all_modules): Ignore files ending in ~.
81118         * MODULES.html.sh: Likewise.
81119
81120 2003-01-08  Jim Meyering  <jim@meyering.net>
81121
81122         * lib/full-write.c: Undefine and define-away `const' after inclusion
81123         of errno.h, not before.  Suggestion from Bruno Haible.
81124
81125 2003-01-08  Bruno Haible  <bruno@clisp.org>
81126
81127         * modules/full-read: Depend on full-write.
81128
81129 2003-01-08  Bruno Haible  <bruno@clisp.org>
81130
81131         * lib/safe-read.c: Include specification header first, to ensure its
81132         selfcontainedness.
81133         * lib/full-write.c: Likewise.
81134
81135 2003-01-07  Jim Meyering  <jim@meyering.net>
81136
81137         * lib/full-write.c: Rework so that it may serve to define full_read,
81138         too.
81139         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
81140
81141 2003-01-07  Bruno Haible  <bruno@clisp.org>
81142
81143         * lib/strtoimax.c: Include <stdint.h> as an alternative to
81144         <inttypes.h>.
81145         * lib/xstrtol.h: Likewise.
81146         * lib/xstrtoimax.c: Likewise.
81147         * lib/xstrtoumax.c: Likewise.
81148         * lib/human.h: Likewise.
81149
81150         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
81151         on systems that have <inttypes.h> but not <stdint.h>.
81152
81153 2003-01-07  Bruno Haible  <bruno@clisp.org>
81154
81155         * MODULES.html.sh: Add copyright notice.
81156         (missed_files): Omit CVS directory entries.
81157         (func_module): Make it work with sed-3.02.
81158         * MODULES.txt: Remove file.
81159
81160 2003-01-06  Jim Meyering  <jim@meyering.net>
81161
81162         * lib/version-etc.c: Update year in translatable copyright string.
81163
81164 2003-01-03  Karl Berry  <karl@gnu.org>
81165
81166         * config/config.{guess,sub}: update from prep.
81167
81168 2003-01-02  Karl Berry  <karl@gnu.org>
81169
81170         * doc/COPYING.DOC: belatedly updated to 1.2.
81171
81172 2003-01-01  Karl Berry  <karl@gnu.org>
81173
81174         * gnulib-tool (func_verify_module): report module name $module in
81175         error message, not $1.
81176         * gnulib-tool (create-testdir): don't complain if destdir couldn't
81177         be created, only if it doesn't exist.
81178         * gnulib-tool (last_checkin_date): don't expand the $Date here.
81179
81180 2002-12-31  Paul Eggert  <eggert@twinsun.com>
81181
81182         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
81183
81184 2002-12-31  Paul Eggert  <eggert@twinsun.com>
81185
81186         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
81187         memcmp if strcoll doesn't work.
81188
81189 2002-12-31  Bruno Haible  <bruno@clisp.org>
81190
81191         * lib/utime.c (utime_null): No need to call ftruncate if the file was
81192         nonempty.
81193
81194 2002-12-31  Bruno Haible  <bruno@clisp.org>
81195
81196         * lib/memcoll.c (STRCOLL): New macro.
81197         (memcoll): Use it.
81198
81199 2002-12-31  Bruno Haible  <bruno@clisp.org>
81200
81201         * lib/localcharset.h: New file.
81202         * lib/localcharset.c: Include it.
81203         * lib/unicodeio.c: Likewise.
81204
81205 2002-12-31  Bruno Haible  <bruno@clisp.org>
81206
81207         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
81208         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
81209
81210 2002-12-31  Bruno Haible  <bruno@clisp.org>
81211
81212         * lib/getline.h: Include <stddef.h>, for size_t.
81213
81214         * lib/unicodeio.h: Include <stddef.h>, for size_t.
81215         * lib/unicodeio.c: Don't include <stddef.h>.
81216
81217 2002-12-31  Bruno Haible  <bruno@clisp.org>
81218
81219         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
81220         HAVE_TM_ZONE.
81221
81222 2002-12-24  Karl Berry  <karl@gnu.org>
81223
81224         * config/config.guess: update from prep.
81225
81226 2002-12-24  Bruno Haible  <bruno@clisp.org>
81227
81228         General infrasructure.
81229         * m4/README: Rewritten.
81230         * m4/onceonly.m4: New file.
81231         * m4/onceonly_2_57.m4: New file.
81232
81233         Module atexit.
81234         * m4/atexit.m4: New file.
81235
81236         Module strtod.
81237         * m4/strtod.m4: New file.
81238
81239         Module strtol.
81240         * m4/strtol.m4: New file.
81241
81242         Module strtoul.
81243         * m4/strtoul.m4: New file.
81244
81245         Module memchr.
81246         * m4/memchr.m4: New file.
81247
81248         Module memcmp.
81249         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
81250         (jm_FUNC_MEMCMP): Invoke it.
81251
81252         Module memcpy.
81253         * m4/memcpy.m4: New file.
81254
81255         Module memmove.
81256         * m4/memmove.m4: New file.
81257
81258         Module memset.
81259         * m4/memset.m4: New file.
81260
81261         Module strcspn.
81262         * m4/strcspn.m4: New file.
81263
81264         Module strpbrk.
81265         * m4/strpbrk.m4: New file.
81266
81267         Module strstr.
81268         * m4/strstr.m4: New file.
81269
81270         Module strerror.
81271         * m4/strerror.m4: New file.
81272
81273         Module mktime.
81274         * m4/mktime.m4: Renamed from jm-mktime.m4.
81275         (gl_PREREQ_MKTIME): New macro.
81276         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
81277
81278         Module malloc.
81279         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
81280         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
81281         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
81282
81283         Module realloc.
81284         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
81285         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
81286         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
81287
81288         Module strftime.
81289         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
81290         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
81291         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
81292         gl_TM_GMTOFF.
81293         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
81294
81295         Module xalloc.
81296         * m4/xalloc.m4: New file.
81297
81298         Module alloca.
81299         * m4/alloca.m4: New file.
81300
81301         Module putenv.
81302         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
81303         (jm_FUNC_PUTENV): Invoke it.
81304
81305         Module setenv.
81306         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
81307         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
81308         when invoked twice.
81309         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
81310         gt_FUNC_SETENV.
81311
81312         Module memrchr.
81313         * m4/memrchr.m4: New file.
81314
81315         Module stpcpy.
81316         * m4/stpcpy.m4: New file.
81317
81318         Module strcase.
81319         * m4/strcase.m4: New file.
81320
81321         Module strdup.
81322         * m4/strdup.m4: New file.
81323
81324         Module strnlen.
81325         * m4/strnlen.m4: New file.
81326
81327         Module strndup.
81328         * m4/strndup.m4: New file.
81329
81330         Module xstrtod.
81331         * m4/xstrtod.m4: New file.
81332
81333         Module xstrtol.
81334         * m4/xstrtol.m4: New file.
81335
81336         Module getdate.
81337         * m4/getdate.m4: New file.
81338
81339         Module unlocked-io.
81340         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
81341         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
81342         * m4/jm-glibc-io.m4n: Remove file.
81343
81344         Module long-options.
81345         * m4/long-options.m4: New file.
81346
81347         Module md5.
81348         * m4/md5.m4: New file.
81349
81350         Module sha.
81351         * m4/sha.m4: New file.
81352
81353         Module getstr.
81354         * m4/getstr.m4: New file.
81355
81356         Module getline.
81357         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
81358         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
81359         <sys/types.h>, for size_t. Use the function name gnu_getline, not
81360         simply getline. Infoke gl_PREREQ_GETLINE.
81361
81362         Module obstack.
81363         * m4/obstack.m4: New file.
81364
81365         Module hash.
81366         * m4/hash.m4: New file.
81367
81368         Module readtokens.
81369         * m4/readtokens.m4: New file.
81370
81371         Module strverscmp.
81372         * m4/strverscmp.m4: New file.
81373
81374         Module stdbool.
81375         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
81376         OSF/1.
81377
81378         Module strtoll.
81379         * m4/strtoll.m4: New file.
81380
81381         Module strtoull.
81382         * m4/strtoull.m4: New file.
81383
81384         Module strtoimax.
81385         * m4/strtoimax.m4: New file.
81386
81387         Module strtoumax.
81388         * m4/strtoumax.m4: New file.
81389
81390         Module xstrtoimax.
81391         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
81392         jm_AC_PREREQ_XSTRTOIMAX.
81393         Moved the strtol prerequisites to strtol.m4.
81394         Moved the strtoll prerequisites to strtoll.m4.
81395         Moved the strtoimax prerequisites to strtoimax.m4.
81396
81397         Module xstrtoumax.
81398         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
81399         jm_AC_PREREQ_XSTRTOUMAX.
81400         Moved the strtoul prerequisites to strtoul.m4.
81401         Moved the strtoull prerequisites to strtoull.m4.
81402         Moved the strtoumax prerequisites to strtoumax.m4.
81403
81404         Module chown.
81405         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
81406         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
81407
81408         Module dup2.
81409         * m4/dup2.m4: New file.
81410
81411         Module ftruncate.
81412         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
81413         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
81414
81415         Module getgroups.
81416         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
81417         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
81418
81419         Module gettimeofday.
81420         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
81421         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
81422         gl_PREREQ_GETTIMEOFDAY.
81423
81424         Module mkdir.
81425         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
81426         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
81427
81428         Module mkstemp.
81429         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
81430         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
81431         jm_AC_TYPE_UINTMAX_T.
81432         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
81433
81434         Module stat.
81435         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
81436         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
81437
81438         Module lstat.
81439         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
81440         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
81441
81442         Module timespec.
81443         * m4/timespec.m4 (gl_TIMESPEC): New macro.
81444         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
81445         * m4/st_mtim.m4: Indentation.
81446
81447         Module nanosleep.
81448         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
81449         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
81450         gl_PREREQ_NANOSLEEP.
81451
81452         Module regex.
81453         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
81454         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
81455         (gl_REGEX): New macro.
81456
81457         Module rename.
81458         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
81459         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
81460
81461         Module rmdir.
81462         * m4/rmdir.m4: New file.
81463
81464         Module utime.
81465         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
81466         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
81467         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
81468
81469         Module dirname.
81470         * m4/dirname.m4: New file.
81471
81472         Module getopt.
81473         * m4/getopt.m4: New file.
81474
81475         Module unistd-safer.
81476         * m4/unistd-safer.m4: New file.
81477
81478         Module fnmatch.
81479         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
81480         declaration.
81481         (gl_PREREQ_FNMATCH_EXTRA): New macro.
81482         (gl_FUNC_FNMATCH_POSIX): New macro.
81483         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
81484         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
81485         simply fnmatch.
81486
81487         Module exclude.
81488         * m4/exclude.m4: New file.
81489
81490         Module human.
81491         * m4/human.m4: New file.
81492
81493         Module acl.
81494         * m4/acl.m4: Nop.
81495
81496         Module backupfile.
81497         * m4/backupfile.m4: New file.
81498         * m4/d-ino.m4: Indentation.
81499
81500         Module fsusage.
81501         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
81502         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
81503         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
81504
81505         Module dirfd.
81506         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
81507         requirements.
81508
81509         Module euidaccess.
81510         * m4/euidaccess.m4: New file.
81511
81512         Module file-type.
81513         * m4/file-type.m4: New file.
81514
81515         Module fileblocks.
81516         * m4/fileblocks.m4: New file.
81517
81518         Module filemode.
81519         * m4/filemode.m4: New file.
81520
81521         Module isdir.
81522         * m4/isdir.m4: New file.
81523
81524         Module lchown.
81525         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
81526         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
81527
81528         Module makepath.
81529         * m4/makepath.m4: New file.
81530
81531         Module modechange.
81532         * m4/modechange.m4: New file.
81533
81534         Module mountlist.
81535         * m4/mountlist.m4: New file.
81536         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
81537         Indentation.
81538
81539         Module path-concat.
81540         * m4/path-concat.m4: New file.
81541
81542         Module pathmax.
81543         * m4/pathmax.m4: New file.
81544
81545         Module same.
81546         * m4/same.m4: New file.
81547
81548         Module save-cwd.
81549         * m4/save-cwd.m4: New file.
81550
81551         Module savedir.
81552         * m4/savedir.m4: New file.
81553
81554         Module xgetcwd.
81555         * m4/xgetcwd.m4: New file.
81556         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
81557
81558         Module xreadlink.
81559         * m4/xreadlink.m4: New file.
81560
81561         Module safe-read.
81562         * m4/safe-read.m4: New file.
81563
81564         Module safe-write.
81565         * m4/safe-write.m4: New file.
81566
81567         Module closeout.
81568         * m4/closeout.m4: New file.
81569
81570         Module stdio-safer.
81571         * m4/stdio-safer.m4: New file.
81572
81573         Module getpass.
81574         * m4/getpass.m4: New file.
81575
81576         Module getugroups.
81577         * m4/getugroups.m4: New file.
81578
81579         Module group-member.
81580         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
81581         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
81582
81583         Module idcache.
81584         * m4/idcache.m4: New file.
81585
81586         Module userspec.
81587         * m4/userspec.m4: New file.
81588
81589         Module gettime.
81590         * m4/clock_time.m4: New file.
81591         * m4/gettime.m4: New file.
81592
81593         Module settime.
81594         * m4/settime.m4: New file.
81595
81596         Module posixtm.
81597         * m4/posixtm.m4: New file.
81598
81599         Module gethostname.
81600         * m4/gethostname.m4: New file.
81601
81602         Module canon-host.
81603         * m4/canon-host.m4: New file.
81604
81605         Module gettext.
81606         * m4/codeset.m4: New file, from gettext-0.11.5.
81607         * m4/gettext.m4: New file, from gettext-0.11.5.
81608         * m4/glibc21.m4: New file, from gettext-0.11.5.
81609         * m4/iconv.m4: New file, from gettext-0.11.5.
81610         * m4/intdiv0.m4: New file, from gettext-0.11.5.
81611         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
81612         * m4/inttypes.m4: New file, from gettext-0.11.5.
81613         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
81614         * m4/isc-posix.m4: New file, from gettext-0.11.5.
81615         * m4/lcmessage.m4: New file, from gettext-0.11.5.
81616         * m4/lib-ld.m4: New file, from gettext-0.11.5.
81617         * m4/lib-link.m4: New file, from gettext-0.11.5.
81618         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
81619         * m4/progtest.m4: New file, from gettext-0.11.5.
81620         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
81621         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
81622         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
81623
81624         Module localcharset.
81625         * m4/localcharset.m4: New file.
81626
81627         Module hard-locale.
81628         * m4/hard-locale.m4: New file.
81629
81630         Module mbswidth.
81631         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
81632         onceonly macros.
81633         * m4/mbrtowc.m4: Add comment.
81634
81635         Module memcasecmp.
81636         * m4/memcasecmp.m4: New file.
81637
81638         Module memcoll.
81639         * m4/memcoll.m4: New file.
81640
81641         Module unicodeio.
81642         * m4/unicodeio.m4: New file.
81643
81644         Module rpmatch.
81645         * m4/rpmatch.m4: New file.
81646
81647         Module yesno.
81648         * m4/yesno.m4: New file.
81649
81650         Module exitfail.
81651         * m4/exitfail.m4: New file.
81652
81653         Module c-stack.
81654         * m4/c-stack.m4 (gl_C_STACK): New macro.
81655         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
81656
81657         Module error.
81658         * m4/error.m4 (gl_ERROR): New macro.
81659         (jm_PREREQ_ERROR): Use onceonly macros.
81660
81661         Module fatal.
81662         * m4/fatal.m4: New file.
81663
81664         Module getloadavg.
81665         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
81666         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
81667
81668         Module getpagesize.
81669         * m4/getpagesize.m4: New file.
81670
81671         Module getusershell.
81672         * m4/getusershell.m4: New file.
81673
81674         Module physmem.
81675         * m4/physmem.m4: New file.
81676
81677         Module posixver.
81678         * m4/posixver.m4: New file.
81679
81680         Module quotearg.
81681         * m4/quotearg.m4: New file.
81682
81683         Module quote.
81684         * m4/quote.m4: New file.
81685
81686         Module readutmp.
81687         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
81688
81689         Module sig2str.
81690         * m4/sig2str.m4: New file.
81691
81692         Other.
81693         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
81694         ulonglong.m4.
81695         * m4/intmax_t.m4: New file.
81696         * m4/d-type.m4: Indentation.
81697         * m4/jm-macros.m4: Update.
81698         * m4/prereq.m4 (jm_PREREQ): Update.
81699         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
81700         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
81701         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
81702         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
81703         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
81704         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
81705         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
81706         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
81707         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
81708         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
81709         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
81710         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
81711         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
81712         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
81713         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
81714         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
81715         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
81716         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
81717         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
81718
81719 2002-12-24  Bruno Haible  <bruno@clisp.org>
81720
81721         * MODULES.txt: Update according to m4/ changes.
81722
81723         Module gettext.
81724         * config.rpath: New file, from gettext-0.11.5.
81725
81726         * modules/*: New module descriptions.
81727         * gnulib-tool: New file.
81728         * MODULES.html.sh: New file.
81729
81730 2002-12-21  Karl Berry  <karl@gnu.org>
81731
81732         * doc/fdl.texi: update to version 1.2.
81733
81734 2002-12-19  Karl Berry  <karl@gnu.org>
81735
81736         * config/config.guess: update from prep.
81737
81738 2002-12-18  Bruno Haible  <bruno@clisp.org>
81739
81740         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
81741         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
81742
81743 2002-12-17  Bruno Haible  <bruno@clisp.org>
81744
81745         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
81746         stdlib.h, string.h.
81747
81748 2002-12-17  Bruno Haible  <bruno@clisp.org>
81749
81750         * lib/canon-host.c (strdup): Remove unused declaration.
81751
81752         * lib/fsusage.c: Include full_read.h.
81753         (get_fs_usage): Use full_read instead of safe_read.
81754
81755         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
81756
81757 2002-12-12  Karl Berry  <karl@gnu.org>
81758
81759         * config/config.guess: update from prep.
81760
81761 2002-12-11  Bruno Haible  <bruno@clisp.org>
81762
81763         * m4/setenv.m4: New file, from gettext-0.11.5.
81764
81765 2002-12-11  Bruno Haible  <bruno@clisp.org>
81766
81767         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
81768         not unsetenv().
81769         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
81770         modifications:
81771
81772         2002-12-11  Bruno Haible  <bruno@clisp.org>
81773
81774                 * setenv.c (alloca): Fall back to malloc.
81775                 (freea): New macro.
81776                 (setenv): Use freea() to free memory allocated with alloca().
81777
81778         2002-11-13  Bruno Haible  <bruno@clisp.org>
81779
81780                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
81781                 function declarations.
81782                 * unsetenv.c (unsetenv): Likewise.
81783
81784         2002-03-04  Bruno Haible  <bruno@clisp.org>
81785
81786                 Portability to AIX 4.3.3.
81787                 * unsetenv.c: New file, extracted from setenv.c.
81788                 * setenv.c: Move the unsetenv() function to unsetenv.c.
81789
81790         2001-12-20  Bruno Haible  <bruno@clisp.org>
81791
81792                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
81793                 use malloc instead. For SunOS 4.
81794
81795         2001-12-11  Bruno Haible  <bruno@clisp.org>
81796
81797                 * setenv.c: Declare alloca.
81798                 (compar_fn_t): New typedef.
81799                 (KNOWN_VALUE, STORE_VALUE): Use it.
81800
81801         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
81802         setenv.h.
81803
81804 2002-12-10  Paul Eggert  <eggert@twinsun.com>
81805
81806         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
81807         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
81808         Choose values that are less likely to collide with system fnmatch
81809         options.
81810         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
81811         defined (e.g., a pure POSIX system).
81812         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
81813         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
81814
81815 2002-12-06  Paul Eggert  <eggert@twinsun.com>
81816
81817         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
81818         a pain in practice to deal with generated m4 files.  This change
81819         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
81820
81821         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
81822         and jm-glibc-io.m4, as they are no longer a special case.
81823         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
81824         kludge and the auto-generation stuff.  Check only whether the
81825         functions are declared, not whether they exist, since older hosts
81826         that don't declare the functions can't use the optimization anyway.
81827
81828 2002-12-06  Jim Meyering  <jim@meyering.net>
81829
81830         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
81831
81832         Merge in changes from libc's misc/error.c, in preparation
81833         for the merge of gnulib's changes back into libc.
81834
81835         * lib/error.c (_): Define only if not already defined.
81836         Move definition to follow all #include directives.
81837         Include unlocked-io.h only if !_LIBC.
81838         [_LIBC]: Include <libio/libioP.h>.
81839         [USE_IN_LIBIO]: Include <libio/iolibio.h>
81840         (fflush): Tweak definition to use INTUSE.
81841         (putc): Define.
81842
81843 2002-12-05  Paul Eggert  <eggert@twinsun.com>
81844
81845         * lib/alloca.c [defined emacs]: Include "lisp.h".
81846         (xalloc_die) [defined emacs]: New macro.
81847         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
81848         [! defined emacs]: Include <xalloc.h>.
81849         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
81850         (pointer): Typedef to POINTER_TYPE *.
81851         (malloc): Remove decl; we now always use xmalloc.
81852         (alloca): Use old-style definition, since Emacs needs this.
81853         Check for arithmetic overflow when computing combined size.
81854
81855 2002-12-04  Paul Eggert  <eggert@twinsun.com>
81856
81857         Do not generate unlocked-io.h automatically, since it's easier to
81858         maintain it by hand.
81859
81860         * lib/unlocked-io.h: New file, from GNU diffutils,
81861         but with proper copyright notice and attribution.
81862         * lib/gen-uio: Remove.
81863         * lib/Makefile.am: Add copyright notice.
81864         (libfetish_a_SOURCES): Add unlocked-io.h.
81865         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
81866         (DISTCLEANFILES, io_functions): Remove macros.
81867         (EXTRA_DIST): Remove gen_uio.
81868         (unlocked-io.h): Remove rule.
81869
81870 2002-12-04  Jim Meyering  <jim@meyering.net>
81871
81872         Reflect the fact that stat.c and lstat.c are no longer generated.
81873         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
81874         (DISTCLEANFILES): Likewise.
81875         (EXTRA_DIST): Likewise.
81876         (all_local): Don't depend on stat.c or lstat.c.
81877         (stat.c, lstat.c): Remove rules.
81878         (EXTRA_DIST): Remove xstat.in.
81879
81880         * lib/xstat.in: Remove file.  Contents moved into stat.c.
81881         * lib/stat.c: New file.  Contents mostly from xstat.in.
81882         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
81883         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
81884
81885         * lib/safe-read.c: Rework so that it may serve to define safe_write,
81886         too.
81887         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
81888
81889 2002-12-03  Jim Meyering  <jim@meyering.net>
81890
81891         * lib/safe-read.c, safe-write.c: Change variable names and comments,
81892         but not semantics, to minimize the differences between these two files.
81893         (safe_read): Change comment to mention SAFE_READ_ERROR.
81894
81895         * lib/safe-read.c (IS_EINTR): Define.
81896         (safe_read): Use IS_EINTR in place of in-function cpp directives.
81897
81898 2002-12-02  Jim Meyering  <jim@meyering.net>
81899
81900         * lib/safe-read.c (EINTR): Define.
81901         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
81902         (INT_MAX): Provide fallback.
81903         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
81904
81905         * lib/safe-read.h (SAFE_READ_ERROR): Define.
81906
81907 2002-12-02  Bruno Haible  <bruno@clisp.org>
81908
81909         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
81910         Define, taken from safe-read.c.
81911         (INT_MAX): Provide fallback.
81912         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
81913         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
81914
81915         * lib/safe-read.c (EINTR): Remove definition.
81916         (safe_read): Don't use EINTR if it is absent.
81917
81918 2002-12-01  Jim Meyering  <jim@meyering.net>
81919
81920         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
81921         zero.
81922         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
81923
81924 2002-11-27  Paul Eggert  <eggert@twinsun.com>
81925
81926         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
81927         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
81928         with `if (! (value < limit)) abort ();', for readability.
81929
81930 2002-11-26  Karl Berry  <karl@gnu.org>
81931
81932         * lib/strdup.c: copy from libc again, with jim's ok.
81933         * lib/.cppi-disable: re-add strdup.c
81934
81935 2002-11-25  Karl Berry  <karl@gnu.org>
81936
81937         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
81938         instead of "strtol.c".
81939
81940 2002-11-25  Karl Berry  <karl@gnu.org>
81941
81942         * config/install-sh: update from automake for variable quoting, $0 in
81943         error msgs, etc.
81944
81945         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
81946         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
81947         entry.
81948
81949 2002-11-25  Jim Meyering  <jim@meyering.net>
81950
81951         * lib/mktime.c: Sync from libc, now that it has the latest fix.
81952
81953 2002-11-24  Karl Berry  <karl@gnu.org>
81954
81955         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
81956         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
81957
81958 2002-11-24  Jim Meyering  <jim@meyering.net>
81959
81960         Update from coreutils:
81961
81962         * lib/mktime.c: Merge in changes from libc.
81963
81964         Avoid a link-time failure on some Linux systems.
81965         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
81966         (otherwise).
81967         (__mon_yday): Declare with the STATIC attribute.
81968         (__mktime_internal): Likewise.
81969         Based on a report from Greg Schafer.
81970
81971 2002-11-23  Jim Meyering  <jim@meyering.net>
81972
81973         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
81974         Use `unsigned', not `int', as type of index.
81975
81976         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
81977
81978         * lib/fsusage.c: Remove unneeded parentheses around operands of
81979         `defined'.
81980
81981 2002-11-22  Paul Eggert  <eggert@twinsun.com>
81982
81983         * lib/quotearg.h: Allow multiple inclusion by surrounding with
81984         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
81985         so that we can be included first.
81986         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
81987         * lib/quotearg.c: Include quotearg.h immediately after config.h.
81988         No need to include stddef.h or sys/types.h any more.
81989         Surround local include files with "", not "<>".
81990         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
81991         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
81992         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
81993         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
81994         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
81995         (ISPRINT): Remove; no longer needed now that we assume C89.
81996
81997         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
81998         Preserve errno.
81999
82000         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
82001         quotearg_char): Use SIZE_MAX rather than
82002         (size_t) -1 when we are talking about "infinity".
82003
82004         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
82005
82006 2002-11-22  Paul Eggert  <eggert@twinsun.com>
82007
82008         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
82009         hint that one should use `if (! x) abort ();' rather than `assert
82010         (x);', and anyway it's one less thing to worry about configuring.
82011         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
82012         hash_rehash, hash_insert): Use abort rather than assert.
82013
82014 2002-11-22  Bruno Haible  <bruno@clisp.org>
82015
82016         * lib/safe-read.h: Assume C89. Add comments.
82017         (safe_read): Change return type to size_t.
82018         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
82019         byte counts > SSIZE_MAX correctly.
82020         * lib/safe-write.h: New file.
82021         * lib/safe-write.c: New file.
82022         * lib/full-read.h: New file.
82023         * lib/full-read.c: New file.
82024         * lib/full-write.h: Assume C89. Add comments.
82025         * lib/full-write.c: Include safe-write.h.
82026         (full_write): Rewritten to use safe_write.
82027         Suggested by Jim Meyering and Paul Eggert.
82028
82029 2002-11-21  Jim Meyering  <jim@meyering.net>
82030
82031         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
82032
82033         Merge in changes from the coreutils.
82034
82035         2002-09-25  Paul Eggert  <eggert@twinsun.com>
82036         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
82037         <stdint.h>.
82038         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
82039         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
82040         int.  Work more efficiently if X is the same width as uintmax_t.
82041         Do not compare X to -1, to avoid bogus compiler warning.
82042         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
82043         Don't assume that f_frsize and f_bsize are the same type.
82044
82045         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
82046         warning on FreeBSD.
82047
82048         * lib/makepath.c (make_path): Restore umask *before* creating the final
82049         component.
82050         (make_path): Minor reformatting.
82051
82052         * lib/xmalloc.c: Adjust to work with new autoconf macros,
82053         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
82054         HAVE_MALLOC/HAVE_REALLOC.
82055
82056         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
82057         dummy ones.  At least on GNU/Linux systems, `auto' means something
82058         else.
82059         From Michael Stone.
82060
82061 2002-11-21  Bruno Haible  <bruno@clisp.org>
82062
82063         Remove case insensitive option matching.
82064         * lib/argmatch.h (argcasematch): Remove declaration.
82065         (ARGCASEMATCH): Remove macro.
82066         (__xargmatch_internal): Remove case_sensitive argument.
82067         (XARGMATCH): Update.
82068         (XARGCASEMATCH): Remove macro.
82069         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
82070         case_sensitive argument.
82071         (argcasematch): Remove function.
82072         (__xargmatch_internal): Remove case_sensitive argument.
82073         (main): Use XARGMATCH instead of XARGCASEMATCH.
82074
82075         * lib/xmalloc.c: Change compile-time error message. Add comment about
82076         required autoconf version.
82077
82078 2002-11-20  Paul Eggert  <eggert@twinsun.com>
82079
82080         Merge argmatch cleanups from Bison.  Assume C89.
82081
82082         * lib/argmatch.c: Include config.h here, not in argmatch.h.
82083         Include stdlib.h, for EXIT_FAILURE.
82084         Always include <string.h>, since we assume C89.
82085         (EXIT_FAILURE): Remove pre-C89 bug workaround.
82086         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
82087         Include <stddef.h> instead, since it's all we need for size_t.
82088         (PARAMS): Remove.  All uses removed.
82089         (ARRAY_CARDINALITY): Do not bother to #undef.
82090         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
82091         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
82092         Remove unnecessary parentheses.
82093         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
82094         Insert necessary parentheses.
82095         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
82096         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
82097
82098 2002-11-19  Bruno Haible  <bruno@clisp.org>
82099
82100         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
82101         * lib/mbswidth.h: Include <stddef.h>, for size_t.
82102
82103         * lib/mbswidth.h (PARAMS): Remove macro.
82104         (mbswidth, mbsnwidth): Use ANSI C function declarations.
82105         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
82106
82107         * lib/gcd.h (PARAMS): Remove macro.
82108         (gcd): Use ANSI C function declarations.
82109         * lib/gcd.c (gcd): Likewise.
82110
82111 2002-11-15  Bruno Haible  <bruno@clisp.org>
82112
82113         * lib/strcspn.c: Include <stddef.h>.
82114         (strcspn): Use ANSI C function declaration. Change return type to
82115         size_t. Use NULL.
82116         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
82117         (strpbrk): Use NULL.
82118         * lib/strpbrk.h (PARAMS): Remove macro.
82119         (strpbrk): Use ANSI C function declaration.
82120         * lib/strstr.c: Don't include <sys/types.h>.
82121         * lib/strstr.h (PARAMS): Remove macro.
82122         (strstr): Use ANSI C function declarations.
82123
82124 2002-11-14  Karl Berry  <karl@gnu.org>
82125
82126         * config/mkinstalldirs: `do' on separate line, instead of
82127         `for var; do'.
82128
82129 2002-11-06  Bruno Haible  <bruno@clisp.org>
82130
82131         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
82132         * lib/gcd.c (gcd): Likewise.
82133
82134 2002-11-05  Bruno Haible  <bruno@clisp.org>
82135
82136         * lib/gcd.h: New file, from gettext-0.11.5.
82137         * lib/gcd.c: New file, from gettext-0.11.5.
82138
82139 2002-11-05  Bruno Haible  <bruno@clisp.org>
82140
82141         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
82142         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
82143         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
82144         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
82145
82146         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
82147         <libintl.h>.
82148         * lib/makepath.c: Include gettext.h instead of <locale.h> and
82149         <libintl.h>.
82150
82151         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
82152         * lib/human.c: Include gettext.h instead of <libintl.h>.
82153         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
82154         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
82155         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
82156         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
82157         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
82158         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
82159         (textdomain): Remove definition.
82160         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
82161
82162         * lib/long-options.c: Remove include of <libintl.h> and definition of
82163         _.
82164         * lib/same.c: Remove include of <libintl.h> and definition of _.
82165
82166 2002-11-04  Owen Taylor  <otaylor@redhat.com>
82167
82168         * lib/config.charset: A few additions for Solaris.
82169
82170 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
82171
82172         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
82173         * lib/localcharset.c (locale_charset): Declare as extern "C".
82174
82175 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
82176
82177         * lib/config.charset: msdos in uk_UA uses CP1125.
82178
82179 2002-11-04  Bruno Haible  <bruno@clisp.org>
82180
82181         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
82182         * lib/strcase.h: New file, from GNU gettext-0.11.5.
82183         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
82184         * lib/strstr.h: New file, from GNU gettext-0.11.5.
82185         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
82186
82187 2002-11-04  Bruno Haible  <bruno@clisp.org>
82188
82189         * lib/localcharset.c (locale_charset): Don't return an empty string.
82190
82191 2002-11-04  Bruno Haible  <bruno@clisp.org>
82192
82193         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
82194         aliases.
82195
82196 2002-11-04  Bruno Haible  <bruno@clisp.org>
82197
82198         * lib/config.charset: Update for newest glibc. Add canonical names
82199         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
82200
82201 2002-11-04  Bruno Haible  <bruno@clisp.org>
82202
82203         * lib/config.charset: Add support for NetBSD.
82204
82205 2002-11-04  Bruno Haible  <bruno@clisp.org>
82206
82207         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
82208
82209 2002-11-01  Bruno Haible  <bruno@clisp.org>
82210
82211         * configure.in: Add AC_CONFIG_AUX_DIR call.
82212         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
82213         test/Makefile.
82214         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
82215
82216 2002-09-28  Karl Berry  <karl@gnu.org>
82217
82218         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
82219         installed automake until the next release, since changes have been
82220         made.
82221
82222 2002-09-25  Karl Berry  <karl@gnu.org>
82223
82224         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
82225         * lib/getopt*: copy from libc/posix.
82226         * lib/gettext.h: copy from gettext.
82227         * lib/.cppi-disable: add strdup.c, gettext.h.
82228
82229 2002-09-25  Karl Berry  <karl@gnu.org>
82230
82231         * config/srclist.txt: enable gettext.h check.
82232         * config/config.{guess,sub}: update from prep.
82233         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
82234                 from automake 1.6.3.
82235         See srclist*.
82236
82237 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
82238
82239         * regex.c (PATFETCH): Remove the translating fetch.
82240         (PATFETCH_RAW): Rename to PATFETCH.
82241         (set_image_of_range): New fun.
82242         (SET_RANGE_TABLE_WORK_AREA): Use it.
82243         (regex_compile): Don't translate the pattern chars so eagerly.
82244         Only do it when inserting an `exactn' bytecode or when handling
82245         a char-range.
82246         (mutually_exclusive_p): Avoid empty statement.
82247
82248 2002-07-06  Jim Meyering  <meyering@lucent.com>
82249
82250         * m4/README: Don't mention Makefile.am.in.
82251         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
82252
82253 2002-07-01  Jim Meyering  <meyering@lucent.com>
82254
82255         * lib/c-stack.c: Include sys/time.h.
82256         From Volker Borchert.
82257
82258 2002-06-26  Paul Eggert  <eggert@twinsun.com>
82259
82260         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
82261
82262 2002-06-26  Paul Eggert  <eggert@twinsun.com>
82263
82264         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
82265         New macro.  Use it uniformly instead of
82266         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
82267         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
82268         reported by Vin Shelton.
82269
82270 2002-06-22  Paul Eggert  <eggert@twinsun.com>
82271
82272         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
82273         Do not assume SA_SIGINFO behavior.
82274         Bug reported by Jim Meyering on NetBSD 1.5.2.
82275
82276 2002-06-22  Jim Meyering  <meyering@lucent.com>
82277
82278         * m4/c-stack.m4: New file, from diffutils-2.8.2.
82279         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
82280
82281         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
82282         now that configure.ac uses AC_GNU_SOURCE.
82283         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
82284         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
82285
82286         Update to latest tools.  Suggestions from Paul Eggert.
82287         * m4/stdbool.m4: New file, from diffutils-2.8.2.
82288         * m4/gnu-source.m4: Update from diffutils-2.8.2.
82289         * m4/fnmatch.m4: Likewise.
82290         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
82291         to AC_HEADER_STDBOOL
82292
82293 2002-06-22  Jim Meyering  <meyering@lucent.com>
82294
82295         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
82296         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
82297
82298 2002-06-22  Jim Meyering  <meyering@lucent.com>
82299
82300         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
82301
82302         * lib/exitfail.c, exitfail.h: Likewise.
82303         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
82304
82305         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
82306         of fnmatch.h.
82307         (EXTRA_DIST): Add fnmatch_loop.c.
82308         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
82309
82310         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
82311         * lib/fnmatch.c: Update from diffutils-2.8.2.
82312         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
82313         * lib/fnmatch.h: Remove file.
82314
82315 2002-06-21  Jim Meyering  <meyering@lucent.com>
82316
82317         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
82318         * m4/mbrtowc.m4: Likewise.
82319
82320         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
82321         * m4/mbswidth.m4: Reflect name change:
82322         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
82323         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
82324
82325         * m4/lib-link.m4: Update from gettext-0.11.2.
82326         * m4/gettext.m4: Likewise.
82327
82328         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
82329         From Alfred M. Szmidt.
82330
82331 2002-06-18  Paul Eggert  <eggert@twinsun.com>
82332
82333         * lib/file-type.h: Report an error if neither S_ISREG nor
82334         S_IFREG is defined, instead of using a test specific to glibc
82335         2.2.  This should be safe, since POSIX requires S_ISREG and
82336         Unix Version 7 had S_IFREG.  We don't need to check for
82337         <sys/types.h> since we don't use any symbols that it defines.
82338
82339 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
82340
82341         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
82342         $@-t, so that each temporary file name is unique and valid in the first
82343         8 characters, for operation under DOS.
82344
82345 2002-06-15  Paul Eggert  <eggert@twinsun.com>
82346
82347         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
82348
82349 2002-06-15  Jim Meyering  <meyering@lucent.com>
82350
82351         Work even with DJGPP 2.03, which lacks support for symlinks.
82352         From Richard Dawe.
82353         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
82354         is defined.
82355         * lib/lchown.c (S_ISLNK): Likewise.
82356
82357 2002-06-15  Jim Meyering  <meyering@lucent.com>
82358
82359         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
82360         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
82361         have been included before this file.
82362
82363 2002-06-14  Jim Meyering  <meyering@lucent.com>
82364
82365         * lib/file-type.h: Use the version from diffutils-2.8.2.
82366         * lib/file-type.c: Likewise.
82367
82368 2002-06-07  Jim Meyering  <meyering@lucent.com>
82369
82370         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
82371         They're needed at least for NetBSD 1.5.2.
82372         ($statxfs_includes): Include those same headers.
82373         ($statxfs_includes): Include sys/vfs.h if available.
82374         ($statxfs_includes): Likewise for sys/statvfs.h.
82375         Check for the following members in both structs statfs and statvfs:
82376         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
82377
82378 2002-06-01  Jim Meyering  <meyering@lucent.com>
82379
82380         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
82381         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
82382
82383 2002-05-28  Jim Meyering  <meyering@lucent.com>
82384
82385         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
82386         Reported by Volker Borchert.
82387
82388 2002-05-27  Jim Meyering  <meyering@lucent.com>
82389
82390         Fix a problem seen only on nonconforming systems whereby ls.c's
82391         use of localtime, and then of gettimeofday would cause trouble:
82392         the localtime call used to initialize rpl_gettimeofday's save
82393         mechanism would clobber ls's current local time information so
82394         that in any long listing the first file would always be listed
82395         with date 1970-01-01.  Analysis by Volker Borchert.
82396
82397         * lib/gettimeofday.c (localtime): Undefine.
82398         (rpl_localtime): New function.
82399
82400 2002-05-27  Jim Meyering  <meyering@lucent.com>
82401
82402         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
82403         localtime.
82404
82405         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
82406         use the replacement function; it wouldn't resolve at link time.
82407         Reported by Volker Borchert.
82408
82409 2002-05-22  Jim Meyering  <meyering@lucent.com>
82410
82411         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
82412         file-type.h.
82413         * lib/file-type.h: New file.
82414         * lib/file-type.c (file_type): New file/function.  Extracted from
82415         diffutils.
82416
82417 2002-04-30  Jim Meyering  <meyering@lucent.com>
82418
82419         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
82420
82421 2002-04-29  Paul Eggert  <eggert@twinsun.com>
82422
82423         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
82424
82425 2002-04-29  Paul Eggert  <eggert@twinsun.com>
82426
82427         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
82428         Do not check for alloca.h (no longer used) or stdbool.h (was never
82429         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
82430
82431 2002-04-29  Paul Eggert  <eggert@twinsun.com>
82432
82433         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
82434
82435 2002-04-29  Jim Meyering  <meyering@lucent.com>
82436
82437         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
82438         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
82439         Use AC_FUNC_STRNLEN here instead.
82440
82441         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
82442         With autoconf-2.53a, it's part of AC_PROG_CC.
82443
82444 2002-04-28  Paul Eggert  <eggert@twinsun.com>
82445
82446         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
82447         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
82448
82449 2002-04-28  Paul Eggert  <eggert@twinsun.com>
82450
82451         * lib/sig2str.h, lib/sig2str.c: New files.
82452         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
82453
82454 2002-04-28  Paul Eggert  <eggert@twinsun.com>
82455
82456         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
82457         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
82458         of 127, since 64 is the largest conceivable number for ancient
82459         nonstandard hosts.
82460         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
82461
82462 2002-04-28  Jim Meyering  <meyering@lucent.com>
82463
82464         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
82465
82466 2002-04-24  Jim Meyering  <meyering@lucent.com>
82467
82468         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
82469         (jm_PREREQ): Use it.
82470
82471         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
82472         mach/mach.h fcntl.h.
82473         Check for this function: setlocale.
82474
82475 2002-04-24  Jim Meyering  <meyering@lucent.com>
82476
82477         * lib/gettext.h: New file, from Gettext.
82478         * lib/Makefile.am (INCLUDES): Remove -I../intl.
82479         (libfetish_a_SOURCES): Add gettext.h.
82480
82481 2002-04-16  Jim Meyering  <meyering@lucent.com>
82482
82483         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
82484         ut_pid, ut_id, ut_exit.
82485
82486 2002-04-16  Jim Meyering  <meyering@lucent.com>
82487
82488         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
82489         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
82490         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
82491
82492 2002-04-12  Jim Meyering  <meyering@lucent.com>
82493
82494         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
82495         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
82496         existence of the getmntinfo function.  Needed for Darwin 5.3.
82497
82498         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
82499         This is necessary at least on Darwin 5.3.
82500
82501         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
82502         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
82503         strnlen.o in the library, and that makes some versions of ranlib
82504         object.
82505
82506 2002-04-12  Jim Meyering  <meyering@lucent.com>
82507
82508         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
82509
82510 2002-04-09  Jim Meyering  <meyering@lucent.com>
82511
82512         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
82513         to be more precise.  Rather than saying we're checking whether the
82514         function `works', say what we're testing.
82515         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
82516         Reported by Bruno Haible.
82517
82518 2002-03-10  Jim Meyering  <meyering@lucent.com>
82519
82520         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
82521         Suggestion from Santiago Vila.
82522
82523 2002-03-08  Jim Meyering  <meyering@lucent.com>
82524
82525         * lib/rename.c: Mention that this wrapper is needed also on
82526         mips-dec-ultrix4.4 systems.
82527
82528 2002-03-02  Jim Meyering  <meyering@lucent.com>
82529
82530         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
82531         not HAVE_CLOCK_SETTIME.
82532
82533 2002-02-27  Paul Eggert  <eggert@twinsun.com>
82534
82535         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
82536         Check for clock_settime.
82537
82538 2002-02-27  Paul Eggert  <eggert@twinsun.com>
82539
82540         * lib/nanosleep.h: Rename to....
82541         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
82542
82543         * lib/gettime.c: New file.
82544         * lib/settime.c: New file.
82545         * lib/stime.c: Remove.
82546
82547         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
82548         timespec.h.  Remove nanosleep.h.
82549
82550 2002-02-25  Paul Eggert  <eggert@twinsun.com>
82551
82552         * m4/acl.m4: New file.
82553         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
82554         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
82555
82556 2002-02-25  Paul Eggert  <eggert@twinsun.com>
82557
82558         * lib/acl.c, lib/acl.h: New files.
82559         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
82560
82561 2002-02-24  Jim Meyering  <meyering@lucent.com>
82562
82563         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
82564         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
82565         cause trouble.  Reported by Nelson Beebe.
82566
82567 2002-02-23  Paul Eggert  <eggert@twinsun.com>
82568
82569         * lib/path-concat.c (xpath_concat): Reorder code to pacify
82570         compilers that don't know that xalloc_die never returns.
82571
82572 2002-02-20  Jim Meyering  <meyering@lucent.com>
82573
82574         * lib/getdate.c: Regenerate using bison-1.33.
82575
82576 2002-02-17  Jim Meyering  <meyering@lucent.com>
82577
82578         * config/config.guess (main): Don't use `head -1'; it's no longer
82579         portable. Use `sed 1q' instead.
82580
82581 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
82582
82583         * m4/codeset.m4: Upgrade to gettext-0.11.
82584         * m4/gettext.m4: Upgrade to gettext-0.11.
82585         * m4/glibc21.m4: Upgrade to gettext-0.11.
82586         * m4/iconv.m4: Upgrade to gettext-0.11.
82587         * m4/isc-posix.m4: Upgrade to gettext-0.11.
82588         * m4/lcmessage.m4: Upgrade to gettext-0.11.
82589         * m4/lib-ld.m4: New file, from gettext-0.11.
82590         * m4/lib-link.m4: New file, from gettext-0.11.
82591         * m4/lib-prefix.m4: New file, from gettext-0.11.
82592         * m4/progtest.m4: Upgrade to gettext-0.11.
82593
82594 2002-02-15  Paul Eggert  <eggert@twinsun.com>
82595
82596         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
82597         (jm_PREREQ): Use it.
82598
82599 2002-02-15  Paul Eggert  <eggert@twinsun.com>
82600
82601         * lib/posixver.c, lib/posixver.h: New files.
82602         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
82603
82604 2002-02-02  Paul Eggert  <eggert@twinsun.com>
82605             Bruno Haible  <bruno@clisp.org>
82606
82607         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
82608         (fwrite_success_callback): New declaration.
82609         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
82610         print_unicode_char. Call failure callback instead of error.
82611         (fwrite_success_callback): New function.
82612         (exit_failure_callback): New function.
82613         (fallback_failure_callback): New function.
82614         (print_unicode_char): Call unicode_to_mb.
82615
82616 2002-01-26  Jim Meyering  <meyering@lucent.com>
82617
82618         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
82619         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
82620
82621 2002-01-26  Jim Meyering  <meyering@lucent.com>
82622
82623         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
82624
82625 2002-01-22  Paul Eggert  <eggert@twinsun.com>
82626
82627         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
82628
82629 2002-01-22  Jim Meyering  <meyering@lucent.com>
82630
82631         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
82632         Otherwise, some versions of automake would omit the rule that makes
82633         Makefile from Makefile.in.
82634
82635 2002-01-21  Paul Eggert  <eggert@twinsun.com>
82636
82637         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
82638         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
82639         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
82640         (memcoll): Set errno to zero if there is no error.
82641
82642         * lib/quotearg.c (quotearg_buffer_restyled):
82643         Fix bug with quoting buffers containing NUL when backslashing escapes.
82644         This bug was exposed by the other changes in this patch.
82645         (quotearg_n_options): New arg ARGSIZE.
82646         All callers changed.
82647         (quoting_options_from_style): New function.
82648         (quotearg_n_style): Use it.
82649         (quotearg_n_style_mem): New function.
82650
82651         * lib/quotearg.h (quotearg_n_style_mem): New function.
82652
82653 2002-01-19  Jim Meyering  <meyering@lucent.com>
82654
82655         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
82656         Remove useless quotes: DF_PROG="df".
82657         * m4/strnlen.m4: New file.
82658
82659 2002-01-16  Paul Eggert  <eggert@twinsun.com>
82660
82661         * lib/backupfile.c (ISDIGIT): Comment fix.
82662         * lib/getdate.y (ISDIGIT): Likewise.
82663         * lib/posixtm.c (ISDIGIT, year): Likewise.
82664         * lib/strverscmp.c (ISDIGIT): Likewise.
82665         * lib/userspec.c (ISDIGIT): Likewise.
82666
82667 2002-01-16  Jim Meyering  <meyering@lucent.com>
82668
82669         * lib/getdate.y: Add three semicolons, each just before a closing
82670         brace. Bison (as of version 1.31) no longer papers over that mistake.
82671
82672 2002-01-05  Jim Meyering  <meyering@lucent.com>
82673
82674         * lib/version-etc.c (version_etc_copyright): Update copyright year.
82675
82676 2001-12-19  Paul Eggert  <eggert@twinsun.com>
82677
82678         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
82679         not silently exit merely because the output buffer happens to
82680         have nothing pending.
82681
82682 2001-12-18  Paul Eggert  <eggert@twinsun.com>
82683
82684         See the big note in ../ChangeLog.
82685         * lib/human.c (suffixes): Prefer K to k for 1024.
82686         (generate_suffix_backwards): New function.
82687         (human_readable_inexact): Use it.
82688         * lib/xstrtol.c (__xstrtol): If there is no number but there
82689         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
82690         Accept 'K' as well as 'k'.
82691
82692 2001-12-15  Jim Meyering  <meyering@lucent.com>
82693
82694         * lib/regex.h (__restrict_arr): Update from libc.
82695
82696         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
82697         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
82698         (STREQ): Define.
82699
82700 2001-12-14  Jim Meyering  <meyering@lucent.com>
82701
82702         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
82703         Suggestion from Bruno Haible.
82704
82705 2001-12-10  Jim Meyering  <meyering@lucent.com>
82706
82707         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
82708         xrealloc, Instead, include "xalloc.h".
82709         (initbuffer): Don't cast xmalloc return value to char*.
82710         (readline): Reword comment.
82711         Don't cast xrealloc return value to char*
82712         Return NULL, not 0.
82713
82714 2001-12-09  Jim Meyering  <meyering@lucent.com>
82715
82716         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
82717         about `signed and unsigned type in conditional expression'.
82718         * lib/posixtm.c (posix_time_parse): Likewise.
82719
82720         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
82721
82722         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
82723         to avoid a pedantic warning.
82724
82725         * lib/getstr.c: Don't include assert.h.
82726         (getstr): Remove warning-evoking assertions.
82727         Return -1 if offset parameter is out of bounds.
82728         Change the type of a local from int to size_t.
82729
82730         * lib/strftime.c (my_strftime_localtime_r): Include this function
82731         definition in the `#if ! HAVE_TM_GMTOFF' block.
82732
82733         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
82734         Include xalloc.h instead.
82735
82736 2001-12-02  Jim Meyering  <meyering@lucent.com>
82737
82738         * lib/tempname.c: Don't declare getenv, thus reverting the change of
82739         2001-11-18.  It's no longer necessary, now that stdlib.h is always
82740         included.
82741
82742         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
82743         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
82744
82745 2001-11-30  Akim Demaille  <akim@epita.fr>
82746
82747         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
82748         before being defined.
82749
82750 2001-11-27  Paul Eggert  <eggert@twinsun.com>
82751
82752         * lib/quotearg.h (quotearg_n, quotearg_n_style):
82753         First arg is int, not unsigned.
82754         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
82755         (SIZE_MAX, UINT_MAX): New macros.
82756         (quotearg_n_options): Abort if N is negative.
82757         Avoid overflow check on hosts where size_t is 64 bits and int
82758         is 32 bits, as overflow is impossible there.
82759         Fix off-by-one typo that caused unnecessary reallocation.
82760
82761 2001-11-27  Jim Meyering  <meyering@lucent.com>
82762
82763         * lib/tempname.c: Merge with version from libc.
82764         * lib/regex.c: Likewise.
82765
82766         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
82767         systems for which STDC_HEADERS is 0, it was not included, resulting in
82768         a warning about an integer-to-pointer conversion problem with getenv.
82769         Reported by Volker Borchert.
82770
82771 2001-11-26  Jim Meyering  <meyering@lucent.com>
82772
82773         * lib/gtod.h: Remove file.
82774         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
82775         * lib/gettimeofday.c: Don't include gtod.h.
82776         (GTOD_init): Remove function.
82777         (rpl_gettimeofday): Do its job here instead, rather than aborting.
82778         Suggestion from Volker Borchert.
82779
82780 2001-11-23  Jim Meyering  <meyering@lucent.com>
82781
82782         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
82783         it.
82784         * lib/hash.c (struct hash_table): Define it here instead.
82785
82786 2001-11-22  Jim Meyering  <meyering@lucent.com>
82787
82788         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
82789
82790 2001-11-20  Jim Meyering  <meyering@lucent.com>
82791
82792         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
82793         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
82794
82795 2001-11-19  Jim Meyering  <meyering@lucent.com>
82796
82797         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
82798         directory.  Use "conftestXXXXXX" as the template.
82799         Suggestion from Paul Eggert.
82800
82801         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
82802         immediately, so the test doesn't mistakenly hit the max-open-files
82803         limit.
82804
82805 2001-11-18  Paul Eggert  <eggert@twinsun.com>
82806
82807         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
82808         (TEMPORARIES): New macro.
82809         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
82810         removes an artificial limitation (e.g. HP-UX 10.20, where
82811         TMP_MAX is 17576).
82812
82813 2001-11-18  Jim Meyering  <meyering@lucent.com>
82814
82815         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
82816
82817 2001-11-18  Jim Meyering  <meyering@lucent.com>
82818
82819         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
82820         on SunOS 4.
82821
82822         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
82823         files will be created before anything else.
82824
82825 2001-11-17  Paul Eggert  <eggert@twinsun.com>
82826
82827         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
82828         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
82829
82830 2001-11-17  Jim Meyering  <meyering@lucent.com>
82831
82832         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
82833         Prompted by a report from Bob Proulx.
82834
82835         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
82836         Instead, require UTILS_FUNC_MKSTEMP.
82837
82838 2001-11-17  Jim Meyering  <meyering@lucent.com>
82839
82840         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
82841         Now, that's done as part of AC_FUNC_STRTOD.
82842
82843 2001-11-17  Jim Meyering  <meyering@lucent.com>
82844
82845         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
82846         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
82847         rather than group writable.  Patch by Juan F. Codagnone.
82848
82849         * lib/readtokens.c: Remove explicit declarations of xmalloc and
82850         xrealloc, Instead, include "xalloc.h".
82851
82852         * lib/mountlist.c: Include unlocked-io.h after all system headers.
82853         Remove explicit declarations of xmalloc, xrealloc,
82854         and xstrdup.  Instead, include "xalloc.h".
82855
82856         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
82857         unlocked-io.h.
82858         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
82859         Likewise.
82860         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
82861
82862         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
82863         Reported by Padraig Brady.
82864
82865         * lib/mkstemp.c: #undef mkstemp.
82866         Include config.h.
82867         (rpl_mkstemp): Rename from mkstemp.
82868         Protoize.
82869
82870 2001-11-16  Jim Meyering  <meyering@lucent.com>
82871
82872         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
82873         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
82874         determine the amount of total physical memory, use pstat_getstatic.
82875         HPUX-11 doesn't define _SC_PHYS_PAGES.
82876         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
82877         If sysconf couldn't be used to determine the amount of available
82878         physical memory, use both pstat_getstatic and pstat_getdynamic.
82879         Based on a patch from Bob Proulx.
82880
82881 2001-11-10  Jim Meyering  <meyering@lucent.com>
82882
82883         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
82884         (jm_PREREQ): Use it.
82885
82886 2001-11-09  Jim Meyering  <meyering@lucent.com>
82887
82888         * m4/jm-macros.m4: Require autoconf-2.52f.
82889         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
82890         Use these AC_-prefixed names, not the AM_-prefixed ones.
82891
82892         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
82893
82894 2001-11-05  Jim Meyering  <meyering@lucent.com>
82895
82896         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
82897
82898 2001-11-04  Jim Meyering  <meyering@lucent.com>
82899
82900         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
82901         $DEFS.
82902
82903 2001-11-03  Jim Meyering  <meyering@lucent.com>
82904
82905         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
82906         of AC_DEFUN.
82907
82908         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
82909         know the name of the variable in the macro definition.
82910
82911 2001-11-03  Jim Meyering  <meyering@lucent.com>
82912
82913         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
82914         in argmatch_to_argument call.
82915
82916         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
82917         argument.
82918
82919         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
82920         e.g., a fault due to an attempt to free a NULL pointer.
82921
82922 2001-11-01  Jim Meyering  <meyering@lucent.com>
82923
82924         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
82925         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
82926
82927 2001-11-01  Jim Meyering  <meyering@lucent.com>
82928
82929         * lib/dirfd.c, lib/dirfd.h: New files.
82930         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
82931
82932         * lib/hash.c (hash_print) [TESTING]: Clean up.
82933
82934 2001-10-22  Paul Eggert  <eggert@twinsun.com>
82935
82936         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
82937         to avoid a warning if -Wall.
82938
82939 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
82940
82941         * README: New file
82942         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
82943         (per RMS's instructions, this is now the canonical source)
82944         * lgpl/, gpl/: New directories.
82945
82946 2001-10-21  Paul Eggert  <eggert@twinsun.com>
82947
82948         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
82949
82950 2001-10-21  Jim Meyering  <meyering@lucent.com>
82951
82952         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
82953         this code would end up calling gettext even in packages built
82954         with --disable-nls.
82955         * lib/getopt.c (_): Likewise.
82956         * lib/regex.c (_): Likewise.
82957
82958 2001-10-20  Paul Eggert  <eggert@twinsun.com>
82959
82960         * m4/error.m4 (jm_PREREQ_ERROR):
82961         Do not invoke AC_CHECK_FUNCS with strerror_r, as
82962         AC_FUNC_STRERROR_R does that.
82963         Check for strerror declaration.
82964
82965         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
82966         are supposed to have them these days.
82967         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
82968         Merge changes from latest Autoconf CVS.
82969         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
82970         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
82971         POSIX decided to standardize on the int flavor of strerror_r.
82972
82973 2001-10-20  Paul Eggert  <eggert@twinsun.com>
82974
82975         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
82976         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
82977         Use strerror_r that is only a macro, even if it is not a function.
82978         (strerror): Check for HAVE_DECL_STRERROR before declaring.
82979         (private_strerror): Use prototypes, not old-style function definition.
82980         (print_errno_message): New function.
82981         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
82982         char*-flavored one.
82983         (error_tail, error, error_at_line): Use it.
82984
82985 2001-10-11  Jim Meyering  <meyering@lucent.com>
82986
82987         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
82988         and quote_n (1, ... to avoid clobbering a buffer.
82989
82990 2001-10-05  Jim Meyering  <meyering@lucent.com>
82991
82992         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
82993         hash-pjw.h.
82994         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
82995         * lib/hash-pjw.h: New file.
82996
82997 2001-09-30  Jim Meyering  <meyering@lucent.com>
82998
82999         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
83000         `struct fsstat' has the `f_fstypename' member.
83001         Use that to define FS_TYPE, which is now used to make
83002         the getfsstat link test tighter.
83003
83004 2001-09-30  Jim Meyering  <meyering@lucent.com>
83005
83006         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
83007         Include <sys/ucred.h>, for Apple Darwin.
83008         Include sys/mount.h and sys/fs_types.h only if available.
83009         (FS_TYPE): Define.
83010         (read_filesystem_list): Use FS_TYPE.
83011
83012 2001-09-29  Paul Eggert  <eggert@twinsun.com>
83013
83014         * lib/exclude.c (excluded_filename): 0 -> false, since it's
83015         a boolean context.
83016
83017 2001-09-29  Jim Meyering  <meyering@lucent.com>
83018
83019         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
83020         [one-argument getmntent function]): Include stdio.h before mntent.h.
83021         SunOS 4.1.x needs it for the declaration of `FILE'.
83022         Patch by Volker Borchert.
83023
83024         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
83025         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
83026         sys/fs_types.h, and make the link-test for getfsstat guard #include
83027         directives with appropriate #if HAVE_*_H tests so that we can
83028         detect getfsstat on Apple Darwin1.3.7 systems.
83029         Reported by Nelson Beebe.
83030         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
83031
83032 2001-09-28  Paul Eggert  <eggert@twinsun.com>
83033
83034         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
83035         #defines strtoimax.  Also treat the other strto* functions
83036         like strtoimax.
83037
83038         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
83039         Check for strtoul and strtoumax,
83040         as those declarations are made even in the signed case.
83041         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
83042         Likewise, for strtol and strtoimax.
83043
83044 2001-09-28  Paul Eggert  <eggert@twinsun.com>
83045
83046         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
83047         #defines strtoimax.  Also treat the other strto* functions
83048         like strtoimax.
83049
83050         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
83051         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
83052         (strtoimax, strtoumax): Do not declare if already defined as a macro.
83053
83054 2001-09-26  Jim Meyering  <meyering@lucent.com>
83055
83056         Most macros in unlocked-io.h had the wrong number of arguments.
83057         * lib/gen-uio: New script.
83058         (USE_UNLOCKED_IO): Define to 1 if not already defined.
83059         * lib/unlocked-io.hin: Remove file.
83060         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
83061         rather than trying to embed it here.
83062         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
83063         Reported by Padraig Brady.
83064
83065 2001-09-25  Volker Borchert  <bt@teknon.de>
83066
83067         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
83068         `result'.
83069
83070 2001-09-24  Jim Meyering  <meyering@lucent.com>
83071
83072         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
83073
83074 2001-09-23  Jim Meyering  <meyering@lucent.com>
83075
83076         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
83077         instead of the mere test for existence of mntent.h.  The latter
83078         would get a false-positive on AIX 3.4 systems.
83079         In the outer getmntent if-block, don't die if neither of the getmntent
83080         tests succeeds.  Instead, just fall through and continue with the
83081         remaining tests.
83082
83083 2001-09-23  Jim Meyering  <meyering@lucent.com>
83084
83085         * lib/mountlist.c: Remove useless parentheses in #if directives.
83086         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
83087         the deprecated MOUNTED symbol is no longer defined in mntent.h.
83088
83089 2001-09-22  Jim Meyering  <meyering@lucent.com>
83090
83091         * m4/gettext.m4: New file.  From gettext.
83092         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
83093         * m4/progtest.m4: Likewise
83094         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
83095         * m4/glibc21.m4: Likewise.
83096
83097         * m4/libintl.m4: Remove.  No longer used.
83098
83099 2001-09-22  Jim Meyering  <meyering@lucent.com>
83100
83101         * lib/localcharset.c: Update from latest gettext.
83102         * lib/config.charset: Likewise.
83103
83104 2001-09-20  Jim Meyering  <meyering@lucent.com>
83105
83106         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
83107         strtoimax.
83108         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
83109         strtoumax.
83110
83111 2001-09-20  Jim Meyering  <meyering@lucent.com>
83112
83113         * lib/xstrtol.c (strtoimax): Guard declaration with
83114         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
83115         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
83116         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
83117         (strtoumax): Likewise, for completeness (it wasn't necessary).
83118
83119 2001-09-17  Paul Eggert  <eggert@twinsun.com>
83120
83121         * lib/strtoimax.c (HAVE_LONG_LONG):
83122         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
83123         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
83124         to work around bug in IBM C compiler.
83125
83126 2001-09-17  Jim Meyering  <meyering@lucent.com>
83127
83128         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
83129         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
83130         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
83131         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
83132         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
83133         whenever the right hand side need not be expanded by the shell.
83134
83135 2001-09-16  Paul Eggert  <eggert@twinsun.com>
83136
83137         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
83138         library.  It's not correct, as some older glibcs are buggy.
83139         fnmatch wasn't fixed until glibc 2.2.
83140
83141         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
83142         special shell magic here.
83143
83144 2001-09-16  Jim Meyering  <meyering@lucent.com>
83145
83146         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
83147         * m4/jm-macros.m4: Require it.
83148
83149 2001-09-16  Jim Meyering  <meyering@lucent.com>
83150
83151         * lib/mkdir.c: New file.
83152
83153 2001-09-15  Jim Meyering  <meyering@lucent.com>
83154
83155         * m4/jm-macros.m4: Check for help2man.
83156
83157 2001-09-11  Jim Meyering  <meyering@lucent.com>
83158
83159         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
83160         The body, by Paul Eggert, was moved here from configure.in.
83161         * m4/jm-macros.m4: Require UTILS_HOST_OS.
83162
83163 2001-09-04  Paul Eggert  <eggert@twinsun.com>
83164
83165         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
83166         (jm_PREREQ): Use it.
83167
83168 2001-09-04  Paul Eggert  <eggert@twinsun.com>
83169
83170         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
83171         Use ssize_t, not int, to store result of readlink.
83172         Check for ssize_t overflow as well as size_t overflow,
83173         as POSIX says the result of readlink is implementation-defined
83174         when ssize_t overflows.
83175         Remove unnecessary cast to char*.
83176         Use free+malloc instead of realloc, as the storage doesn't need
83177         to be preserved and it's clearer and can be more efficient that way.
83178         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
83179         * lib/xreadlink.h (xreadlink): Update prototype.
83180
83181 2001-09-04  Paul Eggert  <eggert@twinsun.com>
83182
83183         * lib/xgetcwd.c: Revert some of the previous change; intead,
83184         fix the HAVE_GETCWD_NULL code to behave more like the
83185         !HAVE_GETCWD_NULL code used to.
83186
83187         Include "xalloc.h".
83188         (xgetcwd): Do not return NULL when memory is exhausted; instead,
83189         invoke xalloc_die.
83190
83191 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83192
83193         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
83194         sys/param.h, as pathmax.h includes them.
83195
83196 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83197
83198         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
83199         (jm_PREREQ_XGETCWD): New macro.
83200
83201         * m4/getcwd.m4: New file.
83202
83203 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83204
83205         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
83206         like the HAVE_GETCWD_NULL code.
83207         Include pathmax.h if not HAVE_GETCWD.
83208         Do not include xalloc.h.
83209         (INITIAL_BUFFER_SIZE): New symbol.
83210         Do not use xmalloc / xrealloc, since the caller is responsible for
83211         handling errors.  Preserve errno around `free' during failure.
83212         Do not overrun buffer when using getwd.
83213
83214 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83215
83216         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
83217         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
83218         getcwd (NULL, 0).
83219
83220 2001-09-03  Paul Eggert  <eggert@twinsun.com>
83221
83222         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
83223         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
83224         spotted by Jim Meyering.
83225
83226 2001-09-03  Jim Meyering  <meyering@lucent.com>
83227
83228         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
83229         failure.
83230
83231 2001-09-02  Jim Meyering  <meyering@lucent.com>
83232
83233         * lib/error.c: Update from GNU libc.
83234
83235 2001-09-01  Jim Meyering  <meyering@lucent.com>
83236
83237         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
83238         Used by df.
83239
83240 2001-09-01  Jim Meyering  <meyering@lucent.com>
83241
83242         * lib/xreadlink.c: New file.
83243         * lib/xreadlink.h: New file.
83244         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
83245         xreadlink.h.
83246
83247         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
83248         doesn't conflict with sparc Solaris 7's definition in
83249         /usr/include/sys/int_types.h.
83250
83251         * lib/exclude.c: Use `""', not `<>' to #include non-system header
83252         files.
83253         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
83254         and strncasecmp as r-values.  Unixware didn't have declarations.
83255
83256 2001-08-31  Paul Eggert  <eggert@twinsun.com>
83257
83258         * lib/xstrtol.h: Add copyright notice.
83259         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
83260         LONGINT_INVALID_SUFFIX_CHAR.
83261
83262 2001-08-31  Paul Eggert  <eggert@twinsun.com>
83263
83264         * lib/xstrtol.c (strtoimax): New decl.
83265
83266 2001-08-31  Paul Eggert  <eggert@twinsun.com>
83267
83268         * lib/xgetcwd.c: Don't include pathmax.h.
83269         Include stdlib.h and unistd.h if available.
83270         Include xalloc.h.
83271         (xmalloc, xstrdup, free): Remove decls.
83272         (xgetcwd): Don't assume sizes fit in unsigned.
83273         Check for overflow when computing sizes.
83274         Simplify reallocation code.
83275
83276 2001-08-31  Paul Eggert  <eggert@twinsun.com>
83277
83278         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
83279         a directory's st_size can have an arbitrary value, so the old
83280         usage could waste an arbitrary amount of memory.  All uses
83281         changed.
83282         * lib/savedir.h: Update prototype.
83283
83284 2001-08-31  Paul Eggert  <eggert@twinsun.com>
83285
83286         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
83287
83288         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
83289         old strtoimax.c.
83290
83291         Also, make the following further changes to make this file's
83292         configuration more similar to that of strtol.c:
83293         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
83294         (strtoumax, uintmax_t, strtoull, strtol): Remove.
83295         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
83296         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
83297         changed to signed values.
83298
83299         And make the following changes as well:
83300         Fix copyright notice, as 1999 was missing.
83301         (verify): New macro.
83302         (strtoimax): Check sizes at compile-time, not run-time.
83303         Prefer strtol to strtoll if both work.
83304         (main): Remove; it was not that useful and was a pain to maintain.
83305
83306         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
83307
83308 2001-08-31  Jim Meyering  <meyering@lucent.com>
83309
83310         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
83311         Use an initial, malloc'd, buffer of length 128 rather than
83312         a statically allocated one of length 1024.
83313
83314 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83315
83316         Simplify code, partly by assuming autoconf 2.52 semantics.
83317
83318         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
83319
83320         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
83321         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
83322         All uses removed.
83323         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
83324         Move AC_REQUIRE to next-to-top level, to avoid confusion.
83325         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
83326         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
83327         jm_AC_HEADER_INTTYPES_H.
83328         * m4/jm-macros.m4 (jm_MACROS): Likewise.
83329
83330         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
83331
83332         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
83333         Quote first arg of AC_DEFUN.
83334         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
83335         since they are needed to parse the include file even if we need
83336         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
83337         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
83338         but with opposite signedness.
83339
83340 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83341
83342         Merge 'exclude' changes from tar 1.13.22.
83343         This fixes one or two unlikely storage allocation overflow bugs,
83344         but doesn't change user-visible behavior otherwise.
83345
83346 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83347
83348         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
83349         (jm_PREREQ_EXCLUDE): New macro.
83350
83351 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83352
83353         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
83354         tm to be declared.
83355
83356 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83357
83358         * lib/hash.c: Remove '2001' from copyright notice.
83359
83360 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83361
83362         * lib/full-write.h: New file.
83363         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
83364         * lib/full-write.c: Correct credits, as cccp.c no longer
83365         exists and anyway it was so heavily changed from the old cccp
83366         code as to be unrecognizable.  Include full-write.h.
83367         (full_write): Return size_t, with short writes meaning failure.
83368         All callers changed.  This fixes a bug with large buffers
83369         on 64-bit hosts.
83370         * lib/utime.c: Include full-write.h.
83371
83372 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83373
83374         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
83375         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
83376         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
83377         Include if available.
83378         (<xalloc.h>): Include
83379         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
83380         (verify): New macro.  Use it to verify that EXCLUDE macros do not
83381         collide with FNM macros.
83382         (struct patopts): New struct.
83383         (struct exclude): Use it, as exclude patterns now come with options.
83384         (new_exclude): Support above changes.
83385         (new_exclude, add_exclude_file):
83386         Initial size must now be a power of two to simplify overflow checking.
83387         (free_exclude, fnmatch_no_wildcards): New function.
83388         (excluded_filename): No longer requires options arg, as the options
83389         are determined by add_exclude.  Now returns bool, not int.
83390         (excluded_filename, add_exclude):
83391         Add support for the fancy new exclusion options.
83392         (add_exclude, add_exclude_file): Now takes int options arg.
83393         Check for arithmetic overflow when computing sizes.
83394         (add_exclude_file): xrealloc might modify errno, so don't
83395         realloc until after errno might be used.
83396
83397         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
83398         New macros.
83399         (free_exclude): New decl.
83400         (add_exclude, add_exclude_file): Now takes int options arg.
83401         (excluded_filename): No longer requires options arg, as the options
83402         are determined by add_exclude.  Now returns bool, not int.
83403
83404 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83405
83406         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
83407
83408 2001-08-27  Jim Meyering  <meyering@lucent.com>
83409
83410         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
83411
83412         * lib/version-etc.c (N_): Remove definition.
83413         Revert most of last change.
83414         Instead, simply don't mark the `Copyright...' string for translation.
83415         Based on advice from Paul Eggert.
83416
83417         * lib/strtoxmax.c: Tweak comment.
83418
83419 2001-08-26  Jim Meyering  <meyering@lucent.com>
83420
83421         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
83422
83423         * m4/xstrtoimax.m4: New file.
83424         * m4/xstrtoumax.m4: Add comments explaining why we
83425         AC_REPLACE_FUNCS(strtol).
83426
83427 2001-08-26  Jim Meyering  <meyering@lucent.com>
83428
83429         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
83430         of copyright with `%s' so translators don't get an untranslated
83431         message in 2002.
83432         (COPYRIGHT_YEAR): Define.
83433         (version_etc): Use fprintf rather than fputs.
83434         Suggestion from Ulrich Drepper.
83435
83436         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
83437
83438         * lib/strtoll.c: New file, from GNU libc.
83439         * lib/xstrtoimax.c: New file.
83440
83441         * lib/xstrtol.h: Add xstrtoimax.
83442         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
83443         * lib/strtoimax.c: New file.  Likewise, but first define
83444         STRTOUXMAX_SIGNED.
83445
83446         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
83447         ...
83448         * lib/strtoxmax.c: ... then renamed to this.
83449
83450 2001-08-18  Paul Eggert  <eggert@twinsun.com>
83451
83452         * m4/inttypes.m4: Add AC_PREREQ(2.13).
83453         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
83454         (jm_AC_TYPE_INTMAX_T): New macro.
83455         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
83456
83457         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
83458
83459         * m4/longlong.m4: Renamed from ulonglong.m4.
83460         * m4/inttypes.m4: Renamed from inttypes_h.m4.
83461         * m4/uintmax_t.m4: Removed.
83462
83463 2001-08-13  Paul Eggert  <eggert@twinsun.com>
83464
83465         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
83466         Port to Solaris 8, where 'sed' requires a space after the 'r'
83467         command, and where sh dislikes "$/".  Clean up the spacing a bit.
83468         Redirect output to $tmp just once.
83469
83470 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
83471
83472         * lib/addext.c (<errno.h>): Include.
83473         (errno): Declare if not defined.
83474         (addext): Work correctly when pathconf returns -1 and leaves
83475         errno alone because there is no limit.  Also, work even if
83476         pathconf returns a value greater than SIZE_MAX.
83477
83478 2001-08-12  Jim Meyering  <meyering@lucent.com>
83479
83480         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
83481         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
83482         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
83483         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
83484         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
83485         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
83486         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
83487         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
83488         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
83489         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
83490         utime.m4, utimes.m4, xstrtoumax.m4:
83491         Quote the first argument in each use of AC_DEFUN.
83492
83493 2001-08-12  Jim Meyering  <meyering@lucent.com>
83494
83495         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
83496         Simply `return getcwd (NULL, 0);'.
83497         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
83498         Use 1300 as initial value for length, not PATH_MAX.
83499
83500         * lib/pathmax.h: Clean up cpp syntax.
83501
83502 2001-08-12  Jim Meyering  <meyering@lucent.com>
83503
83504         * lib/gettimeofday.c: New file.
83505         * lib/gtod.h: New file.
83506         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
83507
83508 2001-08-05  Jim Meyering  <meyering@lucent.com>
83509
83510         * m4/jm-macros.m4: Require autoconf-2.52.
83511
83512 2001-08-04  Jim Meyering  <meyering@lucent.com>
83513
83514         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
83515         stmt, to get in sync with glibc.
83516
83517 2001-08-03  Paul Eggert  <eggert@twinsun.com>
83518
83519         The following changes are from gettext 0.10.39 as maintained by
83520         Bruno Haible.
83521
83522         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
83523         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
83524         with inverted sense.  All uses changed.
83525
83526         * lib/mbswidth.c: Don't include <limits.h>.
83527         Include <stdlib.h> and <string.h> unconditionally.
83528         (iswcntrl, mbsinit, ISCNTRL): New macros.
83529         (mbsnwidth): Use K&R style function declarations.
83530         Don't bother checking for MB_LEN_MAX == 1, since the compiler
83531         can optimize it when MB_CUR_MAX == 1.
83532         The width of control characters is zero, not 1.
83533
83534 2001-08-03  Paul Eggert  <eggert@twinsun.com>
83535
83536         The following changes are from gettext 0.10.39 as maintained by
83537         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
83538
83539         * m4/codeset.m4: Upgrade to serial AM1.
83540         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
83541         all uses changed.  Quote first arg of AC_DEFUN.
83542         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
83543
83544         * m4/iconv.m4: Upgrade to serial AM2.
83545         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
83546         Add --with-libconv-prefix.
83547         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
83548         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
83549         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
83550         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
83551         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
83552
83553         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
83554         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
83555         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
83556         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
83557         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
83558         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
83559         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
83560         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
83561         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
83562
83563         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
83564         string.h any more.
83565
83566         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
83567         not the default value.
83568
83569         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
83570         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
83571         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
83572         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
83573         Also check for iswcntrl, used for wcwidth fallback.
83574         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
83575         to Autoconf 2.13.
83576
83577 2001-08-03  Jim Meyering  <meyering@lucent.com>
83578
83579         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
83580         as it was in the original.  Reported by Paul Eggert.
83581
83582 2001-07-16  Jim Meyering  <meyering@lucent.com>
83583
83584         * m4/gettimeofday.m4: New file.
83585         Prompted by a report from Bernhard Baehr.
83586
83587 2001-07-15  Jim Meyering  <meyering@lucent.com>
83588
83589         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
83590         stuff. Now it's in ../Makefile.cfg.
83591
83592 2001-07-15  Jim Meyering  <meyering@lucent.com>
83593
83594         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
83595         (BUILT_SOURCES): Add unlocked-io.h.
83596         (io_functions): Define.
83597         (unlocked-io.h): New rule.
83598         (DISTCLEANFILES): Add unlocked-io.h.
83599         (all-local): Depend on unlocked-io.h, to ensure it is created.
83600
83601         * lib/unlocked-io.hin: New file
83602
83603         * lib/regex.c: Update from glibc.
83604
83605 2001-07-05  Jim Meyering  <meyering@lucent.com>
83606
83607         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
83608         recommendation.
83609         (libfetish_a_SOURCES): Put all .h files here instead.
83610         Remove a thus-exposed (better checks in automake) duplicate and
83611         two unnecessary .h files.
83612
83613 2001-07-04  Jim Meyering  <meyering@lucent.com>
83614
83615         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
83616         that generates jm-glibc-io.m4 so that it doesn't trigger any make
83617         distcheck failure.
83618
83619 2001-07-02  Jim Meyering  <meyering@lucent.com>
83620
83621         The following changes were prompted by suggestions from Bruno Haible.
83622
83623         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
83624         is now generated.
83625         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
83626         definition of EXTRA_DIST.
83627         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
83628         ensure that the generated file is created/updated whenever the list
83629         of $(unlocked_functions) is changed.
83630         (jm-glibc-io.m4): New rule.
83631         (unlocked-io.h): New rule -- currently unused.
83632
83633 2001-06-24  Jim Meyering  <meyering@lucent.com>
83634
83635         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
83636         unmatched right bracket, rather than kludging it with an extra,
83637         falsely-matching quote in a comment.  Patch by Akim Demaille.
83638
83639 2001-06-11  Jim Meyering  <meyering@lucent.com>
83640
83641         * lib/regex.c: Update from GNU libc.
83642
83643 2001-05-27  Jim Meyering  <meyering@lucent.com>
83644
83645         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
83646         Check for ut_type in struct utmp.
83647
83648 2001-05-27  Jim Meyering  <meyering@lucent.com>
83649
83650         * lib/readutmp.h (UT_TYPE): Define.
83651
83652 2001-05-24  Jim Meyering  <meyering@lucent.com>
83653
83654         * lib/argmatch.c: Include "quote.h".
83655         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
83656         quote function.  Reported by Göran Uddeborg.
83657
83658 2001-05-22  Jim Meyering  <meyering@lucent.com>
83659
83660         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
83661         now that we use the package-supplied version unconditionally.
83662         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
83663
83664 2001-05-21  Jim Meyering  <meyering@lucent.com>
83665
83666         * m4/regex.m4: Change a couple backticks to single quotes to avoid
83667         shell syntax errors.
83668
83669 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
83670
83671         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
83672
83673 2001-05-20  Paul Eggert  <eggert@twinsun.com>
83674
83675         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
83676         Don't bother to check library strftime, since
83677         we'll be using our own my_strftime function anyway.
83678         Define my_strftime instead of strftime.
83679
83680 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
83681
83682         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
83683         which is not yet declared.
83684
83685 2001-05-15  Jim Meyering  <meyering@lucent.com>
83686
83687         * m4/regex.m4: Use proper quoting so brackets appear in the test
83688         program.
83689         Reported by, and with help from, Bruno Haible.
83690
83691 2001-05-13  Jim Meyering  <meyering@lucent.com>
83692
83693         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
83694         undefined.
83695
83696 2001-05-11  Paul Eggert  <eggert@twinsun.com>
83697
83698         dirname code cleanup.  base_name now behaves more compatibly
83699         with POSIX basename when given file names that have trailing
83700         slashes, and similarly for dir_name.  Add new primitives
83701         base_len and dir_len.  Put the directory-name-related decls
83702         into dirname.h.
83703
83704         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
83705         * lib/backupfile.c (base_name): Likewise.
83706         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
83707         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
83708         * lib/makepath.c (strip_trailing_slashes): Likewise.
83709         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
83710         ISSLASH): Likewise.
83711         * lib/rename.c (strip_trailing_slashes): Likewise.
83712         * lib/same.c (base_name): Likewise.
83713         * lib/stripslash.c (ISSLASH): Likewise.
83714
83715         * lib/addext.c: Include <dirname.h> after size_t is defined.
83716         * lib/backupfile.c: Likewise.
83717
83718         * lib/addext.c (addext): Use base_len to trim redundant
83719         trailing slashes instead of doing it ourselves.
83720         But do not trim the last slash if it is not redundant.
83721
83722         * lib/backupfile.c (find_backup_file_name,
83723         max_backup_version): Use base_len instead of rolling it ourselves.
83724         Handle the case of "" and (on DOS) "C:" correctly.
83725
83726         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
83727         needed. Include <string.h>, <dirname.h>.
83728         (base_name): Allow file names ending in slashes, other than names
83729         that are all slashes.  In this case, return the basename followed
83730         by the slashes.  This is more general, and can be used in places
83731         where the original base_name purposely had an assertion failure.
83732         (base_len): New function.
83733
83734         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
83735         Do not include <assert.h>; no longer needed.
83736         Include xalloc.h.
83737         (memrchr): Remove decl.
83738         (dir_name_r): Remove.
83739         (dir_len): Renamed from dirlen.  All callers changed.
83740         Rewrite in terms of base_name, for simplicity and consistency.
83741         (dir_name): Never return NULL.  All callers changed.
83742         Do not include <stdlib.h> in test program; no longer needed.
83743         return 0; is fine for test program.
83744
83745         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
83746         New macros.
83747         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
83748
83749         * lib/path-concat.c (path_concat): Use base_len to compute
83750         base length, not strlen; this means we cannot rely on memcpy
83751         to null-terminate.
83752
83753         * lib/same.c (STREQ): Remove.
83754         (same_name): Handle the case where the basename ends in trailing '/'.
83755
83756         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
83757         a slash was stripped.  Do not strip the last slash after a
83758         file system prefix.
83759
83760 2001-05-11  Paul Eggert  <eggert@twinsun.com>
83761
83762         * lib/Makefile.am (libfetish_a_SOURCES):
83763         Add strftime.c, since we now compile it on all hosts.
83764
83765         * lib/strftime.c (my_strftime):
83766         Define to nstrftime if emacs, but only if my_strftime is not defined.
83767         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
83768         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
83769         Add one more extra argument: a nanoseconds value.
83770         All uses changed.
83771         (ns): New macro.
83772         (my_strftime function): Add %N format.
83773         (emacs_strftimeu): Renamed from emacs_strftime,
83774         with extra ut argument.
83775
83776 2001-05-09  Paul Eggert  <eggert@twinsun.com>
83777
83778         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
83779
83780 2001-04-21  Jim Meyering  <meyering@lucent.com>
83781
83782         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
83783         doesn't interfere.
83784
83785 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
83786
83787         * m4/ftruncate.m4: Check for chsize.
83788         Link with ftruncate.o unconditionally if ftruncate is missing.
83789         This was required when cross-compiling to i586-mingw32msvc.
83790
83791 2001-04-08  Jim Meyering  <meyering@lucent.com>
83792
83793         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
83794         recomputed; that's necessary when the offset spans a DST transition.
83795         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
83796
83797 2001-04-02  Jim Meyering  <meyering@lucent.com>
83798
83799         * lib/regex.h, regex.c: Update from GNU libc.
83800
83801 2001-03-24  Jim Meyering  <meyering@lucent.com>
83802
83803         * m4/jm-macros.m4: Require autoconf-2.49d.
83804
83805 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
83806
83807         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
83808
83809 2001-03-19  Paul Eggert  <eggert@twinsun.com>
83810
83811         * lib/version-etc.c (version_etc_copyright): Update to 2001.
83812
83813 2001-03-17  Jim Meyering  <meyering@lucent.com>
83814
83815         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
83816         now that the version in autoconf is equivalent.
83817         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
83818
83819         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
83820         Suggestion from Akim Demaille.
83821
83822         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
83823         (jm_PREREQ_TEMPNAME): New function.
83824
83825 2001-03-16  Paul Eggert  <eggert@twinsun.com>
83826
83827         * lib/tempname.c (uint64_t): Define to uintmax_t if
83828         not defined, and if UINT64_MAX is not defined.
83829         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
83830         Reported by John David Anglin.
83831
83832 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
83833
83834         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
83835         resolve alias if codeset is empty.
83836         * lib/config.charset (BeOS): Use wildcard syntax.
83837
83838 2001-03-13  Jim Meyering  <meyering@lucent.com>
83839
83840         * lib/path-concat.c (path_concat)
83841         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
83842         concatenating e.g., `C:' and `foo'.
83843         From Bruno Haible.
83844
83845 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
83846
83847         * lib/localcharset.c (locale_charset): Don't use
83848         setlocale(LC_CTYPE,NULL). Don't return NULL.
83849         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
83850
83851 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
83852
83853         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
83854         support for DOS/DJGPP.
83855
83856 2001-03-01  Paul Eggert  <eggert@twinsun.com>
83857
83858         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
83859         lacks mkstemp.  Compile our own tempname.c if we compile our own
83860         mkstemp.c, as mkstemp relies on tempname.
83861
83862 2001-03-01  Jim Meyering  <meyering@lucent.com>
83863
83864         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
83865         AH_VERBATIM really does output its argument verbatim.
83866
83867 2001-02-28  Paul Eggert  <eggert@twinsun.com>
83868
83869         * lib/Makefile.am (libfetish_a_SOURCES):
83870         Add dup-safer.c, fopen-safer.c.
83871         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
83872
83873         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
83874         * lib/unistd-safer.h: New files.
83875
83876 2001-02-25  Paul Eggert  <eggert@twinsun.com>
83877
83878         The mkstemp replacement is taken from glibc 2.2.2, with some
83879         portability fixes for use outside glibc, as follows:
83880
83881         * lib/tempname.c (struct_stat64): New macro.
83882         (direxists, __gen_tempname): Use it.
83883         This avoids a portability problem with Solaris 8.
83884
83885         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
83886         (<stddef.h>, <stdint.h>, <string.h>):
83887         Include only if STDC_HEADERS || _LIBC.
83888         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
83889         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
83890         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
83891         (__set_errno): Define this macro if <errno.h> doesn't.
83892         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
83893         Define these macros if <stdio.h> doesn't.
83894         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
83895         Define these macros if <sys/stat.h>
83896         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
83897         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
83898         __xstat64): Define if not _LIBC.
83899         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
83900         (__gen_tempname): Invoke gettimeofday only if
83901         HAVE_GETTIMEOFDAY || _LIBC;
83902         otherwise, fall back on plain "time".
83903         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
83904
83905         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
83906
83907         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
83908
83909 2001-02-18  Paul Eggert  <eggert@twinsun.com>
83910
83911         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
83912
83913 2001-02-17  Paul Eggert  <eggert@twinsun.com>
83914
83915         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
83916         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
83917         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
83918         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
83919
83920 2001-02-17  Paul Eggert  <eggert@twinsun.com>
83921
83922         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
83923         Remove workaround macros for hosts that have mbrtowc but not
83924         mbstate_t, as we now insist on proper declarations for both
83925         before using mbrtowc.
83926
83927 2001-02-17  Jim Meyering  <meyering@lucent.com>
83928
83929         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
83930         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
83931         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
83932         UnixWare 7.1.1.
83933
83934         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
83935         rather than AC_CACHE_VAL.
83936
83937 2001-02-17  Jim Meyering  <meyering@lucent.com>
83938
83939         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
83940         around included file name.
83941
83942         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
83943
83944         * lib/strftime.c: Update from GNU libc (the only changes were to
83945         comments).
83946
83947 2001-02-17  Jim Meyering  <meyering@lucent.com>
83948
83949         * lib/regex.c: Update from libc.
83950
83951 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
83952
83953         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
83954         clash.
83955
83956 2001-02-16  Paul Eggert  <eggert@twinsun.com>
83957
83958         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
83959         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
83960         Reported by Mark Hounschell via Paul Eggert.
83961
83962 2001-02-07  Jim Meyering  <meyering@lucent.com>
83963
83964         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
83965
83966 2001-02-05  Jim Meyering  <meyering@lucent.com>
83967
83968         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
83969         it includes the patch required for `large file' support with at least
83970         HP-UX's 10.20 /bin/cc.
83971
83972 2001-02-03  Jim Meyering  <meyering@lucent.com>
83973
83974         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
83975         AS_IF, now that it works once again (mysteriously).
83976         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
83977
83978 2001-01-30  Jim Meyering  <meyering@lucent.com>
83979
83980         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
83981         * m4/chown.m4: Rename conftestchown to conftest.chown.
83982         * m4/rename.m4: s/conftestdir/conftest.d1/ and
83983         s/conftestdir2/conftest.d2/.
83984         * m4/utimes.m4: s/conftestdata/conftest.data/
83985         Inspired by Pavel Roskin's change in autoconf.
83986
83987 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
83988
83989         * lib/config.charset: Update for FreeBSD 4.2.
83990
83991 2001-01-27  Jim Meyering  <meyering@lucent.com>
83992
83993         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
83994         a use of AS_IF.
83995         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
83996
83997 2001-01-26  Jim Meyering  <meyering@lucent.com>
83998
83999         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
84000         quotearg.c includes it.
84001
84002 2001-01-26  Jim Meyering  <meyering@lucent.com>
84003
84004         * lib/quotearg.c: Include stddef.h.
84005         * lib/quote.c: Include stddef.h.
84006         Reported by Axel Kittenberger.
84007
84008         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
84009         line in double quotes so that it evokes a better diagnostic.
84010         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
84011         Reported by Axel Kittenberger.
84012
84013 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
84014
84015         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
84016         as if it was a `charset'.
84017
84018 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
84019
84020         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
84021         has const.
84022
84023 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
84024
84025         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
84026         to avoid a warning.  Add back 'const' to inptr.
84027
84028 2001-01-20  Jim Meyering  <meyering@lucent.com>
84029
84030         Be sure that headers are checked before used in code compiled
84031         for the type checks.
84032         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
84033         In place of that, invoke jm_CHECK_ALL_TYPES.
84034         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
84035         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
84036         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
84037         The check for ssize_t was mistakenly run before the test for unistd.h.
84038
84039         The configure-time check for stdbool.h was missing.
84040         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
84041         (jm_PREREQ_HASH): New function.
84042
84043 2001-01-17  Jim Meyering  <meyering@lucent.com>
84044
84045         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
84046         for autoconf-2.49c.
84047         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
84048
84049 2001-01-16  Jim Meyering  <meyering@lucent.com>
84050
84051         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
84052         From Bruno Haible.
84053
84054 2001-01-14  Jim Meyering  <meyering@lucent.com>
84055
84056         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
84057         foo and bar.  Create conftestdir/ in the script, not in the C code.
84058         Remove directories in the script, not in the C code.
84059         Remove conftestdir{,2} before trying to create the directory.
84060         Make the entire configure script fail if the mkdir fails.
84061
84062 2001-01-14  Jim Meyering  <meyering@lucent.com>
84063
84064         * lib/rename.c: New file.  From Volker Borchert.
84065         Include stdlib.h, string.h or strings.h, and xalloc.h.
84066         Use strip_trailing_slashes rather than open-coding it.
84067
84068 2001-01-03  Paul Eggert  <eggert@twinsun.com>
84069
84070         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
84071
84072 2001-01-03  Jim Meyering  <meyering@lucent.com>
84073
84074         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
84075         of local `inptr' to avoid warning with some system declarations of
84076         iconv.
84077
84078 2001-01-02  Volker Borchert  <bt@teknon.de>
84079
84080         * m4/rename.m4: New file.
84081         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
84082
84083 2001-01-01  Jim Meyering  <meyering@lucent.com>
84084
84085         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
84086         even on systems with utmpx.h.  It's necessary for the declaration of
84087         utmp's ut_user member.  Reported by Andreas Jaeger.
84088
84089         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
84090         available. They are required for the declarations of getgrgid and
84091         getpwuid resp.
84092         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
84093         Reported by Andreas Jaeger.
84094
84095 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
84096
84097         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
84098         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
84099         so `make install' also works in VPATH builds.
84100
84101 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
84102
84103         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
84104         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
84105         can be used in subdirectories.
84106
84107 2000-12-29  Paul Eggert  <eggert@twinsun.com>
84108
84109         * lib/modechange.c: Do not assume that mode_t uses the
84110         traditional octal encoding.  E.g. "chmod 1 FOO" should set
84111         the other-execute bit of FOO even if S_IXOTH != 1.
84112
84113         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
84114         WOTH, XOTH, ALLM): New macros.
84115         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
84116          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
84117         Use them.
84118         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
84119         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
84120         (mode_compile):
84121         No need to use uintmax_t; unsigned long is long enough.
84122         Don't bother to get suffix since we don't use it.
84123
84124 2000-12-26  Jim Meyering  <meyering@lucent.com>
84125
84126         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
84127         better with autoheader.
84128
84129 2000-12-24  Jim Meyering  <meyering@lucent.com>
84130
84131         * lib/hash.c (is_prime): Return explicit boolean values.
84132         (hash_get_first): Return NULL to appease Irix5.6's 89.
84133         Reported by Nelson Beebe.
84134
84135 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
84136
84137         * lib/localcharset.c (locale_charset): Add support for Win32.
84138
84139 2000-12-18  Paul Eggert  <eggert@twinsun.com>
84140
84141         * lib/physmem.h, lib/physmem.c: New files.
84142
84143         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
84144         (noinst_HEADERS): Add physmem.h.
84145
84146         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
84147         't' for compatibility with Solaris 8 sort.
84148
84149 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
84150
84151         * lib/config.charset: Add support for BeOS.
84152
84153 2000-12-17  Jim Meyering  <meyering@lucent.com>
84154
84155         * m4/dos.m4 (jm_AC_DOS): New file and macro.
84156         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
84157
84158 2000-12-16  Jim Meyering  <meyering@lucent.com>
84159
84160         This bug had a serious impact on chown: `chown N:M FILE' (for integer
84161         N and M) would have treated it like `chown N:N FILE'.
84162
84163         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
84164
84165 2000-12-16  Jim Meyering  <meyering@lucent.com>
84166
84167         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
84168         SHELLS_FILE to a file name that's useful on djgpp systems.
84169         Include stdlib.h.
84170         (ADDITIONAL_DEFAULT_SHELLS): Define.
84171         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
84172         Based mostly on a patch from Prashant TR.
84173
84174 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
84175
84176         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
84177         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
84178         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
84179
84180 2000-12-08  Andreas Schwab  <schwab@suse.de>
84181
84182         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
84183         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
84184
84185 2000-12-07  Jim Meyering  <meyering@lucent.com>
84186
84187         * lib/stripslash.c (ISSLASH): Define.
84188         (strip_trailing_slashes): Use ISSLASH rather than comparing against
84189         `/'.
84190         From Prashant TR.
84191
84192         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
84193         (dir_name_r): Declare this function as static.
84194         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
84195         manifest itself on a name containing a mix of slashes and
84196         backslashes.
84197         Make this function work with names starting with a DOS-style
84198         drive letter and colon prefix.
84199         (dir_name): Append `.' if necessary.
84200         Based mostly on patches from Prashant TR and Eli Zaretskii.
84201
84202         * lib/dirname.h (dir_name_r): Remove prototype.
84203
84204 2000-12-06  Paul Eggert  <eggert@twinsun.com>
84205
84206         * m4/off_t-format.m4: Remove this file.
84207         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
84208
84209 2000-12-06  Jim Meyering  <meyering@lucent.com>
84210
84211         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
84212         replacement strtoull, we may well need the replacement strtoul, too.
84213         Check for declarations of strtoul and strtoull.
84214         Check for strtol.  Mainly as a cue to cause automake to include
84215         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
84216         Check for limits.h -- strtol.c needs it.
84217
84218 2000-12-05  Jim Meyering  <meyering@lucent.com>
84219
84220         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
84221
84222 2000-12-04  Jim Meyering  <meyering@lucent.com>
84223
84224         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
84225         Also include memory.h, stdlib.h, unistd.h if appropriate.
84226         Reported by Andreas Jaeger (conflicting declaration of malloc).
84227
84228 2000-12-02  Jim Meyering  <meyering@lucent.com>
84229
84230         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
84231         * m4/jm-macros.m4 (jm_MACROS): require it.
84232
84233 2000-12-02  Jim Meyering  <meyering@lucent.com>
84234
84235         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
84236
84237 2000-12-01  Paul Eggert  <eggert@twinsun.com>
84238
84239         * lib/memrchr.c: Include <config.h> before any system include file.
84240
84241 2000-11-30  Jim Meyering  <meyering@lucent.com>
84242
84243         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
84244
84245 2000-11-30  Jim Meyering  <meyering@lucent.com>
84246
84247         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
84248
84249 2000-11-29  Paul Eggert  <eggert@twinsun.com>
84250
84251         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
84252
84253 2000-11-26  Jim Meyering  <meyering@lucent.com>
84254
84255         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
84256
84257 2000-11-22  Paul Eggert  <eggert@twinsun.com>
84258
84259         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
84260         size of (size_t) -1; it's not portable.
84261
84262 2000-11-17  Jim Meyering  <meyering@lucent.com>
84263
84264         * lib/strstr.c: Update from GNU libc.
84265
84266 2000-11-17  Akim Demaille  <akim@epita.fr>
84267
84268         * lib/obstack.h: Formatting changes.
84269         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
84270         prevent type checking.
84271         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
84272         cast the value to (void *): assigning a `foo *' to a `void *'
84273         variable is valid.
84274         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
84275
84276 2000-11-16  Jim Meyering  <meyering@lucent.com>
84277
84278         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
84279
84280 2000-11-11  Jim Meyering  <meyering@lucent.com>
84281
84282         * lib/error.c: Add a couple #includes, merging from GNU libc version.
84283
84284 2000-11-10  Jim Meyering  <meyering@lucent.com>
84285
84286         * lib/obstack.h: Update from GNU libc.
84287         * lib/obstack.c: Likewise.
84288
84289 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
84290
84291         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
84292
84293 2000-11-06  Paul Eggert  <eggert@twinsun.com>
84294
84295         * lib/getusershell.c (setusershell): Use rewind rather than
84296         fseek/fseeko, to avoid configuration hassles with fseeko.
84297         Don't bother opening SHELLS_FILE if shellstream is NULL;
84298         it's not necessary.
84299
84300 2000-11-05  Jim Meyering  <meyering@lucent.com>
84301
84302         * lib/makepath.h (make_dir): Declare.
84303         * lib/makepath.c (make_dir): Remove `static' attribute.
84304         Tweak a comment.
84305
84306 2000-11-04  Jim Meyering  <meyering@lucent.com>
84307
84308         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
84309
84310 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
84311
84312         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
84313         last one in a bucket, advance to the next bucket.
84314
84315 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
84316
84317         * lib/fnmatch.c: Do not comment out all the code if we are using
84318         the GNU C library, because in some cases we are replacing buggy
84319         code in the GNU C library itself.
84320
84321 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
84322
84323         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
84324         (regex_compile): Catch bogus \(\1\).
84325
84326 2000-10-30  Paul Eggert  <eggert@twinsun.com>
84327
84328         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
84329         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
84330         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
84331
84332 2000-10-30  Paul Eggert  <eggert@twinsun.com>
84333
84334         * lib/error.h, getline.h, modechange.h:
84335         Remove "2000" from Copyright line, as the file hasn't been
84336         changed this year other than in the copyright notice.
84337
84338         * lib/xalloc.h: Add "2000" to Copyright line, as this file
84339         was changed this year.
84340
84341 2000-10-29  Jim Meyering  <meyering@lucent.com>
84342
84343         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
84344         renaming.
84345         * m4/ls-mntd-fs.m4: Likewise
84346
84347 2000-10-29  Jim Meyering  <meyering@lucent.com>
84348
84349         * lib/xstat.in: Fix grammar in comment.
84350
84351 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
84352
84353         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
84354         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
84355         doesn't define __restrict_arr.
84356
84357 2000-10-28  Jim Meyering  <meyering@lucent.com>
84358
84359         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
84360         (jm_PREREQ_MEMCHR): New function.
84361
84362 2000-10-28  Jim Meyering  <meyering@lucent.com>
84363
84364         * lib/memchr.c: Update from libc.
84365         Adjust for portability:
84366         [HAVE_STDLIB_H]: Include stdlib.h.
84367         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
84368         Undef __memchr, too.
84369         [!weak_alias]: Define __memchr to memchr.
84370
84371         * lib/regex.c: Update from libc.
84372         * lib/regex.h: Likewise.
84373         * lib/getopt1.c: Likewise.
84374         * lib/memcmp.c: Likewise.
84375
84376         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
84377         Avoid using fseek, when possible -- it's broken by design.
84378         Patch by Ulrich Drepper.
84379
84380 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
84381
84382         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
84383         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
84384         Giving in to popular pressure to shut up the compiler with casts.
84385
84386 2000-10-26  Jim Meyering  <meyering@lucent.com>
84387
84388         * lib/strftime.c: Update from libc.
84389
84390 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
84391
84392         * regex.c: More `unsigned char' -> `re_char' changes.
84393         Also change several `int' into `re_wchar_t'.
84394         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
84395         (PUSH_FAILURE_POINTER): Don't cast any more.
84396         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
84397         We want GCC to complain, since this piece of code makes
84398         re_match non-reentrant, which *should* be fixed.
84399         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
84400         (EXTEND_BUFFER): Use RETALLOC.
84401         (SET_LIST_BIT): Don't cast.
84402         (re_wchar_t): New type.
84403         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
84404         that those two functions will always properly return.
84405         (IMMEDIATE_QUIT_CHECK): Cast to void.
84406         (analyse_first): Use recursion rather than an explicit stack.
84407         (re_compile_fastmap): Can't fail anymore.
84408         (re_search_2): Don't check re_compile_fastmap for failure.
84409         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
84410         Now also sets the new value (passed in a new argument).
84411         (re_match_2_internal): Use it.
84412         Also, use a new var `reg' of type size_t when looping through regs
84413         rather than reuse the inappropriate `mcnt'.
84414
84415 2000-10-25  Jim Meyering  <meyering@lucent.com>
84416
84417         * lib/obstack.c: Update from libc.
84418
84419 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
84420
84421         * regex.c (regex_compile): Change the way of handling a range from
84422         a char less than 256 to a char not less than 256.
84423
84424 2000-10-24  Andrew Innes  <andrewi@gnu.org>
84425
84426         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
84427         NT-Emacs only.
84428         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
84429         so that re_search functions only quit when callers expect them to.
84430
84431 2000-10-23  Jim Meyering  <meyering@lucent.com>
84432
84433         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
84434         wrong.  That set_locale call must not have any side effects.
84435         From Paul Eggert.
84436
84437 2000-10-22  Jim Meyering  <meyering@lucent.com>
84438
84439         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
84440         [CYCLIC]: Remove now-unused definition.
84441
84442         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
84443         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
84444         Suggestion from Ulrich Drepper.
84445
84446 2000-10-21  Jim Meyering  <meyering@lucent.com>
84447
84448         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
84449         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
84450         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
84451
84452 2000-10-21  Jim Meyering  <meyering@lucent.com>
84453
84454         * lib/dirname.c (memrchr): Declare if necessary.
84455         (dir_name): Remove the restriction that there be no
84456         trailing slashes.  Now, this code skips past them, effectively
84457         ignoring them.
84458         [TEST_DIRNAME] (main): New unit tests.
84459
84460         * lib/memrchr.c: New file from GNU libc.
84461         Undef __memrchr, too.
84462         [!weak_alias]: Define __memrchr to memrchr.
84463         Guard weak_alias use with `#ifdef weak_alias'.
84464
84465 2000-10-21  Jim Meyering  <meyering@lucent.com>
84466
84467         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
84468         (dir_name): Use dir_name_r.
84469         * lib/dirname.h (dir_name_r): Declare it.
84470
84471 2000-10-17  Jim Meyering  <meyering@lucent.com>
84472
84473         * lib/quote.h (PARAMS): Define and use.
84474         Reported by Akim Demaille.
84475
84476         * lib/getopt.c: Update from libc.
84477
84478 2000-10-16  Jim Meyering  <meyering@lucent.com>
84479
84480         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
84481         setlocale.
84482         From Jan Fedak.
84483
84484 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
84485
84486         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
84487
84488 2000-09-25  Jim Meyering  <meyering@lucent.com>
84489
84490         * lib/md5.h (rol): Define (from GnuPG).
84491
84492         * lib/sha.c: Give credit (GnuPG) where due.
84493         (M): Use rol rather than open-coding it.
84494         Add a FIXME comment.
84495
84496 2000-09-21  Jim Meyering  <meyering@lucent.com>
84497
84498         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
84499         Reported by Michael Stone.
84500
84501 2000-09-20  Jim Meyering  <meyering@lucent.com>
84502
84503         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
84504         (noinst_HEADERS): Add sha.h.
84505         Based on code from Scott G. Miller and from GnuPG.
84506
84507 2000-09-18  Jim Meyering  <meyering@lucent.com>
84508
84509         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
84510         LIBS. Otherwise, everyone ends up linking with -lelf for some
84511         configurations.
84512         Reported by Mike Stone.
84513
84514 2000-09-15  Jim Meyering  <meyering@lucent.com>
84515
84516         * lib/regex.c: Update from libc.
84517
84518 2000-09-10  Jim Meyering  <meyering@lucent.com>
84519
84520         * lib/getopt.c (_getopt_internal): Update from glibc.
84521
84522 2000-09-09  Jim Meyering  <meyering@lucent.com>
84523
84524         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
84525         think it should be used as a general replacement for isascii.
84526         * lib/fnmatch.c: Likewise.
84527         * lib/mbswidth.c: Likewise
84528         * lib/regex.c: Likewise.
84529
84530         Don't use atoi.
84531         * lib/userspec.c: Include sys/param.h and limits.h.
84532         Include xstrtol.h.
84533         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84534         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
84535         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
84536         UID, GID.  Check range.
84537
84538 2000-09-06  Jim Meyering  <meyering@lucent.com>
84539
84540         * lib/getopt.c (_getopt_internal): Update from glibc.
84541
84542 2000-08-30  Jim Meyering  <meyering@lucent.com>
84543
84544         * lib/strftime.c: Merge in changes from GNU libc.
84545
84546 2000-08-26  Jim Meyering  <meyering@lucent.com>
84547
84548         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
84549         * m4/fpending.m4: New file.
84550
84551 2000-08-26  Jim Meyering  <meyering@lucent.com>
84552
84553         * lib/closeout.c: Include "__fpending.h".
84554         (close_stdout_status): Return right away if there's nothing to flush.
84555
84556         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
84557         * lib/__fpending.c: New file.
84558         * lib/__fpending.h: New file.
84559
84560 2000-08-20  Jim Meyering  <meyering@lucent.com>
84561
84562         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
84563         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
84564         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
84565
84566 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
84567
84568         Improve fileutils installation on systems where running
84569         programs (like install) can't be unlinked.
84570         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
84571         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
84572
84573 2000-08-07  Paul Eggert  <eggert@twinsun.com>
84574
84575         Standardize on "memory exhausted" instead of "Memory exhausted"
84576         or "virtual memory exhausted".
84577         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
84578         "virtual memory exhausted".
84579         * lib/same.c (same_name): Invoke xalloc_die instead of printing
84580         our own message.
84581         * lib/userspec.c (parse_user_spec): Likewise.
84582         * lib/bumpalloc.h: comment fix
84583         * lib/same.c, userspec.c: Include xalloc.h.
84584
84585         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
84586         not char *const and pointing to a constant array.
84587         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
84588         (xrealloc): Comment fix.
84589
84590         * lib/userspec.c (parse_user_spec):
84591         Don't translate a message until just before returning,
84592         to avoid unnecessary translation.
84593
84594 2000-08-07  Jim Meyering  <meyering@lucent.com>
84595
84596         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
84597         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
84598         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
84599         getgroups.c, gethostname.c, getopt.h, group-member.c,
84600         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
84601         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
84602         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
84603         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
84604         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
84605         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
84606         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
84607         yesno.c: Back out Copyright date changes for each file with no change
84608         this year.  This eases coordination with other programs using the same
84609         source code modules.  From Paul Eggert.
84610
84611 2000-08-06  Paul Eggert  <eggert@twinsun.com>
84612
84613         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
84614         not char, for compatibility with glibc 2.1.3 strftime.c.
84615
84616 2000-08-03  Greg McGary  <greg@mcgary.org>
84617
84618         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
84619         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
84620         (EXTEND_BUFFER): Use them.
84621
84622 2000-08-01  Jim Meyering  <meyering@lucent.com>
84623
84624         * lib/dirname.c (ISSLASH): Define.
84625         (BACKSLASH_IS_PATH_SEPARATOR): Define.
84626         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
84627         both `\' and `/' may be use as path separators.
84628         Based on a patch from Prashant TR.
84629
84630 2000-07-31  Paul Eggert  <eggert@twinsun.com>
84631
84632         * lib/quotearg.c (quotearg_n_options): Don't make the initial
84633         slot vector a constant, since it might get modified.
84634
84635 2000-07-31  Jim Meyering  <meyering@lucent.com>
84636
84637         * lib/xmalloc.c: Use `virtual memory exhausted', not
84638         `Memory exhausted'.
84639         * lib/obstack.c (print_and_abort): Likewise.
84640
84641 2000-07-30  Paul Eggert  <eggert@twinsun.com>
84642
84643         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
84644         buffer, so that the caller can always quote one small
84645         component of a "memory exhausted" message in slot 0.
84646         From a suggestion by Jim Meyering.
84647
84648 2000-07-30  Jim Meyering  <meyering@lucent.com>
84649
84650         * lib/makepath.c (make_path): Quote the other instance, too.
84651
84652         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
84653         (STATIC_BUF_SIZE): Define.
84654         (quotearg_n_options): Use only statically allocated storage when
84655         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
84656         than STATIC_BUF_SIZE.
84657
84658 2000-07-29  Jim Meyering  <meyering@lucent.com>
84659
84660         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
84661         * lib/dirname.c (dir_name): Likewise.
84662
84663         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
84664         `/'.
84665
84666         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
84667         (dir_name): Assert that there are no trailing slashes.
84668
84669 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
84670
84671         * lib/mbswidth.h (mbswidth): Add a flags argument.
84672         (mbswidth): New declaration.
84673         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
84674         * lib/mbswidth.c (mbswidth): Add a flags argument.
84675         (mbsnwidth): New function.
84676
84677 2000-07-24  Jim Meyering  <meyering@lucent.com>
84678
84679         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
84680
84681 2000-07-23  Paul Eggert  <eggert@twinsun.com>
84682
84683         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
84684
84685 2000-07-23  Paul Eggert  <eggert@twinsun.com>
84686
84687         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
84688         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
84689         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
84690         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
84691         invoke multibyte primitives.
84692
84693 2000-07-23  Paul Eggert  <eggert@twinsun.com>
84694
84695         * lib/quotearg.c:
84696         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
84697         so that mbstate_t is always defined.
84698
84699         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
84700         be 1 in at least one GCC installation, and this configuration
84701         error is likely to be common.  Ignoring MB_LEN_MAX hurts
84702         performance on hosts that have mbrtowc but have only unibyte
84703         locales, but I assume these hosts are rare.
84704
84705 2000-07-23  Paul Eggert  <eggert@twinsun.com>
84706
84707         * lib/mbswidth.c (_XOPEN_SOURCE):
84708         Don't define; this causes problems on Solaris 7.
84709         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
84710
84711 2000-07-23  Jim Meyering  <meyering@lucent.com>
84712
84713         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
84714         too: getgrgid, getpwuid, getuid.
84715
84716 2000-07-23  Jim Meyering  <meyering@lucent.com>
84717
84718         * lib/basename.c (base_name): Add an assertion.
84719
84720 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
84721
84722         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
84723         shadow its mbsinit function.
84724
84725 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
84726
84727         * lib/mbswidth.h: New file.
84728         * lib/mbswidth.c: New file.
84729         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
84730         (noinst_HEADERS): Add mbswidth.h.
84731
84732 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
84733
84734         * lib/config.charset: Add support for FreeBSD. Improve support for
84735         HP-UX and IRIX 6.
84736
84737 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
84738
84739         * m4/mbswidth.m4: New file.
84740         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
84741
84742 2000-07-15  Jim Meyering  <meyering@lucent.com>
84743
84744         * lib/makepath.c: Include quote.h.
84745         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
84746         corresponding argument in a `quote (...)' call.
84747         Give better diagnostics.
84748
84749         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
84750         (noinst_HEADERS): Add quote.h.
84751
84752         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
84753         from tar's src/misc.c.
84754         * lib/quote.h: New file.  Prototypes for same.
84755
84756 2000-07-14  Paul Eggert  <eggert@twinsun.com>
84757
84758         From a suggestion by Bruno Haible.
84759         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
84760         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
84761         to decide whether to define the BeOS workaround macro;
84762         this adjusts to the change to AC_MBSTATE_T.
84763
84764 2000-07-14  Jim Meyering  <meyering@lucent.com>
84765
84766         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
84767         jm_AC_TYPE_UINTMAX_T.
84768
84769 2000-07-13  Paul Eggert  <eggert@twinsun.com>
84770
84771         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
84772
84773         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
84774         quotearg_buffer_restyled): Add support for
84775         clocale_quoting_style.  Undo previous change to
84776         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
84777         and "{RIGHT QUOTATION MARK}" msgids.
84778
84779 2000-07-10  Paul Eggert  <eggert@twinsun.com>
84780
84781         From a suggestion by Bruno Haible.
84782         * m4/mbstate_t.m4 (AC_MBSTATE_T):
84783         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
84784         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
84785         and mbstate_t, to a single-part test that simply defines mbstate_t.
84786         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
84787         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
84788
84789 2000-07-10  Jim Meyering  <meyering@lucent.com>
84790
84791         * m4/strerror_r.m4: Mirror the correction made in autoconf.
84792
84793         * m4/gnu-source.m4: Output to confdefs.h directly.
84794         Suggestion from Akim Demaille.
84795
84796 2000-07-09  Paul Eggert  <eggert@twinsun.com>
84797
84798         The old behavior of quoting `like this' doesn't look good with
84799         newer, ISO-style fonts.  See:
84800         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
84801
84802         Instead, quote "like this" by default.  Let the translator
84803         tailor the locale-specific quoting behavior by providing
84804         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
84805
84806         * lib/quotearg.c (N_): New macro.
84807         (gettext_default): New function.
84808         (quotearg_buffer_restyled): Use
84809         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
84810         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
84811
84812 2000-07-09  Jim Meyering  <meyering@lucent.com>
84813
84814         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
84815         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
84816
84817         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
84818         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
84819
84820 2000-07-09  Jim Meyering  <meyering@lucent.com>
84821
84822         * lib/Most files: Update copyright dates to include 2000.
84823
84824 2000-07-08  Jim Meyering  <meyering@lucent.com>
84825
84826         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
84827         if not defined.
84828         (xgethostname): Remove now-unnecessary #ifdef.
84829         Move declaration of `err' into loop where it's used.
84830
84831 2000-07-05  Paul Eggert  <eggert@twinsun.com>
84832         and Bruno Haible  <haible@clisp.cons.org>
84833
84834         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
84835         only if the test for an object-type mbstate_t fails.  This
84836         prevents us from mistakenly reporting that mbstate_t is a
84837         system object type after we "#define mbstate_t int" to work
84838         around its lack.
84839
84840 2000-07-05  Paul Eggert  <eggert@twinsun.com>
84841         and Bruno Haible  <haible@clisp.cons.org>
84842
84843         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
84844
84845 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84846
84847         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
84848         to strerror_r.
84849         Include <ctype.h> for use of isalpha.
84850
84851 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84852
84853         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
84854         by allocating a larger buffer. Test the gethostname return value for
84855         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
84856         returns an error and ENAMETOOLONG isn't defined.
84857
84858 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84859
84860         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
84861         dimension.
84862
84863 2000-07-04  Jim Meyering  <meyering@lucent.com>
84864
84865         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
84866         of the deprecated AC_CHECKING.
84867
84868 2000-07-04  Jim Meyering  <meyering@lucent.com>
84869
84870         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
84871         Reported by Bruno Haible.
84872
84873 2000-07-04  Jim Meyering  <meyering@lucent.com>
84874
84875         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
84876         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
84877         lacks mbrtowc.
84878
84879 2000-07-03  Paul Eggert  <eggert@twinsun.com>
84880
84881         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
84882         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
84883
84884 2000-07-03  Paul Eggert  <eggert@twinsun.com>
84885         and Bruno Haible  <haible@clisp.cons.org>
84886
84887         * lib/quotearg.c (mbrtowc):
84888         Assign to *pwc, and return 1 only if result is nonzero.
84889         (iswprint): Use ISPRINT when substituting our own mbrtowc.
84890
84891 2000-07-03  Jim Meyering  <meyering@lucent.com>
84892
84893         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
84894
84895 2000-07-03  Jim Meyering  <meyering@lucent.com>
84896
84897         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
84898         This is necessary to get a definition of e.g., UTMP_FILE on
84899         HP-UX 10.20.
84900         From Bob Proulx.
84901
84902 2000-07-02  Jim Meyering  <meyering@lucent.com>
84903
84904         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
84905
84906         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
84907         AC_LIBOBJ(function_name).
84908         * m4/chown.m4: Likewise.
84909         * m4/fnmatch.m4: Likewise.
84910         * m4/ftruncate.m4: Likewise.
84911         * m4/getgroups.m4: Likewise.
84912         * m4/getline.m4: Likewise.
84913         * m4/group-member.m4: Likewise.
84914         * m4/jm-macros.m4: Likewise.
84915         * m4/lstat.m4: Likewise.
84916         * m4/malloc.m4: Likewise.
84917         * m4/memcmp.m4: Likewise.
84918         * m4/nanosleep.m4: Likewise.
84919         * m4/putenv.m4: Likewise.
84920         * m4/realloc.m4: Likewise.
84921         * m4/regex.m4: Likewise.
84922         * m4/stat.m4: Likewise.
84923         * m4/strftime.m4: Likewise.
84924
84925 2000-07-02  Jim Meyering  <meyering@lucent.com>
84926
84927         * lib/quotearg.c (mbstate_t): Don't define here.
84928
84929 2000-07-02  Jim Meyering  <meyering@lucent.com>
84930
84931         * lib/nanosleep.c (SIGCONT): Define if not already defined.
84932
84933 2000-07-01  Jim Meyering  <meyering@lucent.com>
84934
84935         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
84936
84937 2000-07-01  Jim Meyering  <meyering@lucent.com>
84938
84939         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
84940         problem.
84941
84942 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
84943
84944         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
84945         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
84946
84947 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
84948
84949         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
84950         per change in ../m4/ls-mntd-fs.m4.
84951         (read_filesystem_list): Ignore symbolic links.
84952
84953 2000-06-29  Jim Meyering  <meyering@lucent.com>
84954
84955         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
84956         for declaration of strcmp.
84957
84958         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
84959
84960         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
84961         Avoid warning by casting result to `char *' to remove `const'.
84962
84963 2000-06-28  Jim Meyering  <meyering@lucent.com>
84964
84965         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
84966         included by quotearg.c, for which we perform this test.  From
84967         Bruno Haible.
84968
84969 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
84970
84971         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
84972         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
84973         <utmpx.h> exists, put readutmp.o into LIBOBJS.
84974
84975 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
84976
84977         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
84978
84979 2000-06-26  Paul Eggert  <eggert@twinsun.com>
84980
84981         savedir now sets errno on failure and invokes xmalloc to get memory.
84982         Fix a couple of other minor bugs while we're at it.
84983
84984         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
84985         (NAMLEN): Remove macro.
84986         (malloc, realloc): Remove decls.
84987         (stpcpy): Likewise.
84988         ("xalloc.h"): Include.
84989         (NAME_SIZE_DEFAULT): New macro.
84990         (savedir): Use xmalloc / xrealloc to allocate memory.
84991         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
84992         Skip "" directory entries.
84993         Use strlen to calculate directory entry length, since the old method
84994         is rarely used these days and isn't worth supporting.
84995         Don't use a pointer after freeing it.
84996         Check for integer overflow when calculating allocation size.
84997         Use memcpy to copy entries, instead of stpcpy.
84998         Set errno properly when returning NULL.
84999         Check for readdir error.
85000
85001 2000-06-26  Jim Meyering  <meyering@lucent.com>
85002
85003         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
85004
85005 2000-06-25  Jim Meyering  <meyering@lucent.com>
85006
85007         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
85008         Linux header bug when _XOPEN_SOURCE is defined to 500.
85009
85010 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
85011
85012         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
85013         deficiency.
85014
85015 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
85016
85017         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
85018         Include xalloc.h.
85019         Don't include <stdlib.h>.  Don't declare malloc, realloc.
85020
85021 2000-06-24  Jim Meyering  <meyering@lucent.com>
85022
85023         * m4/strerror_r.m4: Revive this file -- to try out an experimental
85024         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
85025         for which strerror does return char*, but which lacks a conveniently
85026         accessible declaration of the function.  If the compile-test says
85027         strerror_r doesn't work, then resort to a `run'-test that works on
85028         BeOS and segfaults on DEC Unix.
85029
85030 2000-06-24  Jim Meyering  <meyering@lucent.com>
85031
85032         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
85033
85034 2000-06-23  Paul Eggert  <eggert@twinsun.com>
85035
85036         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
85037         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
85038
85039 2000-06-23  Paul Eggert  <eggert@twinsun.com>
85040
85041         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
85042         (mbrtowc, mbstate_t): Define substitutes if
85043         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
85044         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
85045         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
85046
85047 2000-06-23  Jim Meyering  <meyering@lucent.com>
85048
85049         * m4/afs.m4: Add missing AC_MSG_RESULT.
85050         Reported by Bruno Haible.
85051
85052         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
85053         Suggestion from Bruno Haible.
85054
85055 2000-06-23  Jim Meyering  <meyering@lucent.com>
85056
85057         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
85058
85059 2000-06-21  Jim Meyering  <meyering@lucent.com>
85060
85061         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
85062
85063 2000-06-21  Jim Meyering  <meyering@lucent.com>
85064
85065         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
85066         (noinst_HEADERS): Add getstr.h.
85067
85068         * lib/getline.c (getstr): Move into a separate file.
85069         * lib/getstr.c (getstr): New file, extracted from getline.c, with
85070         the following changes: new parameter, delim2; both delim[12]
85071         parameters have type `int', not `char'.  The latter would lose
85072         with 8-bit delimiters.
85073         * lib/getstr.h: New file.
85074
85075 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
85076
85077         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
85078         than 1024, return a memory chunk of least possible size, instead
85079         of size PATH_MAX + 2. In the loop, increment the size proportionally.
85080         Use free/xmalloc instead of xrealloc to avoid copying for very long
85081         paths.
85082
85083 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
85084
85085         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
85086         the empty string.
85087
85088 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
85089
85090         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
85091         address, not strdup.  Include <stdlib.h> and don't declare free().
85092
85093 2000-06-19  Jim Meyering  <meyering@lucent.com>
85094
85095         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
85096
85097 2000-06-18  Jim Meyering  <meyering@lucent.com>
85098
85099         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
85100
85101         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
85102         `checking whether...' message to be consistent with that of the
85103         lstat test.
85104
85105 2000-06-18  Jim Meyering  <meyering@lucent.com>
85106
85107         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
85108         Besides, these days every porting target provides a mkdir function.
85109
85110         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
85111         needed. (this snippet comes from src/system.h).
85112
85113 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
85114
85115         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
85116
85117 2000-06-15  Paul Eggert  <eggert@twinsun.com>
85118
85119         * lib/human.c (adjust_value): New function.
85120         (human_readable_inexact): Apply rounding style even when
85121         printing approximate values.
85122
85123 2000-06-14  Paul Eggert  <eggert@twinsun.com>
85124
85125         * lib/human.c (human_readable_inexact): Allow an input block
85126         size that is not a multiple of the output block size, and vice versa.
85127         Reported by Piergiorgio Sartor.
85128
85129 2000-06-14  Paul Eggert  <eggert@twinsun.com>
85130
85131         * lib/getdate.y (get_date): Apply relative times after time
85132         zone indicator, not before.  Reported by Todd A. Jacobs.
85133
85134 2000-06-13  Jim Meyering  <meyering@lucent.com>
85135
85136         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
85137
85138         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
85139
85140 2000-06-12  Paul Eggert  <eggert@twinsun.com>
85141
85142         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
85143
85144 2000-06-12  Jim Meyering  <meyering@lucent.com>
85145
85146         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
85147         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
85148         optional argument.
85149         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
85150         the optional argument, `lib'.
85151
85152 2000-06-08  Jim Meyering  <meyering@lucent.com>
85153
85154         * m4/largefile.m4: Remove file (now that it's part of autoconf).
85155
85156 2000-06-04  Paul Eggert  <eggert@twinsun.com>
85157
85158         Rewrite largefile configuration so that we don't need to run
85159         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
85160         AC_CANONICAL_HOST in configure.in -- jmm]
85161
85162         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
85163         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
85164         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
85165         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
85166         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
85167         All uses changed.
85168         Instead of inspecting the output of getconf, try to compile the
85169         test program without and with the macro definition.
85170         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
85171         for getconf.  Instead, check for the needed flags by compiling
85172         test programs.
85173
85174 2000-06-04  Paul Eggert  <eggert@twinsun.com>
85175
85176         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
85177
85178 2000-06-04  Jim Meyering  <meyering@lucent.com>
85179
85180         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
85181         SunOS 4.1.4 for which gid_t is an unsigned type.
85182
85183 2000-06-03  Jim Meyering  <meyering@lucent.com>
85184
85185         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
85186         now that autoconf requires that.
85187
85188         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
85189         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
85190         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
85191
85192 2000-06-03  Jim Meyering  <meyering@lucent.com>
85193
85194         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
85195
85196 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
85197
85198         * m4/glibc21.m4: New file.
85199         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
85200
85201 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
85202
85203         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
85204         newer, don't install charset.alias.
85205         * lib/config.charset: Change the Linux/glibc rules so they become empty
85206         on glibc-2.1 or newer.
85207
85208 2000-06-02  Jim Meyering  <meyering@lucent.com>
85209
85210         * lib/mountlist.c: Back out last change.  Instead, do this...
85211         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
85212         me_dummy member using the same `ignore'-testing code.
85213         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
85214         fs_type strings.
85215         From Mark D. Roth.
85216
85217 2000-05-29  Jim Meyering  <meyering@lucent.com>
85218
85219         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
85220         mounts with the `ignore' attribute.  Based on a patch from
85221         Mark D. Roth.
85222
85223 2000-05-28  Jim Meyering  <meyering@lucent.com>
85224
85225         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
85226         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
85227         * m4/stat.m4: Likewise.
85228         * m4/lstat.m4: Likewise.
85229         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
85230
85231         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
85232         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
85233
85234 2000-05-26  Jim Meyering  <meyering@lucent.com>
85235
85236         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
85237
85238 2000-05-24  Jim Meyering  <meyering@lucent.com>
85239
85240         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
85241         autoconf requires that.
85242         * m4/lib-check.m4: Likewise.
85243         * m4/jm-macros.m4: Likewise.
85244         * m4/strftime.m4: Likewise.
85245
85246         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
85247         AC_CHECK_DECLS, now that autoconf requires that.
85248
85249 2000-05-22  Jim Meyering  <meyering@lucent.com>
85250
85251         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
85252         * m4/lstat.m4: Likewise.
85253
85254 2000-05-22  Jim Meyering  <meyering@lucent.com>
85255
85256         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
85257
85258 2000-05-20  Jim Meyering  <meyering@lucent.com>
85259
85260         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
85261         (jm_PREREQ): Use it.
85262
85263 2000-05-18  Jim Meyering  <meyering@lucent.com>
85264
85265         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
85266         back, too, since it may have been modified by allocate_entry.
85267         (hash_delete): Rewrite to use neither the assignment operator
85268         nor the comma operator in an if-expression.
85269
85270 2000-05-15  Paul Eggert  <eggert@twinsun.com>
85271
85272         * lib/closeout.c:
85273         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
85274         Remove; no longer needed.
85275         "quotearg.h": Add include.
85276         (file_name): Do not bother to explicitly initialize to NULL; it's less
85277         efficient on some hosts.
85278         (close_stdout_status): Remove test as to whether stdout was already
85279         closed; it breaks for the case "echo x | sort >&-".
85280         Quote file name colons.
85281         Do not assume that _("write error") lacks format strings.
85282
85283 2000-05-15  Jim Meyering  <meyering@lucent.com>
85284
85285         * lib/version-etc.c (version_etc_copyright): Update the copyright
85286         string used in all --version output.
85287
85288 2000-05-14  Jim Meyering  <meyering@lucent.com>
85289
85290         * lib/closeout.c (close_stdout_set_file_name): New function.
85291         (close_stdout_status): Use new file-scoped global.
85292         Return right away if fstat says the stdout file descriptor is invalid.
85293         * lib/closeout.h (close_stdout_set_file_name): Declare.
85294
85295 2000-05-10  Jim Meyering  <meyering@lucent.com>
85296
85297         * lib/closeout.c [default_exit_status]: New file-scoped variable.
85298         (close_stdout_set_status): New function.
85299         * lib/closeout.h (close_stdout_set_status): Declare.
85300
85301 2000-05-09  Jim Meyering  <meyering@lucent.com>
85302
85303         * m4/gettext.m4: Rename this...
85304         * m4/libintl.m4: ...to this.
85305
85306 2000-05-08  Jim Meyering  <meyering@lucent.com>
85307
85308         * lib/long-options.c: Don't include closeout.h.
85309         (parse_long_options): Don't call close_stdout for --version.
85310
85311 2000-05-06  Paul Eggert  <eggert@twinsun.com>
85312
85313         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
85314         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
85315         2.1.3 bug.  This avoids a clash when files like regex.c define
85316         _GNU_SOURCE.
85317
85318 2000-05-06  Jim Meyering  <meyering@lucent.com>
85319
85320         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
85321         (AC_REPLACE_FUNCS): Add strnlen.
85322
85323         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
85324         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
85325
85326         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
85327         AC_SEARCH_LIBS call for nanosleep.
85328         (LIB_NANOSLEEP): Set and AC_SUBST.
85329
85330 2000-05-06  Jim Meyering  <meyering@lucent.com>
85331
85332         * lib/strnlen.c: Undefine __strnlen and strnlen.
85333         [!weak_alias]: Define __strnlen to strnlen.
85334
85335         * lib/atexit.c: New file, from libiberty.
85336
85337 2000-05-06  Jim Meyering  <meyering@lucent.com>
85338
85339         * lib/closeout.c (close_stdout_status): Also check for errors on the
85340         stderr stream.
85341
85342 2000-05-05  Jim Meyering  <meyering@lucent.com>
85343
85344         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
85345         AC_SEARCH_LIBS call for clock_gettime.
85346         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
85347
85348         * m4/search-libs.m4: Update from autoconf.
85349
85350         su doesn't work on Solaris 2.6.
85351         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
85352         <shadow.h>.  Reported by Dragos Harabor.
85353
85354 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
85355
85356         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
85357         memcpy instead of xmalloc, xrealloc, path_concat.
85358         (locale_charset): Treat empty environment variables as absent.
85359         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
85360
85361 2000-05-04  Jim Meyering  <meyering@lucent.com>
85362
85363         * lib/getopt.c: Update from glibc.
85364         * lib/obstack.c: Likewise.
85365         * lib/obstack.h: Likewise.
85366         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
85367         file
85368
85369         * lib/regex.h: Likewise.
85370         * lib/strndup.c: Likewise.
85371         * lib/strnlen.c: New file, from glibc.
85372
85373 2000-05-03  Jim Meyering  <meyering@lucent.com>
85374
85375         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
85376
85377 2000-05-02  Paul Eggert  <eggert@twinsun.com>
85378
85379         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
85380         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
85381         compile-time test, rather than inspecting host and OS, to
85382         decide whether to define _LARGEFILE_SOURCE.
85383
85384 2000-05-01  Jim Meyering  <meyering@lucent.com>
85385
85386         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
85387
85388         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
85389         Based on a patch from Bruno Haible.
85390
85391 2000-05-01  Jim Meyering  <meyering@lucent.com>
85392
85393         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
85394
85395 2000-04-29  Jim Meyering  <meyering@lucent.com>
85396
85397         * lib/path-concat.c: Declare strdup only if it's not defined.
85398         * lib/canon-host.c: Likewise.
85399
85400 2000-04-28  Jim Meyering  <meyering@lucent.com>
85401
85402         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
85403         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
85404         is included first, then limits.h is included by locale.h by libintl.h.
85405         From John David Anglin.
85406
85407 2000-04-25  Jim Meyering  <meyering@lucent.com>
85408
85409         * lib/makepath.c (S_IRWXUGO): Define.
85410         (make_path): Always perform explicit chmod if MODE specifies any
85411         of the `special' permission bits.  Prompted by a bug report against
85412         install from Mate Wierdl and Joost van Baal.
85413
85414 2000-04-18  Jim Meyering  <meyering@lucent.com>
85415
85416         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
85417         (jm_PREREQ): Use it.
85418
85419 2000-04-18  Jim Meyering  <meyering@lucent.com>
85420
85421         * lib/README: New file.
85422
85423         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
85424         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
85425
85426 2000-04-17  Jim Meyering  <meyering@lucent.com>
85427
85428         Get it right :-)
85429         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
85430         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
85431         Suggestion from Akim Demaille.
85432
85433 2000-04-17  Jim Meyering  <meyering@lucent.com>
85434
85435         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
85436         the definition of it to rpl_strftime also defined-away the system's
85437         declaration.
85438
85439 2000-04-15  Jim Meyering  <meyering@lucent.com>
85440
85441         Use `C' to denote so-called `contiguous' files, the same way
85442         that tar does.
85443         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
85444         (ftypelet): Use S_ISCTG.
85445         From Michael Deutschmann.
85446
85447 2000-04-14  Jim Meyering  <meyering@lucent.com>
85448
85449         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
85450         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
85451         clobbered.
85452
85453 2000-04-14  Jim Meyering  <meyering@lucent.com>
85454
85455         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
85456
85457 2000-04-13  Jim Meyering  <meyering@lucent.com>
85458
85459         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
85460         AH_VERBATIM to insert required #ifndef into config.h.in.
85461         Suggestion from Akim Demaille.
85462
85463 2000-04-12  Jim Meyering  <meyering@lucent.com>
85464
85465         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
85466         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
85467         Christian Krackowizer.
85468
85469         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
85470         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
85471         (AC_SYS_LARGEFILE): Require.
85472         (AM_C_PROTOTYPES): Require.
85473
85474 2000-04-08  Jim Meyering  <meyering@lucent.com>
85475
85476         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
85477         names don't conflict.  Reported by Eli Zaretskii.
85478
85479 2000-04-07  Jim Meyering  <meyering@lucent.com>
85480
85481         * lib/putenv.c: Move inclusion of errno.h so it follows that of
85482         sys/types.h, to work around system header problems on AIX 3.2.5.
85483         From Bruno Haible.
85484
85485 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
85486
85487         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
85488         bug.  Deal with the different error behavior of Irix iconv.
85489
85490 2000-04-05  Paul Eggert  <eggert@twinsun.com>
85491
85492         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
85493         IRIX if the installer said otherwise.
85494
85495 2000-04-05  Jim Meyering  <meyering@lucent.com>
85496
85497         Portability tweaks required for ultrix4.3.
85498         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
85499         (jm_CHECK_DECLS): Add getutent to the list of functions.
85500         (_jm_DECL_HEADERS): Add utmpx.h.
85501         From John David Anglin.
85502
85503         * m4/strftime.m4: Back out the 2000-04-02 change.
85504         Instead of that change, simply undefine putenv in the test program.
85505
85506 2000-04-05  Jim Meyering  <meyering@lucent.com>
85507
85508         Portability tweaks required for ultrix4.3.
85509         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
85510         getutent.
85511         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
85512         * lib/canon-host.c: Declare strdup.
85513         * lib/path-concat.c: Likewise.
85514         From John David Anglin.
85515
85516 2000-04-04  Jim Meyering  <meyering@lucent.com>
85517
85518         Be more DOS 8.3-friendly.
85519         * lib/ref-add.sin: Renamed from ref-add.sed.in.
85520         * lib/ref-del.sin: Renamed from ref-del.sed.in.
85521         * lib/Makefile.am: Reflect renaming.
85522         Reported by Eli Zaretskii.
85523
85524         Use a temporary file name that won't clash with `charset.alias'
85525         in the DOS 8.3 name space.
85526         * lib/Makefile.am (charset_tmp): Define.
85527         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
85528         (uninstall-local): Likewise.
85529         Reported by Eli Zaretskii.
85530
85531 2000-04-03  Jim Meyering  <meyering@lucent.com>
85532
85533         * m4/gettext.m4: Fix typo in comment.
85534
85535         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
85536         textutils/configure.in).  Suggestion from Paul Eggert.
85537         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
85538
85539 2000-04-02  Paul Eggert  <eggert@twinsun.com>
85540
85541         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
85542         variable in the shell rather than using putenv, which isn't
85543         portable.  This avoids the configure-time inter-test dependency
85544         on the potentially-renamed putenv function.
85545
85546 2000-03-30  Paul Eggert  <eggert@twinsun.com>
85547
85548         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
85549         before checking struct stat.st_blksize, so that
85550         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
85551
85552 2000-03-29  Paul Eggert  <eggert@twinsun.com>
85553
85554         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
85555         since strftime.c uses HAVE_STRFTIME to decide whether to use
85556         the underlying strftime.
85557
85558 2000-03-29  Paul Eggert  <eggert@twinsun.com>
85559
85560         * lib/time/strftime.c (my_strftime): Make sure we call the system
85561         strftime, not ourselves, when invoking the underlying strftime.
85562
85563 2000-03-24  Jim Meyering  <meyering@lucent.com>
85564
85565         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
85566         (charset_alias): Define.
85567         (install-exec-local): Factor out common code.
85568         (uninstall-local): Split lines longer than 80.
85569         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
85570         (SUFFIXES): Define.
85571         (.sed.in.sed): New rule.  Don't redirect directly to $@.
85572         (CLEANFILES): Add ref-add.sed and ref-del.sed.
85573
85574 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
85575
85576         * lib/config.charset: Output a line containing "Packages using this
85577         file".
85578         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
85579         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
85580         ref-del.sed): New rules.
85581
85582 2000-03-17  Jim Meyering  <meyering@lucent.com>
85583
85584         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
85585         Otherwise, include <strings.h>
85586
85587 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
85588
85589         * lib/unicodeio.c (utf8_wctomb): New function.
85590         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
85591         format instead of in UCS-4 with platform dependent endianness.
85592
85593 2000-03-10  Jim Meyering  <meyering@lucent.com>
85594
85595         * m4/lib-check.m4: Look for getspnam in -lgen, too.
85596         From Marco Franzen.
85597
85598 2000-03-07  Paul Eggert  <eggert@twinsun.com>
85599
85600         * lib/savedir.c (savedir): Work even if directory size is
85601         negative; this can happen with some screwy NFS configurations.
85602
85603 2000-03-06  Jim Meyering  <meyering@lucent.com>
85604
85605         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
85606         if it's NULL (because we ran out of memory).  From Bruno Haible.
85607
85608 2000-03-05  Jim Meyering  <meyering@lucent.com>
85609
85610         * lib/localcharset.c ("path-concat.h"): Include.
85611         (get_charset_aliases): Use path_concat instead of ANSI string
85612         concatenation.
85613
85614         * lib/unicodeio.h (PARAMS): Define.
85615         Use it to guard prototype.
85616
85617 2000-03-04  Jim Meyering  <meyering@lucent.com>
85618
85619         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
85620         for lib/localcharset.c.
85621
85622 2000-03-04  Jim Meyering  <meyering@lucent.com>
85623
85624         * lib/Makefile.am (install-exec-local): Create $(libdir) before
85625         installing into it.
85626         (uninstall-local): Uncomment this rule so `make distcheck' works
85627         once again.
85628
85629         * lib/unicodeio.c (<errno.h>): Include it.
85630         (errno): Declare if not defined.
85631
85632         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
85633
85634         * lib/config.charset: New version, incorporating remarks from a linux
85635         i18n mailing list.  From Bruno Haible.
85636
85637 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
85638
85639         * m4/codeset.m4: New file.
85640         * m4/iconv.m4: New file.
85641         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
85642
85643 2000-03-03  Jim Meyering  <meyering@lucent.com>
85644
85645         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
85646
85647 2000-03-02  Jim Meyering  <meyering@lucent.com>
85648
85649         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
85650         the messages come out on separate lines.
85651
85652         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
85653         rather than jm_CHECK_DECLARATIONS.
85654         * m4/decl.m4: Remove now-unused file.
85655
85656         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
85657         geteuid.
85658
85659 2000-03-02  Jim Meyering  <meyering@lucent.com>
85660
85661         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
85662
85663 2000-03-01  Jim Meyering  <meyering@lucent.com>
85664
85665         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
85666         * lib/unicodeio.c: Likewise.
85667
85668 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
85669
85670         * lib/config.charset: New file.
85671         * lib/localcharset.c: New file.
85672         * lib/unicodeio.h, lib/unicodeio.c: New files.
85673         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
85674         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
85675         (noinst_HEADERS): Add unicodeio.h.
85676         (all-local, install-exec-local, charset.alias): New targets.
85677
85678 2000-02-28  Paul Eggert  <eggert@twinsun.com>
85679
85680         * lib/quotearg.c (ALERT_CHAR): New macro.
85681         (quotearg_buffer_restyled): Use it.
85682
85683 2000-02-27  Jim Meyering  <meyering@lucent.com>
85684
85685         * m4/check-decl.m4: Add getenv to the list.
85686
85687 2000-02-27  Jim Meyering  <meyering@lucent.com>
85688
85689         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
85690         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
85691
85692         * lib/backupfile.c: Guard inclusion of stdlib.h with
85693         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
85694         Declare malloc if needed.
85695
85696         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
85697         `#ifndef HAVE_DECL..'
85698         now that autoconf always defines the HAVE_DECL_ symbols.
85699         * lib/human.c: Likewise.
85700         * lib/same.c: Likewise.
85701         * lib/strtoumax.c: Likewise.
85702
85703         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
85704         declaration check was not run.
85705         * lib/hash.c: Likewise.
85706         * lib/human.c: Likewise.
85707         * lib/same.c: Likewise.
85708         * lib/strtoumax.c: Likewise.
85709
85710         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
85711         `.', then first look up the entire `.'-containing string as a login
85712         name.
85713
85714 2000-02-23  Jim Meyering  <meyering@lucent.com>
85715
85716         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
85717         in place of my hack.
85718
85719 2000-02-18  Paul Eggert  <eggert@twinsun.com>
85720
85721         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
85722         (textint): New typedef.
85723         (parser_control): Member year changed from int to textint.
85724         All uses changed.
85725         (YYSTYPE): Removed; replaced by %union with int and textint members.
85726         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
85727         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
85728         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
85729         (tSNUMBER, tUNUMBER): Now of type <textintval>.
85730         (date, number, to_year): Use width of number in digits, not its value,
85731         to determine whether it's a 2-digit year, or a 2-digit time.
85732         (yylex): Store number of digits of numeric tokens.
85733         Reported by John Kendall.
85734
85735         (parser_control): Changed from struct parser_control to typedef (for
85736         consistency).  All uses changed.
85737
85738         (tID): Removed; not used.
85739         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
85740
85741 2000-02-14  Paul Eggert  <eggert@twinsun.com>
85742
85743         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
85744         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
85745
85746 2000-02-12  Jim Meyering  <meyering@lucent.com>
85747
85748         * lib/userspec.c (ISDIGIT): Define it.
85749         (isdigit): Remove definition.
85750         (is_number): Use ISDIGIT, not isdigit.
85751         <libintl.h>: Include.
85752         (_ and N_): Define.
85753         (parse_user_spec): Mark translatable strings.
85754
85755 2000-02-10  Jim Meyering  <meyering@lucent.com>
85756
85757         With these changes, nanosleep.[ch] are finally enough like the other
85758         lib/* replacement files to compile on a few more losing systems.
85759
85760         * lib/nanosleep.h: Don't include config.h.
85761         Remove prototype from declaration of nanosleep.
85762         (PARAMS): Remove now-unneeded definition.
85763         * lib/nanosleep.c: #undef nanosleep.
85764         (rpl_nanosleep): Rename from nanosleep.
85765
85766 2000-02-10  Jim Meyering  <meyering@lucent.com>
85767
85768         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
85769         gnu_nanosleep to rpl_nanosleep.
85770
85771 2000-02-09  Jim Meyering  <meyering@lucent.com>
85772
85773         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
85774         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
85775
85776 2000-02-08  Akim Demaille  <akim@epita.fr>
85777
85778         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
85779         `[' and `]' and remove uses of `changequote'.
85780         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
85781         (AC_SYS_LARGEFILE): Likewise.
85782         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
85783         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
85784         of changequote.
85785         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
85786         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
85787         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
85788         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
85789
85790 2000-02-05  Jim Meyering  <meyering@lucent.com>
85791
85792         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
85793         Remove explicit use of AC_HEADER_TIME.  It is required by
85794         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
85795         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
85796         in autoconf whereby the expansion of the latter ended up preceding
85797         the expansion of its prerequisite, AC_HEADER_TIME.
85798         Reported by Volker Borchert.
85799
85800 2000-02-03  Jim Meyering  <meyering@lucent.com>
85801
85802         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
85803
85804 2000-02-03  Jim Meyering  <meyering@lucent.com>
85805
85806         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
85807         rather than with `#if HAVE_UTMPNAME'.
85808
85809 2000-02-02  Jim Meyering  <meyering@lucent.com>
85810
85811         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
85812         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
85813         Reported by Eli Zaretskii.
85814
85815 2000-02-01  Jim Meyering  <meyering@lucent.com>
85816
85817         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
85818
85819 2000-01-31  Jim Meyering  <meyering@lucent.com>
85820
85821         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
85822         functions.  Add the time.h and sys/time.h headers along with the
85823         AC_REQUIRE'ment of AC_HEADER_TIME.
85824
85825 2000-01-31  Jim Meyering  <meyering@lucent.com>
85826
85827         * lib/nanosleep.h (nanosleep): Guard declaration with
85828         `#if ! HAVE_DECL_NANOSLEEP'.
85829         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
85830         the declaration in that vendor's sys/timers.h.
85831         Reported by Christian Krackowizer.
85832
85833         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
85834         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
85835         (ISPRINT): Likewise.
85836         Reported by Tom Tromey.
85837
85838 2000-01-30  Jim Meyering  <meyering@lucent.com>
85839
85840         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
85841
85842         * m4/prereq.m4 (utmp_includes): Define.
85843         Check for ut_user and ut_name members in both struct utmpx
85844         and struct utmp.
85845
85846 2000-01-30  Jim Meyering  <meyering@lucent.com>
85847
85848         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
85849         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
85850         header files where only utmpx.ut_user is declared.
85851
85852         * lib/readutmp.h (UT_USER): Define.
85853
85854 2000-01-29  Jim Meyering  <meyering@lucent.com>
85855
85856         * m4/lib-check.m4: New file containing library-related checks from
85857         fileutils and sh-utils (textutils had none).
85858
85859 2000-01-28  Jim Meyering  <meyering@lucent.com>
85860
85861         * m4/perl.m4: Change format of warning message to look more like that
85862         from the missing script.  Suggestion from François Pinard.
85863
85864 2000-01-25  Jim Meyering  <meyering@lucent.com>
85865
85866         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
85867         well as time.h in the compile check.
85868         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
85869         Fix typo in cross-compiling case: s/yes/no/.
85870
85871 2000-01-23  Jim Meyering  <meyering@lucent.com>
85872
85873         * m4/jm-macros.m4: Move df-related tests here from
85874         fileutils/configure.in
85875
85876         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
85877         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
85878
85879         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
85880         s/space/ac_fsusage_space/.
85881         (jm_FILE_SYSTEM_USAGE): Take two parameters.
85882
85883         * m4/ftruncate.m4: New file (derived from part of
85884         fileutils/configure.in).
85885         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
85886         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
85887
85888         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
85889         AC_SUBST these here, rather than just in sh-util/configure.in, so
85890         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
85891         all the same.
85892         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
85893         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
85894         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
85895         (AC_SUBST(POW_LIBM)): Likewise.
85896         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
85897
85898 2000-01-23  Jim Meyering  <meyering@lucent.com>
85899
85900         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
85901         obstack.c.
85902
85903 2000-01-22  Jim Meyering  <meyering@lucent.com>
85904
85905         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
85906
85907         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
85908
85909         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
85910         configure.in
85911         (AC_CHECK_HEADERS): Likewise for sh-utils.
85912         (AC_CHECK_HEADERS): Likewise for textutils.
85913         Merge the three lists of headers.
85914
85915         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
85916         from fileutils' configure.in.
85917
85918         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
85919         code. Moved tests into their own function (_jm_DECL_HEADERS) in
85920         check-decl.m4.
85921
85922         * m4/check-decl.m4: Use #if rather than #ifdef.
85923         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
85924         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
85925         (_jm_DECL_HEADERS): Define new function.
85926         (jm_CHECK_DECLARATIONS): Require it.
85927
85928 2000-01-22  Jim Meyering  <meyering@lucent.com>
85929
85930         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
85931         [! HAVE_DECL_STRTOULL]: Declare strtoull.
85932         Required for some AIX systems.  Reported by Christian Krackowizer.
85933         [TESTING] (main): New function.
85934
85935         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
85936         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
85937         letters.
85938
85939         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
85940         iswprint.
85941
85942         * lib/strverscmp.c (ISDIGIT): Define.
85943         (strverscmp): Use ISDIGIT, not isdigit.
85944
85945 2000-01-19  Jim Meyering  <meyering@lucent.com>
85946
85947         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
85948         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
85949         defines `struct timespec' in <sys/time.h>
85950
85951         * m4/c-bs-a.m4: Remove uses of changequote altogether.
85952         Thanks to Akim for explaining.
85953
85954 2000-01-17  Paul Eggert  <eggert@twinsun.com>
85955
85956         * lib/nanosleep.c (nanosleep):
85957         Don't use SA_INTERRUPT to decide whether to call sigaction, as
85958         POSIX.1 doesn't require SA_INTERRUPT and some systems
85959         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
85960         it's been part of POSIX.1 since day 1 (in 1988).
85961
85962 2000-01-17  Jim Meyering  <meyering@lucent.com>
85963
85964         * lib/interlock: Remove unused file.  Reported by François Pinard.
85965
85966 2000-01-16  Paul Eggert  <eggert@twinsun.com>
85967
85968         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
85969         alert, backslash, formfeed, and vertical tab unnecessarily in
85970         shell quoting style.
85971
85972 2000-01-16  Jim Meyering  <meyering@lucent.com>
85973
85974         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
85975         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
85976         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
85977         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
85978
85979 2000-01-16  Jim Meyering  <meyering@lucent.com>
85980
85981         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
85982         because the latter didn't work.
85983
85984 2000-01-15  Jim Meyering  <meyering@lucent.com>
85985
85986         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
85987         (AC_REPLACE_FUNCS): Add memcpy and memset.
85988         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
85989         Add strpbrk.
85990         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
85991
85992 2000-01-12  Jim Meyering  <meyering@lucent.com>
85993
85994         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
85995         (jm_PREREQ): Use it.
85996         (jm_PREREQ_READUTMP): New macro.
85997         (jm_PREREQ): Use it.
85998
85999 2000-01-11  Paul Eggert  <eggert@twinsun.com>
86000
86001         Quote multibyte characters correctly.
86002         * m4/c-bs-a.m4: New file.
86003         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
86004         (jm_PREREQ): Use it.
86005
86006 2000-01-11  Paul Eggert  <eggert@twinsun.com>
86007
86008         * m4/uintmax_t.m4: Port to autoconf 2.13.
86009
86010 2000-01-08  Jim Meyering  <meyering@ascend.com>
86011
86012         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
86013         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
86014
86015 2000-01-04  Jim Meyering  <meyering@ascend.com>
86016
86017         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
86018         jm_STRUCT_DIRENT_D_TYPE.
86019         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
86020         jm_STRUCT_DIRENT_D_INO.
86021         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
86022         jm_STRUCT_UTIMBUF.
86023         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
86024         renamings.
86025         * m4/utime.m4: Likewise.
86026
86027         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
86028         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
86029
86030 2000-01-03  Paul Eggert  <eggert@twinsun.com>
86031
86032         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
86033         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
86034
86035 2000-01-02  Jim Meyering  <meyering@ascend.com>
86036
86037         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
86038         remember if this is necessary.
86039
86040 1999-12-26  Jim Meyering  <meyering@ascend.com>
86041
86042         * m4/jm-macros.m4: Use it here.
86043         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
86044
86045 1999-12-23  Jim Meyering  <meyering@ascend.com>
86046
86047         * m4/jm-macros.m4: Check for clock_gettime (moved from
86048         fileutils/configure.in)
86049         Check for gettimeofday.
86050
86051 1999-12-20  Jim Meyering  <meyering@ascend.com>
86052
86053         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
86054         autoconf-2.14a-1999-12-20.
86055
86056 1999-12-19  Jim Meyering  <meyering@ascend.com>
86057
86058         * m4/lstat-slash.m4: New file.
86059         * m4/jm-macros.m4: Use the new macro:
86060         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86061
86062 1999-12-07  Jim Meyering  <meyering@ascend.com>
86063
86064         * m4/perl.m4: Require that File::Compare be available, too.
86065         Too many systems seem to lack it.
86066
86067         * m4/strftime.m4: Add checks for most of the cpp macros tested in
86068         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
86069
86070 1999-11-18  Paul Eggert  <eggert@twinsun.com>
86071
86072         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
86073         problem with the QNX 4.25 shell, which doesn't propagate exit
86074         status of failed commands inside shell assignments.
86075
86076 1999-11-17  Jim Meyering  <meyering@ascend.com>
86077
86078         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
86079
86080 1999-11-07  Jim Meyering  <meyering@ascend.com>
86081
86082         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
86083
86084 1999-11-06  Jim Meyering  <meyering@ascend.com>
86085
86086         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
86087         * m4/jm-macros.m4 (jm_MACROS): Use it here.
86088
86089 1999-11-05  Jim Meyering  <meyering@ascend.com>
86090
86091         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
86092         configure.in of textutils, fileutils, and sh-utils into this one
86093         (shared between those packages) file.
86094         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
86095         AC_STRUCT_ST_BLKSIZE.
86096
86097 1999-11-03  Jim Meyering  <meyering@ascend.com>
86098
86099         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
86100         of AC_CHECK_TYPE checks includes unistd.h.
86101         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
86102         Suggestion from Akim Demaille.
86103
86104 1999-10-30  Jim Meyering  <meyering@ascend.com>
86105
86106         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
86107         m4-quoted string.
86108         * m4/ls-mntd-fs.m4: Likewise.
86109         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
86110         * m4/jm-winsz1.m4: Likewise.
86111
86112         * m4/const.m4: Remove file, since the fix made it into the experimental
86113         version of autoconf.
86114         * m4/mktime.m4: Likewise.
86115
86116         * m4/check-type.m4: Remove file, now that the latest version of
86117         AC_CHECK_TYPE takes a third arg to specify additional #includes.
86118
86119         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
86120         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
86121         AC_CHECK_TYPE.
86122
86123 1999-10-04  Jim Meyering  <meyering@ascend.com>
86124
86125         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
86126
86127 1999-09-22  Paul Eggert  <eggert@twinsun.com>
86128
86129         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
86130         2.95.1 bug with HP-UX 10.20.
86131
86132 1999-09-17  Jim Meyering  <meyering@ascend.com>
86133
86134         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
86135         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
86136         due to missing strdup (against sh-utils-2.0).
86137
86138 1999-08-29  Jim Meyering  <meyering@ascend.com>
86139
86140         * m4/jm-macros.m4: Require jm_BISON.
86141         * m4/bison.m4: New file.
86142
86143 1999-08-17  Paul Eggert  <eggert@twinsun.com>
86144
86145         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
86146         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
86147
86148 1999-08-05  Jim Meyering  <meyering@ascend.com>
86149
86150         * m4/getline.m4: Rename test file from conftestdata to conftest.data
86151         to avoid conflicts with `conftest' on 8+3 filesystems.
86152         Suggestion from Eli Zaretskii.
86153
86154 1999-08-04  Jim Meyering  <meyering@ascend.com>
86155
86156         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
86157         fileutils and sh-utils (textutils's getline test was inadequate).
86158         (AM_FUNC_GETLINE): Run this test.
86159         (AC_CHECK_FUNCS): Check for getdelim.
86160         Reported by Bob Proulx.
86161
86162 1999-08-02  Jim Meyering  <meyering@ascend.com>
86163
86164         * m4/jm-macros.m4: Add a comment.
86165
86166 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86167
86168         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
86169         <inttypes.h> defines strtoumax as a macro (and not as a
86170         function).
86171
86172 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86173
86174         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
86175         that we can shift, multiply and divide unsigned long long
86176         values; Ultrix cc can't do it.
86177
86178 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86179
86180         * m4/mktime.m4: New file, which is a preview of what should appear
86181         in the next public autoconf release.
86182
86183 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86184
86185         * m4/lfs.m4: Remove this file.
86186         * m4/largefile.m4: New file.  It contains the old contents of
86187         lfs.m4, except that all names with prefix AC_LFS have been
86188         changed to use the prefix AC_SYS_LARGEFILE instead, to be
86189         compatible with future autoconf versions.  Also, some minor m4
86190         quoting problems have been fixed.
86191
86192 1999-08-01  Paul Eggert  <eggert@twinsun.com>
86193
86194         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
86195         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
86196         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
86197         and simplify the shell code.
86198
86199 1999-08-01  Jim Meyering  <meyering@ascend.com>
86200
86201         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
86202         m4.
86203
86204 1999-07-20  Jim Meyering  <meyering@ascend.com>
86205
86206         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
86207
86208 1999-07-15  Jim Meyering  <meyering@ascend.com>
86209
86210         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
86211
86212 1999-05-22  Jim Meyering  <meyering@ascend.com>
86213
86214         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
86215
86216 1999-05-20  Jim Meyering  <meyering@ascend.com>
86217
86218         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
86219         Add a colon after each `then' in case $4 is empty.
86220
86221 1999-05-16  Jim Meyering  <meyering@ascend.com>
86222
86223         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
86224
86225 1999-05-10  Jim Meyering  <meyering@ascend.com>
86226
86227         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
86228
86229         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
86230         AC_FUNC_MKTIME.
86231
86232 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
86233
86234         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
86235
86236 1999-05-04  Paul Eggert  <eggert@twinsun.com>
86237
86238         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
86239         not CPPFLAGS, so that linking works correctly in IRIX.
86240
86241 1999-04-30  Paul Eggert  <eggert@twinsun.com>
86242
86243         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
86244
86245 1999-04-20  Paul Eggert  <eggert@twinsun.com>
86246
86247         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
86248         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
86249         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
86250         jm_AC_TYPE_UNSIGNED_LONG_LONG.
86251         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
86252
86253         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
86254
86255 1999-04-20  Jim Meyering  <meyering@ascend.com>
86256
86257         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
86258         AC_REPLACE xstroull if necessary.  From Paul Eggert.
86259         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
86260
86261 1999-04-18  Jim Meyering  <meyering@ascend.com>
86262
86263         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
86264         * m4/jm-macros.m4: Use it.
86265
86266 1999-04-06  Jim Meyering  <meyering@ascend.com>
86267
86268         * m4/strftime.m4: Remove test for %f.
86269
86270 1999-03-29  Jim Meyering  <meyering@ascend.com>
86271
86272         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
86273         superset of the AC_TYPE_* checks in the textutils, fileutils,
86274         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
86275         AC_TYPE_PID_T.
86276
86277 1999-03-28  Jim Meyering  <meyering@ascend.com>
86278
86279         * m4/jm-macros.m4: Define GNU_PACKAGE here.
86280         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
86281         replaced e.g., in the *.sh files of the sh-utils.
86282
86283 1999-03-20  Jim Meyering  <meyering@ascend.com>
86284
86285         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
86286         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
86287         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
86288
86289 1999-03-19  Jim Meyering  <meyering@ascend.com>
86290
86291         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
86292
86293 1999-03-12  Jim Meyering  <meyering@ascend.com>
86294
86295         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
86296
86297 1999-03-07  Jim Meyering  <meyering@ascend.com>
86298
86299         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
86300         declared.
86301
86302 1999-02-17  Jim Meyering  <meyering@ascend.com>
86303
86304         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
86305         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
86306
86307 1999-02-07  Jim Meyering  <meyering@ascend.com>
86308
86309         * m4/group-member.m4: New file -- extracted from sh-utils'
86310         configure.in.
86311
86312         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
86313         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
86314
86315 1999-02-06  Jim Meyering  <meyering@ascend.com>
86316
86317         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
86318         * m4/fnmatch.m4: Likewise.
86319         * m4/getgroups.m4: Likewise.
86320         * m4/lstat.m4: Likewise.
86321         * m4/malloc.m4: Likewise.
86322         * m4/putenv.m4: Likewise.
86323         * m4/realloc.m4: Likewise.
86324         * m4/regex.m4: Likewise.
86325         * m4/stat.m4: Likewise.
86326         * m4/strftime.m4: Likewise.
86327         Suggestion from Alain Magloire.
86328
86329         * m4/chown.m4: Use `.$ac_objext', not `.o'.
86330         * m4/fnmatch.m4: Likewise.
86331         * m4/getgroups.m4: Likewise.
86332         * m4/getline.m4: Likewise.
86333         * m4/lstat.m4: Likewise.
86334         * m4/malloc.m4: Likewise.
86335         * m4/memcmp.m4: Likewise.
86336         * m4/putenv.m4: Likewise.
86337         * m4/realloc.m4: Likewise.
86338         * m4/regex.m4: Likewise.
86339         * m4/stat.m4: Likewise.
86340         * m4/strftime.m4: Likewise.
86341         Suggestion from Alain Magloire.
86342
86343         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
86344         an argument.
86345
86346         * m4/regex.m4: Add a run-time Test for proper operation of
86347         re_compile_pattern.
86348
86349 1999-01-31  Jim Meyering  <meyering@ascend.com>
86350
86351         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
86352
86353 1999-01-30  Jim Meyering  <meyering@ascend.com>
86354
86355         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
86356
86357         * m4/jm-mktime.m4: Make this a wrapper around the official
86358         AM_FUNC_MKTIME rather than my private copy, now that the official one
86359         is up to date.
86360         * m4/mktime.m4: Remove file.
86361
86362         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
86363         * m4/uptime.m4: Likewise.
86364         * m4/uintmax_t.m4: Likewise.
86365
86366 1999-01-28  Jim Meyering  <meyering@ascend.com>
86367
86368         * m4/jm-macros.m4: Use jm_AFS.
86369         * m4/afs.m4: New file (from fileutils' configure.in).
86370
86371         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
86372         * m4/chown.m4: Likewise.
86373         * m4/d-ino.m4: Likewise.
86374         * m4/d-type.m4: Likewise.
86375         * m4/fnmatch.m4: Likewise.
86376         * m4/getgroups.m4: Likewise.
86377         * m4/gettext.m4: Likewise.
86378         * m4/jm-mktime.m4: Likewise.
86379         * m4/jm-winsz2.m4: Likewise.
86380         * m4/lcmessage.m4: Likewise.
86381         * m4/ls-mntd-fs.m4: Likewise.
86382         * m4/malloc.m4: Likewise.
86383         * m4/memcmp.m4: Likewise.
86384         * m4/putenv.m4: Likewise.
86385         * m4/realloc.m4: Likewise.
86386         * m4/st_mtim.m4: Likewise.
86387         * m4/strftime.m4: Likewise.
86388
86389 1999-01-16  Jim Meyering  <meyering@ascend.com>
86390
86391         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
86392         (ARGMATCH_DIE_DECL): Define.
86393
86394 1999-01-12  Jim Meyering  <meyering@ascend.com>
86395
86396         * m4/Makefile.am.in: Rewrite to avoid using fmt.
86397         Reported by Lars Hecking.
86398
86399 1999-01-10  Jim Meyering  <meyering@ascend.com>
86400
86401         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
86402         gross kludge.
86403         * m4/inttypes_h.m4: Likewise.
86404         * m4/lstat.m4: Likewise.
86405         * m4/malloc.m4: Likewise.
86406         * m4/readdir.m4: Likewise.
86407         * m4/realloc.m4: Likewise.
86408         * m4/st_dm_mode.m4: Likewise.
86409         * m4/stat.m4: Likewise.
86410         * m4/utimbuf.m4: Likewise.
86411         * m4/utimes.m4: Likewise.
86412
86413         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
86414         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
86415         comments in config.h.in are meaningful.
86416
86417         * m4/jm-macros.m4: Require autoconf-2.13 here.
86418
86419         * m4/regex.m4: By default, don't use the included regex.c on systems
86420         with glibc 2.  Suggestion from Uli Drepper.
86421
86422 1999-01-02  Jim Meyering  <meyering@ascend.com>
86423
86424         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
86425
86426 1998-12-18  Jim Meyering  <meyering@ascend.com>
86427
86428         * m4/Makefile.am.in (Makefile.am): Simplify rule.
86429         Based on a suggestion from Lars Hecking.
86430
86431 1998-11-16  Paul Eggert  <eggert@twinsun.com>
86432
86433         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
86434
86435 1998-11-16  Jim Meyering  <meyering@ascend.com>
86436
86437         * m4/lfs.m4: Double-quote the `uname...` expression.
86438
86439 1998-11-14  Jim Meyering  <meyering@ascend.com>
86440
86441         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
86442         * m4/stat.m4: Likewise.
86443
86444 1998-11-03  Jim Meyering  <meyering@ascend.com>
86445
86446         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
86447         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
86448
86449 1998-10-18  Jim Meyering  <meyering@ascend.com>
86450
86451         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
86452
86453 1998-10-17  Jim Meyering  <meyering@ascend.com>
86454
86455         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
86456         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
86457         calls for those previously hard-coded headers.  Instead, take a new
86458         parameter.
86459         (jm_CHECK_DECLARATIONS): Reflect interface change.
86460         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
86461         (jm_CHECK_DECL_LOCALTIME_R): New macro.
86462
86463         * m4/mktime.m4: Test for spring-forward gap before long-running test.
86464
86465 1998-10-14  Jim Meyering  <meyering@ascend.com>
86466
86467         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
86468         instead of "TZ=America/Vancouver".  From Paul Eggert.
86469
86470 1998-10-11  Jim Meyering  <meyering@ascend.com>
86471
86472         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
86473         This adds a test for a recently added compatibility fix for mktime.c.
86474         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
86475
86476 1998-09-27  Jim Meyering  <meyering@ascend.com>
86477
86478         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
86479
86480         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
86481         ../configure.in, including a change from Gordon Matzigkeit to allow
86482         cross-compiling for the Hurd.
86483
86484         * m4/glibc.m4: New file/macro to test for the GNU C Library
86485         versions 1 and 2.  From Gordon Matzigkeit.
86486         Indent.
86487
86488 1998-09-21  Jim Meyering  <meyering@ascend.com>
86489
86490         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
86491
86492 1998-08-18  Paul Eggert  <eggert@twinsun.com>
86493
86494         Port nanosecond-resolution times to UnixWare 2.1.2 and
86495         pedantic Solaris 2.6.
86496
86497         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
86498         AC_STRUCT_ST_MTIM.
86499         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
86500         Generate name of ns member, instead of just 1 or undef.
86501         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
86502
86503 1998-08-15  Jim Meyering  <meyering@ascend.com>
86504
86505         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
86506         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
86507         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
86508         instead of jm_TYPE_SSIZE_T.
86509
86510 1998-08-12  Jim Meyering  <meyering@ascend.com>
86511
86512         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
86513
86514 1998-08-02  Jim Meyering  <meyering@ascend.com>
86515
86516         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
86517         in acconfig.h manually.
86518
86519 1998-07-31  Paul Eggert  <eggert@twinsun.com>
86520
86521         * m4/st_mtim.m4: New file.
86522
86523 1998-07-28  Jim Meyering  <meyering@ascend.com>
86524
86525         * m4/utimes.m4: Undef stat.
86526
86527 1998-07-25  Jim Meyering  <meyering@ascend.com>
86528
86529         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
86530         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
86531
86532 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
86533
86534         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
86535         uid and gid actually remain unchanged.
86536
86537 1998-07-07  Jim Meyering  <meyering@ascend.com>
86538
86539         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
86540
86541 1998-07-04  Jim Meyering  <meyering@ascend.com>
86542
86543         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
86544         to prove that this macro can be used in packages without regex.c.
86545
86546 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
86547
86548         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
86549         is to be used.
86550
86551 1998-07-03  Jim Meyering  <meyering@ascend.com>
86552
86553         * m4/gettext.m4: Add -lintl if it's found to be necessary.
86554
86555         * m4/gettext.m4: New file -- from gettext-0.10.35.
86556         * m4/lcmessage.m4: Likewise.
86557         * m4/progtest.m4: Likewise.
86558
86559         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
86560         * m4/jm-macros.m4: Require the new macro.
86561
86562 1998-06-29  Jim Meyering  <meyering@ascend.com>
86563
86564         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
86565         for the definition of NGROUPS (used in a system header included
86566         by sys/mount.h).
86567
86568 1998-06-28  Jim Meyering  <meyering@ascend.com>
86569
86570         * m4/ls-mntd-fs.m4: New file.
86571         * m4/fstypename.m4: New file.
86572
86573         * m4/jm-macros.m4: Require the new macro.
86574         * m4/jm-glibc-io.m4: New file.
86575
86576 1998-05-19  Jim Meyering  <meyering@ascend.com>
86577
86578         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
86579         * m4/lchown.m4: New file.
86580
86581         * m4/Makefile.am.in: New file.
86582         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
86583
86584 1998-05-14  Jim Meyering  <meyering@ascend.com>
86585
86586         * m4/Makefile.am (EXTRA_DIST): Add them.
86587         * m4/jm-macros.m4: New file.
86588         * m4/utimbuf.m4: New file.
86589
86590 1998-05-12  Jim Meyering  <meyering@ascend.com>
86591
86592         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
86593
86594 1998-05-11  Jim Meyering  <meyering@ascend.com>
86595
86596         * m4/isc-posix.m4: New file.
86597
86598 1998-05-10  Jim Meyering  <meyering@ascend.com>
86599
86600         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
86601
86602 1998-05-09  Jim Meyering  <meyering@ascend.com>
86603
86604         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
86605         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
86606         with automake.
86607
86608         * m4/ssize_t.m4: New file.
86609         * m4/mktime.m4: Remove file -- the new automake has this now.
86610
86611 1998-04-26  Jim Meyering  <meyering@ascend.com>
86612
86613         * m4/assert.m4: New file.
86614         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
86615
86616 1998-04-05  Jim Meyering  <meyering@ascend.com>
86617
86618         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
86619         (jm_PREREQ): Use it here.
86620
86621 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
86622
86623         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
86624         in acconfig.h.
86625
86626 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
86627
86628         * m4/prereq.m4: New file.
86629         * m4/error.m4: New file.
86630         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
86631
86632 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
86633
86634         * m4/getline.m4: Don't set am_cv_func_working_getline before the
86635         cache-check for the same variable -- that defeated the purpose of
86636         the test; the test program was never run.  This was a problem only
86637         on systems with losing getline functions -- HP-UX 10.20 is one.
86638         Reported by Bjorn Helgaas.
86639
86640 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
86641
86642         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
86643
86644 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
86645
86646         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
86647
86648         * m4/const.m4: New file.  Use an initializer in this declaration
86649         typedef int charset[2]; const charset x;
86650         Reported by Bob Glickstein.
86651
86652 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
86653
86654         * m4/chown.m4: Fix reversed types on -1 args to chown.
86655         From Kaveh Ghazi.
86656
86657 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
86658
86659         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
86660         Add lseek and memchr.
86661
86662         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
86663         T.E.Dickey <dickey@clark.net> said that some older preprocessors
86664         have a 20-character limit on names.
86665
86666 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
86667
86668         * m4/inttypes_h.m4: New file.
86669         * m4/uintmax_t.m4: New file.
86670         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
86671
86672
86673         -----
86674
86675         Local Variables:
86676         coding: utf-8
86677         End:
86678
86679         Copyright (C) 1997-2011 Free Software Foundation, Inc.
86680
86681         Copying and distribution of this file, with or without
86682         modification, are permitted provided the copyright notice
86683         and this notice are preserved.